codext 1.15.4__tar.gz → 1.15.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. {codext-1.15.4 → codext-1.15.5}/.github/workflows/python-package.yml +1 -1
  2. {codext-1.15.4 → codext-1.15.5}/PKG-INFO +2 -6
  3. {codext-1.15.4 → codext-1.15.5}/docs/coverage.svg +1 -1
  4. {codext-1.15.4 → codext-1.15.5}/pyproject.toml +1 -5
  5. codext-1.15.5/src/codext/VERSION.txt +1 -0
  6. {codext-1.15.4 → codext-1.15.5}/src/codext/__common__.py +3 -2
  7. {codext-1.15.4 → codext-1.15.5}/src/codext/hashing/crypt.py +4 -1
  8. {codext-1.15.4 → codext-1.15.5}/src/codext.egg-info/PKG-INFO +2 -6
  9. codext-1.15.5/src/codext.egg-info/requires.txt +4 -0
  10. codext-1.15.4/src/codext/VERSION.txt +0 -1
  11. codext-1.15.4/src/codext.egg-info/requires.txt +0 -1
  12. {codext-1.15.4 → codext-1.15.5}/.coveragerc +0 -0
  13. {codext-1.15.4 → codext-1.15.5}/.github/workflows/pypi-publish.yml +0 -0
  14. {codext-1.15.4 → codext-1.15.5}/.gitignore +0 -0
  15. {codext-1.15.4 → codext-1.15.5}/.readthedocs.yml +0 -0
  16. {codext-1.15.4 → codext-1.15.5}/LICENSE +0 -0
  17. {codext-1.15.4 → codext-1.15.5}/README.md +0 -0
  18. {codext-1.15.4 → codext-1.15.5}/docs/mkdocs.yml +0 -0
  19. {codext-1.15.4 → codext-1.15.5}/docs/pages/cli.md +0 -0
  20. {codext-1.15.4 → codext-1.15.5}/docs/pages/css/extra.css +0 -0
  21. {codext-1.15.4 → codext-1.15.5}/docs/pages/demos/using-bases.gif +0 -0
  22. {codext-1.15.4 → codext-1.15.5}/docs/pages/demos/using-codext.gif +0 -0
  23. {codext-1.15.4 → codext-1.15.5}/docs/pages/demos/using-debase.gif +0 -0
  24. {codext-1.15.4 → codext-1.15.5}/docs/pages/enc/base.md +0 -0
  25. {codext-1.15.4 → codext-1.15.5}/docs/pages/enc/binary.md +0 -0
  26. {codext-1.15.4 → codext-1.15.5}/docs/pages/enc/common.md +0 -0
  27. {codext-1.15.4 → codext-1.15.5}/docs/pages/enc/compressions.md +0 -0
  28. {codext-1.15.4 → codext-1.15.5}/docs/pages/enc/crypto.md +0 -0
  29. {codext-1.15.4 → codext-1.15.5}/docs/pages/enc/hashing.md +0 -0
  30. {codext-1.15.4 → codext-1.15.5}/docs/pages/enc/languages.md +0 -0
  31. {codext-1.15.4 → codext-1.15.5}/docs/pages/enc/others.md +0 -0
  32. {codext-1.15.4 → codext-1.15.5}/docs/pages/enc/stegano.md +0 -0
  33. {codext-1.15.4 → codext-1.15.5}/docs/pages/enc/web.md +0 -0
  34. {codext-1.15.4 → codext-1.15.5}/docs/pages/features.md +0 -0
  35. {codext-1.15.4 → codext-1.15.5}/docs/pages/guessing.md +0 -0
  36. {codext-1.15.4 → codext-1.15.5}/docs/pages/howto.md +0 -0
  37. {codext-1.15.4 → codext-1.15.5}/docs/pages/img/banner.png +0 -0
  38. {codext-1.15.4 → codext-1.15.5}/docs/pages/img/icon.png +0 -0
  39. {codext-1.15.4 → codext-1.15.5}/docs/pages/img/logo.png +0 -0
  40. {codext-1.15.4 → codext-1.15.5}/docs/pages/index.md +0 -0
  41. {codext-1.15.4 → codext-1.15.5}/docs/pages/manipulations.md +0 -0
  42. {codext-1.15.4 → codext-1.15.5}/docs/requirements.txt +0 -0
  43. {codext-1.15.4 → codext-1.15.5}/pytest.ini +0 -0
  44. {codext-1.15.4 → codext-1.15.5}/requirements.txt +0 -0
  45. {codext-1.15.4 → codext-1.15.5}/setup.cfg +0 -0
  46. {codext-1.15.4 → codext-1.15.5}/src/codext/__info__.py +0 -0
  47. {codext-1.15.4 → codext-1.15.5}/src/codext/__init__.py +0 -0
  48. {codext-1.15.4 → codext-1.15.5}/src/codext/base/__init__.py +0 -0
  49. {codext-1.15.4 → codext-1.15.5}/src/codext/base/_base.py +0 -0
  50. {codext-1.15.4 → codext-1.15.5}/src/codext/base/_base2n.py +0 -0
  51. {codext-1.15.4 → codext-1.15.5}/src/codext/base/base100.py +0 -0
  52. {codext-1.15.4 → codext-1.15.5}/src/codext/base/base122.py +0 -0
  53. {codext-1.15.4 → codext-1.15.5}/src/codext/base/base45.py +0 -0
  54. {codext-1.15.4 → codext-1.15.5}/src/codext/base/base85.py +0 -0
  55. {codext-1.15.4 → codext-1.15.5}/src/codext/base/base91.py +0 -0
  56. {codext-1.15.4 → codext-1.15.5}/src/codext/base/baseN.py +0 -0
  57. {codext-1.15.4 → codext-1.15.5}/src/codext/binary/__init__.py +0 -0
  58. {codext-1.15.4 → codext-1.15.5}/src/codext/binary/baudot.py +0 -0
  59. {codext-1.15.4 → codext-1.15.5}/src/codext/binary/bcd.py +0 -0
  60. {codext-1.15.4 → codext-1.15.5}/src/codext/binary/excess3.py +0 -0
  61. {codext-1.15.4 → codext-1.15.5}/src/codext/binary/gray.py +0 -0
  62. {codext-1.15.4 → codext-1.15.5}/src/codext/binary/manchester.py +0 -0
  63. {codext-1.15.4 → codext-1.15.5}/src/codext/binary/rotate.py +0 -0
  64. {codext-1.15.4 → codext-1.15.5}/src/codext/common/__init__.py +0 -0
  65. {codext-1.15.4 → codext-1.15.5}/src/codext/common/a1z26.py +0 -0
  66. {codext-1.15.4 → codext-1.15.5}/src/codext/common/cases.py +0 -0
  67. {codext-1.15.4 → codext-1.15.5}/src/codext/common/dummy.py +0 -0
  68. {codext-1.15.4 → codext-1.15.5}/src/codext/common/octal.py +0 -0
  69. {codext-1.15.4 → codext-1.15.5}/src/codext/common/ordinal.py +0 -0
  70. {codext-1.15.4 → codext-1.15.5}/src/codext/compressions/__init__.py +0 -0
  71. {codext-1.15.4 → codext-1.15.5}/src/codext/compressions/gzipp.py +0 -0
  72. {codext-1.15.4 → codext-1.15.5}/src/codext/compressions/lz77.py +0 -0
  73. {codext-1.15.4 → codext-1.15.5}/src/codext/compressions/lz78.py +0 -0
  74. {codext-1.15.4 → codext-1.15.5}/src/codext/compressions/pkzip.py +0 -0
  75. {codext-1.15.4 → codext-1.15.5}/src/codext/crypto/__init__.py +0 -0
  76. {codext-1.15.4 → codext-1.15.5}/src/codext/crypto/affine.py +0 -0
  77. {codext-1.15.4 → codext-1.15.5}/src/codext/crypto/atbash.py +0 -0
  78. {codext-1.15.4 → codext-1.15.5}/src/codext/crypto/bacon.py +0 -0
  79. {codext-1.15.4 → codext-1.15.5}/src/codext/crypto/barbie.py +0 -0
  80. {codext-1.15.4 → codext-1.15.5}/src/codext/crypto/citrix.py +0 -0
  81. {codext-1.15.4 → codext-1.15.5}/src/codext/crypto/railfence.py +0 -0
  82. {codext-1.15.4 → codext-1.15.5}/src/codext/crypto/rot.py +0 -0
  83. {codext-1.15.4 → codext-1.15.5}/src/codext/crypto/scytale.py +0 -0
  84. {codext-1.15.4 → codext-1.15.5}/src/codext/crypto/shift.py +0 -0
  85. {codext-1.15.4 → codext-1.15.5}/src/codext/crypto/xor.py +0 -0
  86. {codext-1.15.4 → codext-1.15.5}/src/codext/hashing/__init__.py +0 -0
  87. {codext-1.15.4 → codext-1.15.5}/src/codext/hashing/blake.py +0 -0
  88. {codext-1.15.4 → codext-1.15.5}/src/codext/hashing/checksums.py +0 -0
  89. {codext-1.15.4 → codext-1.15.5}/src/codext/hashing/md.py +0 -0
  90. {codext-1.15.4 → codext-1.15.5}/src/codext/hashing/sha.py +0 -0
  91. {codext-1.15.4 → codext-1.15.5}/src/codext/hashing/shake.py +0 -0
  92. {codext-1.15.4 → codext-1.15.5}/src/codext/languages/__init__.py +0 -0
  93. {codext-1.15.4 → codext-1.15.5}/src/codext/languages/braille.py +0 -0
  94. {codext-1.15.4 → codext-1.15.5}/src/codext/languages/galactic.py +0 -0
  95. {codext-1.15.4 → codext-1.15.5}/src/codext/languages/ipsum.py +0 -0
  96. {codext-1.15.4 → codext-1.15.5}/src/codext/languages/leetspeak.py +0 -0
  97. {codext-1.15.4 → codext-1.15.5}/src/codext/languages/morse.py +0 -0
  98. {codext-1.15.4 → codext-1.15.5}/src/codext/languages/navajo.py +0 -0
  99. {codext-1.15.4 → codext-1.15.5}/src/codext/languages/radio.py +0 -0
  100. {codext-1.15.4 → codext-1.15.5}/src/codext/languages/southpark.py +0 -0
  101. {codext-1.15.4 → codext-1.15.5}/src/codext/languages/tap.py +0 -0
  102. {codext-1.15.4 → codext-1.15.5}/src/codext/languages/tomtom.py +0 -0
  103. {codext-1.15.4 → codext-1.15.5}/src/codext/macros.json +0 -0
  104. {codext-1.15.4 → codext-1.15.5}/src/codext/others/__init__.py +0 -0
  105. {codext-1.15.4 → codext-1.15.5}/src/codext/others/dna.py +0 -0
  106. {codext-1.15.4 → codext-1.15.5}/src/codext/others/kbshift.py +0 -0
  107. {codext-1.15.4 → codext-1.15.5}/src/codext/others/letters.py +0 -0
  108. {codext-1.15.4 → codext-1.15.5}/src/codext/others/markdown.py +0 -0
  109. {codext-1.15.4 → codext-1.15.5}/src/codext/others/uuencode.py +0 -0
  110. {codext-1.15.4 → codext-1.15.5}/src/codext/stegano/__init__.py +0 -0
  111. {codext-1.15.4 → codext-1.15.5}/src/codext/stegano/hexagram.py +0 -0
  112. {codext-1.15.4 → codext-1.15.5}/src/codext/stegano/klopf.py +0 -0
  113. {codext-1.15.4 → codext-1.15.5}/src/codext/stegano/resistor.py +0 -0
  114. {codext-1.15.4 → codext-1.15.5}/src/codext/stegano/rick.py +0 -0
  115. {codext-1.15.4 → codext-1.15.5}/src/codext/stegano/sms.py +0 -0
  116. {codext-1.15.4 → codext-1.15.5}/src/codext/stegano/whitespace.py +0 -0
  117. {codext-1.15.4 → codext-1.15.5}/src/codext/web/__init__.py +0 -0
  118. {codext-1.15.4 → codext-1.15.5}/src/codext/web/html.py +0 -0
  119. {codext-1.15.4 → codext-1.15.5}/src/codext/web/url.py +0 -0
  120. {codext-1.15.4 → codext-1.15.5}/src/codext.egg-info/SOURCES.txt +0 -0
  121. {codext-1.15.4 → codext-1.15.5}/src/codext.egg-info/dependency_links.txt +0 -0
  122. {codext-1.15.4 → codext-1.15.5}/src/codext.egg-info/entry_points.txt +0 -0
  123. {codext-1.15.4 → codext-1.15.5}/src/codext.egg-info/top_level.txt +0 -0
  124. {codext-1.15.4 → codext-1.15.5}/tests/__init__.py +0 -0
  125. {codext-1.15.4 → codext-1.15.5}/tests/test_base.py +0 -0
  126. {codext-1.15.4 → codext-1.15.5}/tests/test_common.py +0 -0
  127. {codext-1.15.4 → codext-1.15.5}/tests/test_generated.py +0 -0
  128. {codext-1.15.4 → codext-1.15.5}/tests/test_manual.py +0 -0
