diff --git a/.github/workflows/codecipher_package_checker.yml b/.github/workflows/codecipher_package_checker.yml index d7604ee..cce7cb0 100755 --- a/.github/workflows/codecipher_package_checker.yml +++ b/.github/workflows/codecipher_package_checker.yml @@ -33,5 +33,5 @@ jobs: pip install flake8 # stop the build if there are Python syntax errors or undefined names flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics - # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide => strict 79 - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=79 --statistics --max-doc-length 79 \ No newline at end of file + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=79 --statistics --max-doc-length 127 \ No newline at end of file diff --git a/.github/workflows/codecipher_python_checker.yml b/.github/workflows/codecipher_python_checker.yml index 4b7ee5c..e9b437a 100644 --- a/.github/workflows/codecipher_python_checker.yml +++ b/.github/workflows/codecipher_python_checker.yml @@ -22,7 +22,7 @@ jobs: run: | modules_ok=0 modules=($(find codecipher/ tests/ -type f -name '*.py' -exec echo '{}' \;)) - for mod in "${modules[@]}"; do line_length=$(wc -L < "${mod}"); [[ $line_length -gt 80 ]] && modules_ok=1; done + for mod in "${modules[@]}"; do line_length=$(wc -L < "${mod}"); [[ $line_length -gt 127 ]] && modules_ok=1; done [[ $modules_ok -eq 0 ]] && echo ok || exit 1 - name: Check max number of lines in modules id: num_line_checker diff --git a/Dockerfile b/Dockerfile index 9bf4f26..7ae54a4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -38,7 +38,6 @@ RUN python3 -m pip install --upgrade build RUN rm -f get-pip.py RUN mkdir /codecipher/ COPY codecipher /codecipher/ -COPY setup.cfg / COPY pyproject.toml / COPY MANIFEST.in / COPY setup.py / @@ -52,7 +51,6 @@ RUN pip install /dist/codecipher-*.whl RUN rm -rf /codecipher* RUN rm -rf dist/ RUN rm -rf tests/ -RUN rm -f setup.cfg RUN rm -f pyproject.toml RUN rm -f MANIFEST.in RUN rm -f setup.py diff --git a/README.md b/README.md index 87a6b66..b88a544 100644 --- a/README.md +++ b/README.md @@ -279,7 +279,7 @@ More documentation and info at [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) -Copyright (C) 2021 - 2025 by [electux.github.io/codecipher](https://electux.github.io/codecipher/) +Copyright (C) 2021 - 2026 by [electux.github.io/codecipher](https://electux.github.io/codecipher/) **codecipher** is free software; you can redistribute it and/or modify it under the same terms as Python itself, either Python version 3.x or, diff --git a/codecipher/__init__.py b/codecipher/__init__.py index f0ae770..3292b26 100644 --- a/codecipher/__init__.py +++ b/codecipher/__init__.py @@ -4,7 +4,7 @@ Module __init__.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or diff --git a/codecipher/a1z52n62/__init__.py b/codecipher/a1z52n62/__init__.py index a7a43aa..79b46cf 100644 --- a/codecipher/a1z52n62/__init__.py +++ b/codecipher/a1z52n62/__init__.py @@ -4,7 +4,7 @@ Module __init__.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -31,10 +31,10 @@ sys.exit(f'\n{__file__}\n{ats_error_message}\n') # pragma: no cover __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/a1z52n62/decode.py b/codecipher/a1z52n62/decode.py index 29d98c2..33b24b6 100644 --- a/codecipher/a1z52n62/decode.py +++ b/codecipher/a1z52n62/decode.py @@ -4,7 +4,7 @@ Module decode.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -24,10 +24,10 @@ from typing import List, Optional __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/a1z52n62/encode.py b/codecipher/a1z52n62/encode.py index f1617cc..0b854ac 100644 --- a/codecipher/a1z52n62/encode.py +++ b/codecipher/a1z52n62/encode.py @@ -4,7 +4,7 @@ Module encode.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -24,10 +24,10 @@ from typing import List, Optional __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/atbs/__init__.py b/codecipher/atbs/__init__.py index e807f88..cfc3382 100644 --- a/codecipher/atbs/__init__.py +++ b/codecipher/atbs/__init__.py @@ -4,7 +4,7 @@ Module __init__.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -31,10 +31,10 @@ sys.exit(f'\n{__file__}\n{ats_error_message}\n') # pragma: no cover __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/atbs/decode.py b/codecipher/atbs/decode.py index 9296915..813adbf 100644 --- a/codecipher/atbs/decode.py +++ b/codecipher/atbs/decode.py @@ -4,7 +4,7 @@ Module decode.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -31,10 +31,10 @@ sys.exit(f'\n{__file__}\n{ats_error_message}\n') # pragma: no cover __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/atbs/encode.py b/codecipher/atbs/encode.py index 8117c34..d35d989 100644 --- a/codecipher/atbs/encode.py +++ b/codecipher/atbs/encode.py @@ -4,7 +4,7 @@ Module encode.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -31,10 +31,10 @@ sys.exit(f'\n{__file__}\n{ats_error_message}\n') # pragma: no cover __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/atbs/lookup_table.py b/codecipher/atbs/lookup_table.py index 861e847..17f8f5e 100644 --- a/codecipher/atbs/lookup_table.py +++ b/codecipher/atbs/lookup_table.py @@ -4,7 +4,7 @@ Module lookup_table.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -22,10 +22,10 @@ from typing import List, Dict __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/b64/__init__.py b/codecipher/b64/__init__.py index 2898d7b..303c96e 100644 --- a/codecipher/b64/__init__.py +++ b/codecipher/b64/__init__.py @@ -4,7 +4,7 @@ Module __init__.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -31,10 +31,10 @@ sys.exit(f'\n{__file__}\n{ats_error_message}\n') # pragma: no cover __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/b64/decode.py b/codecipher/b64/decode.py index 2866de2..f272424 100644 --- a/codecipher/b64/decode.py +++ b/codecipher/b64/decode.py @@ -4,7 +4,7 @@ Module decode.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -25,10 +25,10 @@ from typing import List, Optional __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/b64/encode.py b/codecipher/b64/encode.py index 6c20609..cdb7e42 100644 --- a/codecipher/b64/encode.py +++ b/codecipher/b64/encode.py @@ -4,7 +4,7 @@ Module encode.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -25,10 +25,10 @@ from typing import List, Optional __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/caesar/__init__.py b/codecipher/caesar/__init__.py index e3c74bd..eaec418 100644 --- a/codecipher/caesar/__init__.py +++ b/codecipher/caesar/__init__.py @@ -4,7 +4,7 @@ Module __init__.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -31,10 +31,10 @@ sys.exit(f'\n{__file__}\n{ats_error_message}\n') # pragma: no cover __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/caesar/decode.py b/codecipher/caesar/decode.py index bb34768..65bd07a 100644 --- a/codecipher/caesar/decode.py +++ b/codecipher/caesar/decode.py @@ -4,7 +4,7 @@ Module decode.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -24,10 +24,10 @@ from typing import List, Optional __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/caesar/encode.py b/codecipher/caesar/encode.py index 7da63d0..ed6b2c5 100644 --- a/codecipher/caesar/encode.py +++ b/codecipher/caesar/encode.py @@ -4,7 +4,7 @@ Module encode.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -24,10 +24,10 @@ from typing import List, Optional __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/vernam/__init__.py b/codecipher/vernam/__init__.py index bf2a717..da48a55 100644 --- a/codecipher/vernam/__init__.py +++ b/codecipher/vernam/__init__.py @@ -4,7 +4,7 @@ Module __init__.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -31,10 +31,10 @@ sys.exit(f'\n{__file__}\n{ats_error_message}\n') # pragma: no cover __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/vernam/decode.py b/codecipher/vernam/decode.py index 719840e..a97eb1f 100644 --- a/codecipher/vernam/decode.py +++ b/codecipher/vernam/decode.py @@ -4,7 +4,7 @@ Module decode.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -24,10 +24,10 @@ from typing import List, Optional __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/vernam/encode.py b/codecipher/vernam/encode.py index c005830..f69b023 100644 --- a/codecipher/vernam/encode.py +++ b/codecipher/vernam/encode.py @@ -4,7 +4,7 @@ Module encode.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -24,10 +24,10 @@ from typing import List, Optional __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/vigenere/__init__.py b/codecipher/vigenere/__init__.py index 3ef8822..4081792 100644 --- a/codecipher/vigenere/__init__.py +++ b/codecipher/vigenere/__init__.py @@ -4,7 +4,7 @@ Module __init__.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -32,10 +32,10 @@ sys.exit(f'\n{__file__}\n{ats_error_message}\n') # pragma: no cover __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/vigenere/decode.py b/codecipher/vigenere/decode.py index 72c86c5..d569da4 100644 --- a/codecipher/vigenere/decode.py +++ b/codecipher/vigenere/decode.py @@ -4,7 +4,7 @@ Module decode.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -31,10 +31,10 @@ sys.exit(f'\n{__file__}\n{ats_error_message}\n') # pragma: no cover __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/vigenere/encode.py b/codecipher/vigenere/encode.py index 3375e4b..e5c96dd 100644 --- a/codecipher/vigenere/encode.py +++ b/codecipher/vigenere/encode.py @@ -4,7 +4,7 @@ Module encode.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -31,10 +31,10 @@ sys.exit(f'\n{__file__}\n{ats_error_message}\n') # pragma: no cover __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/vigenere/key_generator.py b/codecipher/vigenere/key_generator.py index bdc9a51..2f7aae7 100644 --- a/codecipher/vigenere/key_generator.py +++ b/codecipher/vigenere/key_generator.py @@ -4,7 +4,7 @@ Module key_generator.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -24,10 +24,10 @@ from typing import List, Optional __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/codecipher/vigenere/lookup_table.py b/codecipher/vigenere/lookup_table.py index 658f190..2686853 100644 --- a/codecipher/vigenere/lookup_table.py +++ b/codecipher/vigenere/lookup_table.py @@ -4,7 +4,7 @@ Module lookup_table.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -23,10 +23,10 @@ from typing import List, Dict __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/docs/build/doctrees/codecipher.a1z52n62.decode.doctree b/docs/build/doctrees/codecipher.a1z52n62.decode.doctree index 0626828..1ac8d9c 100644 Binary files a/docs/build/doctrees/codecipher.a1z52n62.decode.doctree and b/docs/build/doctrees/codecipher.a1z52n62.decode.doctree differ diff --git a/docs/build/doctrees/codecipher.a1z52n62.doctree b/docs/build/doctrees/codecipher.a1z52n62.doctree index fb5cce3..a651403 100644 Binary files a/docs/build/doctrees/codecipher.a1z52n62.doctree and b/docs/build/doctrees/codecipher.a1z52n62.doctree differ diff --git a/docs/build/doctrees/codecipher.a1z52n62.encode.doctree b/docs/build/doctrees/codecipher.a1z52n62.encode.doctree index f649e77..d7e4b70 100644 Binary files a/docs/build/doctrees/codecipher.a1z52n62.encode.doctree and b/docs/build/doctrees/codecipher.a1z52n62.encode.doctree differ diff --git a/docs/build/doctrees/codecipher.atbs.decode.doctree b/docs/build/doctrees/codecipher.atbs.decode.doctree index 8069bd6..ef53c30 100644 Binary files a/docs/build/doctrees/codecipher.atbs.decode.doctree and b/docs/build/doctrees/codecipher.atbs.decode.doctree differ diff --git a/docs/build/doctrees/codecipher.atbs.doctree b/docs/build/doctrees/codecipher.atbs.doctree index e4bf4dc..d07a390 100644 Binary files a/docs/build/doctrees/codecipher.atbs.doctree and b/docs/build/doctrees/codecipher.atbs.doctree differ diff --git a/docs/build/doctrees/codecipher.atbs.encode.doctree b/docs/build/doctrees/codecipher.atbs.encode.doctree index bb50020..382eb44 100644 Binary files a/docs/build/doctrees/codecipher.atbs.encode.doctree and b/docs/build/doctrees/codecipher.atbs.encode.doctree differ diff --git a/docs/build/doctrees/codecipher.atbs.lookup_table.doctree b/docs/build/doctrees/codecipher.atbs.lookup_table.doctree index bef0c57..c432cf5 100644 Binary files a/docs/build/doctrees/codecipher.atbs.lookup_table.doctree and b/docs/build/doctrees/codecipher.atbs.lookup_table.doctree differ diff --git a/docs/build/doctrees/codecipher.b64.decode.doctree b/docs/build/doctrees/codecipher.b64.decode.doctree index e41b777..5d08a43 100644 Binary files a/docs/build/doctrees/codecipher.b64.decode.doctree and b/docs/build/doctrees/codecipher.b64.decode.doctree differ diff --git a/docs/build/doctrees/codecipher.b64.doctree b/docs/build/doctrees/codecipher.b64.doctree index 1b4715f..4b370c0 100644 Binary files a/docs/build/doctrees/codecipher.b64.doctree and b/docs/build/doctrees/codecipher.b64.doctree differ diff --git a/docs/build/doctrees/codecipher.b64.encode.doctree b/docs/build/doctrees/codecipher.b64.encode.doctree index 5f501a3..dff75df 100644 Binary files a/docs/build/doctrees/codecipher.b64.encode.doctree and b/docs/build/doctrees/codecipher.b64.encode.doctree differ diff --git a/docs/build/doctrees/codecipher.caesar.decode.doctree b/docs/build/doctrees/codecipher.caesar.decode.doctree index 1efd869..003657e 100644 Binary files a/docs/build/doctrees/codecipher.caesar.decode.doctree and b/docs/build/doctrees/codecipher.caesar.decode.doctree differ diff --git a/docs/build/doctrees/codecipher.caesar.doctree b/docs/build/doctrees/codecipher.caesar.doctree index 237d398..ece88da 100644 Binary files a/docs/build/doctrees/codecipher.caesar.doctree and b/docs/build/doctrees/codecipher.caesar.doctree differ diff --git a/docs/build/doctrees/codecipher.caesar.encode.doctree b/docs/build/doctrees/codecipher.caesar.encode.doctree index 4e9454a..4f905fb 100644 Binary files a/docs/build/doctrees/codecipher.caesar.encode.doctree and b/docs/build/doctrees/codecipher.caesar.encode.doctree differ diff --git a/docs/build/doctrees/codecipher.doctree b/docs/build/doctrees/codecipher.doctree index 7f68c5a..d5afa07 100644 Binary files a/docs/build/doctrees/codecipher.doctree and b/docs/build/doctrees/codecipher.doctree differ diff --git a/docs/build/doctrees/codecipher.vernam.decode.doctree b/docs/build/doctrees/codecipher.vernam.decode.doctree index 633f573..0b3d501 100644 Binary files a/docs/build/doctrees/codecipher.vernam.decode.doctree and b/docs/build/doctrees/codecipher.vernam.decode.doctree differ diff --git a/docs/build/doctrees/codecipher.vernam.doctree b/docs/build/doctrees/codecipher.vernam.doctree index d293119..73f07ea 100644 Binary files a/docs/build/doctrees/codecipher.vernam.doctree and b/docs/build/doctrees/codecipher.vernam.doctree differ diff --git a/docs/build/doctrees/codecipher.vernam.encode.doctree b/docs/build/doctrees/codecipher.vernam.encode.doctree index f902a59..8c79a9c 100644 Binary files a/docs/build/doctrees/codecipher.vernam.encode.doctree and b/docs/build/doctrees/codecipher.vernam.encode.doctree differ diff --git a/docs/build/doctrees/codecipher.vigenere.decode.doctree b/docs/build/doctrees/codecipher.vigenere.decode.doctree index 4cd5db6..1f64ba2 100644 Binary files a/docs/build/doctrees/codecipher.vigenere.decode.doctree and b/docs/build/doctrees/codecipher.vigenere.decode.doctree differ diff --git a/docs/build/doctrees/codecipher.vigenere.doctree b/docs/build/doctrees/codecipher.vigenere.doctree index 1339d3a..569c88d 100644 Binary files a/docs/build/doctrees/codecipher.vigenere.doctree and b/docs/build/doctrees/codecipher.vigenere.doctree differ diff --git a/docs/build/doctrees/codecipher.vigenere.encode.doctree b/docs/build/doctrees/codecipher.vigenere.encode.doctree index e4a12f0..c231d7e 100644 Binary files a/docs/build/doctrees/codecipher.vigenere.encode.doctree and b/docs/build/doctrees/codecipher.vigenere.encode.doctree differ diff --git a/docs/build/doctrees/codecipher.vigenere.key_generator.doctree b/docs/build/doctrees/codecipher.vigenere.key_generator.doctree index a579002..60df58a 100644 Binary files a/docs/build/doctrees/codecipher.vigenere.key_generator.doctree and b/docs/build/doctrees/codecipher.vigenere.key_generator.doctree differ diff --git a/docs/build/doctrees/codecipher.vigenere.lookup_table.doctree b/docs/build/doctrees/codecipher.vigenere.lookup_table.doctree index f98ebb1..6700044 100644 Binary files a/docs/build/doctrees/codecipher.vigenere.lookup_table.doctree and b/docs/build/doctrees/codecipher.vigenere.lookup_table.doctree differ diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index 2c46fc7..213c2d0 100644 Binary files a/docs/build/doctrees/environment.pickle and b/docs/build/doctrees/environment.pickle differ diff --git a/docs/build/doctrees/index.doctree b/docs/build/doctrees/index.doctree index 0be36e8..9d8d107 100644 Binary files a/docs/build/doctrees/index.doctree and b/docs/build/doctrees/index.doctree differ diff --git a/docs/build/html/.buildinfo b/docs/build/html/.buildinfo index 969073b..5c90bd0 100644 --- a/docs/build/html/.buildinfo +++ b/docs/build/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: caefd34d4082d2b7f99de43a23803684 +config: 13fd44b6725d1c858fc2d3a610e33291 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/build/html/_modules/codecipher/a1z52n62.html b/docs/build/html/_modules/codecipher/a1z52n62.html index b99e95f..b411ab6 100644 --- a/docs/build/html/_modules/codecipher/a1z52n62.html +++ b/docs/build/html/_modules/codecipher/a1z52n62.html @@ -42,7 +42,7 @@

