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.
@@ -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
@@ -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