Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/codecipher_package_checker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.10']
python-version: ['3.10', '3.11', '3.12']
steps:
- uses: actions/checkout@v4
- name: set up python ${{ matrix.python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: install dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codecipher_python3_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up python3
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install dependencies
Expand Down
31 changes: 30 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ other information that should be provided before the modules are installed.
- [Dependencies](#dependencies)
- [Usage](#usage)
- [Package structure](#package-structure)
- [Code coverage](#code-coverage)
- [Docs](#docs)
- [Contributing](#contributing)
- [Copyright and Licence](#copyright-and-licence)
Expand Down Expand Up @@ -235,6 +236,34 @@ Package structure
7 directories, 23 files
```

### Code coverage

| Name | Stmts | Miss | Cover |
|------|-------|------|-------|
| `codecipher/__init__.py` | 0 | 0 | 100%|
| `codecipher/a1z52n62/__init__.py` | 16 | 0 | 100%|
| `codecipher/a1z52n62/decode.py` | 32 | 2 | 94%|
| `codecipher/a1z52n62/encode.py` | 32 | 2 | 94%|
| `codecipher/atbs/__init__.py` | 16 | 0 | 100%|
| `codecipher/atbs/decode.py` | 29 | 2 | 93%|
| `codecipher/atbs/encode.py` | 29 | 2 | 93%|
| `codecipher/atbs/lookup_table.py` | 10 | 0 | 100%|
| `codecipher/b64/__init__.py` | 16 | 0 | 100%|
| `codecipher/b64/decode.py` | 24 | 2 | 92%|
| `codecipher/b64/encode.py` | 24 | 2 | 92%|
| `codecipher/caesar/__init__.py` | 16 | 0 | 100%|
| `codecipher/caesar/decode.py` | 41 | 2 | 95%|
| `codecipher/caesar/encode.py` | 41 | 2 | 95%|
| `codecipher/vernam/__init__.py` | 16 | 0 | 100%|
| `codecipher/vernam/decode.py` | 36 | 2 | 94%|
| `codecipher/vernam/encode.py` | 36 | 2 | 94%|
| `codecipher/vigenere/__init__.py` | 17 | 0 | 100%|
| `codecipher/vigenere/decode.py` | 37 | 2 | 95%|
| `codecipher/vigenere/encode.py` | 37 | 2 | 95%|
| `codecipher/vigenere/key_generator.py` | 37 | 2 | 95%|
| `codecipher/vigenere/lookup_table.py` | 16 | 0 | 100%|
| **Total** | 558 | 26 | 95% |

### Docs

[![documentation status](https://readthedocs.org/projects/codecipher/badge/?version=latest)](https://codecipher.readthedocs.io/en/latest/?badge=latest)
Expand All @@ -252,7 +281,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 - 2024 by [electux.github.io/codecipher](https://electux.github.io/codecipher/)
Copyright (C) 2021 - 2025 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,
Expand Down
2 changes: 1 addition & 1 deletion codecipher/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Module
__init__.py
Copyright
Copyright (C) 2021 - 2024 Vladimir Roncevic <elektron.ronca@gmail.com>
Copyright (C) 2021 - 2025 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
Expand Down
22 changes: 11 additions & 11 deletions codecipher/a1z52n62/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Module
__init__.py
Copyright
Copyright (C) 2021 - 2024 Vladimir Roncevic <elektron.ronca@gmail.com>
Copyright (C) 2021 - 2025 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
Expand All @@ -26,18 +26,18 @@
try:
from codecipher.a1z52n62.encode import A1z52N62Encode
from codecipher.a1z52n62.decode import A1z52N62Decode
except ImportError as ats_error_message:
# Force close python ATS ##################################################
sys.exit(f'\n{__file__}\n{ats_error_message}\n')
except ImportError as ats_error_message: # pragma: no cover
# Force exit python #######################################################
sys.exit(f'\n{__file__}\n{ats_error_message}\n') # pragma: no cover

__author__ = 'Vladimir Roncevic'
__copyright__ = '(C) 2024, https://electux.github.io/codecipher'
__author__: str = 'Vladimir Roncevic'
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__ = 'https://github.com/electux/codecipher/blob/main/LICENSE'
__version__ = '1.4.7'
__maintainer__ = 'Vladimir Roncevic'
__email__ = 'elektron.ronca@gmail.com'
__status__ = 'Updated'
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
__version__: str = '1.4.8'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'


class A1z52N62(A1z52N62Encode, A1z52N62Decode):
Expand Down
16 changes: 8 additions & 8 deletions codecipher/a1z52n62/decode.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Module
decode.py
Copyright
Copyright (C) 2021 - 2024 Vladimir Roncevic <elektron.ronca@gmail.com>
Copyright (C) 2021 - 2025 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
Expand All @@ -23,14 +23,14 @@
from dataclasses import dataclass, field
from typing import List, Optional

__author__ = 'Vladimir Roncevic'
__copyright__ = '(C) 2024, https://electux.github.io/codecipher'
__author__: str = 'Vladimir Roncevic'
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__ = 'https://github.com/electux/codecipher/blob/main/LICENSE'
__version__ = '1.4.7'
__maintainer__ = 'Vladimir Roncevic'
__email__ = 'elektron.ronca@gmail.com'
__status__ = 'Updated'
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
__version__: str = '1.4.8'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'


@dataclass
Expand Down
16 changes: 8 additions & 8 deletions codecipher/a1z52n62/encode.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Module
encode.py
Copyright
Copyright (C) 2021 - 2024 Vladimir Roncevic <elektron.ronca@gmail.com>
Copyright (C) 2021 - 2025 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
Expand All @@ -23,14 +23,14 @@
from dataclasses import dataclass, field
from typing import List, Optional

__author__ = 'Vladimir Roncevic'
__copyright__ = '(C) 2024, https://electux.github.io/codecipher'
__author__: str = 'Vladimir Roncevic'
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__ = 'https://github.com/electux/codecipher/blob/main/LICENSE'
__version__ = '1.4.7'
__maintainer__ = 'Vladimir Roncevic'
__email__ = 'elektron.ronca@gmail.com'
__status__ = 'Updated'
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
__version__: str = '1.4.8'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'


@dataclass
Expand Down
22 changes: 11 additions & 11 deletions codecipher/atbs/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Module
__init__.py
Copyright
Copyright (C) 2021 - 2024 Vladimir Roncevic <elektron.ronca@gmail.com>
Copyright (C) 2021 - 2025 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
Expand All @@ -26,18 +26,18 @@
try:
from codecipher.atbs.encode import AlephTawBetShinEncode
from codecipher.atbs.decode import AlephTawBetShinDecode
except ImportError as ats_error_message:
# Force close python ATS ##################################################
sys.exit(f'\n{__file__}\n{ats_error_message}\n')
except ImportError as ats_error_message: # pragma: no cover
# Force exit python #######################################################
sys.exit(f'\n{__file__}\n{ats_error_message}\n') # pragma: no cover

__author__ = 'Vladimir Roncevic'
__copyright__ = '(C) 2024, https://electux.github.io/codecipher'
__author__: str = 'Vladimir Roncevic'
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__ = 'https://github.com/electux/codecipher/blob/main/LICENSE'
__version__ = '1.4.7'
__maintainer__ = 'Vladimir Roncevic'
__email__ = 'elektron.ronca@gmail.com'
__status__ = 'Updated'
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
__version__: str = '1.4.8'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'


class AlephTawBetShin(AlephTawBetShinEncode, AlephTawBetShinDecode):
Expand Down
22 changes: 11 additions & 11 deletions codecipher/atbs/decode.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Module
decode.py
Copyright
Copyright (C) 2021 - 2024 Vladimir Roncevic <elektron.ronca@gmail.com>
Copyright (C) 2021 - 2025 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
Expand All @@ -26,18 +26,18 @@

try:
from codecipher.atbs.lookup_table import LOOKUP_TABLE
except ImportError as ats_error_message:
# Force close python ATS ##################################################
sys.exit(f'\n{__file__}\n{ats_error_message}\n')
except ImportError as ats_error_message: # pragma: no cover
# Force exit python #######################################################
sys.exit(f'\n{__file__}\n{ats_error_message}\n') # pragma: no cover

__author__ = 'Vladimir Roncevic'
__copyright__ = '(C) 2024, https://electux.github.io/codecipher'
__author__: str = 'Vladimir Roncevic'
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__ = 'https://github.com/electux/codecipher/blob/main/LICENSE'
__version__ = '1.4.7'
__maintainer__ = 'Vladimir Roncevic'
__email__ = 'elektron.ronca@gmail.com'
__status__ = 'Updated'
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
__version__: str = '1.4.8'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'


@dataclass
Expand Down
22 changes: 11 additions & 11 deletions codecipher/atbs/encode.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Module
encode.py
Copyright
Copyright (C) 2021 - 2024 Vladimir Roncevic <elektron.ronca@gmail.com>
Copyright (C) 2021 - 2025 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
Expand All @@ -26,18 +26,18 @@

try:
from codecipher.atbs.lookup_table import LOOKUP_TABLE
except ImportError as ats_error_message:
# Force close python ATS ##################################################
sys.exit(f'\n{__file__}\n{ats_error_message}\n')
except ImportError as ats_error_message: # pragma: no cover
# Force exit python #######################################################
sys.exit(f'\n{__file__}\n{ats_error_message}\n') # pragma: no cover

__author__ = 'Vladimir Roncevic'
__copyright__ = '(C) 2024, https://electux.github.io/codecipher'
__author__: str = 'Vladimir Roncevic'
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__ = 'https://github.com/electux/codecipher/blob/main/LICENSE'
__version__ = '1.4.7'
__maintainer__ = 'Vladimir Roncevic'
__email__ = 'elektron.ronca@gmail.com'
__status__ = 'Updated'
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
__version__: str = '1.4.8'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'


@dataclass
Expand Down
16 changes: 8 additions & 8 deletions codecipher/atbs/lookup_table.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Module
lookup_table.py
Copyright
Copyright (C) 2021 - 2024 Vladimir Roncevic <elektron.ronca@gmail.com>
Copyright (C) 2021 - 2025 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
Expand All @@ -21,14 +21,14 @@

from typing import List, Dict

__author__ = 'Vladimir Roncevic'
__copyright__ = '(C) 2024, https://electux.github.io/codecipher'
__author__: str = 'Vladimir Roncevic'
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__ = 'https://github.com/electux/codecipher/blob/main/LICENSE'
__version__ = '1.4.7'
__maintainer__ = 'Vladimir Roncevic'
__email__ = 'elektron.ronca@gmail.com'
__status__ = 'Updated'
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
__version__: str = '1.4.8'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'

LOOKUP_TABLE: Dict[str, str] = {
'A': 'Z', 'B': 'Y', 'C': 'X', 'D': 'W', 'E': 'V',
Expand Down
22 changes: 11 additions & 11 deletions codecipher/b64/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Module
__init__.py
Copyright
Copyright (C) 2021 - 2024 Vladimir Roncevic <elektron.ronca@gmail.com>
Copyright (C) 2021 - 2025 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
Expand All @@ -26,18 +26,18 @@
try:
from codecipher.b64.encode import B64Encode
from codecipher.b64.decode import B64Decode
except ImportError as ats_error_message:
# Force close python ATS ##################################################
sys.exit(f'\n{__file__}\n{ats_error_message}\n')
except ImportError as ats_error_message: # pragma: no cover
# Force exit python #######################################################
sys.exit(f'\n{__file__}\n{ats_error_message}\n') # pragma: no cover

__author__ = 'Vladimir Roncevic'
__copyright__ = '(C) 2024, https://electux.github.io/codecipher'
__author__: str = 'Vladimir Roncevic'
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__ = 'https://github.com/electux/codecipher/blob/main/LICENSE'
__version__ = '1.4.7'
__maintainer__ = 'Vladimir Roncevic'
__email__ = 'elektron.ronca@gmail.com'
__status__ = 'Updated'
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
__version__: str = '1.4.8'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'


class B64(B64Encode, B64Decode):
Expand Down
16 changes: 8 additions & 8 deletions codecipher/b64/decode.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Module
decode.py
Copyright
Copyright (C) 2021 - 2024 Vladimir Roncevic <elektron.ronca@gmail.com>
Copyright (C) 2021 - 2025 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
Expand All @@ -24,14 +24,14 @@
from base64 import b64decode
from typing import List, Optional

__author__ = 'Vladimir Roncevic'
__copyright__ = '(C) 2024, https://electux.github.io/codecipher'
__author__: str = 'Vladimir Roncevic'
__copyright__: str = '(C) 2025, https://electux.github.io/codecipher'
__credits__: List[str] = ['Vladimir Roncevic', 'Python Software Foundation']
__license__ = 'https://github.com/electux/codecipher/blob/main/LICENSE'
__version__ = '1.4.7'
__maintainer__ = 'Vladimir Roncevic'
__email__ = 'elektron.ronca@gmail.com'
__status__ = 'Updated'
__license__: str = 'https://github.com/electux/codecipher/blob/main/LICENSE'
__version__: str = '1.4.8'
__maintainer__: str = 'Vladimir Roncevic'
__email__: str = 'elektron.ronca@gmail.com'
__status__: str = 'Updated'


@dataclass
Expand Down
Loading