polarduck 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.
- polarduck-0.1.0/.github/workflows/release.yml +120 -0
- polarduck-0.1.0/.gitignore +10 -0
- polarduck-0.1.0/Cargo.lock +1261 -0
- polarduck-0.1.0/Cargo.toml +40 -0
- polarduck-0.1.0/LICENSE +21 -0
- polarduck-0.1.0/PKG-INFO +320 -0
- polarduck-0.1.0/README.md +288 -0
- polarduck-0.1.0/pyproject.toml +38 -0
- polarduck-0.1.0/python/polarduck/__init__.py +106 -0
- polarduck-0.1.0/python/polarduck/_polarduck_rs.pyi +63 -0
- polarduck-0.1.0/src/compact.rs +374 -0
- polarduck-0.1.0/src/error.rs +57 -0
- polarduck-0.1.0/src/ffi.rs +111 -0
- polarduck-0.1.0/src/ingest.rs +363 -0
- polarduck-0.1.0/src/lib.rs +289 -0
- polarduck-0.1.0/src/stream.rs +216 -0
- polarduck-0.1.0/src/time.rs +159 -0
- polarduck-0.1.0/tests/test_polarduck.py +104 -0
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
name: Build & Publish polarduck (PyPI)
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- master
|
|
7
|
+
tags:
|
|
8
|
+
- "v*"
|
|
9
|
+
pull_request:
|
|
10
|
+
workflow_dispatch:
|
|
11
|
+
|
|
12
|
+
permissions:
|
|
13
|
+
contents: write
|
|
14
|
+
id-token: write
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
rust-test:
|
|
18
|
+
name: Rust & Python Integration Tests
|
|
19
|
+
runs-on: ubuntu-22.04
|
|
20
|
+
steps:
|
|
21
|
+
- uses: actions/checkout@v4
|
|
22
|
+
- uses: dtolnay/rust-toolchain@stable
|
|
23
|
+
- uses: actions/setup-python@v5
|
|
24
|
+
with:
|
|
25
|
+
python-version: "3.11"
|
|
26
|
+
- name: Run pure-Rust unit tests
|
|
27
|
+
run: cargo test --no-default-features --features spatial
|
|
28
|
+
- name: Build Python wheel & run pytest integration suite
|
|
29
|
+
run: |
|
|
30
|
+
pip install maturin pytest polars duckdb pyarrow
|
|
31
|
+
maturin build --release --out dist_test
|
|
32
|
+
pip install --force-reinstall dist_test/polarduck-*.whl
|
|
33
|
+
pytest tests/test_polarduck.py -v
|
|
34
|
+
|
|
35
|
+
linux:
|
|
36
|
+
needs: rust-test
|
|
37
|
+
runs-on: ubuntu-22.04
|
|
38
|
+
steps:
|
|
39
|
+
- uses: actions/checkout@v4
|
|
40
|
+
- uses: actions/setup-python@v5
|
|
41
|
+
with:
|
|
42
|
+
python-version: "3.11"
|
|
43
|
+
- name: Build Linux manylinux wheel
|
|
44
|
+
uses: PyO3/maturin-action@v1
|
|
45
|
+
with:
|
|
46
|
+
target: x86_64
|
|
47
|
+
args: --release --out dist
|
|
48
|
+
sccache: "true"
|
|
49
|
+
manylinux: auto
|
|
50
|
+
- uses: actions/upload-artifact@v4
|
|
51
|
+
with:
|
|
52
|
+
name: wheels-linux-x86_64
|
|
53
|
+
path: dist
|
|
54
|
+
|
|
55
|
+
windows:
|
|
56
|
+
needs: rust-test
|
|
57
|
+
runs-on: windows-latest
|
|
58
|
+
steps:
|
|
59
|
+
- uses: actions/checkout@v4
|
|
60
|
+
- uses: actions/setup-python@v5
|
|
61
|
+
with:
|
|
62
|
+
python-version: "3.11"
|
|
63
|
+
- name: Build Windows x86_64 wheel
|
|
64
|
+
uses: PyO3/maturin-action@v1
|
|
65
|
+
with:
|
|
66
|
+
target: x86_64
|
|
67
|
+
args: --release --out dist
|
|
68
|
+
sccache: "true"
|
|
69
|
+
- uses: actions/upload-artifact@v4
|
|
70
|
+
with:
|
|
71
|
+
name: wheels-windows-x86_64
|
|
72
|
+
path: dist
|
|
73
|
+
|
|
74
|
+
sdist:
|
|
75
|
+
needs: rust-test
|
|
76
|
+
runs-on: ubuntu-22.04
|
|
77
|
+
steps:
|
|
78
|
+
- uses: actions/checkout@v4
|
|
79
|
+
- name: Build sdist
|
|
80
|
+
uses: PyO3/maturin-action@v1
|
|
81
|
+
with:
|
|
82
|
+
command: sdist
|
|
83
|
+
args: --out dist
|
|
84
|
+
- uses: actions/upload-artifact@v4
|
|
85
|
+
with:
|
|
86
|
+
name: wheels-sdist
|
|
87
|
+
path: dist
|
|
88
|
+
|
|
89
|
+
github-release:
|
|
90
|
+
name: Bundle Artifacts & GitHub Release
|
|
91
|
+
if: startsWith(github.ref, 'refs/tags/v')
|
|
92
|
+
needs: [linux, windows, sdist]
|
|
93
|
+
runs-on: ubuntu-22.04
|
|
94
|
+
steps:
|
|
95
|
+
- uses: actions/download-artifact@v4
|
|
96
|
+
with:
|
|
97
|
+
pattern: wheels-*
|
|
98
|
+
path: dist
|
|
99
|
+
merge-multiple: true
|
|
100
|
+
- uses: softprops/action-gh-release@v2
|
|
101
|
+
with:
|
|
102
|
+
files: dist/*
|
|
103
|
+
|
|
104
|
+
publish:
|
|
105
|
+
name: Publish to PyPI
|
|
106
|
+
if: github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/v')
|
|
107
|
+
needs: [linux, windows, sdist]
|
|
108
|
+
runs-on: ubuntu-22.04
|
|
109
|
+
steps:
|
|
110
|
+
- uses: actions/download-artifact@v4
|
|
111
|
+
with:
|
|
112
|
+
pattern: wheels-*
|
|
113
|
+
path: dist
|
|
114
|
+
merge-multiple: true
|
|
115
|
+
- name: Publish distributions to PyPI
|
|
116
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
117
|
+
continue-on-error: true
|
|
118
|
+
with:
|
|
119
|
+
password: ${{ secrets.PYPI_API_TOKEN }}
|
|
120
|
+
skip-existing: true
|