pyprttl 1.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.
- pyprttl-1.0.0/.github/workflows/ci.yml +32 -0
- pyprttl-1.0.0/.github/workflows/release.yml +101 -0
- pyprttl-1.0.0/.gitignore +79 -0
- pyprttl-1.0.0/Cargo.lock +857 -0
- pyprttl-1.0.0/Cargo.toml +18 -0
- pyprttl-1.0.0/LICENSE +51 -0
- pyprttl-1.0.0/PKG-INFO +54 -0
- pyprttl-1.0.0/README.md +24 -0
- pyprttl-1.0.0/pyproject.toml +46 -0
- pyprttl-1.0.0/src/lib.rs +136 -0
- pyprttl-1.0.0/tests/test_pyprttl.py +48 -0
- pyprttl-1.0.0/uv.lock +111 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
name: ci
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
push:
|
|
6
|
+
branches:
|
|
7
|
+
- main
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
test:
|
|
11
|
+
name: test
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v6
|
|
16
|
+
|
|
17
|
+
- name: Set up Rust
|
|
18
|
+
uses: dtolnay/rust-toolchain@stable
|
|
19
|
+
|
|
20
|
+
- name: Set up Python
|
|
21
|
+
uses: actions/setup-python@v6
|
|
22
|
+
with:
|
|
23
|
+
python-version: "3.12"
|
|
24
|
+
|
|
25
|
+
- name: Check Rust package
|
|
26
|
+
run: cargo check --locked
|
|
27
|
+
|
|
28
|
+
- name: Install Python package
|
|
29
|
+
run: python -m pip install -e ".[test]"
|
|
30
|
+
|
|
31
|
+
- name: Run Python tests
|
|
32
|
+
run: python -m pytest -q
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
name: release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- "v*"
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
build-wheels:
|
|
10
|
+
name: build ${{ matrix.platform.name }}
|
|
11
|
+
runs-on: ${{ matrix.platform.runner }}
|
|
12
|
+
strategy:
|
|
13
|
+
fail-fast: false
|
|
14
|
+
matrix:
|
|
15
|
+
platform:
|
|
16
|
+
- name: linux-x86_64
|
|
17
|
+
runner: ubuntu-latest
|
|
18
|
+
target: x86_64-unknown-linux-gnu
|
|
19
|
+
manylinux: "2014"
|
|
20
|
+
- name: linux-aarch64
|
|
21
|
+
runner: ubuntu-latest
|
|
22
|
+
target: aarch64-unknown-linux-gnu
|
|
23
|
+
manylinux: "2014"
|
|
24
|
+
- name: macos-arm64
|
|
25
|
+
runner: macos-14
|
|
26
|
+
target: aarch64-apple-darwin
|
|
27
|
+
- name: windows-x86_64
|
|
28
|
+
runner: windows-latest
|
|
29
|
+
target: x86_64-pc-windows-msvc
|
|
30
|
+
|
|
31
|
+
steps:
|
|
32
|
+
- uses: actions/checkout@v6
|
|
33
|
+
|
|
34
|
+
- name: Set up QEMU
|
|
35
|
+
if: startsWith(matrix.platform.name, 'linux-')
|
|
36
|
+
uses: docker/setup-qemu-action@v3
|
|
37
|
+
|
|
38
|
+
- name: Build wheels
|
|
39
|
+
uses: PyO3/maturin-action@v1
|
|
40
|
+
with:
|
|
41
|
+
command: build
|
|
42
|
+
maturin-version: v1.13.3
|
|
43
|
+
target: ${{ matrix.platform.target }}
|
|
44
|
+
manylinux: ${{ matrix.platform.manylinux || 'auto' }}
|
|
45
|
+
args: --release --locked --compatibility pypi --out dist
|
|
46
|
+
|
|
47
|
+
- name: Upload wheels
|
|
48
|
+
uses: actions/upload-artifact@v7
|
|
49
|
+
with:
|
|
50
|
+
name: wheels-${{ matrix.platform.name }}
|
|
51
|
+
path: dist/*.whl
|
|
52
|
+
|
|
53
|
+
build-sdist:
|
|
54
|
+
name: build sdist
|
|
55
|
+
runs-on: ubuntu-latest
|
|
56
|
+
|
|
57
|
+
steps:
|
|
58
|
+
- uses: actions/checkout@v6
|
|
59
|
+
|
|
60
|
+
- name: Set up Rust
|
|
61
|
+
uses: dtolnay/rust-toolchain@stable
|
|
62
|
+
|
|
63
|
+
- name: Set up Python
|
|
64
|
+
uses: actions/setup-python@v6
|
|
65
|
+
with:
|
|
66
|
+
python-version: "3.12"
|
|
67
|
+
|
|
68
|
+
- name: Install maturin
|
|
69
|
+
run: python -m pip install "maturin>=1.13,<2"
|
|
70
|
+
|
|
71
|
+
- name: Validate Cargo lockfile
|
|
72
|
+
run: cargo fetch --locked
|
|
73
|
+
|
|
74
|
+
- name: Build sdist
|
|
75
|
+
run: python -m maturin sdist --out dist
|
|
76
|
+
|
|
77
|
+
- name: Upload sdist
|
|
78
|
+
uses: actions/upload-artifact@v7
|
|
79
|
+
with:
|
|
80
|
+
name: sdist
|
|
81
|
+
path: dist/*.tar.gz
|
|
82
|
+
|
|
83
|
+
publish:
|
|
84
|
+
name: publish to PyPI
|
|
85
|
+
runs-on: ubuntu-latest
|
|
86
|
+
needs:
|
|
87
|
+
- build-wheels
|
|
88
|
+
- build-sdist
|
|
89
|
+
environment: pypi
|
|
90
|
+
permissions:
|
|
91
|
+
id-token: write
|
|
92
|
+
|
|
93
|
+
steps:
|
|
94
|
+
- name: Download distributions
|
|
95
|
+
uses: actions/download-artifact@v8
|
|
96
|
+
with:
|
|
97
|
+
path: dist
|
|
98
|
+
merge-multiple: true
|
|
99
|
+
|
|
100
|
+
- name: Publish distributions
|
|
101
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
pyprttl-1.0.0/.gitignore
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
### macOS
|
|
2
|
+
# Finder metadata
|
|
3
|
+
.DS_Store
|
|
4
|
+
|
|
5
|
+
# Thumbnails
|
|
6
|
+
._*
|
|
7
|
+
|
|
8
|
+
# Custom folder icons
|
|
9
|
+
Icon
|
|
10
|
+
|
|
11
|
+
# Volume root files
|
|
12
|
+
.DocumentRevisions-V100
|
|
13
|
+
.fseventsd
|
|
14
|
+
.Spotlight-V100
|
|
15
|
+
.TemporaryItems
|
|
16
|
+
.Trashes
|
|
17
|
+
.VolumeIcon.icns
|
|
18
|
+
.com.apple.timemachine.donotpresent
|
|
19
|
+
|
|
20
|
+
### JetBrains
|
|
21
|
+
# JetBrains IDE directory
|
|
22
|
+
.idea/
|
|
23
|
+
|
|
24
|
+
# CMake build directories
|
|
25
|
+
cmake-build-*/
|
|
26
|
+
|
|
27
|
+
# File-based project format
|
|
28
|
+
*.iws
|
|
29
|
+
*.iml
|
|
30
|
+
|
|
31
|
+
# IntelliJ build output
|
|
32
|
+
out/
|
|
33
|
+
|
|
34
|
+
### Python
|
|
35
|
+
# Byte-compiled files
|
|
36
|
+
__pycache__/
|
|
37
|
+
*.py[cod]
|
|
38
|
+
*$py.class
|
|
39
|
+
|
|
40
|
+
# C extensions
|
|
41
|
+
*.so
|
|
42
|
+
|
|
43
|
+
# Distribution / packaging
|
|
44
|
+
build/
|
|
45
|
+
dist/
|
|
46
|
+
*.egg-info/
|
|
47
|
+
*.egg
|
|
48
|
+
|
|
49
|
+
# dotenv environment variable files
|
|
50
|
+
.env
|
|
51
|
+
|
|
52
|
+
# Virtual environments
|
|
53
|
+
.venv
|
|
54
|
+
env/
|
|
55
|
+
venv/
|
|
56
|
+
|
|
57
|
+
# Unit test / coverage reports
|
|
58
|
+
htmlcov/
|
|
59
|
+
.tox/
|
|
60
|
+
.nox/
|
|
61
|
+
.coverage
|
|
62
|
+
.coverage.*
|
|
63
|
+
.pytest_cache/
|
|
64
|
+
|
|
65
|
+
# Type checkers
|
|
66
|
+
.mypy_cache/
|
|
67
|
+
|
|
68
|
+
# Jupyter Notebook
|
|
69
|
+
.ipynb_checkpoints
|
|
70
|
+
|
|
71
|
+
# pyenv
|
|
72
|
+
# .python-version
|
|
73
|
+
|
|
74
|
+
### Rust
|
|
75
|
+
# Cargo build output
|
|
76
|
+
target/
|
|
77
|
+
|
|
78
|
+
# Backup files generated by rustfmt
|
|
79
|
+
**/*.rs.bk
|