zs2fast 0.1.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.
Binary file
@@ -0,0 +1,64 @@
1
+ name: Build and Test
2
+
3
+ on:
4
+ push:
5
+ branches: [ main, master, develop ]
6
+ pull_request:
7
+ branches: [ main, master, develop ]
8
+ workflow_dispatch:
9
+
10
+ jobs:
11
+ build:
12
+ name: Build on ${{ matrix.os }} - Python ${{ matrix.python-version }}
13
+ runs-on: ${{ matrix.os }}
14
+ strategy:
15
+ fail-fast: false
16
+ matrix:
17
+ os: [ubuntu-latest, macos-latest, windows-latest]
18
+ python-version: ["3.9", "3.10", "3.11", "3.12"]
19
+
20
+ steps:
21
+ - uses: actions/checkout@v4
22
+
23
+ - name: Set up Python ${{ matrix.python-version }}
24
+ uses: actions/setup-python@v5
25
+ with:
26
+ python-version: ${{ matrix.python-version }}
27
+
28
+ - name: Install Rust
29
+ uses: dtolnay/rust-toolchain@stable
30
+
31
+ - name: Install Maturin
32
+ run: pip install maturin
33
+
34
+ - name: Build package
35
+ run: maturin build --release
36
+
37
+ - name: Install package
38
+ run: pip install --find-links target/wheels zs2fast
39
+
40
+ - name: Test import
41
+ run: python -c "import zs2fast; print('zs2fast imported successfully')"
42
+
43
+ - name: Upload wheels
44
+ uses: actions/upload-artifact@v4
45
+ with:
46
+ name: wheels-${{ matrix.os }}-py${{ matrix.python-version }}
47
+ path: target/wheels/*.whl
48
+
49
+ lint:
50
+ name: Lint and Format Check
51
+ runs-on: ubuntu-latest
52
+ steps:
53
+ - uses: actions/checkout@v4
54
+
55
+ - name: Install Rust
56
+ uses: dtolnay/rust-toolchain@stable
57
+ with:
58
+ components: rustfmt, clippy
59
+
60
+ - name: Check formatting
61
+ run: cargo fmt -- --check
62
+
63
+ - name: Run clippy
64
+ run: cargo clippy -- -D warnings
@@ -0,0 +1,83 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+ workflow_dispatch:
7
+
8
+ jobs:
9
+ build-wheels:
10
+ name: Build wheels on ${{ matrix.os }}
11
+ runs-on: ${{ matrix.os }}
12
+ strategy:
13
+ matrix:
14
+ os: [ubuntu-latest, macos-latest, windows-latest]
15
+
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+
19
+ - name: Set up Python
20
+ uses: actions/setup-python@v5
21
+ with:
22
+ python-version: '3.11'
23
+
24
+ - name: Install Rust
25
+ uses: dtolnay/rust-toolchain@stable
26
+
27
+ - name: Install Maturin
28
+ run: pip install maturin
29
+
30
+ - name: Build wheels
31
+ run: maturin build --release --out dist
32
+
33
+ - name: Upload wheels
34
+ uses: actions/upload-artifact@v4
35
+ with:
36
+ name: wheels-${{ matrix.os }}
37
+ path: dist/*.whl
38
+
39
+ build-sdist:
40
+ name: Build source distribution
41
+ runs-on: ubuntu-latest
42
+ steps:
43
+ - uses: actions/checkout@v4
44
+
45
+ - name: Set up Python
46
+ uses: actions/setup-python@v5
47
+ with:
48
+ python-version: '3.11'
49
+
50
+ - name: Install Rust
51
+ uses: dtolnay/rust-toolchain@stable
52
+
53
+ - name: Install Maturin
54
+ run: pip install maturin
55
+
56
+ - name: Build sdist
57
+ run: maturin sdist --out dist
58
+
59
+ - name: Upload sdist
60
+ uses: actions/upload-artifact@v4
61
+ with:
62
+ name: sdist
63
+ path: dist/*.tar.gz
64
+
65
+ publish:
66
+ name: Publish to PyPI
67
+ needs: [build-wheels, build-sdist]
68
+ runs-on: ubuntu-latest
69
+ environment:
70
+ name: pypi
71
+ url: https://pypi.org/project/zs2fast
72
+ permissions:
73
+ id-token: write # Required for trusted publishing
74
+
75
+ steps:
76
+ - name: Download all artifacts
77
+ uses: actions/download-artifact@v4
78
+ with:
79
+ path: dist
80
+ merge-multiple: true
81
+
82
+ - name: Publish to PyPI
83
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,33 @@
1
+ # Rust
2
+ target/
3
+ Cargo.lock
4
+
5
+ # Python
6
+ __pycache__/
7
+ *.py[cod]
8
+ *$py.class
9
+ *.so
10
+ *.egg-info/
11
+ dist/
12
+ build/
13
+ .eggs/
14
+
15
+ # Virtual environments
16
+ venv/
17
+ env/
18
+ ENV/
19
+
20
+ # IDE
21
+ .vscode/
22
+ .idea/
23
+ *.swp
24
+ *.swo
25
+ *~
26
+
27
+ # macOS
28
+ .DS_Store
29
+
30
+ # Testing
31
+ .pytest_cache/
32
+ .coverage
33
+ htmlcov/