Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
8faabf5
initial WIP
jameshawkes Nov 8, 2025
1db5268
refactoring QubeNodeValues -> Coordinates. Nesting coordinates.
jameshawkes Nov 8, 2025
12f6929
refactoring coordinates type
jameshawkes Nov 9, 2025
7272a87
fmt
jameshawkes Nov 9, 2025
56da3fb
refactoring of coordinates and warning handling
jameshawkes Nov 9, 2025
d72c89e
started implementing set operations and select
jameshawkes Nov 11, 2025
284310f
move into workspace, add domain-specific crate, add string coordinates
jameshawkes Nov 13, 2025
bd782a1
move into workspace, add domain-specific crate, add string coordinates
jameshawkes Nov 13, 2025
0cf56c7
move to workspace
jameshawkes Nov 13, 2025
fcd2747
clean up
jameshawkes Nov 13, 2025
78504f6
implrment lazy structural hashing
jameshawkes Nov 13, 2025
d1ec78c
before refactoring node access
jameshawkes Nov 13, 2025
7dca097
refactor, allow removing nodes, implement pruning
jameshawkes Nov 14, 2025
f96ebb6
unsure
jameshawkes Jan 8, 2026
b4d515e
fix structural hash
mathleur Jan 8, 2026
8f36768
WIP: add algo for node union
mathleur Jan 15, 2026
8d9a12b
WIP: implement union
mathleur Jan 16, 2026
1f14e0b
WIP: node union method
mathleur Jan 19, 2026
8a3a7fc
WIP: overall union method
mathleur Jan 19, 2026
2e72667
WIP: fix tests
mathleur Jan 19, 2026
d9cf23d
WIP: add hash computation when we start merging
mathleur Jan 19, 2026
cc63331
WIP: add hash computation with children coordinates
mathleur Jan 20, 2026
2f5c2fe
WIP: add hash computation test for semi-similar qubes
mathleur Jan 20, 2026
42d2933
WIP: new try merge function
mathleur Jan 21, 2026
0b43f35
WIP: second implementation of node_union
mathleur Jan 22, 2026
649268e
WIP: start internal_set_op
mathleur Jan 22, 2026
2ae1f2b
WIP: implement internal_set_operations
mathleur Jan 23, 2026
ab5dc21
WIP: fix recursion of the union operation
mathleur Jan 26, 2026
f47bc6f
WIP: add children to intermediate intersection nodes
mathleur Jan 26, 2026
44e90be
WIP: working merge but with duplicates still
mathleur Jan 27, 2026
ec64869
fix bug wrong values appended
mathleur Jan 28, 2026
0d116eb
start implementing merge
mathleur Jan 28, 2026
811e7ba
clean up a bit
mathleur Jan 28, 2026
e77df10
WIP: add merging of coords
mathleur Jan 29, 2026
e4edf35
finish compression
mathleur Jan 29, 2026
25365ea
add compression test
mathleur Jan 29, 2026
68eebe2
semi-working compression
mathleur Jan 29, 2026
9460abf
fixed compression
mathleur Jan 29, 2026
c7f7c42
fix compression test
mathleur Jan 29, 2026
5f7589f
fix compression to remove duplicates as well, and fix union to remove…
mathleur Jan 29, 2026
f95c348
clean up
mathleur Jan 29, 2026
26902ba
add CI and QA
mathleur Jan 30, 2026
441e54f
add QA format
mathleur Jan 30, 2026
4fdf48d
ignore test scripts
mathleur Jan 30, 2026
e8beb5d
clean up
mathleur Jan 30, 2026
aab9c66
format rust code
mathleur Jan 30, 2026
a6e8eaf
harmonise structural hashes in Qube and NodeRef
mathleur Jan 30, 2026
0b861fb
add pre-commit
mathleur Jan 30, 2026
3b20bb5
clean up
mathleur Feb 3, 2026
e862319
fix build
mathleur Feb 3, 2026
bf77063
add comments as doc comments
mathleur Feb 3, 2026
0e3584e
Feat/cads rust adaptor (#63)
mathleur Feb 24, 2026
05343f4
Refactor/separate rust and python crates (#67)
sametd Feb 25, 2026
4eefb34
Feat/python rust docs (#71)
mathleur Mar 3, 2026
f777bad
Feat/fix fdb reader (#75)
mathleur Mar 17, 2026
cc8371e
Feat/python select (#80)
mathleur Mar 17, 2026
3306335
Add Python CI, update API docs, and fix Rust append behavior (#81)
mathleur Mar 24, 2026
e0c898c
Feat/fix select (#82)
mathleur Mar 26, 2026
d131b59
fix select method
mathleur Mar 31, 2026
740b2e5
lumi patch to deploy catalogue
mathleur Apr 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .gitattributes

This file was deleted.

34 changes: 34 additions & 0 deletions .github/workflows/build-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Build and deploy docs

on:
push:
branches: [ main ]
workflow_dispatch: {}

jobs:
build-and-deploy:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal

- name: Install mdBook
run: |
cargo install mdbook --locked

- name: Build mdBook
run: |
mdbook build docs

- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs/book
188 changes: 0 additions & 188 deletions .github/workflows/build_wheels.yml

This file was deleted.

72 changes: 72 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: CI

on:
# Trigger the workflow on push to master or develop, except tag creation
push:
branches:
- "main"
tags-ignore:
- "**"

# Trigger the workflow on pull request
pull_request: ~

# Trigger the workflow manually
workflow_dispatch: ~

# Trigger after public PR approved for CI
pull_request_target:
types: [labeled]

jobs:
checks-and-wheels:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Rust toolchain
uses: dtolnay/rust-toolchain@stable

# Cache Cargo registry + target to speed up Rust and extension builds.
- name: Cache cargo + target
uses: Swatinem/rust-cache@v2

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"

# uv is used as the package/install frontend (including maturin install).
- name: Set up uv
uses: astral-sh/setup-uv@v5

- name: Install maturin
run: uv tool install maturin

- name: Check Rust formatting
run: cargo fmt -- --check

- name: Run Rust tests
run: cargo test --workspace

# Build the two Python extension packages that wrap the Rust crates.
- name: Build qubed wheel
run: uv tool run maturin build -m py_qubed/Cargo.toml

- name: Build qubed_meteo wheel
run: uv tool run maturin build -m py_qubed_meteo/Cargo.toml

# Install built wheels into an isolated uv-managed venv and run pytest.
- name: Run Python binding tests
run: |
uv venv .ci-venv
uv pip install --python .ci-venv pytest target/wheels/qubed-*.whl target/wheels/qubed_meteo-*.whl
uv run --python .ci-venv pytest -q py_qubed/tests py_qubed_meteo/tests

- name: Upload wheel artifacts
uses: actions/upload-artifact@v4
with:
name: wheels-linux
path: target/wheels/*.whl
73 changes: 0 additions & 73 deletions .github/workflows/docs.yml

This file was deleted.

Loading
Loading