puantum 9.9.9__tar.gz → 11.0.0.0__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 (32) hide show
  1. puantum-11.0.0.0/.github/workflows/publish.yml +127 -0
  2. puantum-11.0.0.0/.readthedocs.yaml +22 -0
  3. {puantum-9.9.9 → puantum-11.0.0.0}/PKG-INFO +2 -3
  4. {puantum-9.9.9 → puantum-11.0.0.0}/pyproject.toml +2 -4
  5. puantum-11.0.0.0/security.md +21 -0
  6. puantum-9.9.9/.github/workflows/publish.yml +0 -40
  7. puantum-9.9.9/README.md +0 -82
  8. {puantum-9.9.9 → puantum-11.0.0.0}/.gitignore +0 -0
  9. {puantum-9.9.9 → puantum-11.0.0.0}/Cargo.lock +0 -0
  10. {puantum-9.9.9 → puantum-11.0.0.0}/Cargo.toml +0 -0
  11. /puantum-9.9.9/license.md → /puantum-11.0.0.0/LICENSE +0 -0
  12. {puantum-9.9.9 → puantum-11.0.0.0}/Makefile +0 -0
  13. {puantum-9.9.9 → puantum-11.0.0.0}/puantum/__init__.py +0 -0
  14. {puantum-9.9.9 → puantum-11.0.0.0}/puantum/__init__.pyi +0 -0
  15. {puantum-9.9.9 → puantum-11.0.0.0}/puantum/classic/__init__.py +0 -0
  16. {puantum-9.9.9 → puantum-11.0.0.0}/puantum/classic/__init__.pyi +0 -0
  17. {puantum-9.9.9 → puantum-11.0.0.0}/puantum/quantum/__init__.py +0 -0
  18. {puantum-9.9.9 → puantum-11.0.0.0}/puantum/quantum/__init__.pyi +0 -0
  19. {puantum-9.9.9 → puantum-11.0.0.0}/puantum/quantum/dsa/__init__.py +0 -0
  20. {puantum-9.9.9 → puantum-11.0.0.0}/puantum/quantum/dsa/__init__.pyi +0 -0
  21. {puantum-9.9.9 → puantum-11.0.0.0}/puantum/quantum/dsa/__internal__.py +0 -0
  22. {puantum-9.9.9 → puantum-11.0.0.0}/puantum/quantum/dsa/__internal__.pyi +0 -0
  23. {puantum-9.9.9 → puantum-11.0.0.0}/puantum/quantum/kem/__init__.py +0 -0
  24. {puantum-9.9.9 → puantum-11.0.0.0}/puantum/quantum/kem/__init__.pyi +0 -0
  25. {puantum-9.9.9 → puantum-11.0.0.0}/puantum/quantum/kem/__internal__.py +0 -0
  26. {puantum-9.9.9 → puantum-11.0.0.0}/puantum/quantum/kem/__internal__.pyi +0 -0
  27. {puantum-9.9.9 → puantum-11.0.0.0}/readme.md +0 -0
  28. {puantum-9.9.9 → puantum-11.0.0.0}/rust/cryptography/classic/mod.rs +0 -0
  29. {puantum-9.9.9 → puantum-11.0.0.0}/rust/cryptography/mod.rs +0 -0
  30. {puantum-9.9.9 → puantum-11.0.0.0}/rust/cryptography/quantum/binding.rs +0 -0
  31. {puantum-9.9.9 → puantum-11.0.0.0}/rust/cryptography/quantum/mod.rs +0 -0
  32. {puantum-9.9.9 → puantum-11.0.0.0}/rust/python.rs +0 -0
