From 5b1177180c2f2d84d466159ac629e8432b557eb2 Mon Sep 17 00:00:00 2001 From: Jared Callaham Date: Tue, 2 Jun 2026 21:55:48 -0400 Subject: [PATCH] 1.0.0rc1 --- pyproject.toml | 4 ++-- tests/test_ravel.py | 8 -------- uv.lock | 11 ++++++----- 3 files changed, 8 insertions(+), 15 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index a021ef4..0a3f6d9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "structree" -version = "0.1.0" +version = "1.0.0rc1" description = "Portable, dependency-light pytree/struct infrastructure (JAX-compatible node contract)" readme = "README.md" requires-python = ">=3.9" @@ -25,7 +25,7 @@ dev = [ "mypy>=1.10", "ruff>=0.15", # Cross-compatibility tests (archimedes requires Python 3.11+) - "archimedes>=0.4.4 ; python_version >= '3.11'", + "archimedes>=0.4.5 ; python_version >= '3.11'", ] [tool.ruff] diff --git a/tests/test_ravel.py b/tests/test_ravel.py index fd85ff0..7cf990a 100644 --- a/tests/test_ravel.py +++ b/tests/test_ravel.py @@ -173,14 +173,6 @@ class LookupTable: assert hash(unravel) != hash(unravel3) assert unravel != unravel3 - @pytest.mark.skip( - reason="archimedes.compile flattens its inputs with Archimedes' own " - "pytree registry, which does not recognize a structree @struct as a " - "node until Archimedes migrates its tree/ onto structree (shared " - "registry). Passing a structree struct directly as a compiled-function " - "argument is therefore out of scope here; the symbolic-ravel path is " - "covered by the tests above." - ) def test_ravel_compile_with_array_static_field(self): @struct class LookupTable: diff --git a/uv.lock b/uv.lock index 8e7c3ff..3678314 100644 --- a/uv.lock +++ b/uv.lock @@ -19,7 +19,7 @@ wheels = [ [[package]] name = "archimedes" -version = "0.4.4" +version = "0.4.5" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "casadi", marker = "python_full_version >= '3.11'" }, @@ -28,11 +28,12 @@ dependencies = [ { name = "osqp", marker = "python_full_version >= '3.11'" }, { name = "pydantic", marker = "python_full_version >= '3.11'" }, { name = "scipy", marker = "python_full_version >= '3.11'" }, + { name = "structree", marker = "python_full_version >= '3.11'" }, { name = "typing-extensions", marker = "python_full_version >= '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/89/d4/c4da599ea1e02699e05b55b902e2377a257490084793d1e64837fa31651a/archimedes-0.4.4.tar.gz", hash = "sha256:660d4fa80e355424485ff5e5f699213e60337ad74850b8964b9b7a7008e7f06b", size = 2287168, upload-time = "2026-02-27T19:13:55.577Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8d/5a/bc0c1d923c4f32c70314679e7d7dd755e9d8a7cce776c0f2d133eebd15e2/archimedes-0.4.5.tar.gz", hash = "sha256:80ffa8611f40ec630cb25a75c7c10190b517cb1517a68da7d9d0510666501ae7", size = 2289330, upload-time = "2026-06-03T01:53:32.1Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b3/a0/a084620dc1b76ce772dba821cb140f24ee983757d6b661867a6146fc1e69/archimedes-0.4.4-py3-none-any.whl", hash = "sha256:fafd69d366bf04c1faf8d6ce1b51974eb88da5bb0fb9e0f28f478e5f4dc4b081", size = 229901, upload-time = "2026-02-27T19:13:56.766Z" }, + { url = "https://files.pythonhosted.org/packages/de/48/33c03107cd9a6238374d4ce6cf0220e71fe30138b5d3822be09f627f02c3/archimedes-0.4.5-py3-none-any.whl", hash = "sha256:eb8960c5131ff69d57dc8453077582d63fedf8b4f378ec2c1135acf0ab61b346", size = 211706, upload-time = "2026-06-03T01:53:30.889Z" }, ] [[package]] @@ -1090,7 +1091,7 @@ wheels = [ [[package]] name = "structree" -version = "0.1.0" +version = "1.0.0rc1" source = { editable = "." } dependencies = [ { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, @@ -1119,7 +1120,7 @@ requires-dist = [ [package.metadata.requires-dev] dev = [ - { name = "archimedes", marker = "python_full_version >= '3.11'", specifier = ">=0.4.4" }, + { name = "archimedes", marker = "python_full_version >= '3.11'", specifier = ">=0.4.5" }, { name = "mypy", specifier = ">=1.10" }, { name = "pytest", specifier = ">=8" }, { name = "ruff", specifier = ">=0.15" },