fluxqueue 0.1.0b1__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.
Files changed (47) hide show
  1. fluxqueue-0.1.0b1/.env.example +1 -0
  2. fluxqueue-0.1.0b1/.github/workflows/deploy-docs.yml +32 -0
  3. fluxqueue-0.1.0b1/.github/workflows/publish.yml +91 -0
  4. fluxqueue-0.1.0b1/.github/workflows/release-worker.yml +74 -0
  5. fluxqueue-0.1.0b1/.gitignore +12 -0
  6. fluxqueue-0.1.0b1/Cargo.lock +1514 -0
  7. fluxqueue-0.1.0b1/Cargo.toml +21 -0
  8. fluxqueue-0.1.0b1/LICENSE +178 -0
  9. fluxqueue-0.1.0b1/PKG-INFO +71 -0
  10. fluxqueue-0.1.0b1/README.md +38 -0
  11. fluxqueue-0.1.0b1/crates/fluxqueue-common/Cargo.toml +18 -0
  12. fluxqueue-0.1.0b1/crates/fluxqueue-common/src/lib.rs +7 -0
  13. fluxqueue-0.1.0b1/crates/fluxqueue-common/src/redis/client.rs +39 -0
  14. fluxqueue-0.1.0b1/crates/fluxqueue-common/src/redis/keys.rs +30 -0
  15. fluxqueue-0.1.0b1/crates/fluxqueue-common/src/redis/mod.rs +5 -0
  16. fluxqueue-0.1.0b1/crates/fluxqueue-common/src/serialize.rs +118 -0
  17. fluxqueue-0.1.0b1/crates/fluxqueue-common/src/task.rs +12 -0
  18. fluxqueue-0.1.0b1/docker/docker-compose.yml +5 -0
  19. fluxqueue-0.1.0b1/docs/about.md +5 -0
  20. fluxqueue-0.1.0b1/docs/api/environment.md +10 -0
  21. fluxqueue-0.1.0b1/docs/api/fluxqueue.md +14 -0
  22. fluxqueue-0.1.0b1/docs/api/index.md +7 -0
  23. fluxqueue-0.1.0b1/docs/css/extra.css +87 -0
  24. fluxqueue-0.1.0b1/docs/images/favicon.ico +0 -0
  25. fluxqueue-0.1.0b1/docs/images/logo.svg +60 -0
  26. fluxqueue-0.1.0b1/docs/images/logo_full.png +0 -0
  27. fluxqueue-0.1.0b1/docs/images/logo_white.svg +30 -0
  28. fluxqueue-0.1.0b1/docs/index.md +40 -0
  29. fluxqueue-0.1.0b1/docs/tutorial/defininig_and_exposing_tasks.md +186 -0
  30. fluxqueue-0.1.0b1/docs/tutorial/index.md +12 -0
  31. fluxqueue-0.1.0b1/docs/tutorial/installation.md +35 -0
  32. fluxqueue-0.1.0b1/docs/tutorial/quickstart.md +115 -0
  33. fluxqueue-0.1.0b1/docs/tutorial/worker.md +280 -0
  34. fluxqueue-0.1.0b1/fluxqueue/__init__.py +3 -0
  35. fluxqueue-0.1.0b1/fluxqueue/core.py +85 -0
  36. fluxqueue-0.1.0b1/fluxqueue/fluxqueue_core.pyi +40 -0
  37. fluxqueue-0.1.0b1/fluxqueue/utils/__init__.py +3 -0
  38. fluxqueue-0.1.0b1/fluxqueue/utils/task.py +6 -0
  39. fluxqueue-0.1.0b1/mkdocs.yml +83 -0
  40. fluxqueue-0.1.0b1/pyproject.toml +71 -0
  41. fluxqueue-0.1.0b1/scripts/build-worker.sh +15 -0
  42. fluxqueue-0.1.0b1/src/lib.rs +81 -0
  43. fluxqueue-0.1.0b1/tests/__init__.py +0 -0
  44. fluxqueue-0.1.0b1/tests/main.py +13 -0
  45. fluxqueue-0.1.0b1/tests/test_core.py +24 -0
  46. fluxqueue-0.1.0b1/tests/test_tasks.py +34 -0
  47. fluxqueue-0.1.0b1/tests/test_utils.py +12 -0
