pyrofile 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,77 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ test-rust:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
17
+ with:
18
+ persist-credentials: false
19
+ - uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7 # stable
20
+ - run: cargo test --lib
21
+
22
+ test-python:
23
+ runs-on: ubuntu-latest
24
+ steps:
25
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
26
+ with:
27
+ persist-credentials: false
28
+ - uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7 # stable
29
+ - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
30
+ with:
31
+ python-version: "3.12"
32
+ - run: python -m venv .venv
33
+ - run: |
34
+ source .venv/bin/activate
35
+ pip install maturin pytest
36
+ maturin develop --release
37
+ pytest tests/python/test_local.py -v
38
+
39
+ test-azure:
40
+ runs-on: ubuntu-latest
41
+ steps:
42
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
43
+ with:
44
+ persist-credentials: false
45
+ - uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7 # stable
46
+ - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
47
+ with:
48
+ python-version: "3.12"
49
+ - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
50
+ with:
51
+ node-version: "20"
52
+
53
+ - name: Start Azurite
54
+ run: |
55
+ npx azurite --silent --skipApiVersionCheck --blobHost 127.0.0.1 --blobPort 10000 &
56
+ sleep 5
57
+
58
+ - run: python -m venv .venv
59
+
60
+ - name: Create test container and generate SAS
61
+ run: |
62
+ source .venv/bin/activate
63
+ pip install azure-storage-blob
64
+ python scripts/setup_azurite.py
65
+
66
+ - name: Build pyrofile with Azure support
67
+ run: |
68
+ source .venv/bin/activate
69
+ pip install maturin pytest
70
+ maturin develop --release --features azure
71
+
72
+ - name: Run Azure integration tests
73
+ run: |
74
+ source .venv/bin/activate
75
+ pytest tests/python/test_azure_integration.py -v
76
+ env:
77
+ AZURITE_BLOB_URL: "http://127.0.0.1:10000/devstoreaccount1/testcontainer"
@@ -0,0 +1,95 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+ workflow_dispatch:
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ build-linux:
14
+ runs-on: ubuntu-latest
15
+ strategy:
16
+ matrix:
17
+ target: [x86_64, aarch64]
18
+ steps:
19
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
20
+ with:
21
+ persist-credentials: false
22
+ - uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1
23
+ with:
24
+ target: ${{ matrix.target }}
25
+ command: build
26
+ args: --release --features azure --interpreter 3.10 3.11 3.12 3.13 -o dist
27
+ manylinux: auto
28
+ before-script-linux: |
29
+ case "${{ matrix.target }}" in
30
+ "aarch64")
31
+ apt-get update
32
+ apt-get install -y perl make
33
+ ;;
34
+ "x86_64")
35
+ yum install -y perl-core
36
+ ;;
37
+ esac
38
+ - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
39
+ with:
40
+ name: wheels-linux-${{ matrix.target }}
41
+ path: dist/
42
+
43
+ build-macos:
44
+ runs-on: macos-latest
45
+ strategy:
46
+ matrix:
47
+ target: [x86_64, aarch64]
48
+ steps:
49
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
50
+ with:
51
+ persist-credentials: false
52
+ - uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1
53
+ with:
54
+ target: ${{ matrix.target }}
55
+ command: build
56
+ args: --release --features azure --interpreter 3.10 3.11 3.12 3.13 -o dist
57
+ - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
58
+ with:
59
+ name: wheels-macos-${{ matrix.target }}
60
+ path: dist/
61
+
62
+ sdist:
63
+ runs-on: ubuntu-latest
64
+ steps:
65
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
66
+ with:
67
+ persist-credentials: false
68
+ - uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1
69
+ with:
70
+ command: sdist
71
+ args: -o dist
72
+ - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
73
+ with:
74
+ name: sdist
75
+ path: dist/
76
+
77
+ publish:
78
+ needs: [build-linux, build-macos, sdist]
79
+ runs-on: ubuntu-latest
80
+ environment: pypi
81
+ permissions:
82
+ id-token: write
83
+ steps:
84
+ - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
85
+ with:
86
+ pattern: wheels-*
87
+ merge-multiple: true
88
+ path: dist/
89
+ - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
90
+ with:
91
+ name: sdist
92
+ path: dist/
93
+ - uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # release/v1
94
+ with:
95
+ packages-dir: dist/
@@ -0,0 +1,14 @@
1
+ # Changelog
2
+
3
+ ## [Unreleased]
4
+
5
+ - Nothing yet.
6
+
7
+ ## [0.1.0] - 2026-03-26
8
+
9
+ ### Feature
10
+
11
+ - Added initial Rust Backend for File-like interfaces
12
+ - Added initial interfaces for "pluggable" backends
13
+ - Added initial Python bindings for pyrofile package
14
+ - Added initial backends for Local and Azure access