polars-source-utils 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.
@@ -0,0 +1,71 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - "**"
7
+ pull_request:
8
+ workflow_dispatch:
9
+
10
+ concurrency:
11
+ group: polars-source-utils-ci-${{ github.ref }}
12
+ cancel-in-progress: true
13
+
14
+ permissions:
15
+ contents: read
16
+
17
+ jobs:
18
+ test:
19
+ name: Test ${{ matrix.name }}
20
+ runs-on: ${{ matrix.os }}
21
+ strategy:
22
+ fail-fast: false
23
+ matrix:
24
+ include:
25
+ - name: linux-x86_64
26
+ os: ubuntu-latest
27
+ target: x86_64-unknown-linux-gnu
28
+ - name: macos-arm64
29
+ os: macos-14
30
+ target: aarch64-apple-darwin
31
+ - name: windows-x86_64
32
+ os: windows-latest
33
+ target: x86_64-pc-windows-msvc
34
+ python-architecture: x64
35
+
36
+ steps:
37
+ - name: Check out repository
38
+ uses: actions/checkout@v6
39
+
40
+ - name: Set up Python
41
+ uses: actions/setup-python@v6
42
+ with:
43
+ python-version: "3.14"
44
+ architecture: ${{ matrix.python-architecture || 'x64' }}
45
+
46
+ - name: Cache Cargo build artifacts
47
+ uses: Swatinem/rust-cache@v2
48
+
49
+ - name: Install Linux build dependencies
50
+ if: runner.os == 'Linux'
51
+ run: |
52
+ sudo apt-get update
53
+ sudo apt-get install -y pkg-config libssl-dev
54
+
55
+ - name: Build wheel
56
+ uses: PyO3/maturin-action@v1
57
+ with:
58
+ target: ${{ matrix.target }}
59
+ container: off
60
+ rust-toolchain: nightly
61
+ args: --release --out dist --interpreter 3.14
62
+
63
+ - name: Install test dependencies
64
+ shell: bash
65
+ run: |
66
+ python -m pip install --upgrade pip pytest
67
+ python -m pip install --force-reinstall dist/polars_source_utils-*.whl
68
+
69
+ - name: Run pytest
70
+ shell: bash
71
+ run: pytest -q
@@ -0,0 +1,156 @@
1
+ name: Package And Release
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ tags:
7
+ - "v*"
8
+ workflow_dispatch:
9
+ inputs:
10
+ publish_target:
11
+ description: Optional package index for a manual publish of the selected ref
12
+ type: choice
13
+ required: true
14
+ default: none
15
+ options:
16
+ - none
17
+ - testpypi
18
+
19
+ concurrency:
20
+ group: polars-source-utils-release-${{ github.ref }}
21
+ cancel-in-progress: ${{ !startsWith(github.ref, 'refs/tags/') }}
22
+
23
+ permissions:
24
+ contents: read
25
+
26
+ jobs:
27
+ build_wheels:
28
+ name: Build ${{ matrix.name }} Wheel
29
+ runs-on: ${{ matrix.os }}
30
+ strategy:
31
+ fail-fast: false
32
+ matrix:
33
+ include:
34
+ - name: linux-x86_64
35
+ os: ubuntu-latest
36
+ target: x86_64-unknown-linux-gnu
37
+ manylinux: "2_28"
38
+ before-script-linux: dnf install -y openssl-devel && dnf clean all
39
+ - name: macos-arm64
40
+ os: macos-14
41
+ target: aarch64-apple-darwin
42
+ - name: windows-x86_64
43
+ os: windows-latest
44
+ target: x86_64-pc-windows-msvc
45
+ python-architecture: x64
46
+ steps:
47
+ - name: Check out repository
48
+ uses: actions/checkout@v6
49
+
50
+ - name: Set up Python
51
+ uses: actions/setup-python@v6
52
+ with:
53
+ python-version: "3.14"
54
+ architecture: ${{ matrix.python-architecture || 'x64' }}
55
+
56
+ - name: Build wheel
57
+ uses: PyO3/maturin-action@v1
58
+ with:
59
+ target: ${{ matrix.target }}
60
+ manylinux: ${{ matrix.manylinux || '' }}
61
+ before-script-linux: ${{ matrix.before-script-linux || '' }}
62
+ rust-toolchain: nightly
63
+ args: --release --out dist --interpreter 3.14 --compatibility pypi
64
+
65
+ - name: Verify wheel metadata
66
+ shell: bash
67
+ run: |
68
+ python -m pip install --upgrade twine
69
+ twine check --strict dist/*
70
+
71
+ - name: Upload wheels
72
+ uses: actions/upload-artifact@v7
73
+ with:
74
+ name: dist-${{ matrix.name }}
75
+ path: dist/*
76
+ if-no-files-found: error
77
+
78
+ build_sdist:
79
+ name: Build Source Distribution
80
+ runs-on: ubuntu-latest
81
+ steps:
82
+ - name: Check out repository
83
+ uses: actions/checkout@v6
84
+
85
+ - name: Set up Python
86
+ uses: actions/setup-python@v6
87
+ with:
88
+ python-version: "3.14"
89
+
90
+ - name: Build source distribution
91
+ uses: PyO3/maturin-action@v1
92
+ with:
93
+ command: sdist
94
+ rust-toolchain: nightly
95
+ args: --out dist
96
+
97
+ - name: Verify source distribution metadata
98
+ shell: bash
99
+ run: |
100
+ python -m pip install --upgrade twine
101
+ twine check --strict dist/*
102
+
103
+ - name: Upload source distribution
104
+ uses: actions/upload-artifact@v7
105
+ with:
106
+ name: dist-sdist
107
+ path: dist/*
108
+ if-no-files-found: error
109
+
110
+ publish_testpypi:
111
+ name: Publish To TestPyPI
112
+ needs:
113
+ - build_wheels
114
+ - build_sdist
115
+ if: github.event_name == 'workflow_dispatch' && inputs.publish_target == 'testpypi'
116
+ runs-on: ubuntu-latest
117
+ permissions:
118
+ contents: read
119
+ id-token: write
120
+ steps:
121
+ - name: Download built distributions
122
+ uses: actions/download-artifact@v8
123
+ with:
124
+ pattern: dist-*
125
+ path: dist
126
+ merge-multiple: true
127
+
128
+ - name: Publish package distributions to TestPyPI
129
+ uses: pypa/gh-action-pypi-publish@release/v1
130
+ with:
131
+ repository-url: https://test.pypi.org/legacy/
132
+ packages-dir: dist
133
+ skip-existing: true
134
+
135
+ publish_pypi:
136
+ name: Publish To PyPI
137
+ needs:
138
+ - build_wheels
139
+ - build_sdist
140
+ if: startsWith(github.ref, 'refs/tags/v')
141
+ runs-on: ubuntu-latest
142
+ permissions:
143
+ contents: read
144
+ id-token: write
145
+ steps:
146
+ - name: Download built distributions
147
+ uses: actions/download-artifact@v8
148
+ with:
149
+ pattern: dist-*
150
+ path: dist
151
+ merge-multiple: true
152
+
153
+ - name: Publish package distributions to PyPI
154
+ uses: pypa/gh-action-pypi-publish@release/v1
155
+ with:
156
+ packages-dir: dist
@@ -0,0 +1,9 @@
1
+ /target/
2
+ **/__pycache__/
3
+ *.pyc
4
+ *.pyo
5
+ *.so
6
+ *.pyd
7
+ dist/
8
+ *.egg-info/
9
+ .venv/