chg: [RELEASE] Bumped version number and aligned pyproject.toml file with standard specification.
Some checks failed
Python application / build (3.10) (push) Has been cancelled
Python application / build (3.11) (push) Has been cancelled
Python application / build (3.12) (push) Has been cancelled

This commit is contained in:
Cédric Bonhomme 2025-02-13 18:14:40 +01:00
parent 7849955cdb
commit 2e8b0fdec9
No known key found for this signature in database
GPG key ID: A1CB94DE57B7A70D
6 changed files with 179 additions and 147 deletions

View file

@ -22,7 +22,7 @@ jobs:
- name: Install dependencies - name: Install dependencies
run: | run: |
pip install poetry pip install poetry
poetry install poetry install --with dev
- name: Lint with flake8 - name: Lint with flake8
run: | run: |

27
.github/workflows/release.yml vendored Normal file
View file

@ -0,0 +1,27 @@
on:
release:
types:
- published
name: release
jobs:
pypi-publish:
name: Upload release to PyPI
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/Stegano
permissions:
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Poetry
run: python -m pip install --upgrade pip poetry
- name: Build artifacts
run: poetry build
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1

View file

@ -1,233 +1,239 @@
## Release History ## Release History
### 0.11.5 (2025-02-13)
- Updated dependencies
- Aligned pyproject.toml with the standard specification.
- Publishing to PyPI using a Trusted Publisher
### 0.11.4 (2024-09-07) ### 0.11.4 (2024-09-07)
* Added a parameter, close_file, to lsb.reveal in order to - Added a parameter, close_file, to lsb.reveal in order to
specify if the file must be closed at the end of the processing. specify if the file must be closed at the end of the processing.
### 0.11.3 (2024-01-02) ### 0.11.3 (2024-01-02)
* Stegano now supports Python 3.12. Support of Python 3.8 has been removed. - Stegano now supports Python 3.12. Support of Python 3.8 has been removed.
### 0.11.2 (2023-05-23) ### 0.11.2 (2023-05-23)
* improved typing of various functions; - improved typing of various functions;
* updated dependencies. - updated dependencies.
### 0.11.1 (2022-11-20) ### 0.11.1 (2022-11-20)
* Fixed a bug in the command line when no sub-command is specified. - Fixed a bug in the command line when no sub-command is specified.
### 0.11.0 (2022-11-20) ### 0.11.0 (2022-11-20)
* Reduced memory footprint and processing speed, - Reduced memory footprint and processing speed,
the modules ``lsb`` and ``lsbset`` have been merged the modules ``lsb`` and ``lsbset`` have been merged
([PR #34](https://github.com/cedricbonhomme/Stegano/pull/34)). ([PR #34](https://github.com/cedricbonhomme/Stegano/pull/34)).
### 0.10.2 (2022-01-13) ### 0.10.2 (2022-01-13)
* Stegano now uses Pillow 9.0.0 (CVE-2022-22815). - Stegano now uses Pillow 9.0.0 (CVE-2022-22815).
### 0.10.1 (2021-11-30) ### 0.10.1 (2021-11-30)
* Stegano now uses OpenCV Python 4.5.4 abd Numpy 1.21.4. - Stegano now uses OpenCV Python 4.5.4 abd Numpy 1.21.4.
### 0.10.0 (2021-11-29) ### 0.10.0 (2021-11-29)
* new: Implemented Shi-Tomashi corner generator - new: Implemented Shi-Tomashi corner generator
([PR #32](https://github.com/cedricbonhomme/Stegano/pull/32)). ([PR #32](https://github.com/cedricbonhomme/Stegano/pull/32)).
Implemented by thundersparkf (see CONTRIBUTORS.md file). Implemented by thundersparkf (see CONTRIBUTORS.md file).
### 0.9.9 (2021-07-02) ### 0.9.9 (2021-07-02)
* Stegano now uses Pillow 8.3.0. - Stegano now uses Pillow 8.3.0.
### 0.9.8 (2019-12-20) ### 0.9.8 (2019-12-20)
* Stegano is now using poetry; - Stegano is now using poetry;
* minor improvements to the command line. - minor improvements to the command line.
### 0.9.7 (2019-10-27) ### 0.9.7 (2019-10-27)
* fixed markdown of the previous release. - fixed markdown of the previous release.
### 0.9.6 (2019-10-27) ### 0.9.6 (2019-10-27)
* fixed markdown of the previous release; - fixed markdown of the previous release;
### 0.9.5 (2019-10-27) ### 0.9.5 (2019-10-27)
* updated dependencies; - updated dependencies;
* home page of the project is now: https://github.com/cedricbonhomme/Stegano - home page of the project is now: https://github.com/cedricbonhomme/Stegano
### 0.9.4 (2019-06-05) ### 0.9.4 (2019-06-05)
* new: Implemented LFSR generator (with tests and CLI) - new: Implemented LFSR generator (with tests and CLI)
([PR #27](https://github.com/cedricbonhomme/Stegano/pull/27)) ([PR #27](https://github.com/cedricbonhomme/Stegano/pull/27))
* new: Implemented Ackermann generators CLI interface - new: Implemented Ackermann generators CLI interface
([PR #26](https://github.com/cedricbonhomme/Stegano/pull/26)) ([PR #26](https://github.com/cedricbonhomme/Stegano/pull/26))
* new: The Ackermann functions are not actual generators - new: The Ackermann functions are not actual generators
([#24](https://github.com/cedricbonhomme/Stegano/issues/24)) ([#24](https://github.com/cedricbonhomme/Stegano/issues/24))
* new: add a shift parameter for the lsbmodule - new: add a shift parameter for the lsbmodule
([#25](https://github.com/cedricbonhomme/Stegano/issues/25)) ([#25](https://github.com/cedricbonhomme/Stegano/issues/25))
* fix: lsbset.hide cause .png transparent area lost - fix: lsbset.hide cause .png transparent area lost
([#23](https://github.com/cedricbonhomme/Stegano/issues/23)) ([#23](https://github.com/cedricbonhomme/Stegano/issues/23))
### 0.9.3 (2019-04-10) ### 0.9.3 (2019-04-10)
* it is now possible to either pass the location of an image or directly pass - it is now possible to either pass the location of an image or directly pass
an already opened Image.Image to the hide and reveal methods; an already opened Image.Image to the hide and reveal methods;
* code re-formatted a bit with black. - code re-formatted a bit with black.
### 0.9.2 (2019-04-04) ### 0.9.2 (2019-04-04)
* updated Pillow dependency to version 6.0.0 in order to fix a bug when opening - updated Pillow dependency to version 6.0.0 in order to fix a bug when opening
some PNG files (https://github.com/python-pillow/Pillow/issues/3557). some PNG files (https://github.com/python-pillow/Pillow/issues/3557).
### 0.9.1 (2019-03-06) ### 0.9.1 (2019-03-06)
* updated Pillow dependency in order to fix a bug when opening some PNG files. - updated Pillow dependency in order to fix a bug when opening some PNG files.
### 0.9.0 (2018-12-18) ### 0.9.0 (2018-12-18)
* added the possibility to shift the encoded bits when using the lsbset module. - added the possibility to shift the encoded bits when using the lsbset module.
### 0.8.6 (2018-11-05) ### 0.8.6 (2018-11-05)
* fixed a potential security issue related to CVE-2018-18074. - fixed a potential security issue related to CVE-2018-18074.
### 0.8.5 (2018-04-18) ### 0.8.5 (2018-04-18)
* Fixed an encoding problem which occured on Windows during the installation - Fixed an encoding problem which occured on Windows during the installation
of the module. of the module.
### 0.8.4 (2018-02-28) ### 0.8.4 (2018-02-28)
* Stegano is ready for use with pipenv and pipsi. - Stegano is ready for use with pipenv and pipsi.
### 0.8.3 (2018-02-23) ### 0.8.3 (2018-02-23)
* the recommended way to install Stegano is now to use pipenv. - the recommended way to install Stegano is now to use pipenv.
### 0.8.2 (2017-12-20) ### 0.8.2 (2017-12-20)
* Fixed a bug with the new 'encoding' function when using Stegano as a command - Fixed a bug with the new 'encoding' function when using Stegano as a command
line tool. No default value was set. Default value is UTF-8. line tool. No default value was set. Default value is UTF-8.
### 0.8.1 (2017-05-16) ### 0.8.1 (2017-05-16)
* it is now possible to specify the encoding (UTF-8 or UTF-32LE) of the message - it is now possible to specify the encoding (UTF-8 or UTF-32LE) of the message
to hide/reveal through the command line; to hide/reveal through the command line;
* the help of the command line now displays the available choices for the - the help of the command line now displays the available choices for the
arguments, if it is necessary (list of available encodings, list of available arguments, if it is necessary (list of available encodings, list of available
generators); generators);
* tests expected results lies now in a dedicated folder; - tests expected results lies now in a dedicated folder;
* a script has been added in order to get proper exit code check for mypy. - a script has been added in order to get proper exit code check for mypy.
### 0.8 (2017-05-06) ### 0.8 (2017-05-06)
* updated command line. All commands are now prefixed with *stegano-*; - updated command line. All commands are now prefixed with *stegano-*;
* improved type hints; - improved type hints;
* it is possible to load and save images from and to file objects (BytesIO); - it is possible to load and save images from and to file objects (BytesIO);
* improved checks when revealing a message with the lsbset module fails. - improved checks when revealing a message with the lsbset module fails.
### 0.7.1 (2017-05-05) ### 0.7.1 (2017-05-05)
* improved generators for the lsb-set module; - improved generators for the lsb-set module;
* improved tests for the generators; - improved tests for the generators;
* improved type hints. - improved type hints.
### 0.7 (2017-05-04) ### 0.7 (2017-05-04)
* unicode is now supported. By default UTF-8 encoding is used. UTF-32LE can also - unicode is now supported. By default UTF-8 encoding is used. UTF-32LE can also
be used to hide non-ASCII characters. UTF-8 (8 bits) is the default choice be used to hide non-ASCII characters. UTF-8 (8 bits) is the default choice
since it is possible to hide longer messages with it. since it is possible to hide longer messages with it.
* improved checks with type hints. - improved checks with type hints.
### 0.6.9 (2017-03-10) ### 0.6.9 (2017-03-10)
* introduces some type hints (PEP 484); - introduces some type hints (PEP 484);
* more tests for the generators and for the tools module; - more tests for the generators and for the tools module;
* updated descriptions of generators; - updated descriptions of generators;
* fixed a bug with a generator that has been previously renamed. - fixed a bug with a generator that has been previously renamed.
### 0.6.8 (2017-03-08) ### 0.6.8 (2017-03-08)
* bugfix: fixed #12: Error when revealing a hidden binary file in an image. - bugfix: fixed #12: Error when revealing a hidden binary file in an image.
### 0.6.7 (2017-02-21) ### 0.6.7 (2017-02-21)
* bugfix: added missing dependency in the setup.py file. - bugfix: added missing dependency in the setup.py file.
### 0.6.6 (2017-02-20) ### 0.6.6 (2017-02-20)
* improved docstrings for the desciption of the generators; - improved docstrings for the desciption of the generators;
* improved the command which displays the list of generators. - improved the command which displays the list of generators.
### 0.6.5 (2017-02-16) ### 0.6.5 (2017-02-16)
* added a command to list all available generators for the lsb-set module; - added a command to list all available generators for the lsb-set module;
* test when the data image is coming via byte stream, for the lsb module. - test when the data image is coming via byte stream, for the lsb module.
### 0.6.4 (2017-02-06) ### 0.6.4 (2017-02-06)
* a command line for the 'red' module has been added; - a command line for the 'red' module has been added;
* bugfix: fixed a bug in the lsb-set command line when the generator wasn't - bugfix: fixed a bug in the lsb-set command line when the generator wasn't
specified by the user. specified by the user.
### 0.6.3 (2017-01-29) ### 0.6.3 (2017-01-29)
* Support for transparent PNG images has been added (lsb and lsbset modules). - Support for transparent PNG images has been added (lsb and lsbset modules).
### 0.6.2 (2017-01-19) ### 0.6.2 (2017-01-19)
* bugfix: solved a bug when the image data is coming via byte streams (ByteIO), - bugfix: solved a bug when the image data is coming via byte streams (ByteIO),
for the exifHeader hiding method. for the exifHeader hiding method.
### 0.6.1 (2016-08-25) ### 0.6.1 (2016-08-25)
* reorganization of the steganalysis sub-module. - reorganization of the steganalysis sub-module.
### 0.6 (2016-08-04) ### 0.6 (2016-08-04)
* improvements of the command line of Stéganô. The use of Stéganô through the - improvements of the command line of Stéganô. The use of Stéganô through the
command line has slightly changed ('hide' and 'reveal' are now sub-parameters command line has slightly changed ('hide' and 'reveal' are now sub-parameters
of the command line). No changes if you use Stéganô as a module in your of the command line). No changes if you use Stéganô as a module in your
software. The documentation has been updated accordingly. software. The documentation has been updated accordingly.
@ -235,66 +241,66 @@
### 0.5.5 (2016-08-03) ### 0.5.5 (2016-08-03)
* bugfix: Incorrect padding size in `base642string` in tools.base642binary(). - bugfix: Incorrect padding size in `base642string` in tools.base642binary().
### 0.5.4 (2016-05-22) ### 0.5.4 (2016-05-22)
* the generator provided to the functions lsbset.hide() and lsbset.reveal() is - the generator provided to the functions lsbset.hide() and lsbset.reveal() is
now a function. This is more convenient for a user who wants to use a custom now a function. This is more convenient for a user who wants to use a custom
generator (not in the module lsbset.generators). generator (not in the module lsbset.generators).
* performance improvements for the lsb and lsbset modules. - performance improvements for the lsb and lsbset modules.
### 0.5.3 (2016-05-19) ### 0.5.3 (2016-05-19)
* reorganization of all modules. No impact for the users of Stegano. - reorganization of all modules. No impact for the users of Stegano.
### 0.5.2 (2016-05-18) ### 0.5.2 (2016-05-18)
* improvements and bug fixes for the exifHeader module; - improvements and bug fixes for the exifHeader module;
* added unit tests for the exifHeader module; - added unit tests for the exifHeader module;
* improvements of the documentation. - improvements of the documentation.
### 0.5.1 (2016-04-16) ### 0.5.1 (2016-04-16)
* minor improvements and bug fixes; - minor improvements and bug fixes;
* added unit tests for the slsb and slsbset modules. - added unit tests for the slsb and slsbset modules.
### 0.5 (2016-03-18) ### 0.5 (2016-03-18)
* management of greyscale images. - management of greyscale images.
### 0.4.6 (2016-03-12) ### 0.4.6 (2016-03-12)
* bugfix when the length of the message to hide is not divisible by 3, - bugfix when the length of the message to hide is not divisible by 3,
for the slsb and slsbset module. for the slsb and slsbset module.
### 0.4.5 (2015-12-23) ### 0.4.5 (2015-12-23)
* bugfix. - bugfix.
### 0.4.4 (2015-12-23) ### 0.4.4 (2015-12-23)
* new project home page; - new project home page;
* minor updated to the documentation. - minor updated to the documentation.
### 0.4.3 (2015-10-06) ### 0.4.3 (2015-10-06)
* bug fixes for Python 3; - bug fixes for Python 3;
* bug fixes in the scripts in *./bin*. - bug fixes in the scripts in *./bin*.
### 0.4.2 (2015-10-05) ### 0.4.2 (2015-10-05)
* first stable release on PypI. - first stable release on PypI.
### 0.4 (2012-01-02) ### 0.4 (2012-01-02)
@ -308,16 +314,16 @@ Python codes as a Python module or as a program in your scripts.
### 0.3 (2011-04-15) ### 0.3 (2011-04-15)
* you can now use Stéganô as a library in your Python program; - you can now use Stéganô as a library in your Python program;
(python setup.py install) or as a 'program' thanks to the scripts provided (python setup.py install) or as a 'program' thanks to the scripts provided
in the bin directory; in the bin directory;
* new documentation (reStructuredText) comes with Stéganô. - new documentation (reStructuredText) comes with Stéganô.
### 0.2 (2011-03-24) ### 0.2 (2011-03-24)
* this release introduces some bugfixes and a major speed improvement of the - this release introduces some bugfixes and a major speed improvement of the
*reveal* function for the LSB method. Moreover it is now possible to hide a *reveal* function for the LSB method. Moreover it is now possible to hide a
binary file (ogg, executable, etc.); binary file (ogg, executable, etc.);
* a new technique for hiding/revealing a message in a JPEG picture by using the - a new technique for hiding/revealing a message in a JPEG picture by using the
description field of the image is provided. description field of the image is provided.

View file

@ -1,6 +1,5 @@
# Stegano # Stegano
[![builds.sr.ht status](https://builds.sr.ht/~cedric/stegano.svg)](https://builds.sr.ht/~cedric/stegano)
[![Workflow](https://github.com/cedricbonhomme/Stegano/workflows/Python%20application/badge.svg?style=flat-square)](https://github.com/cedricbonhomme/Stegano/actions?query=workflow%3A%22Python+application%22) [![Workflow](https://github.com/cedricbonhomme/Stegano/workflows/Python%20application/badge.svg?style=flat-square)](https://github.com/cedricbonhomme/Stegano/actions?query=workflow%3A%22Python+application%22)
[Stegano](https://github.com/cedricbonhomme/Stegano), a pure Python Steganography [Stegano](https://github.com/cedricbonhomme/Stegano), a pure Python Steganography

123
poetry.lock generated
View file

@ -241,14 +241,14 @@ pyflakes = ">=3.1.0,<3.2.0"
[[package]] [[package]]
name = "identify" name = "identify"
version = "2.6.6" version = "2.6.7"
description = "File identification library for Python" description = "File identification library for Python"
optional = false optional = false
python-versions = ">=3.9" python-versions = ">=3.9"
groups = ["dev"] groups = ["dev"]
files = [ files = [
{file = "identify-2.6.6-py2.py3-none-any.whl", hash = "sha256:cbd1810bce79f8b671ecb20f53ee0ae8e86ae84b557de31d89709dc2a48ba881"}, {file = "identify-2.6.7-py2.py3-none-any.whl", hash = "sha256:155931cb617a401807b09ecec6635d6c692d180090a1cedca8ef7d58ba5b6aa0"},
{file = "identify-2.6.6.tar.gz", hash = "sha256:7bec12768ed44ea4761efb47806f0a41f86e7c0a5fdf5950d4648c90eca7e251"}, {file = "identify-2.6.7.tar.gz", hash = "sha256:3fa266b42eba321ee0b2bb0936a6a6b9e36a1351cbb69055b3082f4193035684"},
] ]
[package.extras] [package.extras]
@ -478,67 +478,66 @@ dev = ["Sphinx", "sphinx-issues", "sphinx-rtd-theme"]
[[package]] [[package]]
name = "numpy" name = "numpy"
version = "2.2.2" version = "2.2.3"
description = "Fundamental package for array computing in Python" description = "Fundamental package for array computing in Python"
optional = false optional = false
python-versions = ">=3.10" python-versions = ">=3.10"
groups = ["main"] groups = ["main"]
files = [ files = [
{file = "numpy-2.2.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7079129b64cb78bdc8d611d1fd7e8002c0a2565da6a47c4df8062349fee90e3e"}, {file = "numpy-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cbc6472e01952d3d1b2772b720428f8b90e2deea8344e854df22b0618e9cce71"},
{file = "numpy-2.2.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2ec6c689c61df613b783aeb21f945c4cbe6c51c28cb70aae8430577ab39f163e"}, {file = "numpy-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdfe0c22692a30cd830c0755746473ae66c4a8f2e7bd508b35fb3b6a0813d787"},
{file = "numpy-2.2.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:40c7ff5da22cd391944a28c6a9c638a5eef77fcf71d6e3a79e1d9d9e82752715"}, {file = "numpy-2.2.3-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:e37242f5324ffd9f7ba5acf96d774f9276aa62a966c0bad8dae692deebec7716"},
{file = "numpy-2.2.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:995f9e8181723852ca458e22de5d9b7d3ba4da3f11cc1cb113f093b271d7965a"}, {file = "numpy-2.2.3-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:95172a21038c9b423e68be78fd0be6e1b97674cde269b76fe269a5dfa6fadf0b"},
{file = "numpy-2.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b78ea78450fd96a498f50ee096f69c75379af5138f7881a51355ab0e11286c97"}, {file = "numpy-2.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5b47c440210c5d1d67e1cf434124e0b5c395eee1f5806fdd89b553ed1acd0a3"},
{file = "numpy-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3fbe72d347fbc59f94124125e73fc4976a06927ebc503ec5afbfb35f193cd957"}, {file = "numpy-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0391ea3622f5c51a2e29708877d56e3d276827ac5447d7f45e9bc4ade8923c52"},
{file = "numpy-2.2.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8e6da5cffbbe571f93588f562ed130ea63ee206d12851b60819512dd3e1ba50d"}, {file = "numpy-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f6b3dfc7661f8842babd8ea07e9897fe3d9b69a1d7e5fbb743e4160f9387833b"},
{file = "numpy-2.2.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:09d6a2032faf25e8d0cadde7fd6145118ac55d2740132c1d845f98721b5ebcfd"}, {file = "numpy-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1ad78ce7f18ce4e7df1b2ea4019b5817a2f6a8a16e34ff2775f646adce0a5027"},
{file = "numpy-2.2.2-cp310-cp310-win32.whl", hash = "sha256:159ff6ee4c4a36a23fe01b7c3d07bd8c14cc433d9720f977fcd52c13c0098160"}, {file = "numpy-2.2.3-cp310-cp310-win32.whl", hash = "sha256:5ebeb7ef54a7be11044c33a17b2624abe4307a75893c001a4800857956b41094"},
{file = "numpy-2.2.2-cp310-cp310-win_amd64.whl", hash = "sha256:64bd6e1762cd7f0986a740fee4dff927b9ec2c5e4d9a28d056eb17d332158014"}, {file = "numpy-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:596140185c7fa113563c67c2e894eabe0daea18cf8e33851738c19f70ce86aeb"},
{file = "numpy-2.2.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:642199e98af1bd2b6aeb8ecf726972d238c9877b0f6e8221ee5ab945ec8a2189"}, {file = "numpy-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:16372619ee728ed67a2a606a614f56d3eabc5b86f8b615c79d01957062826ca8"},
{file = "numpy-2.2.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6d9fc9d812c81e6168b6d405bf00b8d6739a7f72ef22a9214c4241e0dc70b323"}, {file = "numpy-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5521a06a3148686d9269c53b09f7d399a5725c47bbb5b35747e1cb76326b714b"},
{file = "numpy-2.2.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:c7d1fd447e33ee20c1f33f2c8e6634211124a9aabde3c617687d8b739aa69eac"}, {file = "numpy-2.2.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:7c8dde0ca2f77828815fd1aedfdf52e59071a5bae30dac3b4da2a335c672149a"},
{file = "numpy-2.2.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:451e854cfae0febe723077bd0cf0a4302a5d84ff25f0bfece8f29206c7bed02e"}, {file = "numpy-2.2.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:77974aba6c1bc26e3c205c2214f0d5b4305bdc719268b93e768ddb17e3fdd636"},
{file = "numpy-2.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd249bc894af67cbd8bad2c22e7cbcd46cf87ddfca1f1289d1e7e54868cc785c"}, {file = "numpy-2.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d42f9c36d06440e34226e8bd65ff065ca0963aeecada587b937011efa02cdc9d"},
{file = "numpy-2.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02935e2c3c0c6cbe9c7955a8efa8908dd4221d7755644c59d1bba28b94fd334f"}, {file = "numpy-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2712c5179f40af9ddc8f6727f2bd910ea0eb50206daea75f58ddd9fa3f715bb"},
{file = "numpy-2.2.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a972cec723e0563aa0823ee2ab1df0cb196ed0778f173b381c871a03719d4826"}, {file = "numpy-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c8b0451d2ec95010d1db8ca733afc41f659f425b7f608af569711097fd6014e2"},
{file = "numpy-2.2.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d6d6a0910c3b4368d89dde073e630882cdb266755565155bc33520283b2d9df8"}, {file = "numpy-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d9b4a8148c57ecac25a16b0e11798cbe88edf5237b0df99973687dd866f05e1b"},
{file = "numpy-2.2.2-cp311-cp311-win32.whl", hash = "sha256:860fd59990c37c3ef913c3ae390b3929d005243acca1a86facb0773e2d8d9e50"}, {file = "numpy-2.2.3-cp311-cp311-win32.whl", hash = "sha256:1f45315b2dc58d8a3e7754fe4e38b6fce132dab284a92851e41b2b344f6441c5"},
{file = "numpy-2.2.2-cp311-cp311-win_amd64.whl", hash = "sha256:da1eeb460ecce8d5b8608826595c777728cdf28ce7b5a5a8c8ac8d949beadcf2"}, {file = "numpy-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f48ba6f6c13e5e49f3d3efb1b51c8193215c42ac82610a04624906a9270be6f"},
{file = "numpy-2.2.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ac9bea18d6d58a995fac1b2cb4488e17eceeac413af014b1dd26170b766d8467"}, {file = "numpy-2.2.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:12c045f43b1d2915eca6b880a7f4a256f59d62df4f044788c8ba67709412128d"},
{file = "numpy-2.2.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:23ae9f0c2d889b7b2d88a3791f6c09e2ef827c2446f1c4a3e3e76328ee4afd9a"}, {file = "numpy-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:87eed225fd415bbae787f93a457af7f5990b92a334e346f72070bf569b9c9c95"},
{file = "numpy-2.2.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:3074634ea4d6df66be04f6728ee1d173cfded75d002c75fac79503a880bf3825"}, {file = "numpy-2.2.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:712a64103d97c404e87d4d7c47fb0c7ff9acccc625ca2002848e0d53288b90ea"},
{file = "numpy-2.2.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:8ec0636d3f7d68520afc6ac2dc4b8341ddb725039de042faf0e311599f54eb37"}, {file = "numpy-2.2.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a5ae282abe60a2db0fd407072aff4599c279bcd6e9a2475500fc35b00a57c532"},
{file = "numpy-2.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ffbb1acd69fdf8e89dd60ef6182ca90a743620957afb7066385a7bbe88dc748"}, {file = "numpy-2.2.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5266de33d4c3420973cf9ae3b98b54a2a6d53a559310e3236c4b2b06b9c07d4e"},
{file = "numpy-2.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0349b025e15ea9d05c3d63f9657707a4e1d471128a3b1d876c095f328f8ff7f0"}, {file = "numpy-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b787adbf04b0db1967798dba8da1af07e387908ed1553a0d6e74c084d1ceafe"},
{file = "numpy-2.2.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:463247edcee4a5537841d5350bc87fe8e92d7dd0e8c71c995d2c6eecb8208278"}, {file = "numpy-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:34c1b7e83f94f3b564b35f480f5652a47007dd91f7c839f404d03279cc8dd021"},
{file = "numpy-2.2.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9dd47ff0cb2a656ad69c38da850df3454da88ee9a6fde0ba79acceee0e79daba"}, {file = "numpy-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4d8335b5f1b6e2bce120d55fb17064b0262ff29b459e8493d1785c18ae2553b8"},
{file = "numpy-2.2.2-cp312-cp312-win32.whl", hash = "sha256:4525b88c11906d5ab1b0ec1f290996c0020dd318af8b49acaa46f198b1ffc283"}, {file = "numpy-2.2.3-cp312-cp312-win32.whl", hash = "sha256:4d9828d25fb246bedd31e04c9e75714a4087211ac348cb39c8c5f99dbb6683fe"},
{file = "numpy-2.2.2-cp312-cp312-win_amd64.whl", hash = "sha256:5acea83b801e98541619af398cc0109ff48016955cc0818f478ee9ef1c5c3dcb"}, {file = "numpy-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:83807d445817326b4bcdaaaf8e8e9f1753da04341eceec705c001ff342002e5d"},
{file = "numpy-2.2.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b208cfd4f5fe34e1535c08983a1a6803fdbc7a1e86cf13dd0c61de0b51a0aadc"}, {file = "numpy-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7bfdb06b395385ea9b91bf55c1adf1b297c9fdb531552845ff1d3ea6e40d5aba"},
{file = "numpy-2.2.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d0bbe7dd86dca64854f4b6ce2ea5c60b51e36dfd597300057cf473d3615f2369"}, {file = "numpy-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:23c9f4edbf4c065fddb10a4f6e8b6a244342d95966a48820c614891e5059bb50"},
{file = "numpy-2.2.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:22ea3bb552ade325530e72a0c557cdf2dea8914d3a5e1fecf58fa5dbcc6f43cd"}, {file = "numpy-2.2.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:a0c03b6be48aaf92525cccf393265e02773be8fd9551a2f9adbe7db1fa2b60f1"},
{file = "numpy-2.2.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:128c41c085cab8a85dc29e66ed88c05613dccf6bc28b3866cd16050a2f5448be"}, {file = "numpy-2.2.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:2376e317111daa0a6739e50f7ee2a6353f768489102308b0d98fcf4a04f7f3b5"},
{file = "numpy-2.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:250c16b277e3b809ac20d1f590716597481061b514223c7badb7a0f9993c7f84"}, {file = "numpy-2.2.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8fb62fe3d206d72fe1cfe31c4a1106ad2b136fcc1606093aeab314f02930fdf2"},
{file = "numpy-2.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0c8854b09bc4de7b041148d8550d3bd712b5c21ff6a8ed308085f190235d7ff"}, {file = "numpy-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:52659ad2534427dffcc36aac76bebdd02b67e3b7a619ac67543bc9bfe6b7cdb1"},
{file = "numpy-2.2.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b6fb9c32a91ec32a689ec6410def76443e3c750e7cfc3fb2206b985ffb2b85f0"}, {file = "numpy-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1b416af7d0ed3271cad0f0a0d0bee0911ed7eba23e66f8424d9f3dfcdcae1304"},
{file = "numpy-2.2.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:57b4012e04cc12b78590a334907e01b3a85efb2107df2b8733ff1ed05fce71de"}, {file = "numpy-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1402da8e0f435991983d0a9708b779f95a8c98c6b18a171b9f1be09005e64d9d"},
{file = "numpy-2.2.2-cp313-cp313-win32.whl", hash = "sha256:4dbd80e453bd34bd003b16bd802fac70ad76bd463f81f0c518d1245b1c55e3d9"}, {file = "numpy-2.2.3-cp313-cp313-win32.whl", hash = "sha256:136553f123ee2951bfcfbc264acd34a2fc2f29d7cdf610ce7daf672b6fbaa693"},
{file = "numpy-2.2.2-cp313-cp313-win_amd64.whl", hash = "sha256:5a8c863ceacae696aff37d1fd636121f1a512117652e5dfb86031c8d84836369"}, {file = "numpy-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:5b732c8beef1d7bc2d9e476dbba20aaff6167bf205ad9aa8d30913859e82884b"},
{file = "numpy-2.2.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:b3482cb7b3325faa5f6bc179649406058253d91ceda359c104dac0ad320e1391"}, {file = "numpy-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:435e7a933b9fda8126130b046975a968cc2d833b505475e588339e09f7672890"},
{file = "numpy-2.2.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9491100aba630910489c1d0158034e1c9a6546f0b1340f716d522dc103788e39"}, {file = "numpy-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7678556eeb0152cbd1522b684dcd215250885993dd00adb93679ec3c0e6e091c"},
{file = "numpy-2.2.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:41184c416143defa34cc8eb9d070b0a5ba4f13a0fa96a709e20584638254b317"}, {file = "numpy-2.2.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:2e8da03bd561504d9b20e7a12340870dfc206c64ea59b4cfee9fceb95070ee94"},
{file = "numpy-2.2.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:7dca87ca328f5ea7dafc907c5ec100d187911f94825f8700caac0b3f4c384b49"}, {file = "numpy-2.2.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:c9aa4496fd0e17e3843399f533d62857cef5900facf93e735ef65aa4bbc90ef0"},
{file = "numpy-2.2.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bc61b307655d1a7f9f4b043628b9f2b721e80839914ede634e3d485913e1fb2"}, {file = "numpy-2.2.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4ca91d61a4bf61b0f2228f24bbfa6a9facd5f8af03759fe2a655c50ae2c6610"},
{file = "numpy-2.2.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fad446ad0bc886855ddf5909cbf8cb5d0faa637aaa6277fb4b19ade134ab3c7"}, {file = "numpy-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:deaa09cd492e24fd9b15296844c0ad1b3c976da7907e1c1ed3a0ad21dded6f76"},
{file = "numpy-2.2.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:149d1113ac15005652e8d0d3f6fd599360e1a708a4f98e43c9c77834a28238cb"}, {file = "numpy-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:246535e2f7496b7ac85deffe932896a3577be7af8fb7eebe7146444680297e9a"},
{file = "numpy-2.2.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:106397dbbb1896f99e044efc90360d098b3335060375c26aa89c0d8a97c5f648"}, {file = "numpy-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:daf43a3d1ea699402c5a850e5313680ac355b4adc9770cd5cfc2940e7861f1bf"},
{file = "numpy-2.2.2-cp313-cp313t-win32.whl", hash = "sha256:0eec19f8af947a61e968d5429f0bd92fec46d92b0008d0a6685b40d6adf8a4f4"}, {file = "numpy-2.2.3-cp313-cp313t-win32.whl", hash = "sha256:cf802eef1f0134afb81fef94020351be4fe1d6681aadf9c5e862af6602af64ef"},
{file = "numpy-2.2.2-cp313-cp313t-win_amd64.whl", hash = "sha256:97b974d3ba0fb4612b77ed35d7627490e8e3dff56ab41454d9e8b23448940576"}, {file = "numpy-2.2.3-cp313-cp313t-win_amd64.whl", hash = "sha256:aee2512827ceb6d7f517c8b85aa5d3923afe8fc7a57d028cffcd522f1c6fd082"},
{file = "numpy-2.2.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b0531f0b0e07643eb089df4c509d30d72c9ef40defa53e41363eca8a8cc61495"}, {file = "numpy-2.2.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:3c2ec8a0f51d60f1e9c0c5ab116b7fc104b165ada3f6c58abf881cb2eb16044d"},
{file = "numpy-2.2.2-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:e9e82dcb3f2ebbc8cb5ce1102d5f1c5ed236bf8a11730fb45ba82e2841ec21df"}, {file = "numpy-2.2.3-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:ed2cf9ed4e8ebc3b754d398cba12f24359f018b416c380f577bbae112ca52fc9"},
{file = "numpy-2.2.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0d4142eb40ca6f94539e4db929410f2a46052a0fe7a2c1c59f6179c39938d2a"}, {file = "numpy-2.2.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39261798d208c3095ae4f7bc8eaeb3481ea8c6e03dc48028057d3cbdbdb8937e"},
{file = "numpy-2.2.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:356ca982c188acbfa6af0d694284d8cf20e95b1c3d0aefa8929376fea9146f60"}, {file = "numpy-2.2.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:783145835458e60fa97afac25d511d00a1eca94d4a8f3ace9fe2043003c678e4"},
{file = "numpy-2.2.2.tar.gz", hash = "sha256:ed6906f61834d687738d25988ae117683705636936cc605be0bb208b23df4d8f"},
] ]
[[package]] [[package]]
@ -1070,14 +1069,14 @@ zstd = ["zstandard (>=0.18.0)"]
[[package]] [[package]]
name = "virtualenv" name = "virtualenv"
version = "20.29.1" version = "20.29.2"
description = "Virtual Python Environment builder" description = "Virtual Python Environment builder"
optional = false optional = false
python-versions = ">=3.8" python-versions = ">=3.8"
groups = ["dev"] groups = ["dev"]
files = [ files = [
{file = "virtualenv-20.29.1-py3-none-any.whl", hash = "sha256:4e4cb403c0b0da39e13b46b1b2476e505cb0046b25f242bee80f62bf990b2779"}, {file = "virtualenv-20.29.2-py3-none-any.whl", hash = "sha256:febddfc3d1ea571bdb1dc0f98d7b45d24def7428214d4fb73cc486c9568cce6a"},
{file = "virtualenv-20.29.1.tar.gz", hash = "sha256:b8b8970138d32fb606192cb97f6cd4bb644fa486be9308fb9b63f81091b5dc35"}, {file = "virtualenv-20.29.2.tar.gz", hash = "sha256:fdaabebf6d03b5ba83ae0a02cfe96f48a716f4fae556461d180825866f75b728"},
] ]
[package.dependencies] [package.dependencies]

View file

@ -5,14 +5,15 @@ build-backend = "poetry.core.masonry.api"
[project] [project]
name = "stegano" name = "stegano"
version = "0.11.4" version = "0.11.5"
description = "A pure Python Steganography module." description = "A pure Python Steganography module."
authors = [ authors = [
{name = "Cédric Bonhomme", email= "cedric@cedricbonhomme.org"} {name = "Cédric Bonhomme", email= "cedric@cedricbonhomme.org"}
] ]
license = "GPL-3.0-or-later" license = "GPL-3.0-or-later"
readme = "README.md" readme = "README.md"
keywords = ["steganography", "security", "stegano"] keywords = ["Steganography", "Security", "Stegano"]
dynamic = ["classifiers"] dynamic = ["classifiers"]
requires-python = ">=3.10,<4.0" requires-python = ">=3.10,<4.0"