@@ -0,0 +1 @@
1
+ REDIS_PORT=6379
@@ -0,0 +1,32 @@
1
+ name: Deploy Docs
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ jobs:
9
+ deploy-docs:
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - name: Checkout Repo
14
+ uses: actions/checkout@v4
15
+
16
+ - name: Setup Python3.13
17
+ uses: actions/setup-python@v5
18
+ with:
19
+ python-version: "3.13"
20
+
21
+ - name: Install Dependencies
22
+ run: pip install -e .[docs]
23
+
24
+ - name: Build Docs
25
+ run: mkdocs build
26
+
27
+ - name: Deploy Docs
28
+ uses: cloudflare/wrangler-action@v3
29
+ with:
30
+ apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
31
+ accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
32
+ command: pages deploy site/ --project-name=fluxqueue
@@ -0,0 +1,91 @@
1
+ # This file is autogenerated by maturin v1.10.2
2
+ # To update, run
3
+ #
4
+ # maturin generate-ci github
5
+ #
6
+ name: Publish to PyPI
7
+
8
+ on:
9
+ release:
10
+ types: [published]
11
+
12
+ permissions:
13
+ contents: read
14
+
15
+ jobs:
16
+ linux:
17
+ runs-on: ${{ matrix.platform.runner }}
18
+ strategy:
19
+ matrix:
20
+ platform:
21
+ - runner: ubuntu-22.04
22
+ target: x86_64
23
+ - runner: ubuntu-22.04
24
+ target: x86
25
+ - runner: ubuntu-22.04
26
+ target: aarch64
27
+ - runner: ubuntu-22.04
28
+ target: armv7
29
+ - runner: ubuntu-22.04
30
+ target: s390x
31
+ - runner: ubuntu-22.04
32
+ target: ppc64le
33
+ steps:
34
+ - uses: actions/checkout@v4
35
+ - uses: actions/setup-python@v5
36
+ with:
37
+ python-version: 3.x
38
+ - name: Build wheels
39
+ uses: PyO3/maturin-action@v1
40
+ with:
41
+ target: ${{ matrix.platform.target }}
42
+ args: --release --out dist --find-interpreter
43
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
44
+ manylinux: auto
45
+ - name: Upload wheels
46
+ uses: actions/upload-artifact@v4
47
+ with:
48
+ name: wheels-linux-${{ matrix.platform.target }}
49
+ path: dist
50
+
51
+ sdist:
52
+ runs-on: ubuntu-latest
53
+ steps:
54
+ - uses: actions/checkout@v4
55
+ - name: Build sdist
56
+ uses: PyO3/maturin-action@v1
57
+ with:
58
+ command: sdist
59
+ args: --out dist
60
+ - name: Upload sdist
61
+ uses: actions/upload-artifact@v4
62
+ with:
63
+ name: wheels-sdist
64
+ path: dist
65
+
66
+ release:
67
+ name: Release
68
+ runs-on: ubuntu-latest
69
+ if: ${{ startsWith(github.event.release.tag_name, 'v') }}
70
+ needs: [linux, sdist]
71
+ permissions:
72
+ # Use to sign the release artifacts
73
+ id-token: write
74
+ # Used to upload release artifacts
75
+ contents: write
76
+ # Used to generate artifact attestation
77
+ attestations: write
78
+ steps:
79
+ - uses: actions/download-artifact@v4
80
+ - name: Generate artifact attestation
81
+ uses: actions/attest-build-provenance@v2
82
+ with:
83
+ subject-path: "wheels-*/*"
84
+ - name: Publish to PyPI
85
+ if: ${{ startsWith(github.event.release.tag_name, 'v') }}
86
+ uses: PyO3/maturin-action@v1
87
+ env:
88
+ MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
89
+ with:
90
+ command: upload
91
+ args: --non-interactive --skip-existing wheels-*/*
@@ -0,0 +1,74 @@
1
+ name: Release Worker
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - worker-v*
7
+
8
+ env:
9
+ LINUX_TARGET: x86_64-unknown-linux-gnu
10
+
11
+ jobs:
12
+ linux:
13
+ runs-on: ubuntu-latest
14
+ strategy:
15
+ matrix:
16
+ python-version: ["3.11", "3.12", "3.13"]
17
+ steps:
18
+ - name: Checkout repository
19
+ uses: actions/checkout@v4
20
+ with:
21
+ fetch-depth: 0
22
+
23
+ - name: Ensure tag is on main
24
+ run: |
25
+ git fetch origin main
26
+ git merge-base --is-ancestor "$GITHUB_SHA" origin/main
27
+
28
+ - name: Set up Python ${{ matrix.python-version }}
29
+ uses: actions/setup-python@v5
30
+ with:
31
+ python-version: ${{ matrix.python-version }}
32
+
33
+ - name: Install Rust
34
+ uses: dtolnay/rust-toolchain@stable
35
+
36
+ - name: Cache Rust
37
+ uses: Swatinem/rust-cache@v2
38
+
39
+ - name: Build
40
+ run: scripts/build-worker.sh ${{ env.LINUX_TARGET }}
41
+
42
+ - name: Package the worker
43
+ run: |
44
+ cd dist
45
+ mv fluxqueue-worker-${{ env.LINUX_TARGET }} fluxqueue-worker
46
+ tar -czvf fluxqueue-${{ github.ref_name }}-py${{ matrix.python-version }}-linux-x86_64.tar.gz fluxqueue-worker
47
+ rm fluxqueue-worker
48
+
49
+ - name: Upload build artifact
50
+ uses: actions/upload-artifact@v4
51
+ with:
52
+ name: fluxqueue-worker-linux-py${{ matrix.python-version }}
53
+ path: dist/*
54
+
55
+ release:
56
+ needs: [linux]
57
+ runs-on: ubuntu-latest
58
+ permissions:
59
+ contents: write
60
+
61
+ steps:
62
+ - name: Download artifacts
63
+ uses: actions/download-artifact@v4
64
+ with:
65
+ path: artifacts
66
+
67
+ - name: Create GitHub Release
68
+ uses: softprops/action-gh-release@v2
69
+ with:
70
+ tag_name: ${{ github.ref_name }}
71
+ name: ${{ github.ref_name }}
72
+ files: artifacts/**/*
73
+ draft: false
74
+ prerelease: false
@@ -0,0 +1,12 @@
1
+ target/
2
+ _tests/
3
+
4
+ .venv
5
+ .env
6
+
7
+ fluxqueue_core.cpython**
8
+ __pycache__/
9
+ .ruff_cache/
10
+ .pytest_cache/
11
+
12
+ site/