qvdrs 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,30 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main, master]
6
+ pull_request:
7
+ branches: [main, master]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ${{ matrix.os }}
12
+ strategy:
13
+ matrix:
14
+ os: [ubuntu-latest, windows-latest, macos-latest]
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ - uses: dtolnay/rust-toolchain@stable
18
+ - run: cargo test
19
+ - run: cargo test --features parquet_support
20
+ - run: cargo check --features cli
21
+
22
+ clippy:
23
+ runs-on: ubuntu-latest
24
+ steps:
25
+ - uses: actions/checkout@v4
26
+ - uses: dtolnay/rust-toolchain@stable
27
+ with:
28
+ components: clippy
29
+ - run: cargo clippy -- -D warnings
30
+ - run: cargo clippy --features parquet_support -- -D warnings
@@ -0,0 +1,68 @@
1
+ name: Build Release Binaries
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+ workflow_dispatch:
7
+
8
+ permissions:
9
+ contents: write
10
+
11
+ jobs:
12
+ build:
13
+ runs-on: ${{ matrix.os }}
14
+ strategy:
15
+ matrix:
16
+ include:
17
+ - os: ubuntu-latest
18
+ target: x86_64-unknown-linux-gnu
19
+ artifact: qvd-cli-linux-x86_64
20
+ - os: ubuntu-latest
21
+ target: aarch64-unknown-linux-gnu
22
+ artifact: qvd-cli-linux-aarch64
23
+ cross: true
24
+ - os: windows-latest
25
+ target: x86_64-pc-windows-msvc
26
+ artifact: qvd-cli-windows-x86_64.exe
27
+ - os: macos-13
28
+ target: x86_64-apple-darwin
29
+ artifact: qvd-cli-macos-x86_64
30
+ - os: macos-14
31
+ target: aarch64-apple-darwin
32
+ artifact: qvd-cli-macos-aarch64
33
+
34
+ steps:
35
+ - uses: actions/checkout@v4
36
+ - uses: dtolnay/rust-toolchain@stable
37
+ with:
38
+ targets: ${{ matrix.target }}
39
+
40
+ - name: Install cross-compilation tools
41
+ if: matrix.cross
42
+ run: |
43
+ sudo apt-get update
44
+ sudo apt-get install -y gcc-aarch64-linux-gnu
45
+ echo '[target.aarch64-unknown-linux-gnu]' >> ~/.cargo/config.toml
46
+ echo 'linker = "aarch64-linux-gnu-gcc"' >> ~/.cargo/config.toml
47
+
48
+ - name: Build
49
+ run: cargo build --release --features cli --target ${{ matrix.target }}
50
+
51
+ - name: Rename binary (unix)
52
+ if: runner.os != 'Windows'
53
+ run: cp target/${{ matrix.target }}/release/qvd-cli ${{ matrix.artifact }}
54
+
55
+ - name: Rename binary (windows)
56
+ if: runner.os == 'Windows'
57
+ run: cp target/${{ matrix.target }}/release/qvd-cli.exe ${{ matrix.artifact }}
58
+
59
+ - name: Upload to release
60
+ uses: softprops/action-gh-release@v2
61
+ with:
62
+ files: ${{ matrix.artifact }}
63
+
64
+ - name: Upload artifact
65
+ uses: actions/upload-artifact@v4
66
+ with:
67
+ name: ${{ matrix.artifact }}
68
+ path: ${{ matrix.artifact }}
@@ -0,0 +1,16 @@
1
+ name: Publish to crates.io
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+ workflow_dispatch:
7
+
8
+ jobs:
9
+ publish:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v4
13
+ - uses: dtolnay/rust-toolchain@stable
14
+ - run: cargo publish
15
+ env:
16
+ CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
@@ -0,0 +1,114 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+ workflow_dispatch:
7
+
8
+ permissions:
9
+ contents: read
10
+
11
+ jobs:
12
+ linux:
13
+ runs-on: ${{ matrix.platform.runner }}
14
+ strategy:
15
+ matrix:
16
+ platform:
17
+ - runner: ubuntu-latest
18
+ target: x86_64
19
+ - runner: ubuntu-latest
20
+ target: aarch64
21
+ steps:
22
+ - uses: actions/checkout@v4
23
+ - uses: actions/setup-python@v5
24
+ with:
25
+ python-version: "3.13"
26
+ - name: Build wheels
27
+ uses: PyO3/maturin-action@v1
28
+ with:
29
+ target: ${{ matrix.platform.target }}
30
+ args: --release --out dist -i python3.13
31
+ manylinux: auto
32
+ - name: Upload wheels
33
+ uses: actions/upload-artifact@v4
34
+ with:
35
+ name: wheels-linux-${{ matrix.platform.target }}
36
+ path: dist
37
+
38
+ windows:
39
+ runs-on: windows-latest
40
+ steps:
41
+ - uses: actions/checkout@v4
42
+ - uses: actions/setup-python@v5
43
+ with:
44
+ python-version: "3.13"
45
+ - name: Build wheels
46
+ uses: PyO3/maturin-action@v1
47
+ with:
48
+ args: --release --out dist -i python3.13
49
+ - name: Upload wheels
50
+ uses: actions/upload-artifact@v4
51
+ with:
52
+ name: wheels-windows-x64
53
+ path: dist
54
+
55
+ macos:
56
+ runs-on: ${{ matrix.platform.runner }}
57
+ strategy:
58
+ matrix:
59
+ platform:
60
+ - runner: macos-14
61
+ target: x86_64
62
+ - runner: macos-14
63
+ target: aarch64
64
+ steps:
65
+ - uses: actions/checkout@v4
66
+ - uses: actions/setup-python@v5
67
+ with:
68
+ python-version: "3.13"
69
+ - name: Build wheels
70
+ uses: PyO3/maturin-action@v1
71
+ with:
72
+ target: ${{ matrix.platform.target }}-apple-darwin
73
+ args: --release --out dist -i python3.13
74
+ - name: Upload wheels
75
+ uses: actions/upload-artifact@v4
76
+ with:
77
+ name: wheels-macos-${{ matrix.platform.target }}
78
+ path: dist
79
+
80
+ sdist:
81
+ runs-on: ubuntu-latest
82
+ steps:
83
+ - uses: actions/checkout@v4
84
+ - name: Build sdist
85
+ uses: PyO3/maturin-action@v1
86
+ with:
87
+ command: sdist
88
+ args: --out dist
89
+ - name: Upload sdist
90
+ uses: actions/upload-artifact@v4
91
+ with:
92
+ name: wheels-sdist
93
+ path: dist
94
+
95
+ publish:
96
+ name: Publish to PyPI
97
+ runs-on: ubuntu-latest
98
+ needs: [linux, windows, macos, sdist]
99
+ environment:
100
+ name: pypi
101
+ url: https://pypi.org/p/qvdrs
102
+ permissions:
103
+ id-token: write
104
+ steps:
105
+ - uses: actions/download-artifact@v4
106
+ with:
107
+ pattern: wheels-*
108
+ merge-multiple: true
109
+ path: dist
110
+ - name: Publish to PyPI
111
+ uses: PyO3/maturin-action@v1
112
+ with:
113
+ command: upload
114
+ args: --non-interactive --skip-existing dist/*
qvdrs-0.1.0/.gitignore ADDED
@@ -0,0 +1,10 @@
1
+ /target/
2
+ /qvd_input/
3
+ /qvd_output/
4
+ *.pyd
5
+ *.so
6
+ *.dll
7
+ __pycache__/
8
+ *.egg-info/
9
+ dist/
10
+ .venv/