Source code for codecipher.a1z52n62

 Module
     __init__.py
 Copyright
-    Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com>
+    Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com>
     codecipher is free software: you can redistribute it and/or modify it
     under the terms of the GNU General Public License as published by the
     Free Software Foundation, either version 3 of the License, or
@@ -69,10 +69,10 @@ 

Source code for codecipher.a1z52n62

     sys.exit(f'\n{__file__}\n{ats_error_message}\n')  # pragma: no cover
 
 __author__: str = 'Vladimir Roncevic'
-__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
+__copyright__: str = '(C) 2026, https://electux.github.io/codecipher'
 __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
 __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.9'
+__version__: str = '1.5.0'
 __maintainer__: str = 'Vladimir Roncevic'
 __email__: str = 'elektron.ronca@gmail.com'
 __status__: str = 'Updated'
@@ -138,7 +138,7 @@ 

Navigation

diff --git a/docs/build/html/_modules/codecipher/a1z52n62/decode.html b/docs/build/html/_modules/codecipher/a1z52n62/decode.html index 0173374..68fa9f8 100644 --- a/docs/build/html/_modules/codecipher/a1z52n62/decode.html +++ b/docs/build/html/_modules/codecipher/a1z52n62/decode.html @@ -43,7 +43,7 @@

Source code for codecipher.a1z52n62.decode

 Module
     decode.py
 Copyright
-    Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com>
+    Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com>
     codecipher is free software: you can redistribute it and/or modify it
     under the terms of the GNU General Public License as published by the
     Free Software Foundation, either version 3 of the License, or
@@ -63,10 +63,10 @@ 

Source code for codecipher.a1z52n62.decode

 from typing import List, Optional
 
 __author__: str = 'Vladimir Roncevic'
-__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
+__copyright__: str = '(C) 2026, https://electux.github.io/codecipher'
 __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
 __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.9'
+__version__: str = '1.5.0'
 __maintainer__: str = 'Vladimir Roncevic'
 __email__: str = 'elektron.ronca@gmail.com'
 __status__: str = 'Updated'
@@ -180,7 +180,7 @@ 

Navigation

diff --git a/docs/build/html/_modules/codecipher/a1z52n62/encode.html b/docs/build/html/_modules/codecipher/a1z52n62/encode.html index 0852b80..7819f18 100644 --- a/docs/build/html/_modules/codecipher/a1z52n62/encode.html +++ b/docs/build/html/_modules/codecipher/a1z52n62/encode.html @@ -43,7 +43,7 @@

Source code for codecipher.a1z52n62.encode

 Module
     encode.py
 Copyright
-    Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com>
+    Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com>
     codecipher is free software: you can redistribute it and/or modify it
     under the terms of the GNU General Public License as published by the
     Free Software Foundation, either version 3 of the License, or
@@ -63,10 +63,10 @@ 

Source code for codecipher.a1z52n62.encode

 from typing import List, Optional
 
 __author__: str = 'Vladimir Roncevic'
-__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
+__copyright__: str = '(C) 2026, https://electux.github.io/codecipher'
 __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
 __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.9'
+__version__: str = '1.5.0'
 __maintainer__: str = 'Vladimir Roncevic'
 __email__: str = 'elektron.ronca@gmail.com'
 __status__: str = 'Updated'
@@ -180,7 +180,7 @@ 

Navigation

diff --git a/docs/build/html/_modules/codecipher/atbs.html b/docs/build/html/_modules/codecipher/atbs.html index f7dadff..1b39c68 100644 --- a/docs/build/html/_modules/codecipher/atbs.html +++ b/docs/build/html/_modules/codecipher/atbs.html @@ -42,7 +42,7 @@

Source code for codecipher.atbs

 Module
     __init__.py
 Copyright
-    Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com>
+    Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com>
     codecipher is free software: you can redistribute it and/or modify it
     under the terms of the GNU General Public License as published by the
     Free Software Foundation, either version 3 of the License, or
@@ -69,10 +69,10 @@ 

Source code for codecipher.atbs

     sys.exit(f'\n{__file__}\n{ats_error_message}\n')  # pragma: no cover
 
 __author__: str = 'Vladimir Roncevic'
-__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
+__copyright__: str = '(C) 2026, https://electux.github.io/codecipher'
 __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
 __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.9'
+__version__: str = '1.5.0'
 __maintainer__: str = 'Vladimir Roncevic'
 __email__: str = 'elektron.ronca@gmail.com'
 __status__: str = 'Updated'
@@ -138,7 +138,7 @@ 

Navigation

diff --git a/docs/build/html/_modules/codecipher/atbs/decode.html b/docs/build/html/_modules/codecipher/atbs/decode.html index 658abc7..29466af 100644 --- a/docs/build/html/_modules/codecipher/atbs/decode.html +++ b/docs/build/html/_modules/codecipher/atbs/decode.html @@ -43,7 +43,7 @@

Source code for codecipher.atbs.decode

 Module
     decode.py
 Copyright
-    Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com>
+    Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com>
     codecipher is free software: you can redistribute it and/or modify it
     under the terms of the GNU General Public License as published by the
     Free Software Foundation, either version 3 of the License, or
@@ -70,10 +70,10 @@ 

Source code for codecipher.atbs.decode

     sys.exit(f'\n{__file__}\n{ats_error_message}\n')  # pragma: no cover
 
 __author__: str = 'Vladimir Roncevic'
-__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
+__copyright__: str = '(C) 2026, https://electux.github.io/codecipher'
 __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
 __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.9'
+__version__: str = '1.5.0'
 __maintainer__: str = 'Vladimir Roncevic'
 __email__: str = 'elektron.ronca@gmail.com'
 __status__: str = 'Updated'
@@ -178,7 +178,7 @@ 

Navigation

diff --git a/docs/build/html/_modules/codecipher/atbs/encode.html b/docs/build/html/_modules/codecipher/atbs/encode.html index 8552582..322fb64 100644 --- a/docs/build/html/_modules/codecipher/atbs/encode.html +++ b/docs/build/html/_modules/codecipher/atbs/encode.html @@ -43,7 +43,7 @@

Source code for codecipher.atbs.encode

 Module
     encode.py
 Copyright
-    Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com>
+    Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com>
     codecipher is free software: you can redistribute it and/or modify it
     under the terms of the GNU General Public License as published by the
     Free Software Foundation, either version 3 of the License, or
@@ -70,10 +70,10 @@ 

Source code for codecipher.atbs.encode

     sys.exit(f'\n{__file__}\n{ats_error_message}\n')  # pragma: no cover
 
 __author__: str = 'Vladimir Roncevic'
-__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
+__copyright__: str = '(C) 2026, https://electux.github.io/codecipher'
 __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
 __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.9'
+__version__: str = '1.5.0'
 __maintainer__: str = 'Vladimir Roncevic'
 __email__: str = 'elektron.ronca@gmail.com'
 __status__: str = 'Updated'
@@ -178,7 +178,7 @@ 

Navigation

diff --git a/docs/build/html/_modules/codecipher/b64.html b/docs/build/html/_modules/codecipher/b64.html index b525353..4f8239d 100644 --- a/docs/build/html/_modules/codecipher/b64.html +++ b/docs/build/html/_modules/codecipher/b64.html @@ -42,7 +42,7 @@

Source code for codecipher.b64

 Module
     __init__.py
 Copyright
-    Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com>
+    Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com>
     codecipher is free software: you can redistribute it and/or modify it
     under the terms of the GNU General Public License as published by the
     Free Software Foundation, either version 3 of the License, or
@@ -69,10 +69,10 @@ 

Source code for codecipher.b64

     sys.exit(f'\n{__file__}\n{ats_error_message}\n')  # pragma: no cover
 
 __author__: str = 'Vladimir Roncevic'
-__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
+__copyright__: str = '(C) 2026, https://electux.github.io/codecipher'
 __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
 __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.9'
+__version__: str = '1.5.0'
 __maintainer__: str = 'Vladimir Roncevic'
 __email__: str = 'elektron.ronca@gmail.com'
 __status__: str = 'Updated'
@@ -138,7 +138,7 @@ 

Navigation

diff --git a/docs/build/html/_modules/codecipher/b64/decode.html b/docs/build/html/_modules/codecipher/b64/decode.html index 6a4beff..92407a8 100644 --- a/docs/build/html/_modules/codecipher/b64/decode.html +++ b/docs/build/html/_modules/codecipher/b64/decode.html @@ -43,7 +43,7 @@

Source code for codecipher.b64.decode

 Module
     decode.py
 Copyright
-    Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com>
+    Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com>
     codecipher is free software: you can redistribute it and/or modify it
     under the terms of the GNU General Public License as published by the
     Free Software Foundation, either version 3 of the License, or
@@ -64,10 +64,10 @@ 

Source code for codecipher.b64.decode

 from typing import List, Optional
 
 __author__: str = 'Vladimir Roncevic'
-__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
+__copyright__: str = '(C) 2026, https://electux.github.io/codecipher'
 __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
 __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.9'
+__version__: str = '1.5.0'
 __maintainer__: str = 'Vladimir Roncevic'
 __email__: str = 'elektron.ronca@gmail.com'
 __status__: str = 'Updated'
@@ -169,7 +169,7 @@ 

Navigation

diff --git a/docs/build/html/_modules/codecipher/b64/encode.html b/docs/build/html/_modules/codecipher/b64/encode.html index 01e24a7..3328478 100644 --- a/docs/build/html/_modules/codecipher/b64/encode.html +++ b/docs/build/html/_modules/codecipher/b64/encode.html @@ -43,7 +43,7 @@

Source code for codecipher.b64.encode

 Module
     encode.py
 Copyright
-    Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com>
+    Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com>
     codecipher is free software: you can redistribute it and/or modify it
     under the terms of the GNU General Public License as published by the
     Free Software Foundation, either version 3 of the License, or
@@ -64,10 +64,10 @@ 

Source code for codecipher.b64.encode

 from typing import List, Optional
 
 __author__: str = 'Vladimir Roncevic'
-__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
+__copyright__: str = '(C) 2026, https://electux.github.io/codecipher'
 __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
 __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.9'
+__version__: str = '1.5.0'
 __maintainer__: str = 'Vladimir Roncevic'
 __email__: str = 'elektron.ronca@gmail.com'
 __status__: str = 'Updated'
@@ -169,7 +169,7 @@ 

Navigation

diff --git a/docs/build/html/_modules/codecipher/caesar.html b/docs/build/html/_modules/codecipher/caesar.html index 15d52e2..ba58a08 100644 --- a/docs/build/html/_modules/codecipher/caesar.html +++ b/docs/build/html/_modules/codecipher/caesar.html @@ -42,7 +42,7 @@

Source code for codecipher.caesar

 Module
     __init__.py
 Copyright
-    Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com>
+    Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com>
     codecipher is free software: you can redistribute it and/or modify it
     under the terms of the GNU General Public License as published by the
     Free Software Foundation, either version 3 of the License, or
@@ -69,10 +69,10 @@ 

Source code for codecipher.caesar

     sys.exit(f'\n{__file__}\n{ats_error_message}\n')  # pragma: no cover
 
 __author__: str = 'Vladimir Roncevic'
-__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
+__copyright__: str = '(C) 2026, https://electux.github.io/codecipher'
 __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
 __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.9'
+__version__: str = '1.5.0'
 __maintainer__: str = 'Vladimir Roncevic'
 __email__: str = 'elektron.ronca@gmail.com'
 __status__: str = 'Updated'
@@ -138,7 +138,7 @@ 

Navigation

diff --git a/docs/build/html/_modules/codecipher/caesar/decode.html b/docs/build/html/_modules/codecipher/caesar/decode.html index 8ea8621..8e77f48 100644 --- a/docs/build/html/_modules/codecipher/caesar/decode.html +++ b/docs/build/html/_modules/codecipher/caesar/decode.html @@ -43,7 +43,7 @@

Source code for codecipher.caesar.decode

 Module
     decode.py
 Copyright
-    Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com>
+    Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com>
     codecipher is free software: you can redistribute it and/or modify it
     under the terms of the GNU General Public License as published by the
     Free Software Foundation, either version 3 of the License, or
@@ -63,10 +63,10 @@ 

Source code for codecipher.caesar.decode

 from typing import List, Optional
 
 __author__: str = 'Vladimir Roncevic'
-__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
+__copyright__: str = '(C) 2026, https://electux.github.io/codecipher'
 __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
 __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.9'
+__version__: str = '1.5.0'
 __maintainer__: str = 'Vladimir Roncevic'
 __email__: str = 'elektron.ronca@gmail.com'
 __status__: str = 'Updated'
@@ -191,7 +191,7 @@ 

Navigation

diff --git a/docs/build/html/_modules/codecipher/caesar/encode.html b/docs/build/html/_modules/codecipher/caesar/encode.html index 4003b25..2227226 100644 --- a/docs/build/html/_modules/codecipher/caesar/encode.html +++ b/docs/build/html/_modules/codecipher/caesar/encode.html @@ -43,7 +43,7 @@

Source code for codecipher.caesar.encode

 Module
     encode.py
 Copyright
-    Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com>
+    Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com>
     codecipher is free software: you can redistribute it and/or modify it
     under the terms of the GNU General Public License as published by the
     Free Software Foundation, either version 3 of the License, or
@@ -63,10 +63,10 @@ 

Source code for codecipher.caesar.encode

 from typing import List, Optional
 
 __author__: str = 'Vladimir Roncevic'
-__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
+__copyright__: str = '(C) 2026, https://electux.github.io/codecipher'
 __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
 __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.9'
+__version__: str = '1.5.0'
 __maintainer__: str = 'Vladimir Roncevic'
 __email__: str = 'elektron.ronca@gmail.com'
 __status__: str = 'Updated'
@@ -191,7 +191,7 @@ 

Navigation

diff --git a/docs/build/html/_modules/codecipher/vernam.html b/docs/build/html/_modules/codecipher/vernam.html index 4ddc0b5..4cccc1c 100644 --- a/docs/build/html/_modules/codecipher/vernam.html +++ b/docs/build/html/_modules/codecipher/vernam.html @@ -42,7 +42,7 @@

Source code for codecipher.vernam

 Module
     __init__.py
 Copyright
-    Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com>
+    Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com>
     codecipher is free software: you can redistribute it and/or modify it
     under the terms of the GNU General Public License as published by the
     Free Software Foundation, either version 3 of the License, or
@@ -69,10 +69,10 @@ 

Source code for codecipher.vernam

     sys.exit(f'\n{__file__}\n{ats_error_message}\n')  # pragma: no cover
 
 __author__: str = 'Vladimir Roncevic'
-__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
+__copyright__: str = '(C) 2026, https://electux.github.io/codecipher'
 __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
 __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.9'
+__version__: str = '1.5.0'
 __maintainer__: str = 'Vladimir Roncevic'
 __email__: str = 'elektron.ronca@gmail.com'
 __status__: str = 'Updated'
@@ -138,7 +138,7 @@ 

Navigation

diff --git a/docs/build/html/_modules/codecipher/vernam/decode.html b/docs/build/html/_modules/codecipher/vernam/decode.html index 87306ea..652dc1f 100644 --- a/docs/build/html/_modules/codecipher/vernam/decode.html +++ b/docs/build/html/_modules/codecipher/vernam/decode.html @@ -43,7 +43,7 @@

Source code for codecipher.vernam.decode

 Module
     decode.py
 Copyright
-    Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com>
+    Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com>
     codecipher is free software: you can redistribute it and/or modify it
     under the terms of the GNU General Public License as published by the
     Free Software Foundation, either version 3 of the License, or
@@ -63,10 +63,10 @@ 

Source code for codecipher.vernam.decode

 from typing import List, Optional
 
 __author__: str = 'Vladimir Roncevic'
-__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
+__copyright__: str = '(C) 2026, https://electux.github.io/codecipher'
 __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
 __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.9'
+__version__: str = '1.5.0'
 __maintainer__: str = 'Vladimir Roncevic'
 __email__: str = 'elektron.ronca@gmail.com'
 __status__: str = 'Updated'
@@ -185,7 +185,7 @@ 

Navigation

diff --git a/docs/build/html/_modules/codecipher/vernam/encode.html b/docs/build/html/_modules/codecipher/vernam/encode.html index 10349c8..094f7e6 100644 --- a/docs/build/html/_modules/codecipher/vernam/encode.html +++ b/docs/build/html/_modules/codecipher/vernam/encode.html @@ -43,7 +43,7 @@

Source code for codecipher.vernam.encode

 Module
     encode.py
 Copyright
-    Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com>
+    Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com>
     codecipher is free software: you can redistribute it and/or modify it
     under the terms of the GNU General Public License as published by the
     Free Software Foundation, either version 3 of the License, or
@@ -63,10 +63,10 @@ 

Source code for codecipher.vernam.encode

 from typing import List, Optional
 
 __author__: str = 'Vladimir Roncevic'
-__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
+__copyright__: str = '(C) 2026, https://electux.github.io/codecipher'
 __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
 __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.9'
+__version__: str = '1.5.0'
 __maintainer__: str = 'Vladimir Roncevic'
 __email__: str = 'elektron.ronca@gmail.com'
 __status__: str = 'Updated'
@@ -185,7 +185,7 @@ 

Navigation

diff --git a/docs/build/html/_modules/codecipher/vigenere.html b/docs/build/html/_modules/codecipher/vigenere.html index f87b9cc..5851579 100644 --- a/docs/build/html/_modules/codecipher/vigenere.html +++ b/docs/build/html/_modules/codecipher/vigenere.html @@ -42,7 +42,7 @@

Source code for codecipher.vigenere

 Module
     __init__.py
 Copyright
-    Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com>
+    Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com>
     codecipher is free software: you can redistribute it and/or modify it
     under the terms of the GNU General Public License as published by the
     Free Software Foundation, either version 3 of the License, or
@@ -70,10 +70,10 @@ 

Source code for codecipher.vigenere

     sys.exit(f'\n{__file__}\n{ats_error_message}\n')  # pragma: no cover
 
 __author__: str = 'Vladimir Roncevic'
-__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
+__copyright__: str = '(C) 2026, https://electux.github.io/codecipher'
 __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
 __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.9'
+__version__: str = '1.5.0'
 __maintainer__: str = 'Vladimir Roncevic'
 __email__: str = 'elektron.ronca@gmail.com'
 __status__: str = 'Updated'
@@ -139,7 +139,7 @@ 

Navigation

diff --git a/docs/build/html/_modules/codecipher/vigenere/decode.html b/docs/build/html/_modules/codecipher/vigenere/decode.html index 4306219..6d4153d 100644 --- a/docs/build/html/_modules/codecipher/vigenere/decode.html +++ b/docs/build/html/_modules/codecipher/vigenere/decode.html @@ -43,7 +43,7 @@

Source code for codecipher.vigenere.decode

 Module
     decode.py
 Copyright
-    Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com>
+    Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com>
     codecipher is free software: you can redistribute it and/or modify it
     under the terms of the GNU General Public License as published by the
     Free Software Foundation, either version 3 of the License, or
@@ -70,10 +70,10 @@ 

Source code for codecipher.vigenere.decode

     sys.exit(f'\n{__file__}\n{ats_error_message}\n')  # pragma: no cover
 
 __author__: str = 'Vladimir Roncevic'
-__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
+__copyright__: str = '(C) 2026, https://electux.github.io/codecipher'
 __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
 __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.9'
+__version__: str = '1.5.0'
 __maintainer__: str = 'Vladimir Roncevic'
 __email__: str = 'elektron.ronca@gmail.com'
 __status__: str = 'Updated'
@@ -213,7 +213,7 @@ 

Navigation

diff --git a/docs/build/html/_modules/codecipher/vigenere/encode.html b/docs/build/html/_modules/codecipher/vigenere/encode.html index 35e43f0..6fdd978 100644 --- a/docs/build/html/_modules/codecipher/vigenere/encode.html +++ b/docs/build/html/_modules/codecipher/vigenere/encode.html @@ -43,7 +43,7 @@

Source code for codecipher.vigenere.encode

 Module
     encode.py
 Copyright
-    Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com>
+    Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com>
     codecipher is free software: you can redistribute it and/or modify it
     under the terms of the GNU General Public License as published by the
     Free Software Foundation, either version 3 of the License, or
@@ -70,10 +70,10 @@ 

Source code for codecipher.vigenere.encode

     sys.exit(f'\n{__file__}\n{ats_error_message}\n')  # pragma: no cover
 
 __author__: str = 'Vladimir Roncevic'
-__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
+__copyright__: str = '(C) 2026, https://electux.github.io/codecipher'
 __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
 __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
-__version__: str = '1.4.9'
+__version__: str = '1.5.0'
 __maintainer__: str = 'Vladimir Roncevic'
 __email__: str = 'elektron.ronca@gmail.com'
 __status__: str = 'Updated'
@@ -213,7 +213,7 @@ 

Navigation

diff --git a/docs/build/html/_modules/codecipher/vigenere/key_generator.html b/docs/build/html/_modules/codecipher/vigenere/key_generator.html index 1133d6e..17c1079 100644 --- a/docs/build/html/_modules/codecipher/vigenere/key_generator.html +++ b/docs/build/html/_modules/codecipher/vigenere/key_generator.html @@ -43,7 +43,7 @@

Source code for codecipher.vigenere.key_generator

Module key_generator.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com> + Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -63,10 +63,10 @@

Source code for codecipher.vigenere.key_generator

from typing import List, Optional __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' @@ -200,7 +200,7 @@

Navigation

diff --git a/docs/build/html/_modules/codecipher/vigenere/lookup_table.html b/docs/build/html/_modules/codecipher/vigenere/lookup_table.html index a107605..4599cc8 100644 --- a/docs/build/html/_modules/codecipher/vigenere/lookup_table.html +++ b/docs/build/html/_modules/codecipher/vigenere/lookup_table.html @@ -43,7 +43,7 @@

Source code for codecipher.vigenere.lookup_table

Module lookup_table.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com> + Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -62,10 +62,10 @@

Source code for codecipher.vigenere.lookup_table

from typing import List, Dict __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' @@ -136,7 +136,7 @@

Navigation

diff --git a/docs/build/html/_modules/index.html b/docs/build/html/_modules/index.html index 490cbe4..d6ec422 100644 --- a/docs/build/html/_modules/index.html +++ b/docs/build/html/_modules/index.html @@ -91,7 +91,7 @@

Navigation

diff --git a/docs/build/html/_sources/index.rst.txt b/docs/build/html/_sources/index.rst.txt index f6049b7..bdc4438 100644 --- a/docs/build/html/_sources/index.rst.txt +++ b/docs/build/html/_sources/index.rst.txt @@ -136,7 +136,7 @@ Copyright and licence .. |license: apache 2.0| image:: https://img.shields.io/badge/license-apache%202.0-blue.svg :target: https://opensource.org/licenses/apache-2.0 -Copyright (C) 2021 - 2025 by `electux.github.io/codecipher `_ +Copyright (C) 2021 - 2026 by `electux.github.io/codecipher `_ **codecipher** is free software; you can redistribute it and/or modify it under the same terms as Python itself, either Python version 3.x or, diff --git a/docs/build/html/codecipher.a1z52n62.decode.html b/docs/build/html/codecipher.a1z52n62.decode.html index e946c86..cd9b3c1 100644 --- a/docs/build/html/codecipher.a1z52n62.decode.html +++ b/docs/build/html/codecipher.a1z52n62.decode.html @@ -51,7 +51,7 @@

Navigation

Module

decode.py

-
Copyright

Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com> +

Copyright

Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -208,7 +208,7 @@

Navigation

diff --git a/docs/build/html/codecipher.a1z52n62.encode.html b/docs/build/html/codecipher.a1z52n62.encode.html index ce21f84..24665c7 100644 --- a/docs/build/html/codecipher.a1z52n62.encode.html +++ b/docs/build/html/codecipher.a1z52n62.encode.html @@ -51,7 +51,7 @@

Navigation

Module

encode.py

-
Copyright

Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com> +

Copyright

Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -208,7 +208,7 @@

Navigation

diff --git a/docs/build/html/codecipher.a1z52n62.html b/docs/build/html/codecipher.a1z52n62.html index d46032c..0e12011 100644 --- a/docs/build/html/codecipher.a1z52n62.html +++ b/docs/build/html/codecipher.a1z52n62.html @@ -77,7 +77,7 @@

Submodules
Module

__init__.py

-
Copyright

Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com> +

Copyright

Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -193,7 +193,7 @@

Navigation

diff --git a/docs/build/html/codecipher.atbs.decode.html b/docs/build/html/codecipher.atbs.decode.html index c12c3ac..1363ece 100644 --- a/docs/build/html/codecipher.atbs.decode.html +++ b/docs/build/html/codecipher.atbs.decode.html @@ -51,7 +51,7 @@

Navigation

Module

decode.py

-
Copyright

Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com> +

Copyright

Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -208,7 +208,7 @@

Navigation

diff --git a/docs/build/html/codecipher.atbs.encode.html b/docs/build/html/codecipher.atbs.encode.html index 4ba4db7..e0b85cb 100644 --- a/docs/build/html/codecipher.atbs.encode.html +++ b/docs/build/html/codecipher.atbs.encode.html @@ -51,7 +51,7 @@

Navigation

Module

encode.py

-
Copyright

Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com> +

Copyright

Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -208,7 +208,7 @@

Navigation

diff --git a/docs/build/html/codecipher.atbs.html b/docs/build/html/codecipher.atbs.html index 847b8d2..30d156a 100644 --- a/docs/build/html/codecipher.atbs.html +++ b/docs/build/html/codecipher.atbs.html @@ -78,7 +78,7 @@

Submodules
Module

__init__.py

-
Copyright

Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com> +

Copyright

Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -194,7 +194,7 @@

Navigation

diff --git a/docs/build/html/codecipher.atbs.lookup_table.html b/docs/build/html/codecipher.atbs.lookup_table.html index 9bd7c7b..9995c3b 100644 --- a/docs/build/html/codecipher.atbs.lookup_table.html +++ b/docs/build/html/codecipher.atbs.lookup_table.html @@ -51,7 +51,7 @@

Navigation

Module

lookup_table.py

-
Copyright

Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com> +

Copyright

Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -129,7 +129,7 @@

Navigation

diff --git a/docs/build/html/codecipher.b64.decode.html b/docs/build/html/codecipher.b64.decode.html index 4c64fc5..114a034 100644 --- a/docs/build/html/codecipher.b64.decode.html +++ b/docs/build/html/codecipher.b64.decode.html @@ -51,7 +51,7 @@

Navigation

Module

decode.py

-
Copyright

Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com> +

Copyright

Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -208,7 +208,7 @@

Navigation

diff --git a/docs/build/html/codecipher.b64.encode.html b/docs/build/html/codecipher.b64.encode.html index 24d5d7b..eb0f04f 100644 --- a/docs/build/html/codecipher.b64.encode.html +++ b/docs/build/html/codecipher.b64.encode.html @@ -51,7 +51,7 @@

Navigation

Module

encode.py

-
Copyright

Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com> +

Copyright

Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -208,7 +208,7 @@

Navigation

diff --git a/docs/build/html/codecipher.b64.html b/docs/build/html/codecipher.b64.html index a280faf..a506b78 100644 --- a/docs/build/html/codecipher.b64.html +++ b/docs/build/html/codecipher.b64.html @@ -77,7 +77,7 @@

Submodules
Module

__init__.py

-
Copyright

Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com> +

Copyright

Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -193,7 +193,7 @@

Navigation

diff --git a/docs/build/html/codecipher.caesar.decode.html b/docs/build/html/codecipher.caesar.decode.html index 2fba1fb..e6a3958 100644 --- a/docs/build/html/codecipher.caesar.decode.html +++ b/docs/build/html/codecipher.caesar.decode.html @@ -51,7 +51,7 @@

Navigation

Module

decode.py

-
Copyright

Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com> +

Copyright

Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -211,7 +211,7 @@

Navigation

diff --git a/docs/build/html/codecipher.caesar.encode.html b/docs/build/html/codecipher.caesar.encode.html index 0fa611b..885e728 100644 --- a/docs/build/html/codecipher.caesar.encode.html +++ b/docs/build/html/codecipher.caesar.encode.html @@ -51,7 +51,7 @@

Navigation

Module

encode.py

-
Copyright

Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com> +

Copyright

Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -211,7 +211,7 @@

Navigation

diff --git a/docs/build/html/codecipher.caesar.html b/docs/build/html/codecipher.caesar.html index e38e5d0..821bee8 100644 --- a/docs/build/html/codecipher.caesar.html +++ b/docs/build/html/codecipher.caesar.html @@ -77,7 +77,7 @@

Submodules
Module

__init__.py

-
Copyright

Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com> +

Copyright

Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -193,7 +193,7 @@

Navigation

diff --git a/docs/build/html/codecipher.html b/docs/build/html/codecipher.html index e944f71..feab975 100644 --- a/docs/build/html/codecipher.html +++ b/docs/build/html/codecipher.html @@ -175,7 +175,7 @@

Subpackages
Module

__init__.py

-
Copyright

Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com> +

Copyright

Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -261,7 +261,7 @@

Navigation

diff --git a/docs/build/html/codecipher.vernam.decode.html b/docs/build/html/codecipher.vernam.decode.html index 762f130..e9ea74f 100644 --- a/docs/build/html/codecipher.vernam.decode.html +++ b/docs/build/html/codecipher.vernam.decode.html @@ -51,7 +51,7 @@

Navigation

Module

decode.py

-
Copyright

Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com> +

Copyright

Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -211,7 +211,7 @@

Navigation

diff --git a/docs/build/html/codecipher.vernam.encode.html b/docs/build/html/codecipher.vernam.encode.html index 086f5f3..a1fad89 100644 --- a/docs/build/html/codecipher.vernam.encode.html +++ b/docs/build/html/codecipher.vernam.encode.html @@ -51,7 +51,7 @@

Navigation

Module

encode.py

-
Copyright

Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com> +

Copyright

Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -211,7 +211,7 @@

Navigation

diff --git a/docs/build/html/codecipher.vernam.html b/docs/build/html/codecipher.vernam.html index 9ff0eed..17361af 100644 --- a/docs/build/html/codecipher.vernam.html +++ b/docs/build/html/codecipher.vernam.html @@ -77,7 +77,7 @@

Submodules
Module

__init__.py

-
Copyright

Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com> +

Copyright

Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -193,7 +193,7 @@

Navigation

diff --git a/docs/build/html/codecipher.vigenere.decode.html b/docs/build/html/codecipher.vigenere.decode.html index 5f0b518..15580bc 100644 --- a/docs/build/html/codecipher.vigenere.decode.html +++ b/docs/build/html/codecipher.vigenere.decode.html @@ -51,7 +51,7 @@

Navigation

Module

decode.py

-
Copyright

Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com> +

Copyright

Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -236,7 +236,7 @@

Navigation

diff --git a/docs/build/html/codecipher.vigenere.encode.html b/docs/build/html/codecipher.vigenere.encode.html index 314a859..5da0472 100644 --- a/docs/build/html/codecipher.vigenere.encode.html +++ b/docs/build/html/codecipher.vigenere.encode.html @@ -51,7 +51,7 @@

Navigation

Module

encode.py

-
Copyright

Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com> +

Copyright

Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -236,7 +236,7 @@

Navigation

diff --git a/docs/build/html/codecipher.vigenere.html b/docs/build/html/codecipher.vigenere.html index 87b388a..c4a4888 100644 --- a/docs/build/html/codecipher.vigenere.html +++ b/docs/build/html/codecipher.vigenere.html @@ -102,7 +102,7 @@

Submodules
Module

__init__.py

-
Copyright

Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com> +

Copyright

Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -218,7 +218,7 @@

Navigation

diff --git a/docs/build/html/codecipher.vigenere.key_generator.html b/docs/build/html/codecipher.vigenere.key_generator.html index b1db8c9..5f66bd8 100644 --- a/docs/build/html/codecipher.vigenere.key_generator.html +++ b/docs/build/html/codecipher.vigenere.key_generator.html @@ -51,7 +51,7 @@

Navigation

Module

key_generator.py

-
Copyright

Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com> +

Copyright

Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -231,7 +231,7 @@

Navigation

diff --git a/docs/build/html/codecipher.vigenere.lookup_table.html b/docs/build/html/codecipher.vigenere.lookup_table.html index 5ab7cd8..a667403 100644 --- a/docs/build/html/codecipher.vigenere.lookup_table.html +++ b/docs/build/html/codecipher.vigenere.lookup_table.html @@ -47,7 +47,7 @@

Navigation

Module

lookup_table.py

-
Copyright

Copyright (C) 2021 - 2025 Vladimir Roncevic <elektron.ronca@gmail.com> +

Copyright

Copyright (C) 2021 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -194,7 +194,7 @@

Navigation

diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html index 32d3457..5628287 100644 --- a/docs/build/html/genindex.html +++ b/docs/build/html/genindex.html @@ -545,7 +545,7 @@

Navigation

diff --git a/docs/build/html/index.html b/docs/build/html/index.html index df28275..09e4f82 100644 --- a/docs/build/html/index.html +++ b/docs/build/html/index.html @@ -148,7 +148,7 @@

Package structure

Copyright and licence¶

license: gpl v3 license: apache 2.0

-

Copyright (C) 2021 - 2025 by electux.github.io/codecipher

+

Copyright (C) 2021 - 2026 by electux.github.io/codecipher

codecipher is free software; you can redistribute it and/or modify it under the same terms as Python itself, either Python version 3.x or, at your option, any later version of Python 3 you may have available.

@@ -227,7 +227,7 @@

Navigation

diff --git a/docs/build/html/modules.html b/docs/build/html/modules.html index 576e9ee..209a5e0 100644 --- a/docs/build/html/modules.html +++ b/docs/build/html/modules.html @@ -146,7 +146,7 @@

Navigation

diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv index 4302aa6..3133c4c 100644 Binary files a/docs/build/html/objects.inv and b/docs/build/html/objects.inv differ diff --git a/docs/build/html/py-modindex.html b/docs/build/html/py-modindex.html index 7710cfe..4eea0e3 100644 --- a/docs/build/html/py-modindex.html +++ b/docs/build/html/py-modindex.html @@ -196,7 +196,7 @@

Navigation

diff --git a/docs/build/html/search.html b/docs/build/html/search.html index e3ff178..c6f99fa 100644 --- a/docs/build/html/search.html +++ b/docs/build/html/search.html @@ -95,7 +95,7 @@

Navigation

diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index 53ef145..318a2a3 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["codecipher", "codecipher.a1z52n62", "codecipher.a1z52n62.decode", "codecipher.a1z52n62.encode", "codecipher.atbs", "codecipher.atbs.decode", "codecipher.atbs.encode", "codecipher.atbs.lookup_table", "codecipher.b64", "codecipher.b64.decode", "codecipher.b64.encode", "codecipher.caesar", "codecipher.caesar.decode", "codecipher.caesar.encode", "codecipher.vernam", "codecipher.vernam.decode", "codecipher.vernam.encode", "codecipher.vigenere", "codecipher.vigenere.decode", "codecipher.vigenere.encode", "codecipher.vigenere.key_generator", "codecipher.vigenere.lookup_table", "index", "modules"], "filenames": ["codecipher.rst", "codecipher.a1z52n62.rst", "codecipher.a1z52n62.decode.rst", "codecipher.a1z52n62.encode.rst", "codecipher.atbs.rst", "codecipher.atbs.decode.rst", "codecipher.atbs.encode.rst", "codecipher.atbs.lookup_table.rst", "codecipher.b64.rst", "codecipher.b64.decode.rst", "codecipher.b64.encode.rst", "codecipher.caesar.rst", "codecipher.caesar.decode.rst", "codecipher.caesar.encode.rst", "codecipher.vernam.rst", "codecipher.vernam.decode.rst", "codecipher.vernam.encode.rst", "codecipher.vigenere.rst", "codecipher.vigenere.decode.rst", "codecipher.vigenere.encode.rst", "codecipher.vigenere.key_generator.rst", "codecipher.vigenere.lookup_table.rst", "index.rst", "modules.rst"], "titles": ["codecipher package", "codecipher.a1z52n62 package", "codecipher.a1z52n62.decode module", "codecipher.a1z52n62.encode module", "codecipher.atbs package", "codecipher.atbs.decode module", "codecipher.atbs.encode module", "codecipher.atbs.lookup_table module", "codecipher.b64 package", "codecipher.b64.decode module", "codecipher.b64.encode module", "codecipher.caesar package", "codecipher.caesar.decode module", "codecipher.caesar.encode module", "codecipher.vernam package", "codecipher.vernam.decode module", "codecipher.vernam.encode module", "codecipher.vigenere package", "codecipher.vigenere.decode module", "codecipher.vigenere.encode module", "codecipher.vigenere.key_generator module", "codecipher.vigenere.lookup_table module", "CODECipher", "codecipher"], "terms": {"a1z52n62": [0, 22, 23], "submodul": [0, 23], "decod": [0, 1, 4, 8, 11, 14, 17, 20, 21, 22], "a1z52n62decod": [0, 1, 2], "encod": [0, 1, 4, 8, 11, 14, 17, 20, 21, 22], "a1z52n62encod": [0, 1, 3], "atb": [0, 22, 23], "alephtawbetshindecod": [0, 4, 5, 9], "alephtawbetshinencod": [0, 4, 6], "lookup_t": [0, 4, 17, 22], "alephtawbetshin": [0, 4, 5, 6, 7, 9, 10], "b64": [0, 22, 23], "b64decod": [0, 8, 9], "b64encod": [0, 8, 10], "caesar": [0, 22, 23], "caesardecod": [0, 11, 12], "caesarencod": [0, 11, 13], "vernam": [0, 22, 23], "vernamdecod": [0, 14, 15], "vernamencod": [0, 14, 16], "vigener": [0, 22, 23], "vigeneredecod": [0, 17, 18], "vigenereencod": [0, 17, 19], "key_gener": [0, 17, 22], "keygener": [0, 17, 20], "lookupt": [0, 17, 21], "__init__": [0, 1, 4, 8, 11, 14, 17, 22], "py": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "copyright": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "c": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "2021": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "2025": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "vladimir": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "roncev": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "elektron": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "ronca": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "gmail": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "com": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "free": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "softwar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "you": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "can": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "redistribut": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "modifi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "under": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "term": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "gnu": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "gener": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "public": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "licens": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "publish": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "foundat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "either": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "version": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "3": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "your": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "option": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "ani": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "later": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "distribut": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "hope": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "us": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "without": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "warranti": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "even": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "impli": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "merchant": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "fit": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "FOR": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "A": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "particular": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "purpos": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "see": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "more": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "detail": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "should": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "have": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "receiv": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "copi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "along": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "program": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "If": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "http": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "www": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "org": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "_decode_data": [1, 2, 4, 5, 8, 9, 11, 12, 14, 15, 17, 18], "decode_data": [1, 2, 4, 5, 8, 9, 11, 12, 14, 15, 17, 18], "_encode_data": [1, 3, 4, 6, 8, 10, 11, 13, 14, 16, 17, 19], "encode_data": [1, 3, 4, 6, 8, 10, 11, 13, 14, 16, 17, 19], "info": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "defin": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "class": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "attribut": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "method": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "creat": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "contain": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22], "aggreg": [1, 4, 8, 11, 14, 17, 21], "backend": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "api": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "sourc": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "base": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "It": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "none": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "initi": [1, 4, 8, 11, 14, 17], "constructor": [1, 4, 8, 11, 14, 17], "str": [2, 3, 5, 6, 9, 10, 12, 13, 15, 16, 18, 19, 20, 21], "object": [2, 3, 5, 6, 9, 10, 12, 13, 15, 16, 18, 19, 20, 21], "data": [2, 3, 5, 6, 9, 10, 12, 13, 15, 16, 18, 19, 20], "properti": [2, 3, 5, 6, 9, 10, 12, 13, 15, 16, 18, 19, 20], "from": [2, 5, 9, 12, 15, 18], "format": [2, 3, 5, 6, 7, 9, 10, 12, 13, 15, 16, 18, 19], "paramet": [2, 3, 5, 6, 9, 10, 12, 13, 15, 16, 18, 19], "which": [2, 3, 5, 6, 9, 10, 12, 13, 15, 16, 18, 19], "return": [2, 3, 5, 6, 9, 10, 12, 13, 15, 16, 18, 19, 20], "except": [2, 3, 5, 6, 9, 10, 12, 13, 15, 16, 18, 19, 20], "get": [2, 3, 5, 6, 9, 10, 12, 13, 15, 16, 18, 19, 20], "type": [2, 3, 5, 6, 9, 10, 12, 13, 15, 16, 18, 19, 20, 22], "dict": [7, 21], "shift_count": [12, 13], "int": [12, 13, 20, 21], "shift": [12, 13], "count": [12, 13], "kei": [15, 16, 17, 18, 19, 20], "_split_data_decod": [17, 18], "_split_data_encod": [17, 19], "_data_len": [17, 20], "_kei": [17, 20], "data_len": [17, 20], "generate_kei": [17, 20], "alpha": [17, 21], "alphanum": [17, 21], "index_to_lett": [17, 21], "letter_to_index": [17, 21], "num": [17, 21], "white_spac": [17, 21], "_split_data": [18, 19], "split": [18, 19], "data_to_decod": 18, "list": [18, 19], "data_to_encod": 19, "vigen": 20, "length": 20, "lookup": 21, "tabl": 21, "support": [21, 22], "alphabet": 21, "numer": 21, "white": 21, "space": 21, "char": 21, "index": [21, 22], "letter": 21, "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz": 21, "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789": 21, "0": 21, "1": 21, "b": 21, "2": 21, "d": 21, "4": 21, "e": 21, "5": 21, "f": 21, "6": 21, "g": 21, "7": [21, 22], "h": 21, "8": 21, "9": 21, "j": 21, "10": 21, "k": 21, "11": 21, "l": 21, "12": 21, "m": [21, 22], "13": 21, "n": 21, "14": 21, "o": 21, "15": 21, "p": 21, "16": 21, "q": 21, "17": 21, "r": [21, 22], "18": 21, "19": 21, "t": 21, "20": 21, "u": 21, "21": 21, "v": 21, "22": 21, "w": 21, "23": [21, 22], "x": [21, 22], "24": 21, "y": [21, 22], "25": 21, "z": [21, 22], "26": 21, "27": 21, "28": 21, "29": 21, "30": 21, "31": 21, "32": 21, "33": 21, "34": 21, "35": 21, "36": 21, "37": 21, "38": 21, "39": 21, "40": 21, "41": 21, "42": 21, "43": 21, "44": 21, "45": 21, "46": 21, "47": 21, "48": 21, "49": 21, "50": 21, "51": 21, "52": 21, "53": 21, "54": 21, "55": 21, "56": 21, "57": 21, "58": 21, "59": 21, "60": 21, "61": 21, "62": 21, "0123456789": 21, "cipher": 22, "util": 22, "develop": 22, "python": 22, "code": 22, "The": 22, "readm": 22, "introduc": 22, "modul": [22, 23], "provid": 22, "instruct": 22, "how": 22, "machin": 22, "mai": 22, "other": 22, "inform": 22, "befor": 22, "ar": 22, "subpackag": [22, 23], "next": 22, "environ": 22, "navig": 22, "releas": 22, "page": 22, "download": 22, "extract": 22, "archiv": 22, "To": 22, "follow": 22, "tar": 22, "xvzf": 22, "gz": 22, "cd": 22, "pyton3": 22, "pip3": 22, "requir": 22, "txt": 22, "python3": 22, "build": 22, "isol": 22, "wheel": 22, "py3": 22, "whl": 22, "old": 22, "fashion": 22, "wai": 22, "setup": 22, "install_lib": 22, "install_egg_info": 22, "docker": 22, "imag": 22, "pip": 22, "librari": 22, "oop": 22, "directori": 22, "file": 22, "electux": 22, "github": 22, "io": 22, "same": 22, "itself": 22, "avail": 22, "let": 22, "help": 22, "psf": 22, "search": 22, "packag": 23, "content": 23}, "objects": {"": [[0, 0, 0, "-", "codecipher"]], "codecipher": [[1, 0, 0, "-", "a1z52n62"], [4, 0, 0, "-", "atbs"], [8, 0, 0, "-", "b64"], [11, 0, 0, "-", "caesar"], [14, 0, 0, "-", "vernam"], [17, 0, 0, "-", "vigenere"]], "codecipher.a1z52n62": [[1, 1, 1, "", "A1z52N62"], [2, 0, 0, "-", "decode"], [3, 0, 0, "-", "encode"]], "codecipher.a1z52n62.decode": [[2, 1, 1, "", "A1z52N62Decode"]], "codecipher.a1z52n62.decode.A1z52N62Decode": [[2, 2, 1, "", "_decode_data"], [2, 3, 1, "", "decode"], [2, 4, 1, "", "decode_data"]], "codecipher.a1z52n62.encode": [[3, 1, 1, "", "A1z52N62Encode"]], "codecipher.a1z52n62.encode.A1z52N62Encode": [[3, 2, 1, "", "_encode_data"], [3, 3, 1, "", "encode"], [3, 4, 1, "", "encode_data"]], "codecipher.atbs": [[4, 1, 1, "", "AlephTawBetShin"], [5, 0, 0, "-", "decode"], [6, 0, 0, "-", "encode"], [7, 0, 0, "-", "lookup_table"]], "codecipher.atbs.decode": [[5, 1, 1, "", "AlephTawBetShinDecode"]], "codecipher.atbs.decode.AlephTawBetShinDecode": [[5, 2, 1, "", "_decode_data"], [5, 3, 1, "", "decode"], [5, 4, 1, "", "decode_data"]], "codecipher.atbs.encode": [[6, 1, 1, "", "AlephTawBetShinEncode"]], "codecipher.atbs.encode.AlephTawBetShinEncode": [[6, 2, 1, "", "_encode_data"], [6, 3, 1, "", "encode"], [6, 4, 1, "", "encode_data"]], "codecipher.b64": [[8, 1, 1, "", "B64"], [9, 0, 0, "-", "decode"], [10, 0, 0, "-", "encode"]], "codecipher.b64.decode": [[9, 1, 1, "", "B64Decode"]], "codecipher.b64.decode.B64Decode": [[9, 2, 1, "", "_decode_data"], [9, 3, 1, "", "decode"], [9, 4, 1, "", "decode_data"]], "codecipher.b64.encode": [[10, 1, 1, "", "B64Encode"]], "codecipher.b64.encode.B64Encode": [[10, 2, 1, "", "_encode_data"], [10, 3, 1, "", "encode"], [10, 4, 1, "", "encode_data"]], "codecipher.caesar": [[11, 1, 1, "", "Caesar"], [12, 0, 0, "-", "decode"], [13, 0, 0, "-", "encode"]], "codecipher.caesar.decode": [[12, 1, 1, "", "CaesarDecode"]], "codecipher.caesar.decode.CaesarDecode": [[12, 2, 1, "", "_decode_data"], [12, 3, 1, "", "decode"], [12, 4, 1, "", "decode_data"]], "codecipher.caesar.encode": [[13, 1, 1, "", "CaesarEncode"]], "codecipher.caesar.encode.CaesarEncode": [[13, 2, 1, "", "_encode_data"], [13, 3, 1, "", "encode"], [13, 4, 1, "", "encode_data"]], "codecipher.vernam": [[14, 1, 1, "", "Vernam"], [15, 0, 0, "-", "decode"], [16, 0, 0, "-", "encode"]], "codecipher.vernam.decode": [[15, 1, 1, "", "VernamDecode"]], "codecipher.vernam.decode.VernamDecode": [[15, 2, 1, "", "_decode_data"], [15, 3, 1, "", "decode"], [15, 4, 1, "", "decode_data"]], "codecipher.vernam.encode": [[16, 1, 1, "", "VernamEncode"]], "codecipher.vernam.encode.VernamEncode": [[16, 2, 1, "", "_encode_data"], [16, 3, 1, "", "encode"], [16, 4, 1, "", "encode_data"]], "codecipher.vigenere": [[17, 1, 1, "", "Vigenere"], [18, 0, 0, "-", "decode"], [19, 0, 0, "-", "encode"], [20, 0, 0, "-", "key_generator"], [21, 0, 0, "-", "lookup_table"]], "codecipher.vigenere.decode": [[18, 1, 1, "", "VigenereDecode"]], "codecipher.vigenere.decode.VigenereDecode": [[18, 2, 1, "", "_decode_data"], [18, 3, 1, "", "_split_data_decode"], [18, 3, 1, "", "decode"], [18, 4, 1, "", "decode_data"]], "codecipher.vigenere.encode": [[19, 1, 1, "", "VigenereEncode"]], "codecipher.vigenere.encode.VigenereEncode": [[19, 2, 1, "", "_encode_data"], [19, 3, 1, "", "_split_data_encode"], [19, 3, 1, "", "encode"], [19, 4, 1, "", "encode_data"]], "codecipher.vigenere.key_generator": [[20, 1, 1, "", "KeyGenerator"]], "codecipher.vigenere.key_generator.KeyGenerator": [[20, 2, 1, "", "_data_len"], [20, 2, 1, "", "_key"], [20, 4, 1, "", "data_len"], [20, 3, 1, "", "generate_key"], [20, 4, 1, "", "key"]], "codecipher.vigenere.lookup_table": [[21, 1, 1, "", "LookUpTable"]], "codecipher.vigenere.lookup_table.LookUpTable": [[21, 2, 1, "", "ALPHA"], [21, 2, 1, "", "ALPHANUM"], [21, 2, 1, "", "INDEX_TO_LETTER"], [21, 2, 1, "", "LETTER_TO_INDEX"], [21, 2, 1, "", "NUM"], [21, 2, 1, "", "WHITE_SPACE"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"]}, "titleterms": {"codeciph": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "packag": [0, 1, 4, 8, 11, 14, 17, 22], "subpackag": 0, "modul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "content": [0, 1, 4, 8, 11, 14, 17, 22], "a1z52n62": [1, 2, 3], "submodul": [1, 4, 8, 11, 14, 17], "decod": [2, 5, 9, 12, 15, 18], "encod": [3, 6, 10, 13, 16, 19], "atb": [4, 5, 6, 7], "lookup_t": [7, 21], "b64": [8, 9, 10], "caesar": [11, 12, 13], "vernam": [14, 15, 16], "vigener": [17, 18, 19, 20, 21], "key_gener": 20, "instal": 22, "depend": 22, "structur": 22, "copyright": 22, "licenc": 22, "indic": 22, "tabl": 22}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx": 60}, "alltitles": {"codecipher package": [[0, "codecipher-package"]], "Subpackages": [[0, "subpackages"]], "Module contents": [[0, "module-codecipher"], [1, "module-codecipher.a1z52n62"], [4, "module-codecipher.atbs"], [8, "module-codecipher.b64"], [11, "module-codecipher.caesar"], [14, "module-codecipher.vernam"], [17, "module-codecipher.vigenere"]], "codecipher.a1z52n62 package": [[1, "codecipher-a1z52n62-package"]], "Submodules": [[1, "submodules"], [4, "submodules"], [8, "submodules"], [11, "submodules"], [14, "submodules"], [17, "submodules"]], "codecipher.a1z52n62.decode module": [[2, "module-codecipher.a1z52n62.decode"]], "codecipher.a1z52n62.encode module": [[3, "module-codecipher.a1z52n62.encode"]], "codecipher.atbs package": [[4, "codecipher-atbs-package"]], "codecipher.atbs.decode module": [[5, "module-codecipher.atbs.decode"]], "codecipher.atbs.encode module": [[6, "module-codecipher.atbs.encode"]], "codecipher.atbs.lookup_table module": [[7, "module-codecipher.atbs.lookup_table"]], "codecipher.b64 package": [[8, "codecipher-b64-package"]], "codecipher.b64.decode module": [[9, "module-codecipher.b64.decode"]], "codecipher.b64.encode module": [[10, "module-codecipher.b64.encode"]], "codecipher.caesar package": [[11, "codecipher-caesar-package"]], "codecipher.caesar.decode module": [[12, "module-codecipher.caesar.decode"]], "codecipher.caesar.encode module": [[13, "module-codecipher.caesar.encode"]], "codecipher.vernam package": [[14, "codecipher-vernam-package"]], "codecipher.vernam.decode module": [[15, "module-codecipher.vernam.decode"]], "codecipher.vernam.encode module": [[16, "module-codecipher.vernam.encode"]], "codecipher.vigenere package": [[17, "codecipher-vigenere-package"]], "codecipher.vigenere.decode module": [[18, "module-codecipher.vigenere.decode"]], "codecipher.vigenere.encode module": [[19, "module-codecipher.vigenere.encode"]], "codecipher.vigenere.key_generator module": [[20, "module-codecipher.vigenere.key_generator"]], "codecipher.vigenere.lookup_table module": [[21, "module-codecipher.vigenere.lookup_table"]], "CODECipher": [[22, "codecipher"]], "Contents": [[22, null]], "Installation": [[22, "installation"]], "Dependencies": [[22, "dependencies"]], "Package structure": [[22, "package-structure"]], "Copyright and licence": [[22, "copyright-and-licence"]], "Indices and tables": [[22, "indices-and-tables"]], "codecipher": [[23, "codecipher"]]}, "indexentries": {"codecipher": [[0, "module-codecipher"]], "module": [[0, "module-codecipher"], [1, "module-codecipher.a1z52n62"], [2, "module-codecipher.a1z52n62.decode"], [3, "module-codecipher.a1z52n62.encode"], [4, "module-codecipher.atbs"], [5, "module-codecipher.atbs.decode"], [6, "module-codecipher.atbs.encode"], [7, "module-codecipher.atbs.lookup_table"], [8, "module-codecipher.b64"], [9, "module-codecipher.b64.decode"], [10, "module-codecipher.b64.encode"], [11, "module-codecipher.caesar"], [12, "module-codecipher.caesar.decode"], [13, "module-codecipher.caesar.encode"], [14, "module-codecipher.vernam"], [15, "module-codecipher.vernam.decode"], [16, "module-codecipher.vernam.encode"], [17, "module-codecipher.vigenere"], [18, "module-codecipher.vigenere.decode"], [19, "module-codecipher.vigenere.encode"], [20, "module-codecipher.vigenere.key_generator"], [21, "module-codecipher.vigenere.lookup_table"]], "a1z52n62 (class in codecipher.a1z52n62)": [[1, "codecipher.a1z52n62.A1z52N62"]], "codecipher.a1z52n62": [[1, "module-codecipher.a1z52n62"]], "a1z52n62decode (class in codecipher.a1z52n62.decode)": [[2, "codecipher.a1z52n62.decode.A1z52N62Decode"]], "_decode_data (codecipher.a1z52n62.decode.a1z52n62decode attribute)": [[2, "codecipher.a1z52n62.decode.A1z52N62Decode._decode_data"]], "codecipher.a1z52n62.decode": [[2, "module-codecipher.a1z52n62.decode"]], "decode() (codecipher.a1z52n62.decode.a1z52n62decode method)": [[2, "codecipher.a1z52n62.decode.A1z52N62Decode.decode"]], "decode_data (codecipher.a1z52n62.decode.a1z52n62decode property)": [[2, "codecipher.a1z52n62.decode.A1z52N62Decode.decode_data"]], "a1z52n62encode (class in codecipher.a1z52n62.encode)": [[3, "codecipher.a1z52n62.encode.A1z52N62Encode"]], "_encode_data (codecipher.a1z52n62.encode.a1z52n62encode attribute)": [[3, "codecipher.a1z52n62.encode.A1z52N62Encode._encode_data"]], "codecipher.a1z52n62.encode": [[3, "module-codecipher.a1z52n62.encode"]], "encode() (codecipher.a1z52n62.encode.a1z52n62encode method)": [[3, "codecipher.a1z52n62.encode.A1z52N62Encode.encode"]], "encode_data (codecipher.a1z52n62.encode.a1z52n62encode property)": [[3, "codecipher.a1z52n62.encode.A1z52N62Encode.encode_data"]], "alephtawbetshin (class in codecipher.atbs)": [[4, "codecipher.atbs.AlephTawBetShin"]], "codecipher.atbs": [[4, "module-codecipher.atbs"]], "alephtawbetshindecode (class in codecipher.atbs.decode)": [[5, "codecipher.atbs.decode.AlephTawBetShinDecode"]], "_decode_data (codecipher.atbs.decode.alephtawbetshindecode attribute)": [[5, "codecipher.atbs.decode.AlephTawBetShinDecode._decode_data"]], "codecipher.atbs.decode": [[5, "module-codecipher.atbs.decode"]], "decode() (codecipher.atbs.decode.alephtawbetshindecode method)": [[5, "codecipher.atbs.decode.AlephTawBetShinDecode.decode"]], "decode_data (codecipher.atbs.decode.alephtawbetshindecode property)": [[5, "codecipher.atbs.decode.AlephTawBetShinDecode.decode_data"]], "alephtawbetshinencode (class in codecipher.atbs.encode)": [[6, "codecipher.atbs.encode.AlephTawBetShinEncode"]], "_encode_data (codecipher.atbs.encode.alephtawbetshinencode attribute)": [[6, "codecipher.atbs.encode.AlephTawBetShinEncode._encode_data"]], "codecipher.atbs.encode": [[6, "module-codecipher.atbs.encode"]], "encode() (codecipher.atbs.encode.alephtawbetshinencode method)": [[6, "codecipher.atbs.encode.AlephTawBetShinEncode.encode"]], "encode_data (codecipher.atbs.encode.alephtawbetshinencode property)": [[6, "codecipher.atbs.encode.AlephTawBetShinEncode.encode_data"]], "codecipher.atbs.lookup_table": [[7, "module-codecipher.atbs.lookup_table"]], "b64 (class in codecipher.b64)": [[8, "codecipher.b64.B64"]], "codecipher.b64": [[8, "module-codecipher.b64"]], "b64decode (class in codecipher.b64.decode)": [[9, "codecipher.b64.decode.B64Decode"]], "_decode_data (codecipher.b64.decode.b64decode attribute)": [[9, "codecipher.b64.decode.B64Decode._decode_data"]], "codecipher.b64.decode": [[9, "module-codecipher.b64.decode"]], "decode() (codecipher.b64.decode.b64decode method)": [[9, "codecipher.b64.decode.B64Decode.decode"]], "decode_data (codecipher.b64.decode.b64decode property)": [[9, "codecipher.b64.decode.B64Decode.decode_data"]], "b64encode (class in codecipher.b64.encode)": [[10, "codecipher.b64.encode.B64Encode"]], "_encode_data (codecipher.b64.encode.b64encode attribute)": [[10, "codecipher.b64.encode.B64Encode._encode_data"]], "codecipher.b64.encode": [[10, "module-codecipher.b64.encode"]], "encode() (codecipher.b64.encode.b64encode method)": [[10, "codecipher.b64.encode.B64Encode.encode"]], "encode_data (codecipher.b64.encode.b64encode property)": [[10, "codecipher.b64.encode.B64Encode.encode_data"]], "caesar (class in codecipher.caesar)": [[11, "codecipher.caesar.Caesar"]], "codecipher.caesar": [[11, "module-codecipher.caesar"]], "caesardecode (class in codecipher.caesar.decode)": [[12, "codecipher.caesar.decode.CaesarDecode"]], "_decode_data (codecipher.caesar.decode.caesardecode attribute)": [[12, "codecipher.caesar.decode.CaesarDecode._decode_data"]], "codecipher.caesar.decode": [[12, "module-codecipher.caesar.decode"]], "decode() (codecipher.caesar.decode.caesardecode method)": [[12, "codecipher.caesar.decode.CaesarDecode.decode"]], "decode_data (codecipher.caesar.decode.caesardecode property)": [[12, "codecipher.caesar.decode.CaesarDecode.decode_data"]], "caesarencode (class in codecipher.caesar.encode)": [[13, "codecipher.caesar.encode.CaesarEncode"]], "_encode_data (codecipher.caesar.encode.caesarencode attribute)": [[13, "codecipher.caesar.encode.CaesarEncode._encode_data"]], "codecipher.caesar.encode": [[13, "module-codecipher.caesar.encode"]], "encode() (codecipher.caesar.encode.caesarencode method)": [[13, "codecipher.caesar.encode.CaesarEncode.encode"]], "encode_data (codecipher.caesar.encode.caesarencode property)": [[13, "codecipher.caesar.encode.CaesarEncode.encode_data"]], "vernam (class in codecipher.vernam)": [[14, "codecipher.vernam.Vernam"]], "codecipher.vernam": [[14, "module-codecipher.vernam"]], "vernamdecode (class in codecipher.vernam.decode)": [[15, "codecipher.vernam.decode.VernamDecode"]], "_decode_data (codecipher.vernam.decode.vernamdecode attribute)": [[15, "codecipher.vernam.decode.VernamDecode._decode_data"]], "codecipher.vernam.decode": [[15, "module-codecipher.vernam.decode"]], "decode() (codecipher.vernam.decode.vernamdecode method)": [[15, "codecipher.vernam.decode.VernamDecode.decode"]], "decode_data (codecipher.vernam.decode.vernamdecode property)": [[15, "codecipher.vernam.decode.VernamDecode.decode_data"]], "vernamencode (class in codecipher.vernam.encode)": [[16, "codecipher.vernam.encode.VernamEncode"]], "_encode_data (codecipher.vernam.encode.vernamencode attribute)": [[16, "codecipher.vernam.encode.VernamEncode._encode_data"]], "codecipher.vernam.encode": [[16, "module-codecipher.vernam.encode"]], "encode() (codecipher.vernam.encode.vernamencode method)": [[16, "codecipher.vernam.encode.VernamEncode.encode"]], "encode_data (codecipher.vernam.encode.vernamencode property)": [[16, "codecipher.vernam.encode.VernamEncode.encode_data"]], "vigenere (class in codecipher.vigenere)": [[17, "codecipher.vigenere.Vigenere"]], "codecipher.vigenere": [[17, "module-codecipher.vigenere"]], "vigeneredecode (class in codecipher.vigenere.decode)": [[18, "codecipher.vigenere.decode.VigenereDecode"]], "_decode_data (codecipher.vigenere.decode.vigeneredecode attribute)": [[18, "codecipher.vigenere.decode.VigenereDecode._decode_data"]], "_split_data_decode() (codecipher.vigenere.decode.vigeneredecode method)": [[18, "codecipher.vigenere.decode.VigenereDecode._split_data_decode"]], "codecipher.vigenere.decode": [[18, "module-codecipher.vigenere.decode"]], "decode() (codecipher.vigenere.decode.vigeneredecode method)": [[18, "codecipher.vigenere.decode.VigenereDecode.decode"]], "decode_data (codecipher.vigenere.decode.vigeneredecode property)": [[18, "codecipher.vigenere.decode.VigenereDecode.decode_data"]], "vigenereencode (class in codecipher.vigenere.encode)": [[19, "codecipher.vigenere.encode.VigenereEncode"]], "_encode_data (codecipher.vigenere.encode.vigenereencode attribute)": [[19, "codecipher.vigenere.encode.VigenereEncode._encode_data"]], "_split_data_encode() (codecipher.vigenere.encode.vigenereencode method)": [[19, "codecipher.vigenere.encode.VigenereEncode._split_data_encode"]], "codecipher.vigenere.encode": [[19, "module-codecipher.vigenere.encode"]], "encode() (codecipher.vigenere.encode.vigenereencode method)": [[19, "codecipher.vigenere.encode.VigenereEncode.encode"]], "encode_data (codecipher.vigenere.encode.vigenereencode property)": [[19, "codecipher.vigenere.encode.VigenereEncode.encode_data"]], "keygenerator (class in codecipher.vigenere.key_generator)": [[20, "codecipher.vigenere.key_generator.KeyGenerator"]], "_data_len (codecipher.vigenere.key_generator.keygenerator attribute)": [[20, "codecipher.vigenere.key_generator.KeyGenerator._data_len"]], "_key (codecipher.vigenere.key_generator.keygenerator attribute)": [[20, "codecipher.vigenere.key_generator.KeyGenerator._key"]], "codecipher.vigenere.key_generator": [[20, "module-codecipher.vigenere.key_generator"]], "data_len (codecipher.vigenere.key_generator.keygenerator property)": [[20, "codecipher.vigenere.key_generator.KeyGenerator.data_len"]], "generate_key() (codecipher.vigenere.key_generator.keygenerator method)": [[20, "codecipher.vigenere.key_generator.KeyGenerator.generate_key"]], "key (codecipher.vigenere.key_generator.keygenerator property)": [[20, "codecipher.vigenere.key_generator.KeyGenerator.key"]], "alpha (codecipher.vigenere.lookup_table.lookuptable attribute)": [[21, "codecipher.vigenere.lookup_table.LookUpTable.ALPHA"]], "alphanum (codecipher.vigenere.lookup_table.lookuptable attribute)": [[21, "codecipher.vigenere.lookup_table.LookUpTable.ALPHANUM"]], "index_to_letter (codecipher.vigenere.lookup_table.lookuptable attribute)": [[21, "codecipher.vigenere.lookup_table.LookUpTable.INDEX_TO_LETTER"]], "letter_to_index (codecipher.vigenere.lookup_table.lookuptable attribute)": [[21, "codecipher.vigenere.lookup_table.LookUpTable.LETTER_TO_INDEX"]], "lookuptable (class in codecipher.vigenere.lookup_table)": [[21, "codecipher.vigenere.lookup_table.LookUpTable"]], "num (codecipher.vigenere.lookup_table.lookuptable attribute)": [[21, "codecipher.vigenere.lookup_table.LookUpTable.NUM"]], "white_space (codecipher.vigenere.lookup_table.lookuptable attribute)": [[21, "codecipher.vigenere.lookup_table.LookUpTable.WHITE_SPACE"]], "codecipher.vigenere.lookup_table": [[21, "module-codecipher.vigenere.lookup_table"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["codecipher", "codecipher.a1z52n62", "codecipher.a1z52n62.decode", "codecipher.a1z52n62.encode", "codecipher.atbs", "codecipher.atbs.decode", "codecipher.atbs.encode", "codecipher.atbs.lookup_table", "codecipher.b64", "codecipher.b64.decode", "codecipher.b64.encode", "codecipher.caesar", "codecipher.caesar.decode", "codecipher.caesar.encode", "codecipher.vernam", "codecipher.vernam.decode", "codecipher.vernam.encode", "codecipher.vigenere", "codecipher.vigenere.decode", "codecipher.vigenere.encode", "codecipher.vigenere.key_generator", "codecipher.vigenere.lookup_table", "index", "modules"], "filenames": ["codecipher.rst", "codecipher.a1z52n62.rst", "codecipher.a1z52n62.decode.rst", "codecipher.a1z52n62.encode.rst", "codecipher.atbs.rst", "codecipher.atbs.decode.rst", "codecipher.atbs.encode.rst", "codecipher.atbs.lookup_table.rst", "codecipher.b64.rst", "codecipher.b64.decode.rst", "codecipher.b64.encode.rst", "codecipher.caesar.rst", "codecipher.caesar.decode.rst", "codecipher.caesar.encode.rst", "codecipher.vernam.rst", "codecipher.vernam.decode.rst", "codecipher.vernam.encode.rst", "codecipher.vigenere.rst", "codecipher.vigenere.decode.rst", "codecipher.vigenere.encode.rst", "codecipher.vigenere.key_generator.rst", "codecipher.vigenere.lookup_table.rst", "index.rst", "modules.rst"], "titles": ["codecipher package", "codecipher.a1z52n62 package", "codecipher.a1z52n62.decode module", "codecipher.a1z52n62.encode module", "codecipher.atbs package", "codecipher.atbs.decode module", "codecipher.atbs.encode module", "codecipher.atbs.lookup_table module", "codecipher.b64 package", "codecipher.b64.decode module", "codecipher.b64.encode module", "codecipher.caesar package", "codecipher.caesar.decode module", "codecipher.caesar.encode module", "codecipher.vernam package", "codecipher.vernam.decode module", "codecipher.vernam.encode module", "codecipher.vigenere package", "codecipher.vigenere.decode module", "codecipher.vigenere.encode module", "codecipher.vigenere.key_generator module", "codecipher.vigenere.lookup_table module", "CODECipher", "codecipher"], "terms": {"a1z52n62": [0, 22, 23], "submodul": [0, 23], "decod": [0, 1, 4, 8, 11, 14, 17, 20, 21, 22], "a1z52n62decod": [0, 1, 2], "encod": [0, 1, 4, 8, 11, 14, 17, 20, 21, 22], "a1z52n62encod": [0, 1, 3], "atb": [0, 22, 23], "alephtawbetshindecod": [0, 4, 5, 9], "alephtawbetshinencod": [0, 4, 6], "lookup_t": [0, 4, 17, 22], "alephtawbetshin": [0, 4, 5, 6, 7, 9, 10], "b64": [0, 22, 23], "b64decod": [0, 8, 9], "b64encod": [0, 8, 10], "caesar": [0, 22, 23], "caesardecod": [0, 11, 12], "caesarencod": [0, 11, 13], "vernam": [0, 22, 23], "vernamdecod": [0, 14, 15], "vernamencod": [0, 14, 16], "vigener": [0, 22, 23], "vigeneredecod": [0, 17, 18], "vigenereencod": [0, 17, 19], "key_gener": [0, 17, 22], "keygener": [0, 17, 20], "lookupt": [0, 17, 21], "__init__": [0, 1, 4, 8, 11, 14, 17, 22], "py": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "copyright": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "c": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "2021": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "2026": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "vladimir": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "roncev": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "elektron": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "ronca": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "gmail": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "com": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "free": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "softwar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "you": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "can": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "redistribut": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "modifi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "under": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "term": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "gnu": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "gener": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "public": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "licens": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "publish": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "foundat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "either": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "version": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "3": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "your": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "option": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "ani": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "later": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "distribut": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "hope": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "us": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "without": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "warranti": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "even": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "impli": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "merchant": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "fit": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "FOR": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "A": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "particular": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "purpos": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "see": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "more": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "detail": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "should": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "have": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "receiv": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "copi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "along": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "program": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "If": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "http": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "www": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "org": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "_decode_data": [1, 2, 4, 5, 8, 9, 11, 12, 14, 15, 17, 18], "decode_data": [1, 2, 4, 5, 8, 9, 11, 12, 14, 15, 17, 18], "_encode_data": [1, 3, 4, 6, 8, 10, 11, 13, 14, 16, 17, 19], "encode_data": [1, 3, 4, 6, 8, 10, 11, 13, 14, 16, 17, 19], "info": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "defin": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "class": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "attribut": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "method": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "creat": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "contain": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22], "aggreg": [1, 4, 8, 11, 14, 17, 21], "backend": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "api": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "sourc": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "base": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "It": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "none": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "initi": [1, 4, 8, 11, 14, 17], "constructor": [1, 4, 8, 11, 14, 17], "str": [2, 3, 5, 6, 9, 10, 12, 13, 15, 16, 18, 19, 20, 21], "object": [2, 3, 5, 6, 9, 10, 12, 13, 15, 16, 18, 19, 20, 21], "data": [2, 3, 5, 6, 9, 10, 12, 13, 15, 16, 18, 19, 20], "properti": [2, 3, 5, 6, 9, 10, 12, 13, 15, 16, 18, 19, 20], "from": [2, 5, 9, 12, 15, 18], "format": [2, 3, 5, 6, 7, 9, 10, 12, 13, 15, 16, 18, 19], "paramet": [2, 3, 5, 6, 9, 10, 12, 13, 15, 16, 18, 19], "which": [2, 3, 5, 6, 9, 10, 12, 13, 15, 16, 18, 19], "return": [2, 3, 5, 6, 9, 10, 12, 13, 15, 16, 18, 19, 20], "except": [2, 3, 5, 6, 9, 10, 12, 13, 15, 16, 18, 19, 20], "get": [2, 3, 5, 6, 9, 10, 12, 13, 15, 16, 18, 19, 20], "type": [2, 3, 5, 6, 9, 10, 12, 13, 15, 16, 18, 19, 20, 22], "dict": [7, 21], "shift_count": [12, 13], "int": [12, 13, 20, 21], "shift": [12, 13], "count": [12, 13], "kei": [15, 16, 17, 18, 19, 20], "_split_data_decod": [17, 18], "_split_data_encod": [17, 19], "_data_len": [17, 20], "_kei": [17, 20], "data_len": [17, 20], "generate_kei": [17, 20], "alpha": [17, 21], "alphanum": [17, 21], "index_to_lett": [17, 21], "letter_to_index": [17, 21], "num": [17, 21], "white_spac": [17, 21], "_split_data": [18, 19], "split": [18, 19], "data_to_decod": 18, "list": [18, 19], "data_to_encod": 19, "vigen": 20, "length": 20, "lookup": 21, "tabl": 21, "support": [21, 22], "alphabet": 21, "numer": 21, "white": 21, "space": 21, "char": 21, "index": [21, 22], "letter": 21, "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz": 21, "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789": 21, "0": 21, "1": 21, "b": 21, "2": 21, "d": 21, "4": 21, "e": 21, "5": 21, "f": 21, "6": 21, "g": 21, "7": [21, 22], "h": 21, "8": 21, "9": 21, "j": 21, "10": 21, "k": 21, "11": 21, "l": 21, "12": 21, "m": [21, 22], "13": 21, "n": 21, "14": 21, "o": 21, "15": 21, "p": 21, "16": 21, "q": 21, "17": 21, "r": [21, 22], "18": 21, "19": 21, "t": 21, "20": 21, "u": 21, "21": 21, "v": 21, "22": 21, "w": 21, "23": [21, 22], "x": [21, 22], "24": 21, "y": [21, 22], "25": 21, "z": [21, 22], "26": 21, "27": 21, "28": 21, "29": 21, "30": 21, "31": 21, "32": 21, "33": 21, "34": 21, "35": 21, "36": 21, "37": 21, "38": 21, "39": 21, "40": 21, "41": 21, "42": 21, "43": 21, "44": 21, "45": 21, "46": 21, "47": 21, "48": 21, "49": 21, "50": 21, "51": 21, "52": 21, "53": 21, "54": 21, "55": 21, "56": 21, "57": 21, "58": 21, "59": 21, "60": 21, "61": 21, "62": 21, "0123456789": 21, "cipher": 22, "util": 22, "develop": 22, "python": 22, "code": 22, "The": 22, "readm": 22, "introduc": 22, "modul": [22, 23], "provid": 22, "instruct": 22, "how": 22, "machin": 22, "mai": 22, "other": 22, "inform": 22, "befor": 22, "ar": 22, "subpackag": [22, 23], "next": 22, "environ": 22, "navig": 22, "releas": 22, "page": 22, "download": 22, "extract": 22, "archiv": 22, "To": 22, "follow": 22, "tar": 22, "xvzf": 22, "gz": 22, "cd": 22, "pyton3": 22, "pip3": 22, "requir": 22, "txt": 22, "python3": 22, "build": 22, "isol": 22, "wheel": 22, "py3": 22, "whl": 22, "old": 22, "fashion": 22, "wai": 22, "setup": 22, "install_lib": 22, "install_egg_info": 22, "docker": 22, "imag": 22, "pip": 22, "librari": 22, "oop": 22, "directori": 22, "file": 22, "electux": 22, "github": 22, "io": 22, "same": 22, "itself": 22, "avail": 22, "let": 22, "help": 22, "psf": 22, "search": 22, "packag": 23, "content": 23}, "objects": {"": [[0, 0, 0, "-", "codecipher"]], "codecipher": [[1, 0, 0, "-", "a1z52n62"], [4, 0, 0, "-", "atbs"], [8, 0, 0, "-", "b64"], [11, 0, 0, "-", "caesar"], [14, 0, 0, "-", "vernam"], [17, 0, 0, "-", "vigenere"]], "codecipher.a1z52n62": [[1, 1, 1, "", "A1z52N62"], [2, 0, 0, "-", "decode"], [3, 0, 0, "-", "encode"]], "codecipher.a1z52n62.decode": [[2, 1, 1, "", "A1z52N62Decode"]], "codecipher.a1z52n62.decode.A1z52N62Decode": [[2, 2, 1, "", "_decode_data"], [2, 3, 1, "", "decode"], [2, 4, 1, "", "decode_data"]], "codecipher.a1z52n62.encode": [[3, 1, 1, "", "A1z52N62Encode"]], "codecipher.a1z52n62.encode.A1z52N62Encode": [[3, 2, 1, "", "_encode_data"], [3, 3, 1, "", "encode"], [3, 4, 1, "", "encode_data"]], "codecipher.atbs": [[4, 1, 1, "", "AlephTawBetShin"], [5, 0, 0, "-", "decode"], [6, 0, 0, "-", "encode"], [7, 0, 0, "-", "lookup_table"]], "codecipher.atbs.decode": [[5, 1, 1, "", "AlephTawBetShinDecode"]], "codecipher.atbs.decode.AlephTawBetShinDecode": [[5, 2, 1, "", "_decode_data"], [5, 3, 1, "", "decode"], [5, 4, 1, "", "decode_data"]], "codecipher.atbs.encode": [[6, 1, 1, "", "AlephTawBetShinEncode"]], "codecipher.atbs.encode.AlephTawBetShinEncode": [[6, 2, 1, "", "_encode_data"], [6, 3, 1, "", "encode"], [6, 4, 1, "", "encode_data"]], "codecipher.b64": [[8, 1, 1, "", "B64"], [9, 0, 0, "-", "decode"], [10, 0, 0, "-", "encode"]], "codecipher.b64.decode": [[9, 1, 1, "", "B64Decode"]], "codecipher.b64.decode.B64Decode": [[9, 2, 1, "", "_decode_data"], [9, 3, 1, "", "decode"], [9, 4, 1, "", "decode_data"]], "codecipher.b64.encode": [[10, 1, 1, "", "B64Encode"]], "codecipher.b64.encode.B64Encode": [[10, 2, 1, "", "_encode_data"], [10, 3, 1, "", "encode"], [10, 4, 1, "", "encode_data"]], "codecipher.caesar": [[11, 1, 1, "", "Caesar"], [12, 0, 0, "-", "decode"], [13, 0, 0, "-", "encode"]], "codecipher.caesar.decode": [[12, 1, 1, "", "CaesarDecode"]], "codecipher.caesar.decode.CaesarDecode": [[12, 2, 1, "", "_decode_data"], [12, 3, 1, "", "decode"], [12, 4, 1, "", "decode_data"]], "codecipher.caesar.encode": [[13, 1, 1, "", "CaesarEncode"]], "codecipher.caesar.encode.CaesarEncode": [[13, 2, 1, "", "_encode_data"], [13, 3, 1, "", "encode"], [13, 4, 1, "", "encode_data"]], "codecipher.vernam": [[14, 1, 1, "", "Vernam"], [15, 0, 0, "-", "decode"], [16, 0, 0, "-", "encode"]], "codecipher.vernam.decode": [[15, 1, 1, "", "VernamDecode"]], "codecipher.vernam.decode.VernamDecode": [[15, 2, 1, "", "_decode_data"], [15, 3, 1, "", "decode"], [15, 4, 1, "", "decode_data"]], "codecipher.vernam.encode": [[16, 1, 1, "", "VernamEncode"]], "codecipher.vernam.encode.VernamEncode": [[16, 2, 1, "", "_encode_data"], [16, 3, 1, "", "encode"], [16, 4, 1, "", "encode_data"]], "codecipher.vigenere": [[17, 1, 1, "", "Vigenere"], [18, 0, 0, "-", "decode"], [19, 0, 0, "-", "encode"], [20, 0, 0, "-", "key_generator"], [21, 0, 0, "-", "lookup_table"]], "codecipher.vigenere.decode": [[18, 1, 1, "", "VigenereDecode"]], "codecipher.vigenere.decode.VigenereDecode": [[18, 2, 1, "", "_decode_data"], [18, 3, 1, "", "_split_data_decode"], [18, 3, 1, "", "decode"], [18, 4, 1, "", "decode_data"]], "codecipher.vigenere.encode": [[19, 1, 1, "", "VigenereEncode"]], "codecipher.vigenere.encode.VigenereEncode": [[19, 2, 1, "", "_encode_data"], [19, 3, 1, "", "_split_data_encode"], [19, 3, 1, "", "encode"], [19, 4, 1, "", "encode_data"]], "codecipher.vigenere.key_generator": [[20, 1, 1, "", "KeyGenerator"]], "codecipher.vigenere.key_generator.KeyGenerator": [[20, 2, 1, "", "_data_len"], [20, 2, 1, "", "_key"], [20, 4, 1, "", "data_len"], [20, 3, 1, "", "generate_key"], [20, 4, 1, "", "key"]], "codecipher.vigenere.lookup_table": [[21, 1, 1, "", "LookUpTable"]], "codecipher.vigenere.lookup_table.LookUpTable": [[21, 2, 1, "", "ALPHA"], [21, 2, 1, "", "ALPHANUM"], [21, 2, 1, "", "INDEX_TO_LETTER"], [21, 2, 1, "", "LETTER_TO_INDEX"], [21, 2, 1, "", "NUM"], [21, 2, 1, "", "WHITE_SPACE"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"]}, "titleterms": {"codeciph": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "packag": [0, 1, 4, 8, 11, 14, 17, 22], "subpackag": 0, "modul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "content": [0, 1, 4, 8, 11, 14, 17, 22], "a1z52n62": [1, 2, 3], "submodul": [1, 4, 8, 11, 14, 17], "decod": [2, 5, 9, 12, 15, 18], "encod": [3, 6, 10, 13, 16, 19], "atb": [4, 5, 6, 7], "lookup_t": [7, 21], "b64": [8, 9, 10], "caesar": [11, 12, 13], "vernam": [14, 15, 16], "vigener": [17, 18, 19, 20, 21], "key_gener": 20, "instal": 22, "depend": 22, "structur": 22, "copyright": 22, "licenc": 22, "indic": 22, "tabl": 22}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx": 60}, "alltitles": {"codecipher package": [[0, "codecipher-package"]], "Subpackages": [[0, "subpackages"]], "Module contents": [[0, "module-codecipher"], [1, "module-codecipher.a1z52n62"], [4, "module-codecipher.atbs"], [8, "module-codecipher.b64"], [11, "module-codecipher.caesar"], [14, "module-codecipher.vernam"], [17, "module-codecipher.vigenere"]], "codecipher.a1z52n62 package": [[1, "codecipher-a1z52n62-package"]], "Submodules": [[1, "submodules"], [4, "submodules"], [8, "submodules"], [11, "submodules"], [14, "submodules"], [17, "submodules"]], "codecipher.a1z52n62.decode module": [[2, "module-codecipher.a1z52n62.decode"]], "codecipher.a1z52n62.encode module": [[3, "module-codecipher.a1z52n62.encode"]], "codecipher.atbs package": [[4, "codecipher-atbs-package"]], "codecipher.atbs.decode module": [[5, "module-codecipher.atbs.decode"]], "codecipher.atbs.encode module": [[6, "module-codecipher.atbs.encode"]], "codecipher.atbs.lookup_table module": [[7, "module-codecipher.atbs.lookup_table"]], "codecipher.b64 package": [[8, "codecipher-b64-package"]], "codecipher.b64.decode module": [[9, "module-codecipher.b64.decode"]], "codecipher.b64.encode module": [[10, "module-codecipher.b64.encode"]], "codecipher.caesar package": [[11, "codecipher-caesar-package"]], "codecipher.caesar.decode module": [[12, "module-codecipher.caesar.decode"]], "codecipher.caesar.encode module": [[13, "module-codecipher.caesar.encode"]], "codecipher.vernam package": [[14, "codecipher-vernam-package"]], "codecipher.vernam.decode module": [[15, "module-codecipher.vernam.decode"]], "codecipher.vernam.encode module": [[16, "module-codecipher.vernam.encode"]], "codecipher.vigenere package": [[17, "codecipher-vigenere-package"]], "codecipher.vigenere.decode module": [[18, "module-codecipher.vigenere.decode"]], "codecipher.vigenere.encode module": [[19, "module-codecipher.vigenere.encode"]], "codecipher.vigenere.key_generator module": [[20, "module-codecipher.vigenere.key_generator"]], "codecipher.vigenere.lookup_table module": [[21, "module-codecipher.vigenere.lookup_table"]], "CODECipher": [[22, "codecipher"]], "Contents": [[22, null]], "Installation": [[22, "installation"]], "Dependencies": [[22, "dependencies"]], "Package structure": [[22, "package-structure"]], "Copyright and licence": [[22, "copyright-and-licence"]], "Indices and tables": [[22, "indices-and-tables"]], "codecipher": [[23, "codecipher"]]}, "indexentries": {"codecipher": [[0, "module-codecipher"]], "module": [[0, "module-codecipher"], [1, "module-codecipher.a1z52n62"], [2, "module-codecipher.a1z52n62.decode"], [3, "module-codecipher.a1z52n62.encode"], [4, "module-codecipher.atbs"], [5, "module-codecipher.atbs.decode"], [6, "module-codecipher.atbs.encode"], [7, "module-codecipher.atbs.lookup_table"], [8, "module-codecipher.b64"], [9, "module-codecipher.b64.decode"], [10, "module-codecipher.b64.encode"], [11, "module-codecipher.caesar"], [12, "module-codecipher.caesar.decode"], [13, "module-codecipher.caesar.encode"], [14, "module-codecipher.vernam"], [15, "module-codecipher.vernam.decode"], [16, "module-codecipher.vernam.encode"], [17, "module-codecipher.vigenere"], [18, "module-codecipher.vigenere.decode"], [19, "module-codecipher.vigenere.encode"], [20, "module-codecipher.vigenere.key_generator"], [21, "module-codecipher.vigenere.lookup_table"]], "a1z52n62 (class in codecipher.a1z52n62)": [[1, "codecipher.a1z52n62.A1z52N62"]], "codecipher.a1z52n62": [[1, "module-codecipher.a1z52n62"]], "a1z52n62decode (class in codecipher.a1z52n62.decode)": [[2, "codecipher.a1z52n62.decode.A1z52N62Decode"]], "_decode_data (codecipher.a1z52n62.decode.a1z52n62decode attribute)": [[2, "codecipher.a1z52n62.decode.A1z52N62Decode._decode_data"]], "codecipher.a1z52n62.decode": [[2, "module-codecipher.a1z52n62.decode"]], "decode() (codecipher.a1z52n62.decode.a1z52n62decode method)": [[2, "codecipher.a1z52n62.decode.A1z52N62Decode.decode"]], "decode_data (codecipher.a1z52n62.decode.a1z52n62decode property)": [[2, "codecipher.a1z52n62.decode.A1z52N62Decode.decode_data"]], "a1z52n62encode (class in codecipher.a1z52n62.encode)": [[3, "codecipher.a1z52n62.encode.A1z52N62Encode"]], "_encode_data (codecipher.a1z52n62.encode.a1z52n62encode attribute)": [[3, "codecipher.a1z52n62.encode.A1z52N62Encode._encode_data"]], "codecipher.a1z52n62.encode": [[3, "module-codecipher.a1z52n62.encode"]], "encode() (codecipher.a1z52n62.encode.a1z52n62encode method)": [[3, "codecipher.a1z52n62.encode.A1z52N62Encode.encode"]], "encode_data (codecipher.a1z52n62.encode.a1z52n62encode property)": [[3, "codecipher.a1z52n62.encode.A1z52N62Encode.encode_data"]], "alephtawbetshin (class in codecipher.atbs)": [[4, "codecipher.atbs.AlephTawBetShin"]], "codecipher.atbs": [[4, "module-codecipher.atbs"]], "alephtawbetshindecode (class in codecipher.atbs.decode)": [[5, "codecipher.atbs.decode.AlephTawBetShinDecode"]], "_decode_data (codecipher.atbs.decode.alephtawbetshindecode attribute)": [[5, "codecipher.atbs.decode.AlephTawBetShinDecode._decode_data"]], "codecipher.atbs.decode": [[5, "module-codecipher.atbs.decode"]], "decode() (codecipher.atbs.decode.alephtawbetshindecode method)": [[5, "codecipher.atbs.decode.AlephTawBetShinDecode.decode"]], "decode_data (codecipher.atbs.decode.alephtawbetshindecode property)": [[5, "codecipher.atbs.decode.AlephTawBetShinDecode.decode_data"]], "alephtawbetshinencode (class in codecipher.atbs.encode)": [[6, "codecipher.atbs.encode.AlephTawBetShinEncode"]], "_encode_data (codecipher.atbs.encode.alephtawbetshinencode attribute)": [[6, "codecipher.atbs.encode.AlephTawBetShinEncode._encode_data"]], "codecipher.atbs.encode": [[6, "module-codecipher.atbs.encode"]], "encode() (codecipher.atbs.encode.alephtawbetshinencode method)": [[6, "codecipher.atbs.encode.AlephTawBetShinEncode.encode"]], "encode_data (codecipher.atbs.encode.alephtawbetshinencode property)": [[6, "codecipher.atbs.encode.AlephTawBetShinEncode.encode_data"]], "codecipher.atbs.lookup_table": [[7, "module-codecipher.atbs.lookup_table"]], "b64 (class in codecipher.b64)": [[8, "codecipher.b64.B64"]], "codecipher.b64": [[8, "module-codecipher.b64"]], "b64decode (class in codecipher.b64.decode)": [[9, "codecipher.b64.decode.B64Decode"]], "_decode_data (codecipher.b64.decode.b64decode attribute)": [[9, "codecipher.b64.decode.B64Decode._decode_data"]], "codecipher.b64.decode": [[9, "module-codecipher.b64.decode"]], "decode() (codecipher.b64.decode.b64decode method)": [[9, "codecipher.b64.decode.B64Decode.decode"]], "decode_data (codecipher.b64.decode.b64decode property)": [[9, "codecipher.b64.decode.B64Decode.decode_data"]], "b64encode (class in codecipher.b64.encode)": [[10, "codecipher.b64.encode.B64Encode"]], "_encode_data (codecipher.b64.encode.b64encode attribute)": [[10, "codecipher.b64.encode.B64Encode._encode_data"]], "codecipher.b64.encode": [[10, "module-codecipher.b64.encode"]], "encode() (codecipher.b64.encode.b64encode method)": [[10, "codecipher.b64.encode.B64Encode.encode"]], "encode_data (codecipher.b64.encode.b64encode property)": [[10, "codecipher.b64.encode.B64Encode.encode_data"]], "caesar (class in codecipher.caesar)": [[11, "codecipher.caesar.Caesar"]], "codecipher.caesar": [[11, "module-codecipher.caesar"]], "caesardecode (class in codecipher.caesar.decode)": [[12, "codecipher.caesar.decode.CaesarDecode"]], "_decode_data (codecipher.caesar.decode.caesardecode attribute)": [[12, "codecipher.caesar.decode.CaesarDecode._decode_data"]], "codecipher.caesar.decode": [[12, "module-codecipher.caesar.decode"]], "decode() (codecipher.caesar.decode.caesardecode method)": [[12, "codecipher.caesar.decode.CaesarDecode.decode"]], "decode_data (codecipher.caesar.decode.caesardecode property)": [[12, "codecipher.caesar.decode.CaesarDecode.decode_data"]], "caesarencode (class in codecipher.caesar.encode)": [[13, "codecipher.caesar.encode.CaesarEncode"]], "_encode_data (codecipher.caesar.encode.caesarencode attribute)": [[13, "codecipher.caesar.encode.CaesarEncode._encode_data"]], "codecipher.caesar.encode": [[13, "module-codecipher.caesar.encode"]], "encode() (codecipher.caesar.encode.caesarencode method)": [[13, "codecipher.caesar.encode.CaesarEncode.encode"]], "encode_data (codecipher.caesar.encode.caesarencode property)": [[13, "codecipher.caesar.encode.CaesarEncode.encode_data"]], "vernam (class in codecipher.vernam)": [[14, "codecipher.vernam.Vernam"]], "codecipher.vernam": [[14, "module-codecipher.vernam"]], "vernamdecode (class in codecipher.vernam.decode)": [[15, "codecipher.vernam.decode.VernamDecode"]], "_decode_data (codecipher.vernam.decode.vernamdecode attribute)": [[15, "codecipher.vernam.decode.VernamDecode._decode_data"]], "codecipher.vernam.decode": [[15, "module-codecipher.vernam.decode"]], "decode() (codecipher.vernam.decode.vernamdecode method)": [[15, "codecipher.vernam.decode.VernamDecode.decode"]], "decode_data (codecipher.vernam.decode.vernamdecode property)": [[15, "codecipher.vernam.decode.VernamDecode.decode_data"]], "vernamencode (class in codecipher.vernam.encode)": [[16, "codecipher.vernam.encode.VernamEncode"]], "_encode_data (codecipher.vernam.encode.vernamencode attribute)": [[16, "codecipher.vernam.encode.VernamEncode._encode_data"]], "codecipher.vernam.encode": [[16, "module-codecipher.vernam.encode"]], "encode() (codecipher.vernam.encode.vernamencode method)": [[16, "codecipher.vernam.encode.VernamEncode.encode"]], "encode_data (codecipher.vernam.encode.vernamencode property)": [[16, "codecipher.vernam.encode.VernamEncode.encode_data"]], "vigenere (class in codecipher.vigenere)": [[17, "codecipher.vigenere.Vigenere"]], "codecipher.vigenere": [[17, "module-codecipher.vigenere"]], "vigeneredecode (class in codecipher.vigenere.decode)": [[18, "codecipher.vigenere.decode.VigenereDecode"]], "_decode_data (codecipher.vigenere.decode.vigeneredecode attribute)": [[18, "codecipher.vigenere.decode.VigenereDecode._decode_data"]], "_split_data_decode() (codecipher.vigenere.decode.vigeneredecode method)": [[18, "codecipher.vigenere.decode.VigenereDecode._split_data_decode"]], "codecipher.vigenere.decode": [[18, "module-codecipher.vigenere.decode"]], "decode() (codecipher.vigenere.decode.vigeneredecode method)": [[18, "codecipher.vigenere.decode.VigenereDecode.decode"]], "decode_data (codecipher.vigenere.decode.vigeneredecode property)": [[18, "codecipher.vigenere.decode.VigenereDecode.decode_data"]], "vigenereencode (class in codecipher.vigenere.encode)": [[19, "codecipher.vigenere.encode.VigenereEncode"]], "_encode_data (codecipher.vigenere.encode.vigenereencode attribute)": [[19, "codecipher.vigenere.encode.VigenereEncode._encode_data"]], "_split_data_encode() (codecipher.vigenere.encode.vigenereencode method)": [[19, "codecipher.vigenere.encode.VigenereEncode._split_data_encode"]], "codecipher.vigenere.encode": [[19, "module-codecipher.vigenere.encode"]], "encode() (codecipher.vigenere.encode.vigenereencode method)": [[19, "codecipher.vigenere.encode.VigenereEncode.encode"]], "encode_data (codecipher.vigenere.encode.vigenereencode property)": [[19, "codecipher.vigenere.encode.VigenereEncode.encode_data"]], "keygenerator (class in codecipher.vigenere.key_generator)": [[20, "codecipher.vigenere.key_generator.KeyGenerator"]], "_data_len (codecipher.vigenere.key_generator.keygenerator attribute)": [[20, "codecipher.vigenere.key_generator.KeyGenerator._data_len"]], "_key (codecipher.vigenere.key_generator.keygenerator attribute)": [[20, "codecipher.vigenere.key_generator.KeyGenerator._key"]], "codecipher.vigenere.key_generator": [[20, "module-codecipher.vigenere.key_generator"]], "data_len (codecipher.vigenere.key_generator.keygenerator property)": [[20, "codecipher.vigenere.key_generator.KeyGenerator.data_len"]], "generate_key() (codecipher.vigenere.key_generator.keygenerator method)": [[20, "codecipher.vigenere.key_generator.KeyGenerator.generate_key"]], "key (codecipher.vigenere.key_generator.keygenerator property)": [[20, "codecipher.vigenere.key_generator.KeyGenerator.key"]], "alpha (codecipher.vigenere.lookup_table.lookuptable attribute)": [[21, "codecipher.vigenere.lookup_table.LookUpTable.ALPHA"]], "alphanum (codecipher.vigenere.lookup_table.lookuptable attribute)": [[21, "codecipher.vigenere.lookup_table.LookUpTable.ALPHANUM"]], "index_to_letter (codecipher.vigenere.lookup_table.lookuptable attribute)": [[21, "codecipher.vigenere.lookup_table.LookUpTable.INDEX_TO_LETTER"]], "letter_to_index (codecipher.vigenere.lookup_table.lookuptable attribute)": [[21, "codecipher.vigenere.lookup_table.LookUpTable.LETTER_TO_INDEX"]], "lookuptable (class in codecipher.vigenere.lookup_table)": [[21, "codecipher.vigenere.lookup_table.LookUpTable"]], "num (codecipher.vigenere.lookup_table.lookuptable attribute)": [[21, "codecipher.vigenere.lookup_table.LookUpTable.NUM"]], "white_space (codecipher.vigenere.lookup_table.lookuptable attribute)": [[21, "codecipher.vigenere.lookup_table.LookUpTable.WHITE_SPACE"]], "codecipher.vigenere.lookup_table": [[21, "module-codecipher.vigenere.lookup_table"]]}}) \ No newline at end of file diff --git a/docs/source/conf.py b/docs/source/conf.py index 6800392..ec3d9af 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -4,7 +4,7 @@ Module conf.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -27,9 +27,9 @@ sys.path.insert(0, os.path.abspath('../../')) project: str = 'codecipher' -project_copyright: str = '2025, Vladimir Roncevic ' +project_copyright: str = '2026, Vladimir Roncevic ' author: str = 'Vladimir Roncevic ' -version: str = '1.4.9' +version: str = '1.5.0' release: str = 'https://github.com/electux/codecipher/releases' extensions: List[str] = ['sphinx.ext.autodoc', 'sphinx.ext.viewcode'] templates_path: List[str] = ['_templates'] diff --git a/docs/source/index.rst b/docs/source/index.rst index f6049b7..bdc4438 100755 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -136,7 +136,7 @@ Copyright and licence .. |license: apache 2.0| image:: https://img.shields.io/badge/license-apache%202.0-blue.svg :target: https://opensource.org/licenses/apache-2.0 -Copyright (C) 2021 - 2025 by `electux.github.io/codecipher `_ +Copyright (C) 2021 - 2026 by `electux.github.io/codecipher `_ **codecipher** is free software; you can redistribute it and/or modify it under the same terms as Python itself, either Python version 3.x or, diff --git a/setup.py b/setup.py index ec11ec3..14eb626 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ Module setup.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -26,10 +26,10 @@ from setuptools import setup __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' @@ -43,14 +43,10 @@ SUPPORTED_PY_VERSIONS: List[str] = [ f'{PROGRAMMING_LANG} {VERSION}' for VERSION in VERSIONS ] -LICENSE_PREFIX: str = 'License :: OSI Approved ::' -LICENSES: List[str] = [ - 'GNU Lesser General Public License v3 or later (LGPLv3+)', -] PYP_CLASSIFIERS: List[str] = SUPPORTED_PY_VERSIONS setup( name='codecipher', - version='1.4.9', + version='1.5.0', description='Python Cipher Utilities', author='Vladimir Roncevic', author_email='elektron.ronca@gmail.com', diff --git a/tests/a1z52n62_test.py b/tests/a1z52n62_test.py index 7886844..b3c5a6e 100644 --- a/tests/a1z52n62_test.py +++ b/tests/a1z52n62_test.py @@ -4,7 +4,7 @@ Module a1z52n62_test.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -33,10 +33,10 @@ sys.exit(f'\n{__file__}\n{test_error_message}\n') __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/dev/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/tests/atbs_test.py b/tests/atbs_test.py index 844fce8..0e53cd2 100644 --- a/tests/atbs_test.py +++ b/tests/atbs_test.py @@ -4,7 +4,7 @@ Module atbs_test.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -33,10 +33,10 @@ sys.exit(f'\n{__file__}\n{test_error_message}\n') __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/dev/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/tests/ats_coverage.py b/tests/ats_coverage.py index 1db4607..6ee464a 100644 --- a/tests/ats_coverage.py +++ b/tests/ats_coverage.py @@ -40,10 +40,10 @@ sys.exit(f'\n{__file__}\n{ats_error_message}\n') # pragma: no cover __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://vroncevic.github.io/ats_coverage' +__copyright__: str = '(C) 2026, https://vroncevic.github.io/ats_coverage' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/ats_coverage/blob/dev/LICENSE' -__version__: str = '1.0.0' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/tests/b64_test.py b/tests/b64_test.py index 0626906..902b448 100644 --- a/tests/b64_test.py +++ b/tests/b64_test.py @@ -4,7 +4,7 @@ Module b64_test.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -33,10 +33,10 @@ sys.exit(f'\n{__file__}\n{test_error_message}\n') __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/dev/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/tests/caesar_test.py b/tests/caesar_test.py index 2b11b5b..7412e19 100644 --- a/tests/caesar_test.py +++ b/tests/caesar_test.py @@ -4,7 +4,7 @@ Module caesar_test.py Copyright - Copyright (C) 2021 - 2025 Vladimir Roncevic + Copyright (C) 2021 - 2026 Vladimir Roncevic codecipher is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -33,10 +33,10 @@ sys.exit(f'\n{__file__}\n{test_error_message}\n') __author__: str = 'Vladimir Roncevic' -__copyright__: str = '(C) 2025, https://electux.github.io/codecipher' +__copyright__: str = '(C) 2026, https://electux.github.io/codecipher' __credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/electux/codecipher/blob/dev/LICENSE' -__version__: str = '1.4.9' +__version__: str = '1.5.0' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' diff --git a/tests/codecipher_coverage.json b/tests/codecipher_coverage.json index 38d685f..5bd26bd 100644 --- a/tests/codecipher_coverage.json +++ b/tests/codecipher_coverage.json @@ -1 +1 @@ -{"meta": {"format": 3, "version": "7.6.10", "timestamp": "2025-11-03T18:18:05.336430", "branch_coverage": false, "show_contexts": false}, "files": {"/data/dev/python/codecipher/github/codecipher/codecipher/__init__.py": {"executed_lines": [3], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [3], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/a1z52n62/__init__.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56, 62], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31], "functions": {"A1z52N62.__init__": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"A1z52N62": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/a1z52n62/decode.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 62, 64, 65, 77, 86, 87, 88, 89, 90, 91, 92, 94, 96, 98, 99], "summary": {"covered_lines": 30, "num_statements": 32, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": [], "functions": {"A1z52N62Decode.decode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "A1z52N62Decode.decode": {"executed_lines": [86, 87, 88, 89, 90, 91, 92, 94, 96, 98, 99], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"A1z52N62Decode": {"executed_lines": [62, 86, 87, 88, 89, 90, 91, 92, 94, 96, 98, 99], "summary": {"covered_lines": 12, "num_statements": 14, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/a1z52n62/encode.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 62, 64, 65, 77, 86, 87, 88, 89, 90, 91, 93, 95, 96, 98, 99], "summary": {"covered_lines": 30, "num_statements": 32, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": [], "functions": {"A1z52N62Encode.encode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "A1z52N62Encode.encode": {"executed_lines": [86, 87, 88, 89, 90, 91, 93, 95, 96, 98, 99], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"A1z52N62Encode": {"executed_lines": [62, 86, 87, 88, 89, 90, 91, 93, 95, 96, 98, 99], "summary": {"covered_lines": 12, "num_statements": 14, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/atbs/__init__.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56, 62], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31], "functions": {"AlephTawBetShin.__init__": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"AlephTawBetShin": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/atbs/decode.py": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 58, 60, 61, 69, 71, 72, 84, 93, 94, 95, 96, 97], "summary": {"covered_lines": 27, "num_statements": 29, "percent_covered": 93.10344827586206, "percent_covered_display": "93", "missing_lines": 2, "excluded_lines": 2}, "missing_lines": [81, 82], "excluded_lines": [29, 31], "functions": {"AlephTawBetShinDecode.decode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [81, 82], "excluded_lines": []}, "AlephTawBetShinDecode.decode": {"executed_lines": [93, 94, 95, 96, 97], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 58, 60, 61, 71, 72, 84], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"AlephTawBetShinDecode": {"executed_lines": [69, 93, 94, 95, 96, 97], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [81, 82], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 58, 60, 61, 71, 72, 84], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/atbs/encode.py": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 58, 60, 61, 69, 71, 72, 84, 93, 94, 95, 96, 97], "summary": {"covered_lines": 27, "num_statements": 29, "percent_covered": 93.10344827586206, "percent_covered_display": "93", "missing_lines": 2, "excluded_lines": 2}, "missing_lines": [81, 82], "excluded_lines": [29, 31], "functions": {"AlephTawBetShinEncode.encode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [81, 82], "excluded_lines": []}, "AlephTawBetShinEncode.encode": {"executed_lines": [93, 94, 95, 96, 97], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 58, 60, 61, 71, 72, 84], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"AlephTawBetShinEncode": {"executed_lines": [69, 93, 94, 95, 96, 97], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [81, 82], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 58, 60, 61, 71, 72, 84], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/atbs/lookup_table.py": {"executed_lines": [3, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/b64/__init__.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56, 62], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31], "functions": {"B64.__init__": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"B64": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/b64/decode.py": {"executed_lines": [3, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 52, 54, 55, 63, 65, 66, 78, 87, 88], "summary": {"covered_lines": 22, "num_statements": 24, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": [], "functions": {"B64Decode.decode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": []}, "B64Decode.decode": {"executed_lines": [87, 88], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 52, 54, 55, 65, 66, 78], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"B64Decode": {"executed_lines": [63, 87, 88], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 52, 54, 55, 65, 66, 78], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/b64/encode.py": {"executed_lines": [3, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 52, 54, 55, 63, 65, 66, 78, 87, 88], "summary": {"covered_lines": 22, "num_statements": 24, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": [], "functions": {"B64Encode.encode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": []}, "B64Encode.encode": {"executed_lines": [87, 88], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 52, 54, 55, 65, 66, 78], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"B64Encode": {"executed_lines": [63, 87, 88], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 52, 54, 55, 65, 66, 78], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/caesar/__init__.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56, 62], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31], "functions": {"Caesar.__init__": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"Caesar": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/caesar/decode.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 62, 64, 65, 77, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 39, "num_statements": 41, "percent_covered": 95.1219512195122, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": [], "functions": {"CaesarDecode.decode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "CaesarDecode.decode": {"executed_lines": [90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"CaesarDecode": {"executed_lines": [62, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 21, "num_statements": 23, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/caesar/encode.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 62, 64, 65, 77, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 39, "num_statements": 41, "percent_covered": 95.1219512195122, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": [], "functions": {"CaesarEncode.encode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "CaesarEncode.encode": {"executed_lines": [90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"CaesarEncode": {"executed_lines": [62, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 21, "num_statements": 23, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vernam/__init__.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56, 62], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31], "functions": {"Vernam.__init__": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"Vernam": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vernam/decode.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 62, 64, 65, 77, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104], "summary": {"covered_lines": 34, "num_statements": 36, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": [], "functions": {"VernamDecode.decode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "VernamDecode.decode": {"executed_lines": [88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"VernamDecode": {"executed_lines": [62, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104], "summary": {"covered_lines": 16, "num_statements": 18, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vernam/encode.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 62, 64, 65, 77, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104], "summary": {"covered_lines": 34, "num_statements": 36, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": [], "functions": {"VernamEncode.encode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "VernamEncode.encode": {"executed_lines": [88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"VernamEncode": {"executed_lines": [62, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104], "summary": {"covered_lines": 16, "num_statements": 18, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vigenere/__init__.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 34, 35, 36, 37, 38, 39, 40, 41, 44, 45, 57, 63], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [30, 32], "functions": {"Vigenere.__init__": {"executed_lines": [63], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 34, 35, 36, 37, 38, 39, 40, 41, 44, 45, 57], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [30, 32]}}, "classes": {"Vigenere": {"executed_lines": [63], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 34, 35, 36, 37, 38, 39, 40, 41, 44, 45, 57], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [30, 32]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vigenere/decode.py": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 59, 61, 62, 70, 72, 73, 85, 99, 100, 101, 102, 103, 105, 118, 119, 120, 121, 122, 126, 129], "summary": {"covered_lines": 35, "num_statements": 37, "percent_covered": 94.5945945945946, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 2}, "missing_lines": [82, 83], "excluded_lines": [29, 31], "functions": {"VigenereDecode.decode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [82, 83], "excluded_lines": []}, "VigenereDecode._split_data_decode": {"executed_lines": [99, 100, 101, 102, 103], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VigenereDecode.decode": {"executed_lines": [118, 119, 120, 121, 122, 126, 129], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 59, 61, 62, 72, 73, 85, 105], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"VigenereDecode": {"executed_lines": [70, 99, 100, 101, 102, 103, 118, 119, 120, 121, 122, 126, 129], "summary": {"covered_lines": 13, "num_statements": 15, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [82, 83], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 59, 61, 62, 72, 73, 85, 105], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vigenere/encode.py": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 59, 61, 62, 70, 72, 73, 85, 99, 100, 101, 102, 103, 105, 118, 119, 120, 121, 122, 126, 129], "summary": {"covered_lines": 35, "num_statements": 37, "percent_covered": 94.5945945945946, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 2}, "missing_lines": [82, 83], "excluded_lines": [29, 31], "functions": {"VigenereEncode.encode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [82, 83], "excluded_lines": []}, "VigenereEncode._split_data_encode": {"executed_lines": [99, 100, 101, 102, 103], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VigenereEncode.encode": {"executed_lines": [118, 119, 120, 121, 122, 126, 129], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 59, 61, 62, 72, 73, 85, 105], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"VigenereEncode": {"executed_lines": [70, 99, 100, 101, 102, 103, 118, 119, 120, 121, 122, 126, 129], "summary": {"covered_lines": 13, "num_statements": 15, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [82, 83], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 59, 61, 62, 72, 73, 85, 105], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vigenere/key_generator.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 53, 54, 56, 57, 67, 68, 77, 78, 80, 81, 89, 91, 92, 101, 102, 104, 111, 112, 113, 114, 117, 118, 119], "summary": {"covered_lines": 35, "num_statements": 37, "percent_covered": 94.5945945945946, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [65, 115], "excluded_lines": [], "functions": {"KeyGenerator.data_len": {"executed_lines": [77, 78], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "KeyGenerator.key": {"executed_lines": [101, 102], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "KeyGenerator.generate_key": {"executed_lines": [111, 112, 113, 114, 117, 118, 119], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [115], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 53, 54, 56, 57, 67, 68, 80, 81, 91, 92, 104], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"KeyGenerator": {"executed_lines": [77, 78, 89, 101, 102, 111, 112, 113, 114, 117, 118, 119], "summary": {"covered_lines": 12, "num_statements": 14, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [65, 115], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 53, 54, 56, 57, 67, 68, 80, 81, 91, 92, 104], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vigenere/lookup_table.py": {"executed_lines": [3, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 53, 54, 55, 56, 57, 58], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 53, 54, 55, 56, 57, 58], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"LookUpTable": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 53, 54, 55, 56, 57, 58], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}}, "totals": {"covered_lines": 532, "num_statements": 558, "percent_covered": 95.3405017921147, "percent_covered_display": "95", "missing_lines": 26, "excluded_lines": 20}} \ No newline at end of file +{"meta": {"format": 3, "version": "7.6.10", "timestamp": "2025-11-05T04:57:55.789623", "branch_coverage": false, "show_contexts": false}, "files": {"/data/dev/python/codecipher/github/codecipher/codecipher/__init__.py": {"executed_lines": [3], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [3], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/a1z52n62/__init__.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56, 62], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31], "functions": {"A1z52N62.__init__": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"A1z52N62": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/a1z52n62/decode.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 62, 64, 65, 77, 86, 87, 88, 89, 90, 91, 92, 94, 96, 98, 99], "summary": {"covered_lines": 30, "num_statements": 32, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": [], "functions": {"A1z52N62Decode.decode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "A1z52N62Decode.decode": {"executed_lines": [86, 87, 88, 89, 90, 91, 92, 94, 96, 98, 99], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"A1z52N62Decode": {"executed_lines": [62, 86, 87, 88, 89, 90, 91, 92, 94, 96, 98, 99], "summary": {"covered_lines": 12, "num_statements": 14, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/a1z52n62/encode.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 62, 64, 65, 77, 86, 87, 88, 89, 90, 91, 93, 95, 96, 98, 99], "summary": {"covered_lines": 30, "num_statements": 32, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": [], "functions": {"A1z52N62Encode.encode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "A1z52N62Encode.encode": {"executed_lines": [86, 87, 88, 89, 90, 91, 93, 95, 96, 98, 99], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"A1z52N62Encode": {"executed_lines": [62, 86, 87, 88, 89, 90, 91, 93, 95, 96, 98, 99], "summary": {"covered_lines": 12, "num_statements": 14, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/atbs/__init__.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56, 62], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31], "functions": {"AlephTawBetShin.__init__": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"AlephTawBetShin": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/atbs/decode.py": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 58, 60, 61, 69, 71, 72, 84, 93, 94, 95, 96, 97], "summary": {"covered_lines": 27, "num_statements": 29, "percent_covered": 93.10344827586206, "percent_covered_display": "93", "missing_lines": 2, "excluded_lines": 2}, "missing_lines": [81, 82], "excluded_lines": [29, 31], "functions": {"AlephTawBetShinDecode.decode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [81, 82], "excluded_lines": []}, "AlephTawBetShinDecode.decode": {"executed_lines": [93, 94, 95, 96, 97], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 58, 60, 61, 71, 72, 84], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"AlephTawBetShinDecode": {"executed_lines": [69, 93, 94, 95, 96, 97], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [81, 82], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 58, 60, 61, 71, 72, 84], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/atbs/encode.py": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 58, 60, 61, 69, 71, 72, 84, 93, 94, 95, 96, 97], "summary": {"covered_lines": 27, "num_statements": 29, "percent_covered": 93.10344827586206, "percent_covered_display": "93", "missing_lines": 2, "excluded_lines": 2}, "missing_lines": [81, 82], "excluded_lines": [29, 31], "functions": {"AlephTawBetShinEncode.encode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [81, 82], "excluded_lines": []}, "AlephTawBetShinEncode.encode": {"executed_lines": [93, 94, 95, 96, 97], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 58, 60, 61, 71, 72, 84], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"AlephTawBetShinEncode": {"executed_lines": [69, 93, 94, 95, 96, 97], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [81, 82], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 58, 60, 61, 71, 72, 84], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/atbs/lookup_table.py": {"executed_lines": [3, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/b64/__init__.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56, 62], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31], "functions": {"B64.__init__": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"B64": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/b64/decode.py": {"executed_lines": [3, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 52, 54, 55, 63, 65, 66, 78, 87, 88], "summary": {"covered_lines": 22, "num_statements": 24, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": [], "functions": {"B64Decode.decode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": []}, "B64Decode.decode": {"executed_lines": [87, 88], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 52, 54, 55, 65, 66, 78], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"B64Decode": {"executed_lines": [63, 87, 88], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 52, 54, 55, 65, 66, 78], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/b64/encode.py": {"executed_lines": [3, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 52, 54, 55, 63, 65, 66, 78, 87, 88], "summary": {"covered_lines": 22, "num_statements": 24, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": [], "functions": {"B64Encode.encode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": []}, "B64Encode.encode": {"executed_lines": [87, 88], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 52, 54, 55, 65, 66, 78], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"B64Encode": {"executed_lines": [63, 87, 88], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [75, 76], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 52, 54, 55, 65, 66, 78], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/caesar/__init__.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56, 62], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31], "functions": {"Caesar.__init__": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"Caesar": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/caesar/decode.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 62, 64, 65, 77, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 39, "num_statements": 41, "percent_covered": 95.1219512195122, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": [], "functions": {"CaesarDecode.decode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "CaesarDecode.decode": {"executed_lines": [90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"CaesarDecode": {"executed_lines": [62, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 21, "num_statements": 23, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/caesar/encode.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 62, 64, 65, 77, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 39, "num_statements": 41, "percent_covered": 95.1219512195122, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": [], "functions": {"CaesarEncode.encode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "CaesarEncode.encode": {"executed_lines": [90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"CaesarEncode": {"executed_lines": [62, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 21, "num_statements": 23, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vernam/__init__.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56, 62], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31], "functions": {"Vernam.__init__": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"Vernam": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 56], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vernam/decode.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 62, 64, 65, 77, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104], "summary": {"covered_lines": 34, "num_statements": 36, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": [], "functions": {"VernamDecode.decode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "VernamDecode.decode": {"executed_lines": [88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"VernamDecode": {"executed_lines": [62, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104], "summary": {"covered_lines": 16, "num_statements": 18, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vernam/encode.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 62, 64, 65, 77, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104], "summary": {"covered_lines": 34, "num_statements": 36, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": [], "functions": {"VernamEncode.encode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "VernamEncode.encode": {"executed_lines": [88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"VernamEncode": {"executed_lines": [62, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 104], "summary": {"covered_lines": 16, "num_statements": 18, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [74, 75], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 51, 53, 54, 64, 65, 77], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vigenere/__init__.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 34, 35, 36, 37, 38, 39, 40, 41, 44, 45, 57, 63], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [30, 32], "functions": {"Vigenere.__init__": {"executed_lines": [63], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 34, 35, 36, 37, 38, 39, 40, 41, 44, 45, 57], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [30, 32]}}, "classes": {"Vigenere": {"executed_lines": [63], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 34, 35, 36, 37, 38, 39, 40, 41, 44, 45, 57], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [30, 32]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vigenere/decode.py": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 59, 61, 62, 70, 72, 73, 85, 99, 100, 101, 102, 103, 105, 118, 119, 120, 121, 122, 126, 129], "summary": {"covered_lines": 35, "num_statements": 37, "percent_covered": 94.5945945945946, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 2}, "missing_lines": [82, 83], "excluded_lines": [29, 31], "functions": {"VigenereDecode.decode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [82, 83], "excluded_lines": []}, "VigenereDecode._split_data_decode": {"executed_lines": [99, 100, 101, 102, 103], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VigenereDecode.decode": {"executed_lines": [118, 119, 120, 121, 122, 126, 129], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 59, 61, 62, 72, 73, 85, 105], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"VigenereDecode": {"executed_lines": [70, 99, 100, 101, 102, 103, 118, 119, 120, 121, 122, 126, 129], "summary": {"covered_lines": 13, "num_statements": 15, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [82, 83], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 59, 61, 62, 72, 73, 85, 105], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vigenere/encode.py": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 59, 61, 62, 70, 72, 73, 85, 99, 100, 101, 102, 103, 105, 118, 119, 120, 121, 122, 126, 129], "summary": {"covered_lines": 35, "num_statements": 37, "percent_covered": 94.5945945945946, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 2}, "missing_lines": [82, 83], "excluded_lines": [29, 31], "functions": {"VigenereEncode.encode_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [82, 83], "excluded_lines": []}, "VigenereEncode._split_data_encode": {"executed_lines": [99, 100, 101, 102, 103], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VigenereEncode.encode": {"executed_lines": [118, 119, 120, 121, 122, 126, 129], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 59, 61, 62, 72, 73, 85, 105], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}, "classes": {"VigenereEncode": {"executed_lines": [70, 99, 100, 101, 102, 103, 118, 119, 120, 121, 122, 126, 129], "summary": {"covered_lines": 13, "num_statements": 15, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [82, 83], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 25, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 45, 59, 61, 62, 72, 73, 85, 105], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [29, 31]}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vigenere/key_generator.py": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 53, 54, 56, 57, 67, 68, 77, 78, 80, 81, 89, 91, 92, 101, 102, 104, 111, 112, 113, 114, 117, 118, 119], "summary": {"covered_lines": 35, "num_statements": 37, "percent_covered": 94.5945945945946, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [65, 115], "excluded_lines": [], "functions": {"KeyGenerator.data_len": {"executed_lines": [77, 78], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "KeyGenerator.key": {"executed_lines": [101, 102], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "KeyGenerator.generate_key": {"executed_lines": [111, 112, 113, 114, 117, 118, 119], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [115], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 53, 54, 56, 57, 67, 68, 80, 81, 91, 92, 104], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"KeyGenerator": {"executed_lines": [77, 78, 89, 101, 102, 111, 112, 113, 114, 117, 118, 119], "summary": {"covered_lines": 12, "num_statements": 14, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [65, 115], "excluded_lines": []}, "": {"executed_lines": [3, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 53, 54, 56, 57, 67, 68, 80, 81, 91, 92, 104], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "/data/dev/python/codecipher/github/codecipher/codecipher/vigenere/lookup_table.py": {"executed_lines": [3, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 53, 54, 55, 56, 57, 58], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 53, 54, 55, 56, 57, 58], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"LookUpTable": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 53, 54, 55, 56, 57, 58], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}}, "totals": {"covered_lines": 532, "num_statements": 558, "percent_covered": 95.3405017921147, "percent_covered_display": "95", "missing_lines": 26, "excluded_lines": 20}} \ No newline at end of file diff --git a/tests/codecipher_coverage.xml b/tests/codecipher_coverage.xml index 3778815..d36deaa 100644 --- a/tests/codecipher_coverage.xml +++ b/tests/codecipher_coverage.xml @@ -1,5 +1,5 @@ - + diff --git a/tests/htmlcov/class_index.html b/tests/htmlcov/class_index.html index 0fd9c75..fbd5cdb 100644 --- a/tests/htmlcov/class_index.html +++ b/tests/htmlcov/class_index.html @@ -55,7 +55,7 @@

coverage.py v7.6.10, - created at 2025-11-03 18:18 +0100 + created at 2025-11-05 04:57 +0100

@@ -428,7 +428,7 @@

coverage.py v7.6.10, - created at 2025-11-03 18:18 +0100 + created at 2025-11-05 04:57 +0100