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.
- zs2fast-0.1.0/.DS_Store +0 -0
- zs2fast-0.1.0/.github/workflows/build.yml +64 -0
- zs2fast-0.1.0/.github/workflows/publish.yml +83 -0
- zs2fast-0.1.0/.gitignore +33 -0
- zs2fast-0.1.0/Cargo.lock +1409 -0
- zs2fast-0.1.0/Cargo.toml +22 -0
- zs2fast-0.1.0/PKG-INFO +4 -0
- zs2fast-0.1.0/README.md +84 -0
- zs2fast-0.1.0/pyproject.toml +9 -0
- zs2fast-0.1.0/src/lib.rs +1950 -0
zs2fast-0.1.0/.DS_Store
ADDED
|
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
|
zs2fast-0.1.0/.gitignore
ADDED
|
@@ -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/
|