@@ -19,7 +19,7 @@ jobs:
19
19
  fail-fast: false
20
20
  matrix:
21
21
  os: [ubuntu-latest]
22
- python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
22
+ python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
23
23
  steps:
24
24
  - uses: actions/checkout@v3
25
25
  - name: Set up Python ${{ matrix.python-version }}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codext
3
- Version: 1.15.4
3
+ Version: 1.15.5
4
4
  Summary: Native codecs extension
5
5
  Author-email: Alexandre D'Hondt <alexandre.dhondt@gmail.com>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -688,15 +688,11 @@ Classifier: Environment :: Console
688
688
  Classifier: Intended Audience :: Developers
689
689
  Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
690
690
  Classifier: Programming Language :: Python :: 3
691
- Classifier: Programming Language :: Python :: 3.8
692
- Classifier: Programming Language :: Python :: 3.9
693
- Classifier: Programming Language :: Python :: 3.10
694
- Classifier: Programming Language :: Python :: 3.11
695
- Classifier: Programming Language :: Python :: 3.12
696
691
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
697
692
  Requires-Python: <4,>=3.8
698
693
  Description-Content-Type: text/markdown
699
694
  License-File: LICENSE
695
+ Requires-Dist: crypt-r; python_version >= "3.13"
700
696
  Requires-Dist: markdown2>=2.4.0
