stoolap-python 0.4.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,129 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ tags-ignore: ['**']
7
+ pull_request:
8
+ workflow_dispatch:
9
+
10
+ concurrency:
11
+ group: ${{ github.workflow }}-${{ github.ref }}
12
+ cancel-in-progress: true
13
+
14
+ jobs:
15
+ build:
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ include:
20
+ - os: ubuntu-latest
21
+ target: x86_64-unknown-linux-gnu
22
+ - os: ubuntu-latest
23
+ target: aarch64-unknown-linux-gnu
24
+ - os: macos-latest
25
+ target: aarch64-apple-darwin
26
+ - os: macos-latest
27
+ target: x86_64-apple-darwin
28
+ - os: windows-latest
29
+ target: x86_64-pc-windows-msvc
30
+
31
+ name: Build - ${{ matrix.target }}
32
+ runs-on: ${{ matrix.os }}
33
+ steps:
34
+ - uses: actions/checkout@v4
35
+
36
+ - uses: actions/setup-python@v5
37
+ with:
38
+ python-version: '3.12'
39
+
40
+ - name: Install Rust
41
+ uses: dtolnay/rust-toolchain@stable
42
+ with:
43
+ targets: ${{ matrix.target }}
44
+
45
+ - name: Install cross-compilation tools (aarch64-linux)
46
+ if: matrix.target == 'aarch64-unknown-linux-gnu'
47
+ run: |
48
+ sudo apt-get update
49
+ sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
50
+
51
+ - name: Build wheels
52
+ uses: PyO3/maturin-action@v1
53
+ with:
54
+ target: ${{ matrix.target }}
55
+ args: --release --out dist -i python3.12
56
+ manylinux: auto
57
+
58
+ - name: Upload wheels
59
+ uses: actions/upload-artifact@v4
60
+ with:
61
+ name: wheels-${{ matrix.target }}
62
+ path: dist/*.whl
63
+ if-no-files-found: error
64
+
65
+ test:
66
+ name: Test - Python ${{ matrix.python }} (${{ matrix.os }})
67
+ needs: build
68
+ strategy:
69
+ fail-fast: false
70
+ matrix:
71
+ os: [ubuntu-latest, macos-latest, windows-latest]
72
+ python: ['3.12']
73
+ runs-on: ${{ matrix.os }}
74
+ steps:
75
+ - uses: actions/checkout@v4
76
+
77
+ - uses: actions/setup-python@v5
78
+ with:
79
+ python-version: ${{ matrix.python }}
80
+
81
+ - name: Determine artifact name
82
+ id: artifact
83
+ shell: bash
84
+ run: |
85
+ if [[ "${{ matrix.os }}" == "macos-latest" ]]; then
86
+ echo "name=wheels-aarch64-apple-darwin" >> $GITHUB_OUTPUT
87
+ elif [[ "${{ matrix.os }}" == "ubuntu-latest" ]]; then
88
+ echo "name=wheels-x86_64-unknown-linux-gnu" >> $GITHUB_OUTPUT
89
+ elif [[ "${{ matrix.os }}" == "windows-latest" ]]; then
90
+ echo "name=wheels-x86_64-pc-windows-msvc" >> $GITHUB_OUTPUT
91
+ fi
92
+
93
+ - name: Download wheels
94
+ uses: actions/download-artifact@v4
95
+ with:
96
+ name: ${{ steps.artifact.outputs.name }}
97
+ path: dist
98
+
99
+ - name: Install wheel and test dependencies
100
+ shell: bash
101
+ run: |
102
+ pip install dist/*.whl
103
+ pip install pytest pytest-asyncio
104
+
105
+ - name: Run tests
106
+ run: pytest tests/ -v
107
+
108
+ sdist:
109
+ name: Build sdist
110
+ runs-on: ubuntu-latest
111
+ steps:
112
+ - uses: actions/checkout@v4
113
+
114
+ - uses: actions/setup-python@v5
115
+ with:
116
+ python-version: '3.12'
117
+
118
+ - name: Build sdist
119
+ uses: PyO3/maturin-action@v1
120
+ with:
121
+ command: sdist
122
+ args: --out dist
123
+
124
+ - name: Upload sdist
125
+ uses: actions/upload-artifact@v4
126
+ with:
127
+ name: sdist
128
+ path: dist/*.tar.gz
129
+ if-no-files-found: error
@@ -0,0 +1,112 @@
1
+ name: Publish
2
+
3
+ on:
4
+ push:
5
+ tags: ['v*']
6
+
7
+ permissions:
8
+ contents: write
9
+ id-token: write
10
+
11
+ jobs:
12
+ build:
13
+ strategy:
14
+ fail-fast: false
15
+ matrix:
16
+ include:
17
+ - os: ubuntu-latest
18
+ target: x86_64-unknown-linux-gnu
19
+ - os: ubuntu-latest
20
+ target: aarch64-unknown-linux-gnu
21
+ - os: macos-latest
22
+ target: aarch64-apple-darwin
23
+ - os: macos-latest
24
+ target: x86_64-apple-darwin
25
+ - os: windows-latest
26
+ target: x86_64-pc-windows-msvc
27
+
28
+ name: Build - ${{ matrix.target }}
29
+ runs-on: ${{ matrix.os }}
30
+ steps:
31
+ - uses: actions/checkout@v4
32
+
33
+ - uses: actions/setup-python@v5
34
+ with:
35
+ python-version: '3.12'
36
+
37
+ - name: Install Rust
38
+ uses: dtolnay/rust-toolchain@stable
39
+ with:
40
+ targets: ${{ matrix.target }}
41
+
42
+ - name: Install cross-compilation tools (aarch64-linux)
43
+ if: matrix.target == 'aarch64-unknown-linux-gnu'
44
+ run: |
45
+ sudo apt-get update
46
+ sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
47
+
48
+ - name: Build wheels
49
+ uses: PyO3/maturin-action@v1
50
+ with:
51
+ target: ${{ matrix.target }}
52
+ args: --release --out dist -i python3.12
53
+ manylinux: auto
54
+
55
+ - name: Upload wheels
56
+ uses: actions/upload-artifact@v4
57
+ with:
58
+ name: wheels-${{ matrix.target }}
59
+ path: dist/*.whl
60
+ if-no-files-found: error
61
+
62
+ sdist:
63
+ name: Build sdist
64
+ runs-on: ubuntu-latest
65
+ steps:
66
+ - uses: actions/checkout@v4
67
+
68
+ - uses: actions/setup-python@v5
69
+ with:
70
+ python-version: '3.12'
71
+
72
+ - name: Build sdist
73
+ uses: PyO3/maturin-action@v1
74
+ with:
75
+ command: sdist
76
+ args: --out dist
77
+
78
+ - name: Upload sdist
79
+ uses: actions/upload-artifact@v4
80
+ with:
81
+ name: sdist
82
+ path: dist/*.tar.gz
83
+ if-no-files-found: error
84
+
85
+ publish:
86
+ name: Publish to PyPI
87
+ runs-on: ubuntu-latest
88
+ needs: [build, sdist]
89
+ environment: pypi
90
+ steps:
91
+ - name: Download all artifacts
92
+ uses: actions/download-artifact@v4
93
+ with:
94
+ path: dist
95
+ merge-multiple: true
96
+
97
+ - name: Publish to PyPI
98
+ uses: pypa/gh-action-pypi-publish@release/v1
99
+ with:
100
+ packages-dir: dist
101
+
102
+ release:
103
+ name: Create GitHub Release
104
+ runs-on: ubuntu-latest
105
+ needs: publish
106
+ steps:
107
+ - uses: actions/checkout@v4
108
+
109
+ - name: Create GitHub Release
110
+ uses: softprops/action-gh-release@v2
111
+ with:
112
+ generate_release_notes: true
@@ -0,0 +1,12 @@
1
+ target/
2
+ __pycache__/
3
+ *.pyc
4
+ *.pyo
5
+ *.egg-info/
6
+ dist/
7
+ build/
8
+ .venv/
9
+ *.so
10
+ *.dylib
11
+ *.dll
12
+ .pytest_cache/