From 4026289fe41e420974552aac0d3ce6ba4fc22693 Mon Sep 17 00:00:00 2001 From: Valeriu Predoi Date: Thu, 16 Apr 2026 15:59:10 +0100 Subject: [PATCH 1/4] cleanup pyproject a bit --- pyproject.toml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index e18ed07..85881db 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,9 @@ [build-system] -requires = ["setuptools>=64", "wheel"] -build-backend = "setuptools.build_meta:__legacy__" +requires = [ + "setuptools>=80", + "setuptools_scm>=8", +] +build-backend = "setuptools.build_meta" [project] name = "p5rem" From 2aac5146b64185d3f06743cabaed88861473a056 Mon Sep 17 00:00:00 2001 From: Valeriu Predoi Date: Thu, 16 Apr 2026 15:59:23 +0100 Subject: [PATCH 2/4] add conda env file --- environment.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 environment.yml diff --git a/environment.yml b/environment.yml new file mode 100644 index 0000000..f7adc3a --- /dev/null +++ b/environment.yml @@ -0,0 +1,15 @@ +--- +name: p5rem +channels: + - conda-forge + - nodefaults + +dependencies: + - cbor2 + - diskcache + - numpy >=2.0.0 + - pyactivestorage + - pyfive >=0.5.0 + # testing + - pytest + - pytest-cov From 74baf4731dff60272cf7e1840d98eb19856f91cf Mon Sep 17 00:00:00 2001 From: Valeriu Predoi Date: Thu, 16 Apr 2026 16:13:32 +0100 Subject: [PATCH 3/4] made elements dynamic --- pyproject.toml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 85881db..cc26672 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,13 +7,15 @@ build-backend = "setuptools.build_meta" [project] name = "p5rem" -version = "0.1.0" description = "Remote HDF5 chunk serving and reduction over SSH" -readme = "README.md" license = {text = "BSD-3-Clause"} authors = [ {name = "Bryan Lawrence", email = "bryan.lawrence@ncas.ac.uk"} ] +dynamic = [ + "readme", + "version", +] requires-python = ">=3.10" dependencies = [ "pyfive>=0.5.0", @@ -34,6 +36,12 @@ dev = [ where = ["."] include = ["p5rem*"] +[tool.setuptools_scm] +version_scheme = "release-branch-semver" + +[tool.setuptools.dynamic] +readme = {file = "README.md", content-type = "text/markdown"} + [tool.pytest.ini_options] markers = [ "integration: optional integration tests requiring external services", From 0342432fc1862acd53bae0c2d651c59238884bc5 Mon Sep 17 00:00:00 2001 From: Valeriu Predoi Date: Thu, 16 Apr 2026 16:13:43 +0100 Subject: [PATCH 4/4] semver versioning --- p5rem/__init__.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/p5rem/__init__.py b/p5rem/__init__.py index fbfc0ec..dcec76e 100644 --- a/p5rem/__init__.py +++ b/p5rem/__init__.py @@ -23,6 +23,9 @@ from .proxy import rDataset, rFile from .session import Session, p5remSession +from importlib.metadata import version, PackageNotFoundError + + __all__ = [ "BootstrappedProcess", "BootstrapError", @@ -36,4 +39,16 @@ "p5remSession", "rDataset", "rFile", -] \ No newline at end of file +] + + +try: + __version__ = version("p5rem") +except PackageNotFoundError as exc: + msg = ( + "p5rem package not found, please run `pip install -e .` before " + "importing the package." + ) + raise PackageNotFoundError( + msg, + ) from exc \ No newline at end of file