701
697
 
702
698
  <p align="center"><img src="https://github.com/dhondta/python-codext/raw/main/docs/pages/img/logo.png"></p>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="114" height="20" role="img" aria-label="coverage: 99.04%"><title>coverage: 99.04%</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="114" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="61" height="20" fill="#555"/><rect x="61" width="53" height="20" fill="#4c1"/><rect width="114" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="315" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="510">coverage</text><text x="315" y="140" transform="scale(.1)" fill="#fff" textLength="510">coverage</text><text aria-hidden="true" x="865" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="430">99.04%</text><text x="865" y="140" transform="scale(.1)" fill="#fff" textLength="430">99.04%</text></g></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="114" height="20" role="img" aria-label="coverage: 99.11%"><title>coverage: 99.11%</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="114" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="61" height="20" fill="#555"/><rect x="61" width="53" height="20" fill="#4c1"/><rect width="114" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="315" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="510">coverage</text><text x="315" y="140" transform="scale(.1)" fill="#fff" textLength="510">coverage</text><text aria-hidden="true" x="865" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="430">99.11%</text><text x="865" y="140" transform="scale(.1)" fill="#fff" textLength="430">99.11%</text></g></svg>
@@ -23,14 +23,10 @@ classifiers = [
23
23
  "Intended Audience :: Developers",
24
24
  "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
25
25
  "Programming Language :: Python :: 3",
26
- "Programming Language :: Python :: 3.8",
27
- "Programming Language :: Python :: 3.9",
28
- "Programming Language :: Python :: 3.10",
29
- "Programming Language :: Python :: 3.11",
30
- "Programming Language :: Python :: 3.12",
31
26
  "Topic :: Software Development :: Libraries :: Python Modules",
32
27
  ]