@@ -0,0 +1,127 @@
1
+ # GitHub Workflow
2
+
3
+ name: GitHub Workflow
4
+
5
+ on:
6
+ push:
7
+ branches:
8
+ - main
9
+
10
+ permissions:
11
+ id-token: write
12
+ contents: write
13
+ attestations: write
14
+
15
+ jobs:
16
+ linux:
17
+ runs-on: ubuntu-latest
18
+ strategy:
19
+ matrix:
20
+ python-version: ["3.10", "3.11", "3.12", "3.13"]
21
+ #
22
+ steps:
23
+ - uses: actions/checkout@v4
24
+ - uses: actions/setup-python@v5
25
+ with:
26
+ python-version: ${{ matrix.python-version }}
27
+ #
28
+ - name: Maturin build
29
+ uses: PyO3/maturin-action@v1
30
+ with:
31
+ command: build
32
+ args: --release --out pypi --find-interpreter
33
+ #
34
+ - name: Upload
35
+ uses: actions/upload-artifact@v4
36
+ with:
37
+ name: wheels-linux-py${{ matrix.python-version }}
38
+ path: pypi
39
+ #
40
+ windows:
41
+ runs-on: windows-latest
42
+ strategy:
43
+ matrix:
44
+ python-version: ["3.10", "3.11", "3.12", "3.13"]
45
+ #
46
+ steps:
47
+ - uses: actions/checkout@v4
48
+ - uses: actions/setup-python@v5
49
+ with:
50
+ python-version: ${{ matrix.python-version }}
51
+ #
52
+ - name: Maturin build
53
+ uses: PyO3/maturin-action@v1
54
+ with:
55
+ command: build
56
+ args: --release --out pypi --find-interpreter
57
+ #
58
+ - name: Upload
59
+ uses: actions/upload-artifact@v4
60
+ with:
61
+ name: wheels-windows-py${{ matrix.python-version }}
62
+ path: pypi
63
+ #
64
+ macos:
65
+ runs-on: macos-latest
66
+ strategy:
67
+ matrix:
68
+ python-version: ["3.10", "3.11", "3.12", "3.13"]
69
+ #
70
+ steps:
71
+ - uses: actions/checkout@v4
72
+ - uses: actions/setup-python@v5
73
+ with:
74
+ python-version: ${{ matrix.python-version }}
75
+ #
76
+ - name: Maturin build
77
+ uses: PyO3/maturin-action@v1
78
+ with:
79
+ command: build
80
+ args: --release --out pypi --find-interpreter
81
+ #
82
+ - name: Upload
83
+ uses: actions/upload-artifact@v4
84
+ with:
85
+ name: wheels-macos-py${{ matrix.python-version }}
86
+ path: pypi
87
+ sdist:
88
+ runs-on: ubuntu-latest
89
+ steps:
90
+ - uses: actions/checkout@v4
91
+ #
92
+ - name: Maturin sdist
93
+ uses: PyO3/maturin-action@v1
94
+ with:
95
+ command: sdist
96
+ args: --out pypi
97
+ #
98
+ - name: Upload
99
+ uses: actions/upload-artifact@v4
100
+ with:
101
+ name: wheels-sdist
102
+ path: pypi
103
+ release:
104
+ name: Release
105
+ runs-on: ubuntu-latest
106
+ needs:
107
+ - linux
108
+ - windows
109
+ - macos
110
+ - sdist
111
+ steps:
112
+ - uses: actions/download-artifact@v4
113
+ with:
114
+ path: artifacts
115
+ - name: List downloaded artifacts
116
+ run: ls -R artifacts
117
+ - name: Generate artifact attestation
118
+ uses: actions/attest-build-provenance@v2
119
+ with:
120
+ subject-path: 'artifacts/wheels-*/*'
121
+ - name: Publish to PyPI
122
+ uses: PyO3/maturin-action@v1
123
+ env:
124
+ MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
125
+ with:
126
+ command: upload
127
+ args: --non-interactive --skip-existing artifacts/wheels-*/*
@@ -0,0 +1,22 @@
1
+ # Read the Docs configuration file
2
+ # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
3
+
4
+ # Required
5
+ version: 2
6
+
7
+ # Set the OS, Python version, and other tools you might need
8
+ build:
9
+ os: ubuntu-24.04
10
+ tools:
11
+ python: "3.13"
12
+
13
+ # Build documentation in the "docs/" directory with Sphinx
14
+ sphinx:
15
+ configuration: docs/conf.py
16
+
17
+ # Optionally, but recommended,
18
+ # declare the Python requirements required to build your documentation
19
+ # See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
20
+ # python:
21
+ # install:
22
+ # - requirements: docs/requirements.txt
@@ -1,12 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: puantum
3
- Version: 9.9.9
3
+ Version: 11.0.0.0
4
4
  Classifier: Programming Language :: Python :: 3
5
5
  Classifier: Programming Language :: Rust
6
6
  Classifier: Operating System :: OS Independent
7
- Classifier: License :: Public Domain
8
7
  Classifier: License :: OSI Approved :: The Unlicense (Unlicense)
9
- License-File: license.md
8
+ License-File: LICENSE
10
9
  Summary: Python Cryptography
11
10
  Keywords: python,cryptography,quantum,security
12
11
  Author-email: Anonymous <217687495+1xfakebit@users.noreply.github.com>
@@ -1,18 +1,16 @@
1
1
  [project]
2
2
  name = "puantum"
3
- version = "9.9.9"
3
+ version = "11.0.0.0"
4
4
  authors = [{name = "Anonymous", email = "217687495+1xfakebit@users.noreply.github.com"}]
5
5
  description = "Python Cryptography"
6
6
  readme = {file = "readme.md", content-type = "text/markdown"}
7
- license = "Unlicense"
8
- license-files = ["license.md"]
7
+ license = { file = "LICENSE" }
9
8
  keywords = ["python", "cryptography", "quantum", "security"]
10
9
 
11
10
  classifiers = [
12
11
  "Programming Language :: Python :: 3",
13
12
  "Programming Language :: Rust",
14
13
  "Operating System :: OS Independent",
15
- "License :: Public Domain",
16
14
  "License :: OSI Approved :: The Unlicense (Unlicense)"
17
15
  ]
18
16
 
@@ -0,0 +1,21 @@
1
+ # Security Policy
2
+
3
+ ## Supported Versions
4
+
5
+ Use this section to tell people about which versions of your project are
6
+ currently being supported with security updates.
7
+
8
+ | Version | Supported |
9
+ | ------- | ------------------ |
10
+ | 5.1.x | :white_check_mark: |
11
+ | 5.0.x | :x: |
12
+ | 4.0.x | :white_check_mark: |
13
+ | < 4.0 | :x: |
14
+
15
+ ## Reporting a Vulnerability
16
+
17
+ Use this section to tell people how to report a vulnerability.
18
+
19
+ Tell them where to go, how often they can expect to get an update on a
20
+ reported vulnerability, what to expect if the vulnerability is accepted or
21
+ declined, etc.
@@ -1,40 +0,0 @@
1
- name: Build and Publish to PyPI
2
-
3
- on:
4
- push:
5
- branches:
6
- - main
7
-
8
- jobs:
9
- build-and-publish:
10
- runs-on: ${{ matrix.os }}
11
- strategy:
12
- matrix:
13
- os: [ubuntu-latest, macos-latest, windows-latest]
14
- python-version: ['3.10', '3.11', '3.12', '3.13']
15
-
16
- steps:
17
- - name: Checkout repository
18
- uses: actions/checkout@v4
19
-
20
- - name: Set up Python
21
- uses: actions/setup-python@v5
22
- with:
23
- python-version: ${{ matrix.python-version }}
24
-
25
- - name: Install Rust
26
- uses: dtolnay/rust-toolchain@stable
27
-
28
- - name: Install maturin
29
- run: pip install maturin
30
-
31
- - name: Build the wheel and sdist
32
- run: maturin build --sdist --release
33
-
34
- - name: Publish to PyPI
35
- env:
36
- TWINE_USERNAME: __token__
37
- TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
38
- run: |
39
- pip install twine
40
- twine upload target/wheels/*
puantum-9.9.9/README.md DELETED
@@ -1,82 +0,0 @@
1
- # 🔐 Python Cryptography
2
-
3
- A blazing-fast cryptography library for Python, built on Rust.
4
-
5
- Pryptography supports an extensive set of **post-quantum** digital signature algorithms (DSA) and key encapsulation mechanisms (KEM).
6
-
7
- ---
8
- ## ⚡ Features
9
- - ✅ Dozens of NIST PQC candidates
10
- - 🦀 Rust core for speed and safety
11
- - 📦 Easy installation via [`pip`](https://pip.pypa.io)
12
- ---
13
-
14
- ### 🧬 Supported Algorithms
15
-
16
- ### 🛡️ KEM
17
- - #### Bike
18
- - #### ClassicMcEliece
19
- - #### Hqc
20
- - #### Kyber
21
- - #### MLKEM
22
- - #### NtruPrime
23
- - #### FrodoKem
24
-
25
- ### ✍️ DSA
26
- - #### Cross
27
- - #### Dilithium
28
- - #### Falcon
29
- - #### Mayo
30
- - #### MLDSA
31
- - #### Sphincs
32
- - #### Uov
33
-
34
- ### ❔ Examples
35
-
36
- #### DSA Example
37
- ```python
38
- # IMPORT
39
- from puantum.quantum.dsa import Algorithm, KeyPair
40
-
41
- # MAIN
42
- alicesk, alicepk = KeyPair(Algorithm.MLDSA.MLDSA87)
43
- message = "Hello".encode()
44
-
45
- signature = alicesk.sign(message=message)
46
- valid = alicepk.verify(signature=signature, message=message)
47
-
48
- assert valid, "Signature verification failed!"
49
-
50
- print(f"Message: [{message.decode()}]")
51
- print(f"Signature: [{signature.hex()[:len(message)]}]")
52
- ```
53
-
54
- #### KEM Example
55
- ```python
56
- # IMPORT
57
- from puantum.quantum.kem import Algorithm, KeyPair
58
-
59
- # MAIN
60
- alicesk, alicepk = KeyPair(Algorithm.MLKEM.MLKEM1024)
61
- _bobsk, _bobpk = KeyPair(Algorithm.MLKEM.MLKEM1024)
62
-
63
- bobss, bobct = alicepk.encapsulate()
64
- alicess = alicesk.decapsulate(bobct)
65
-
66
- assert alicess == bobss, "Shared secrets do not match!"
67
-
68
- print(f"Alice's Shared Secret: [{alicess.hex()}]")
69
- print(f"Bob's Shared Secret: [{bobss.hex()}]")
70
- ```
71
-
72
- ### 📦 Install
73
- ```shell
74
- pip install puantum
75
- ```
76
-
77
- #### or from source:
78
- ```shell
79
- make python
80
- ```
81
-
82
- ### 🥳 Enjoy!
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