From 8426dd7a3a310b0c9a8f8985e31520b6c08b3cdf Mon Sep 17 00:00:00 2001 From: Vladimir Roncevic Date: Wed, 5 Nov 2025 04:59:04 +0100 Subject: [PATCH] [codecipher] Updated code coverage, version, docs --- .../workflows/codecipher_package_checker.yml | 4 ++-- .../workflows/codecipher_python_checker.yml | 2 +- Dockerfile | 2 -- README.md | 2 +- codecipher/__init__.py | 2 +- codecipher/a1z52n62/__init__.py | 6 +++--- codecipher/a1z52n62/decode.py | 6 +++--- codecipher/a1z52n62/encode.py | 6 +++--- codecipher/atbs/__init__.py | 6 +++--- codecipher/atbs/decode.py | 6 +++--- codecipher/atbs/encode.py | 6 +++--- codecipher/atbs/lookup_table.py | 6 +++--- codecipher/b64/__init__.py | 6 +++--- codecipher/b64/decode.py | 6 +++--- codecipher/b64/encode.py | 6 +++--- codecipher/caesar/__init__.py | 6 +++--- codecipher/caesar/decode.py | 6 +++--- codecipher/caesar/encode.py | 6 +++--- codecipher/vernam/__init__.py | 6 +++--- codecipher/vernam/decode.py | 6 +++--- codecipher/vernam/encode.py | 6 +++--- codecipher/vigenere/__init__.py | 6 +++--- codecipher/vigenere/decode.py | 6 +++--- codecipher/vigenere/encode.py | 6 +++--- codecipher/vigenere/key_generator.py | 6 +++--- codecipher/vigenere/lookup_table.py | 6 +++--- .../codecipher.a1z52n62.decode.doctree | Bin 25995 -> 25995 bytes .../doctrees/codecipher.a1z52n62.doctree | Bin 12598 -> 12598 bytes .../codecipher.a1z52n62.encode.doctree | Bin 25943 -> 25943 bytes .../doctrees/codecipher.atbs.decode.doctree | Bin 26095 -> 26095 bytes docs/build/doctrees/codecipher.atbs.doctree | Bin 12681 -> 12681 bytes .../doctrees/codecipher.atbs.encode.doctree | Bin 26057 -> 26057 bytes .../codecipher.atbs.lookup_table.doctree | Bin 6812 -> 6812 bytes .../doctrees/codecipher.b64.decode.doctree | Bin 25702 -> 25702 bytes docs/build/doctrees/codecipher.b64.doctree | Bin 12313 -> 12313 bytes .../doctrees/codecipher.b64.encode.doctree | Bin 25604 -> 25604 bytes .../doctrees/codecipher.caesar.decode.doctree | Bin 28662 -> 28662 bytes docs/build/doctrees/codecipher.caesar.doctree | Bin 12484 -> 12484 bytes .../doctrees/codecipher.caesar.encode.doctree | Bin 28624 -> 28624 bytes docs/build/doctrees/codecipher.doctree | Bin 7090 -> 7090 bytes .../doctrees/codecipher.vernam.decode.doctree | Bin 28566 -> 28566 bytes docs/build/doctrees/codecipher.vernam.doctree | Bin 12484 -> 12484 bytes .../doctrees/codecipher.vernam.encode.doctree | Bin 28528 -> 28528 bytes .../codecipher.vigenere.decode.doctree | Bin 38835 -> 38835 bytes .../doctrees/codecipher.vigenere.doctree | Bin 13172 -> 13172 bytes .../codecipher.vigenere.encode.doctree | Bin 38825 -> 38825 bytes .../codecipher.vigenere.key_generator.doctree | Bin 32380 -> 32380 bytes .../codecipher.vigenere.lookup_table.doctree | Bin 28857 -> 28857 bytes docs/build/doctrees/environment.pickle | Bin 765616 -> 765616 bytes docs/build/doctrees/index.doctree | Bin 24146 -> 24146 bytes docs/build/html/.buildinfo | 2 +- .../html/_modules/codecipher/a1z52n62.html | 8 ++++---- .../_modules/codecipher/a1z52n62/decode.html | 8 ++++---- .../_modules/codecipher/a1z52n62/encode.html | 8 ++++---- docs/build/html/_modules/codecipher/atbs.html | 8 ++++---- .../html/_modules/codecipher/atbs/decode.html | 8 ++++---- .../html/_modules/codecipher/atbs/encode.html | 8 ++++---- docs/build/html/_modules/codecipher/b64.html | 8 ++++---- .../html/_modules/codecipher/b64/decode.html | 8 ++++---- .../html/_modules/codecipher/b64/encode.html | 8 ++++---- .../html/_modules/codecipher/caesar.html | 8 ++++---- .../_modules/codecipher/caesar/decode.html | 8 ++++---- .../_modules/codecipher/caesar/encode.html | 8 ++++---- .../html/_modules/codecipher/vernam.html | 8 ++++---- .../_modules/codecipher/vernam/decode.html | 8 ++++---- .../_modules/codecipher/vernam/encode.html | 8 ++++---- .../html/_modules/codecipher/vigenere.html | 8 ++++---- .../_modules/codecipher/vigenere/decode.html | 8 ++++---- .../_modules/codecipher/vigenere/encode.html | 8 ++++---- .../codecipher/vigenere/key_generator.html | 8 ++++---- .../codecipher/vigenere/lookup_table.html | 8 ++++---- docs/build/html/_modules/index.html | 2 +- docs/build/html/_sources/index.rst.txt | 2 +- .../html/codecipher.a1z52n62.decode.html | 4 ++-- .../html/codecipher.a1z52n62.encode.html | 4 ++-- docs/build/html/codecipher.a1z52n62.html | 4 ++-- docs/build/html/codecipher.atbs.decode.html | 4 ++-- docs/build/html/codecipher.atbs.encode.html | 4 ++-- docs/build/html/codecipher.atbs.html | 4 ++-- .../html/codecipher.atbs.lookup_table.html | 4 ++-- docs/build/html/codecipher.b64.decode.html | 4 ++-- docs/build/html/codecipher.b64.encode.html | 4 ++-- docs/build/html/codecipher.b64.html | 4 ++-- docs/build/html/codecipher.caesar.decode.html | 4 ++-- docs/build/html/codecipher.caesar.encode.html | 4 ++-- docs/build/html/codecipher.caesar.html | 4 ++-- docs/build/html/codecipher.html | 4 ++-- docs/build/html/codecipher.vernam.decode.html | 4 ++-- docs/build/html/codecipher.vernam.encode.html | 4 ++-- docs/build/html/codecipher.vernam.html | 4 ++-- .../html/codecipher.vigenere.decode.html | 4 ++-- .../html/codecipher.vigenere.encode.html | 4 ++-- docs/build/html/codecipher.vigenere.html | 4 ++-- .../codecipher.vigenere.key_generator.html | 4 ++-- .../codecipher.vigenere.lookup_table.html | 4 ++-- docs/build/html/genindex.html | 2 +- docs/build/html/index.html | 4 ++-- docs/build/html/modules.html | 2 +- docs/build/html/objects.inv | Bin 1243 -> 1243 bytes docs/build/html/py-modindex.html | 2 +- docs/build/html/search.html | 2 +- docs/build/html/searchindex.js | 2 +- docs/source/conf.py | 6 +++--- docs/source/index.rst | 2 +- setup.py | 12 ++++-------- tests/a1z52n62_test.py | 6 +++--- tests/atbs_test.py | 6 +++--- tests/ats_coverage.py | 4 ++-- tests/b64_test.py | 6 +++--- tests/caesar_test.py | 6 +++--- tests/codecipher_coverage.json | 2 +- tests/codecipher_coverage.xml | 2 +- tests/htmlcov/class_index.html | 4 ++-- tests/htmlcov/function_index.html | 4 ++-- tests/htmlcov/index.html | 4 ++-- tests/htmlcov/status.json | 2 +- .../z_094bd7de807a5f14___init___py.html | 10 +++++----- .../htmlcov/z_094bd7de807a5f14_decode_py.html | 10 +++++----- .../htmlcov/z_094bd7de807a5f14_encode_py.html | 10 +++++----- .../z_75799433d8182c47___init___py.html | 10 +++++----- .../htmlcov/z_75799433d8182c47_decode_py.html | 10 +++++----- .../htmlcov/z_75799433d8182c47_encode_py.html | 10 +++++----- .../z_75799433d8182c47_key_generator_py.html | 10 +++++----- .../z_75799433d8182c47_lookup_table_py.html | 10 +++++----- .../z_7dc3960ecaf412e4___init___py.html | 6 +++--- .../z_8f54ab6b5b508ca0___init___py.html | 10 +++++----- .../htmlcov/z_8f54ab6b5b508ca0_decode_py.html | 10 +++++----- .../htmlcov/z_8f54ab6b5b508ca0_encode_py.html | 10 +++++----- .../z_96938f9400a5cdf6___init___py.html | 10 +++++----- .../htmlcov/z_96938f9400a5cdf6_decode_py.html | 10 +++++----- .../htmlcov/z_96938f9400a5cdf6_encode_py.html | 10 +++++----- .../z_9927f90504198b80___init___py.html | 10 +++++----- .../htmlcov/z_9927f90504198b80_decode_py.html | 10 +++++----- .../htmlcov/z_9927f90504198b80_encode_py.html | 10 +++++----- .../z_9927f90504198b80_lookup_table_py.html | 10 +++++----- .../z_aba196749d301797___init___py.html | 10 +++++----- .../htmlcov/z_aba196749d301797_decode_py.html | 10 +++++----- .../htmlcov/z_aba196749d301797_encode_py.html | 10 +++++----- tests/run_coverage.sh | 1 + tests/vernam_test.py | 6 +++--- tests/vigenere_test.py | 6 +++--- 141 files changed, 348 insertions(+), 353 deletions(-) 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 0626828b82557f2e2d47db6b1d0cfb4ee694214c..1ac8d9cc3396759abcd2374c6f60036d9c0caca0 100644 GIT binary patch delta 34 lcmeA^&DedKal#tpAn7|k}zaZF&ET+O}+%v{X`q)u`5MgaivvJ9R8 delta 34 mcmcb9it+j>#tpAn7)>|JaZF&ET+O}+%v{X`q)u`5MgaivhYXtl diff --git a/docs/build/doctrees/codecipher.atbs.decode.doctree b/docs/build/doctrees/codecipher.atbs.decode.doctree index 8069bd6d9fab03ae4970b7b68842c08453397403..ef53c30d6265911a107ff01e9fd8b4b8a7d5b134 100644 GIT binary patch delta 34 mcmaEVn(_T<#tr9K7|k}HXE9<1QxljbPvVjWGS_iAMgsu+FATx} delta 34 mcmaEVn(_T<#tr9K7)>{yXE9<1QxljbPvVjWGS_iAMgsu+01UqX diff --git a/docs/build/doctrees/codecipher.atbs.doctree b/docs/build/doctrees/codecipher.atbs.doctree index e4bf4dc6c01a31950c57aa657c827c4088f7bac0..d07a3904b68f6e8f2531c77181380ed591a1b1b5 100644 GIT binary patch delta 36 pcmeB7?o8gWmYvaT^Fyu)Oq1=n7J-?onHbF`KjaeGypZ>WG5`fP4cGtx delta 36 pcmeB7?o8gWmYvab^Fyu)Oq1=n7J-?onHWtcKjaeGypZ>WG5`et4b=bu diff --git a/docs/build/doctrees/codecipher.atbs.encode.doctree b/docs/build/doctrees/codecipher.atbs.encode.doctree index bb500200d2d5950c994132ac354bb0ebbf97a417..382eb441332ba7648f316a01f39ce4555575f5f6 100644 GIT binary patch delta 34 mcmX?kn(^dm#tr9K7|k}HXE9<1QxljbPvVjWGS_iQM*{%zJq%C) delta 34 mcmX?kn(^dm#tr9K7)>{yXE9<1QxljbPvVjWGS_iQM*{%z4h&5I diff --git a/docs/build/doctrees/codecipher.atbs.lookup_table.doctree b/docs/build/doctrees/codecipher.atbs.lookup_table.doctree index bef0c57b945526df55689f051b38d316802f3fbf..c432cf597bf517960a2eb6e7c1e653e2ce2ed4a5 100644 GIT binary patch delta 35 ocmbPZI>&Sa4=bbDW(ST5Oq1ubF9I`HGclS?cHj`%#65=}0L9h{ZU6uP delta 35 ocmbPZI>&Sa4=bbTW(ST5Oq1ubF9I`HGclS@cHj`%#65=}0L7vTYXATM diff --git a/docs/build/doctrees/codecipher.b64.decode.doctree b/docs/build/doctrees/codecipher.b64.decode.doctree index e41b77703cfe3b0c506fe660831c6ccb5afa474d..5d08a43c0329a330260df1d5f704ed94689614f4 100644 GIT binary patch delta 34 mcmaEMg7Mi2#tp|=7|k~SW}m<`If8u=n7Nt>NG<2u9|-^pLk>6q delta 34 mcmaEMg7Mi2#tp|=7)>|-W}m<`If8u=n7Nt>NG<2u9|-^p7!EZ6 diff --git a/docs/build/doctrees/codecipher.b64.doctree b/docs/build/doctrees/codecipher.b64.doctree index 1b4715f660ce6087c664db16db10fe7254f232ad..4b370c0f5ba53417e22bf8be0e495c855880cd94 100644 GIT binary patch delta 36 ocmbQ4Ff(C8Jv*b><_2~nW-v8@X|gk~G^5$%26mCn#k|Xu0Niv7FaQ7m delta 36 ocmbQ4Ff(C8Jv*c6<_2~nW-v8@X|gk~G^6R{26mCn#k|Xu0NgnXEdT%j diff --git a/docs/build/doctrees/codecipher.b64.encode.doctree b/docs/build/doctrees/codecipher.b64.encode.doctree index 5f501a3c2d22c7929ab171212c2307f52d92524c..dff75df121744624ee606b5fdd97bb3dc73f9e76 100644 GIT binary patch delta 34 lcmZoU!Ps(wal>&IMzhVo*(Wefj$mH|X0B!eQp>qwBLVS_4H5tV delta 34 lcmZoU!Ps(wal>&IM$^r|*(Wefj$mH|X0B!eQp>qwBLVSa4G#bS diff --git a/docs/build/doctrees/codecipher.caesar.decode.doctree b/docs/build/doctrees/codecipher.caesar.decode.doctree index 1efd869fab1afb01c777a19bef815dee413bf113..003657eb9d0c87c367fb15809e7a98df07e0c983 100644 GIT binary patch delta 38 rcmex%pYhv$#tnB^7|k{da7F11tuDa8#p delta 38 rcmex%pYhv$#tnB^7)>_|a7F11tuDUJ;^ diff --git a/docs/build/doctrees/codecipher.caesar.doctree b/docs/build/doctrees/codecipher.caesar.doctree index 237d3989cc040fa1d56a0d8f3c6d097d8ce40f0d..ece88da44086514bf2f54437adaf256a6adf653d 100644 GIT binary patch delta 36 pcmX?-cqDPdTy{pY%@?^QFiqCuS_EdUW@0p(e346J^F&@_WdID<4K)A& delta 36 pcmX?-cqDPdTy{p&%@?^QFiqCuS_EdUW@0p*e346J^F&@_WdIDI4Ke@# diff --git a/docs/build/doctrees/codecipher.caesar.encode.doctree b/docs/build/doctrees/codecipher.caesar.encode.doctree index 4e9454a6c35ac8059a7e27b15a24ba2f18d7bc71..4f905fb68ee43504d952e749fdc98c8e1997db3d 100644 GIT binary patch delta 37 qcmca`pYg(d#tnB^7|k{da7_|a7`sUJ*V3z@Q3a delta 32 jcmdmFzR7&UK6Xaa&HLGnn8DNprpZmb(m>`sUJ*V3z;Oy- diff --git a/docs/build/doctrees/codecipher.vernam.decode.doctree b/docs/build/doctrees/codecipher.vernam.decode.doctree index 633f573ec4bf0d478dc830aaed973107736e4ccd..0b3d5011d1bcba317e13fdc9160ca16c1980de4a 100644 GIT binary patch delta 38 rcmbPspK;oK#tnB^7|k{da7u45?x52Oti delta 38 rcmbPspK;oK#tnB^7)>_|a7u45?x4{Z$- diff --git a/docs/build/doctrees/codecipher.vernam.doctree b/docs/build/doctrees/codecipher.vernam.doctree index d2931197aa465b9f7e7847d4ddb9aeb31835e274..73f07ea7f61cb9150e8abe1b936299939a4bf8f1 100644 GIT binary patch delta 36 pcmX?-cqDPdTy{pY%@?^QFiqCuS_EdUW@0p(e346J^F&@_WdID<4K)A& delta 36 pcmX?-cqDPdTy{p&%@?^QFiqCuS_EdUW@0p*e346J^F&@_WdIDI4Ke@# diff --git a/docs/build/doctrees/codecipher.vernam.encode.doctree b/docs/build/doctrees/codecipher.vernam.encode.doctree index f902a59c6c5bca2620a73a016e4f2486452972f5..8c79a9c1b46d989c2a236a9da69e3df70b6467b4 100644 GIT binary patch delta 38 rcmexxkMYAj#tnB^7|k{da7t_3LoD7y`! delta 38 rcmexxkMYAj#tnB^7)>_|a7t_3LoD1;54 diff --git a/docs/build/doctrees/codecipher.vigenere.decode.doctree b/docs/build/doctrees/codecipher.vigenere.decode.doctree index 4cd5db66cc4d47b9cc8e9d27fcdaa974b81efa82..1f64ba27370dae5853cc3f69fd1d95ce168c7d96 100644 GIT binary patch delta 34 mcmdnIo@w)XrVX!H7|k}zaZF&ET+O}+%v{X`q)u_Y>;VAd5Dc&Y delta 34 mcmdnIo@w)XrVX!H7)>|JaZF&ET+O}+%v{X`q)u_Y>;VAc|JaZF&ET+O}+%v{X`q)u_&?*RbdM+}bu diff --git a/docs/build/doctrees/codecipher.vigenere.key_generator.doctree b/docs/build/doctrees/codecipher.vigenere.key_generator.doctree index a579002a8b4b81fcc878ffbb3417927e400efcda..60df58a78f9479e82589bcabe7a9b9a3b7c80cc3 100644 GIT binary patch delta 34 lcmezKhw;xJ#tlZSjAonDI3_SnKFq!d%v{X`q=dM$iUI!}46FbE delta 34 lcmezKhw;xJ#tlZSjHa8@I3_SnKFq!d%v{X`q=dM$iUI!e45 diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index 2c46fc718596c89ab1ba20f387b06e4d6809657a..213c2d0be08d0679a468fc85b9b357a1506bf18b 100644 GIT binary patch delta 10339 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 z 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 diff --git a/docs/build/doctrees/index.doctree b/docs/build/doctrees/index.doctree index 0be36e8aa57152d300c6ac0fee94a7de2907f632..9d8d107c836f0ef211b45e87cdd2afacbecb06cb 100644 GIT binary patch delta 35 rcmcb#hw;)L#tobfY-S2cl?n-yKRU=v-tV9{InqIv(QI?M!);jr`E(6Y delta 35 rcmcb#hw;)L#tobfY^DlHl?n-yKRU=v-tV9{InqIv(R6dU!);jr`Be>1 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 4302aa6a9805df05abce10b81e6d3a26b49f0dde..3133c4cc324a6ed77310daf442a6c567d51c47bc 100644 GIT binary patch delta 14 Vcmcc3d7E>B1GA}~!A9p9EC44|1it_P delta 14 Vcmcc3d7E>B1G9;qNavigation

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