33
28
  dependencies = [
29
+ "crypt-r; python_version >= '3.13'",
34
30
  "markdown2>=2.4.0",
35
31
  ]
36
32
  dynamic = ["version"]
@@ -0,0 +1 @@
1
+ 1.15.5
@@ -200,8 +200,9 @@ def _input(infile):
200
200
 
201
201
  def _set_exc(name, etype="ValueError"):
202
202
  if not hasattr(builtins, name):
203
- exec(f"class {name}({etype}): __module__ = 'builtins'")
204
- setattr(builtins, name, locals()[name])
203
+ ns = {}
204
+ exec(f"class {name}({etype}): __module__ = 'builtins'", {}, ns)
205
+ setattr(builtins, name, ns[name])
205
206
  _set_exc("InputSizeLimitError")
206
207
  _set_exc("ParameterError")
207
208
 
@@ -12,7 +12,10 @@ from ..__common__ import add, ensure_str, UNIX
12
12
 
13
13
 
14
14
  if UNIX:
15
- import crypt
15
+ try:
16
+ import crypt
17
+ except ImportError:
18
+ import crypt_r as crypt
16
19
 
17
20
  METHODS = [x[7:].lower() for x in crypt.__dict__ if x.startswith("METHOD_")]
18
21
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codext
3
- Version: 1.15.4
3
+ Version: 1.15.5
4
4
  Summary: Native codecs extension
5
5
  Author-email: Alexandre D'Hondt <alexandre.dhondt@gmail.com>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -688,15 +688,11 @@ Classifier: Environment :: Console
688
688
  Classifier: Intended Audience :: Developers
689
689
  Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
690
690
  Classifier: Programming Language :: Python :: 3
691
- Classifier: Programming Language :: Python :: 3.8
692
- Classifier: Programming Language :: Python :: 3.9
693
- Classifier: Programming Language :: Python :: 3.10
694
- Classifier: Programming Language :: Python :: 3.11
695
- Classifier: Programming Language :: Python :: 3.12
696
691
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
697
692
  Requires-Python: <4,>=3.8
698
693
  Description-Content-Type: text/markdown
699
694
  License-File: LICENSE
695
+ Requires-Dist: crypt-r; python_version >= "3.13"
700
696
  Requires-Dist: markdown2>=2.4.0
701
697
 
702
698
  <p align="center"><img src="https://github.com/dhondta/python-codext/raw/main/docs/pages/img/logo.png"></p>
@@ -0,0 +1,4 @@
1
+ markdown2>=2.4.0
2
+
3
+ [:python_version >= "3.13"]
4
+ crypt-r
@@ -1 +0,0 @@
1
- 1.15.4
@@ -1 +0,0 @@
1
- markdown2>=2.4.0
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes