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 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 diff --git a/pyproject.toml b/pyproject.toml index e18ed07..cc26672 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,16 +1,21 @@ [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" -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", @@ -31,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",