diff --git a/__templates__/driver/pyproject.toml.tmpl b/__templates__/driver/pyproject.toml.tmpl index e7dbb11ee..23cc08618 100644 --- a/__templates__/driver/pyproject.toml.tmpl +++ b/__templates__/driver/pyproject.toml.tmpl @@ -1,6 +1,6 @@ [project] name = "jumpstarter-driver-${DRIVER_NAME}" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "Add your description here" readme = "README.md" license = "Apache-2.0" @@ -8,18 +8,15 @@ authors = [ { name = "${AUTHOR_NAME}", email = "${AUTHOR_EMAIL}" } ] requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ "anyio>=4.10.0", - "jumpstarter", + "jumpstarter=={{ version }}", ] [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../'} - -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" +source = "uv-dynamic-versioning" [tool.pytest.ini_options] addopts = "--cov --cov-report=html --cov-report=xml" @@ -29,12 +26,9 @@ testpaths = ["jumpstarter_driver_${DRIVER_NAME}"] asyncio_mode = "auto" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" - [dependency-groups] dev = [ "pytest-cov>=6.0.0", diff --git a/packages/hatch-pin-jumpstarter/README.md b/packages/hatch-pin-jumpstarter/README.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/packages/hatch-pin-jumpstarter/pyproject.toml b/packages/hatch-pin-jumpstarter/pyproject.toml deleted file mode 100644 index 64e8c36aa..000000000 --- a/packages/hatch-pin-jumpstarter/pyproject.toml +++ /dev/null @@ -1,28 +0,0 @@ -[project] -name = "hatch-pin-jumpstarter" -version = "0.1.0" -description = "Hatch plugin that pins jumpstarter packages in the monorepo" -readme = "README.md" -authors = [ - { name = "Nick Cao", email = "nickcao@nichi.co" } -] -requires-python = ">=3.11" -dependencies = [ - "hatchling>=1.27.0", - "packaging>=24.2", - "tomli>=2.2.1", - "tomli-w>=1.2.0", -] - -[build-system] -requires = ["hatchling"] -build-backend = "hatchling.build" - -[dependency-groups] -dev = [ - "pytest>=8.3.5", - "pytest-cov>=6.1.1", -] - -[project.entry-points.hatch] -pin_jumpstarter = "hatch_pin_jumpstarter" diff --git a/packages/hatch-pin-jumpstarter/src/hatch_pin_jumpstarter/__init__.py b/packages/hatch-pin-jumpstarter/src/hatch_pin_jumpstarter/__init__.py deleted file mode 100644 index f2daeab8f..000000000 --- a/packages/hatch-pin-jumpstarter/src/hatch_pin_jumpstarter/__init__.py +++ /dev/null @@ -1,49 +0,0 @@ -import os -from pathlib import Path -from tempfile import NamedTemporaryFile - -import tomli -import tomli_w -from hatchling.builders.hooks.plugin.interface import BuildHookInterface -from hatchling.plugin import hookimpl -from packaging.requirements import Requirement -from packaging.specifiers import SpecifierSet - - -class PinJumpstarter(BuildHookInterface): - PLUGIN_NAME = "pin_jumpstarter" - - def initialize(self, version, build_data): - if self.target_name != "sdist": - return - - pyproject = Path(self.root) / "pyproject.toml" - - with pyproject.open("rb") as f: - metadata = tomli.load(f) - - if "project" in metadata and "dependencies" in metadata["project"]: - for i, dep in enumerate(metadata["project"]["dependencies"]): - req = Requirement(dep) - if req.name.startswith("jumpstarter"): - req.specifier &= SpecifierSet(f"=={self.metadata.version}") - metadata["project"]["dependencies"][i] = str(req) - - f = NamedTemporaryFile(delete=False) - tomli_w.dump(metadata, f) - f.close() - - build_data["__hatch_pin_jumpstarter_tempfile"] = f - build_data["force_include"][f.name] = "pyproject.toml" - - def finalize(self, version, build_data, artifact_path): - if self.target_name != "sdist": - return - - f = build_data["__hatch_pin_jumpstarter_tempfile"] - os.unlink(f.name) - - -@hookimpl -def hatch_register_build_hook(): - return PinJumpstarter diff --git a/packages/hatch-pin-jumpstarter/src/hatch_pin_jumpstarter/py.typed b/packages/hatch-pin-jumpstarter/src/hatch_pin_jumpstarter/py.typed deleted file mode 100644 index e69de29bb..000000000 diff --git a/packages/jumpstarter-all/pyproject.toml b/packages/jumpstarter-all/pyproject.toml index fd4c17cd4..b67f24001 100644 --- a/packages/jumpstarter-all/pyproject.toml +++ b/packages/jumpstarter-all/pyproject.toml @@ -1,60 +1,55 @@ [project] name = "jumpstarter-all" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "Jumpstarter meta-package which will install all packages" authors = [{ name = "Miguel Angel Ajo", email = "majopela@redhat.com" }] readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ - "jumpstarter", - "jumpstarter-cli", - "jumpstarter-cli-admin", - "jumpstarter-cli-common", - "jumpstarter-cli-driver", - "jumpstarter-driver-can", - "jumpstarter-driver-composite", - "jumpstarter-driver-corellium", - "jumpstarter-driver-dutlink", - "jumpstarter-driver-flashers", - "jumpstarter-driver-http", - "jumpstarter-driver-network", - "jumpstarter-driver-opendal", - "jumpstarter-driver-power", - "jumpstarter-driver-probe-rs", - "jumpstarter-driver-pyserial", - "jumpstarter-driver-qemu", - "jumpstarter-driver-gpiod", - "jumpstarter-driver-ridesx", - "jumpstarter-driver-sdwire", - "jumpstarter-driver-shell", - "jumpstarter-driver-snmp", - "jumpstarter-driver-ssh", - "jumpstarter-driver-tftp", - "jumpstarter-driver-tmt", - "jumpstarter-driver-uboot", - "jumpstarter-driver-ustreamer", - "jumpstarter-driver-yepkit", - "jumpstarter-imagehash", - "jumpstarter-kubernetes", - "jumpstarter-protocol", - "jumpstarter-testing", + "jumpstarter=={{ version }}", + "jumpstarter-cli=={{ version }}", + "jumpstarter-cli-admin=={{ version }}", + "jumpstarter-cli-common=={{ version }}", + "jumpstarter-cli-driver=={{ version }}", + "jumpstarter-driver-can=={{ version }}", + "jumpstarter-driver-composite=={{ version }}", + "jumpstarter-driver-corellium=={{ version }}", + "jumpstarter-driver-dutlink=={{ version }}", + "jumpstarter-driver-flashers=={{ version }}", + "jumpstarter-driver-http=={{ version }}", + "jumpstarter-driver-network=={{ version }}", + "jumpstarter-driver-opendal=={{ version }}", + "jumpstarter-driver-power=={{ version }}", + "jumpstarter-driver-probe-rs=={{ version }}", + "jumpstarter-driver-pyserial=={{ version }}", + "jumpstarter-driver-qemu=={{ version }}", + "jumpstarter-driver-gpiod=={{ version }}", + "jumpstarter-driver-ridesx=={{ version }}", + "jumpstarter-driver-sdwire=={{ version }}", + "jumpstarter-driver-shell=={{ version }}", + "jumpstarter-driver-snmp=={{ version }}", + "jumpstarter-driver-ssh=={{ version }}", + "jumpstarter-driver-tftp=={{ version }}", + "jumpstarter-driver-tmt=={{ version }}", + "jumpstarter-driver-uboot=={{ version }}", + "jumpstarter-driver-ustreamer=={{ version }}", + "jumpstarter-driver-yepkit=={{ version }}", + "jumpstarter-imagehash=={{ version }}", + "jumpstarter-kubernetes=={{ version }}", + "jumpstarter-protocol=={{ version }}", + "jumpstarter-testing=={{ version }}", ] [tool.hatch.build.targets.wheel] packages = ["jumpstarter_all"] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-cli-admin/pyproject.toml b/packages/jumpstarter-cli-admin/pyproject.toml index c8278da56..d8d8452d2 100644 --- a/packages/jumpstarter-cli-admin/pyproject.toml +++ b/packages/jumpstarter-cli-admin/pyproject.toml @@ -1,15 +1,17 @@ [project] name = "jumpstarter-cli-admin" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "" authors = [{ name = "Kirk Brauer", email = "kbrauer@hatci.com" }] readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ "grpcio-reflection>=1.60.0", - "jumpstarter-cli-common", - "jumpstarter-kubernetes", + "jumpstarter-cli-common=={{ version }}", + "jumpstarter-kubernetes=={{ version }}", ] [dependency-groups] @@ -26,17 +28,10 @@ jmp-admin = "jumpstarter_cli_admin:admin" [tool.hatch.build.targets.wheel] packages = ["jumpstarter_cli_admin"] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-cli-common/pyproject.toml b/packages/jumpstarter-cli-common/pyproject.toml index a52e3d0c2..5fef05b7e 100644 --- a/packages/jumpstarter-cli-common/pyproject.toml +++ b/packages/jumpstarter-cli-common/pyproject.toml @@ -1,13 +1,15 @@ [project] name = "jumpstarter-cli-common" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "" authors = [{ name = "Kirk Brauer", email = "kbrauer@hatci.com" }] readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ - "jumpstarter", + "jumpstarter=={{ version }}", "pydantic>=2.8.2", "click>=8.1.7.2", "authlib>=1.4.1", @@ -28,17 +30,10 @@ dev = [ [tool.hatch.build.targets.wheel] packages = ["jumpstarter_cli_common"] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-cli-driver/pyproject.toml b/packages/jumpstarter-cli-driver/pyproject.toml index c1856a505..bd3d5fdc9 100644 --- a/packages/jumpstarter-cli-driver/pyproject.toml +++ b/packages/jumpstarter-cli-driver/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "jumpstarter-cli-driver" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "" authors = [ { name = "Nick Cao", email = "ncao@redhat.com" }, @@ -10,7 +10,9 @@ authors = [ readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11" -dependencies = ["jumpstarter-cli-common", "click>=8.1.7.2"] + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] +dependencies = ["jumpstarter-cli-common=={{ version }}", "click>=8.1.7.2"] [dependency-groups] dev = [ @@ -26,17 +28,10 @@ jmp-driver = "jumpstarter_cli_driver:driver" [tool.hatch.build.targets.wheel] packages = ["jumpstarter_cli_driver"] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-cli/pyproject.toml b/packages/jumpstarter-cli/pyproject.toml index c395bb589..cbd426f1f 100644 --- a/packages/jumpstarter-cli/pyproject.toml +++ b/packages/jumpstarter-cli/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "jumpstarter-cli" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "" authors = [ { name = "Nick Cao", email = "ncao@redhat.com" }, @@ -10,9 +10,11 @@ authors = [ readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ - "jumpstarter-cli-admin", - "jumpstarter-cli-driver", + "jumpstarter-cli-admin=={{ version }}", + "jumpstarter-cli-driver=={{ version }}", ] [dependency-groups] @@ -30,17 +32,10 @@ j = "jumpstarter_cli.j:j" [tool.hatch.build.targets.wheel] packages = ["jumpstarter_cli"] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-driver-can/pyproject.toml b/packages/jumpstarter-driver-can/pyproject.toml index 97b4b463a..3a5b491e8 100644 --- a/packages/jumpstarter-driver-can/pyproject.toml +++ b/packages/jumpstarter-driver-can/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "jumpstarter-driver-can" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "" authors = [ { name = "Miguel Angel Ajo Pelayo", email = "majopela@redhat.com" }, @@ -10,7 +10,9 @@ authors = [ readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11" -dependencies = ["jumpstarter", "python-can>=4.5.0", "can-isotp>=2.0.6"] + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] +dependencies = ["jumpstarter=={{ version }}", "python-can>=4.5.0", "can-isotp>=2.0.6"] [project.entry-points."jumpstarter.drivers"] Can = "jumpstarter_driver_can.driver:Can" @@ -20,17 +22,10 @@ IsoTpSocket = "jumpstarter_driver_can.driver:IsoTpSocket" [dependency-groups] dev = ["pytest>=8.3.2", "pytest-cov>=5.0.0"] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-driver-composite/pyproject.toml b/packages/jumpstarter-driver-composite/pyproject.toml index bd1e25e58..40d36bfcc 100644 --- a/packages/jumpstarter-driver-composite/pyproject.toml +++ b/packages/jumpstarter-driver-composite/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "jumpstarter-driver-composite" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "" authors = [ { name = "Miguel Angel Ajo Pelayo", email = "majopela@redhat.com" }, @@ -9,7 +9,9 @@ authors = [ readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11" -dependencies = ["jumpstarter", "click>=8.1.7.2"] + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] +dependencies = ["jumpstarter=={{ version }}", "click>=8.1.7.2"] [project.entry-points."jumpstarter.drivers"] Composite = "jumpstarter_driver_composite.driver:Composite" @@ -18,17 +20,10 @@ Proxy = "jumpstarter_driver_composite.driver:Proxy" [dependency-groups] dev = ["pytest>=8.3.2", "pytest-cov>=5.0.0", "jumpstarter-driver-power"] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-driver-corellium/pyproject.toml b/packages/jumpstarter-driver-corellium/pyproject.toml index 05810dcc1..ef35f0bce 100644 --- a/packages/jumpstarter-driver-corellium/pyproject.toml +++ b/packages/jumpstarter-driver-corellium/pyproject.toml @@ -1,17 +1,19 @@ [project] name = "jumpstarter_driver_corellium" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "" authors = [{ name = "Leonardo Rossetti", email = "lrossett@redhat.com" }] readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ - "jumpstarter", - "jumpstarter-driver-composite", - "jumpstarter-driver-power", - "jumpstarter-driver-network", - "jumpstarter-driver-pyserial", + "jumpstarter=={{ version }}", + "jumpstarter-driver-composite=={{ version }}", + "jumpstarter-driver-power=={{ version }}", + "jumpstarter-driver-network=={{ version }}", + "jumpstarter-driver-pyserial=={{ version }}", "click>=8.1.7.2", ] @@ -21,17 +23,10 @@ Corellium = "jumpstarter_driver_corellium.driver:Corellium" [dependency-groups] dev = ["pytest>=8.3.2", "pytest-cov>=5.0.0", "trio>=0.28.0", "requests_mock", "pytest-asyncio>=0.25.3"] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-driver-dutlink/pyproject.toml b/packages/jumpstarter-driver-dutlink/pyproject.toml index acc77f4e8..72307e4ef 100644 --- a/packages/jumpstarter-driver-dutlink/pyproject.toml +++ b/packages/jumpstarter-driver-dutlink/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "jumpstarter-driver-dutlink" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "" authors = [ { name = "Miguel Angel Ajo Pelayo", email = "majopela@redhat.com" }, @@ -10,13 +10,15 @@ authors = [ readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ - "jumpstarter", - "jumpstarter-driver-composite", - "jumpstarter-driver-pyserial", - "jumpstarter-driver-opendal", - "jumpstarter-driver-network", - "jumpstarter-driver-power", + "jumpstarter=={{ version }}", + "jumpstarter-driver-composite=={{ version }}", + "jumpstarter-driver-pyserial=={{ version }}", + "jumpstarter-driver-opendal=={{ version }}", + "jumpstarter-driver-network=={{ version }}", + "jumpstarter-driver-power=={{ version }}", "pyudev>=0.24.3", "pyusb>=1.2.1", "click>=8.1.7.2", @@ -31,17 +33,10 @@ DutlinkPower = "jumpstarter_driver_dutlink.driver:DutlinkPower" [dependency-groups] dev = ["pytest>=8.3.2", "pytest-cov>=5.0.0"] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-driver-energenie/pyproject.toml b/packages/jumpstarter-driver-energenie/pyproject.toml index 0e5f22e1c..19fa7fa52 100644 --- a/packages/jumpstarter-driver-energenie/pyproject.toml +++ b/packages/jumpstarter-driver-energenie/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "jumpstarter-driver-energenie" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "Energenie is an advanced surge protector with power management features" readme = "README.md" license = { text = "Apache-2.0" } @@ -8,10 +8,12 @@ authors = [ { name = "Enric Balletbo i Serra", email = "eballetbo@redhat.com" } ] requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ "anyio>=4.10.0", - "jumpstarter", - "jumpstarter-driver-power" + "jumpstarter=={{ version }}", + "jumpstarter-driver-power=={{ version }}" ] [project.entry-points."jumpstarter.drivers"] @@ -24,14 +26,9 @@ dev = [ "pytest-httpserver>=1.0.0", ] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../'} +source = "uv-dynamic-versioning" [build-system] -requires = ["hatchling", "hatch-vcs"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" diff --git a/packages/jumpstarter-driver-flashers/pyproject.toml b/packages/jumpstarter-driver-flashers/pyproject.toml index 2127a6fae..c34c5e8e1 100644 --- a/packages/jumpstarter-driver-flashers/pyproject.toml +++ b/packages/jumpstarter-driver-flashers/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "jumpstarter-driver-flashers" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "Jumpstarter software defined flasher driver" readme = "README.md" license = "Apache-2.0" @@ -9,25 +9,22 @@ authors = [ { name = "Miguel Angel Ajo", email = "majopela@redhat.com" }, ] requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ "oras>=0.2.25", "anyio>=4.10.0", - "jumpstarter", - "jumpstarter-driver-opendal", - "jumpstarter-driver-pyserial", - "jumpstarter-driver-http", - "jumpstarter-driver-tftp", - "jumpstarter-driver-power", - "jumpstarter-driver-uboot", + "jumpstarter=={{ version }}", + "jumpstarter-driver-opendal=={{ version }}", + "jumpstarter-driver-pyserial=={{ version }}", + "jumpstarter-driver-http=={{ version }}", + "jumpstarter-driver-tftp=={{ version }}", + "jumpstarter-driver-power=={{ version }}", + "jumpstarter-driver-uboot=={{ version }}", ] [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } - -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" +source = "uv-dynamic-versioning" [tool.pytest.ini_options] addopts = "--cov --cov-report=html --cov-report=xml" @@ -40,11 +37,9 @@ jumpstarter-driver-uboot = { workspace = true } #asyncio_mode = "auto" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" [dependency-groups] dev = ["pytest-cov>=6.0.0", "pytest>=8.3.3"] -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-driver-gpiod/pyproject.toml b/packages/jumpstarter-driver-gpiod/pyproject.toml index 5fb933d80..9ca4323a7 100644 --- a/packages/jumpstarter-driver-gpiod/pyproject.toml +++ b/packages/jumpstarter-driver-gpiod/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "jumpstarter-driver-gpiod" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "" authors = [ { name = "Miguel Angel Ajo Pelayo", email = "majopela@redhat.com" }, @@ -10,7 +10,9 @@ authors = [ readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11" -dependencies = ["jumpstarter", "jumpstarter-driver-power", "click>=8.1.7.2", "gpiod; platform_system == 'Linux'"] + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] +dependencies = ["jumpstarter=={{ version }}", "jumpstarter-driver-power=={{ version }}", "click>=8.1.7.2", "gpiod; platform_system == 'Linux'"] [project.entry-points."jumpstarter.drivers"] DigitalInput = "jumpstarter_driver_gpiod.driver:DigitalInput" @@ -20,17 +22,10 @@ PowerSwitch = "jumpstarter_driver_gpiod.driver:PowerSwitch" [dependency-groups] dev = ["pytest>=8.3.2", "pytest-cov>=5.0.0"] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-driver-http-power/pyproject.toml b/packages/jumpstarter-driver-http-power/pyproject.toml index 5791f9a25..749f74ef7 100644 --- a/packages/jumpstarter-driver-http-power/pyproject.toml +++ b/packages/jumpstarter-driver-http-power/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "jumpstarter-driver-http-power" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "A power driver for HTTP enabled PDUs or smart sockets, like the Shelly splug" readme = "README.md" license = "Apache-2.0" @@ -8,20 +8,17 @@ authors = [ { name = "Miguel Angel Ajo", email = "majopela@redhat.com" } ] requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ "anyio>=4.10.0", - "jumpstarter", - "jumpstarter-driver-power", + "jumpstarter=={{ version }}", + "jumpstarter-driver-power=={{ version }}", ] [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } - -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" +source = "uv-dynamic-versioning" [tool.pytest.ini_options] addopts = "--cov --cov-report=html --cov-report=xml" @@ -30,11 +27,9 @@ log_cli_level = "INFO" testpaths = ["jumpstarter_driver_http_power"] [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" [dependency-groups] dev = [ diff --git a/packages/jumpstarter-driver-http/pyproject.toml b/packages/jumpstarter-driver-http/pyproject.toml index 55d6053f6..a8ce0c1ba 100644 --- a/packages/jumpstarter-driver-http/pyproject.toml +++ b/packages/jumpstarter-driver-http/pyproject.toml @@ -1,26 +1,23 @@ [project] name = "jumpstarter-driver-http" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "Exporter HTTP service driver" readme = "README.md" license = "Apache-2.0" authors = [{ name = "Benny Zlotnik", email = "bzlotnik@redhat.com" }] requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ "anyio>=4.10.0", - "jumpstarter", - "jumpstarter-driver-composite", - "jumpstarter-driver-opendal", + "jumpstarter=={{ version }}", + "jumpstarter-driver-composite=={{ version }}", + "jumpstarter-driver-opendal=={{ version }}", "yarl>=1.18.3", ] [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } - -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" +source = "uv-dynamic-versioning" [tool.pytest.ini_options] asyncio_mode = "strict" @@ -28,7 +25,7 @@ asyncio_default_fixture_loop_scope = "function" testpaths = ["src"] [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" [dependency-groups] @@ -39,5 +36,3 @@ dev = [ "pytest-asyncio>=0.24.0", ] -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-driver-iscsi/pyproject.toml b/packages/jumpstarter-driver-iscsi/pyproject.toml index e8ee9cc7e..c1b1bc8f8 100644 --- a/packages/jumpstarter-driver-iscsi/pyproject.toml +++ b/packages/jumpstarter-driver-iscsi/pyproject.toml @@ -1,27 +1,24 @@ [project] name = "jumpstarter-driver-iscsi" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "Exporter ISCSI service driver" readme = "README.md" authors = [{ name = "Benny Zlotnik", email = "bzlotnik@redhat.com" }] requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ "anyio>=4.10.0", - "jumpstarter", - "jumpstarter-driver-composite", - "jumpstarter-driver-opendal", + "jumpstarter=={{ version }}", + "jumpstarter-driver-composite=={{ version }}", + "jumpstarter-driver-opendal=={{ version }}", "click>=8.1.8", "rtslib-fb", "requests>=2.32.5" ] [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } - -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" +source = "uv-dynamic-versioning" [tool.pytest.ini_options] asyncio_mode = "strict" @@ -29,7 +26,7 @@ asyncio_default_fixture_loop_scope = "function" testpaths = ["src"] [build-system] -requires = ["hatchling", "hatch-vcs"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" [dependency-groups] diff --git a/packages/jumpstarter-driver-network/pyproject.toml b/packages/jumpstarter-driver-network/pyproject.toml index fcf695120..d04828034 100644 --- a/packages/jumpstarter-driver-network/pyproject.toml +++ b/packages/jumpstarter-driver-network/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "jumpstarter-driver-network" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "" authors = [ { name = "Miguel Angel Ajo Pelayo", email = "majopela@redhat.com" }, @@ -9,8 +9,10 @@ authors = [ readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ - "jumpstarter", + "jumpstarter=={{ version }}", "pexpect>=4.9.0", "fabric>=3.2.2", "wsproto>=1.2.0", @@ -40,17 +42,10 @@ dev = [ "websocket-client>=1.8.0", ] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-driver-opendal/pyproject.toml b/packages/jumpstarter-driver-opendal/pyproject.toml index 316e18105..b47b04420 100644 --- a/packages/jumpstarter-driver-opendal/pyproject.toml +++ b/packages/jumpstarter-driver-opendal/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "jumpstarter-driver-opendal" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "" authors = [ { name = "Miguel Angel Ajo Pelayo", email = "majopela@redhat.com" }, @@ -9,7 +9,9 @@ authors = [ readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11" -dependencies = ["jumpstarter", "opendal>=0.45.8", "click>=8.1.7.2"] + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] +dependencies = ["jumpstarter=={{ version }}", "opendal>=0.45.8", "click>=8.1.7.2"] [project.entry-points."jumpstarter.adapters"] Opendal = "jumpstarter_driver_opendal.adapters:OpendalAdapter" @@ -17,17 +19,10 @@ Opendal = "jumpstarter_driver_opendal.adapters:OpendalAdapter" [dependency-groups] dev = ["pytest>=8.3.2", "pytest-cov>=5.0.0"] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-driver-power/pyproject.toml b/packages/jumpstarter-driver-power/pyproject.toml index 82ae4d2b3..a4cc285c3 100644 --- a/packages/jumpstarter-driver-power/pyproject.toml +++ b/packages/jumpstarter-driver-power/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "jumpstarter-driver-power" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "" authors = [ { name = "Miguel Angel Ajo Pelayo", email = "majopela@redhat.com" }, @@ -9,7 +9,9 @@ authors = [ readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11" -dependencies = ["jumpstarter", "pyserial>=3.5", "click>=8.1.7.2"] + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] +dependencies = ["jumpstarter=={{ version }}", "pyserial>=3.5", "click>=8.1.7.2"] [project.entry-points."jumpstarter.drivers"] MockPower = "jumpstarter_driver_power.driver:MockPower" @@ -17,17 +19,10 @@ MockPower = "jumpstarter_driver_power.driver:MockPower" [dependency-groups] dev = ["pytest>=8.3.2", "pytest-cov>=5.0.0", "trio>=0.28.0"] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-driver-probe-rs/pyproject.toml b/packages/jumpstarter-driver-probe-rs/pyproject.toml index 16243c0bb..c13166952 100644 --- a/packages/jumpstarter-driver-probe-rs/pyproject.toml +++ b/packages/jumpstarter-driver-probe-rs/pyproject.toml @@ -1,25 +1,22 @@ [project] name = "jumpstarter-driver-probe-rs" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "rust probe-rs driver for jumpstarter" readme = "README.md" license = "Apache-2.0" authors = [{ name = "Miguel Angel Ajo", email = "miguelangel@ajo.es" }] requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ "anyio>=4.10.0", "click>=8.1.7.2", - "jumpstarter", - "jumpstarter-driver-opendal", + "jumpstarter=={{ version }}", + "jumpstarter-driver-opendal=={{ version }}", ] [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } - -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" +source = "uv-dynamic-versioning" [tool.pytest.ini_options] addopts = "--cov --cov-report=html --cov-report=xml" @@ -28,11 +25,9 @@ log_cli_level = "INFO" testpaths = ["jumpstarter_driver_probe_rs"] [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" [dependency-groups] dev = ["pytest-cov>=6.0.0", "pytest>=8.3.3"] -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-driver-pyserial/pyproject.toml b/packages/jumpstarter-driver-pyserial/pyproject.toml index 24b8db141..1c8ed5b4c 100644 --- a/packages/jumpstarter-driver-pyserial/pyproject.toml +++ b/packages/jumpstarter-driver-pyserial/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "jumpstarter-driver-pyserial" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "" authors = [ { name = "Miguel Angel Ajo Pelayo", email = "majopela@redhat.com" }, @@ -9,9 +9,11 @@ authors = [ readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ - "jumpstarter", - "jumpstarter-driver-network", + "jumpstarter=={{ version }}", + "jumpstarter-driver-network=={{ version }}", "pyserial>=3.5", "click>=8.1.7.2", "pyserial-asyncio>=0.6", @@ -25,17 +27,10 @@ dev = [ "types-pyserial>=3.5.0.20250130", ] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-driver-qemu/pyproject.toml b/packages/jumpstarter-driver-qemu/pyproject.toml index c44f78ec8..88a803c22 100644 --- a/packages/jumpstarter-driver-qemu/pyproject.toml +++ b/packages/jumpstarter-driver-qemu/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "jumpstarter-driver-qemu" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "" authors = [ { name = "Nick Cao", email = "ncao@redhat.com" }, @@ -10,13 +10,15 @@ authors = [ readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ - "jumpstarter", - "jumpstarter-driver-composite", - "jumpstarter-driver-network", - "jumpstarter-driver-opendal", - "jumpstarter-driver-power", - "jumpstarter-driver-pyserial", + "jumpstarter=={{ version }}", + "jumpstarter-driver-composite=={{ version }}", + "jumpstarter-driver-network=={{ version }}", + "jumpstarter-driver-opendal=={{ version }}", + "jumpstarter-driver-power=={{ version }}", + "jumpstarter-driver-pyserial=={{ version }}", "pyyaml>=6.0.2", "qemu-qmp>=0.0.3", ] @@ -24,13 +26,8 @@ dependencies = [ [dependency-groups] dev = ["pytest>=8.3.2", "pytest-cov>=5.0.0", "requests>=2.32.3"] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [tool.uv.sources] jumpstarter-driver-opendal = { workspace = true } @@ -40,8 +37,6 @@ jumpstarter-driver-pyserial = { workspace = true } jumpstarter-driver-power = { workspace = true } [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-driver-ridesx/pyproject.toml b/packages/jumpstarter-driver-ridesx/pyproject.toml index 576e10858..5a627478d 100644 --- a/packages/jumpstarter-driver-ridesx/pyproject.toml +++ b/packages/jumpstarter-driver-ridesx/pyproject.toml @@ -1,24 +1,21 @@ [project] name = "jumpstarter-driver-ridesx" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "Jumpstarter driver for Qualcomm RideSX" readme = "README.md" license = "Apache-2.0" authors = [{ name = "Benny Zlotnik", email = "bzlotnik@redhat.com" }] requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ - "jumpstarter", - "jumpstarter-driver-opendal", - "jumpstarter-driver-pyserial", + "jumpstarter=={{ version }}", + "jumpstarter-driver-opendal=={{ version }}", + "jumpstarter-driver-pyserial=={{ version }}", ] [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } - -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" +source = "uv-dynamic-versioning" [tool.pytest.ini_options] addopts = "--cov --cov-report=html --cov-report=xml" @@ -30,11 +27,9 @@ testpaths = ["jumpstarter_driver_ridesx"] #asyncio_mode = "auto" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" [dependency-groups] dev = ["pytest-cov>=6.0.0", "pytest>=8.3.3"] -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-driver-sdwire/pyproject.toml b/packages/jumpstarter-driver-sdwire/pyproject.toml index 9333a68ee..38180931d 100644 --- a/packages/jumpstarter-driver-sdwire/pyproject.toml +++ b/packages/jumpstarter-driver-sdwire/pyproject.toml @@ -1,14 +1,16 @@ [project] name = "jumpstarter-driver-sdwire" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "" authors = [{ name = "Nick Cao", email = "ncao@redhat.com" }] readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ - "jumpstarter", - "jumpstarter-driver-opendal", + "jumpstarter=={{ version }}", + "jumpstarter-driver-opendal=={{ version }}", "pyusb>=1.2.1", "pyudev>=0.24.3", ] @@ -19,17 +21,10 @@ SDWire = "jumpstarter_driver_sdwire.driver:SDWire" [dependency-groups] dev = ["pytest>=8.3.2", "pytest-cov>=5.0.0"] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-driver-shell/pyproject.toml b/packages/jumpstarter-driver-shell/pyproject.toml index ca2641272..fb15aaf4a 100644 --- a/packages/jumpstarter-driver-shell/pyproject.toml +++ b/packages/jumpstarter-driver-shell/pyproject.toml @@ -1,12 +1,14 @@ [project] name = "jumpstarter-driver-shell" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "Jumpstarter shell driver, for running controlled shell commands on the exporter." readme = "README.md" authors = [{ name = "Miguel Angel Ajo", email = "miguelangel@ajo.es" }] requires-python = ">=3.11" license = "Apache-2.0" -dependencies = ["anyio>=4.10.0", "jumpstarter", "click>=8.1.8"] + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] +dependencies = ["anyio>=4.10.0", "jumpstarter=={{ version }}", "click>=8.1.8"] [project.entry-points."jumpstarter.drivers"] Shell = "jumpstarter_driver_shell.driver:Shell" @@ -21,17 +23,10 @@ testpaths = ["jumpstarter_driver_shell"] dev = ["pytest-cov>=6.0.0", "pytest>=8.3.3"] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-driver-snmp/pyproject.toml b/packages/jumpstarter-driver-snmp/pyproject.toml index 9cb1a54b5..6553899f2 100644 --- a/packages/jumpstarter-driver-snmp/pyproject.toml +++ b/packages/jumpstarter-driver-snmp/pyproject.toml @@ -1,16 +1,18 @@ [project] name = "jumpstarter-driver-snmp" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "SNMP driver" readme = "README.md" requires-python = ">=3.11" license = "Apache-2.0" authors = [{ name = "Benny Zlotnik", email = "bzlotnik@redhat.com" }] + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ "click>=8.1.8", - "jumpstarter", - "jumpstarter-driver-power", + "jumpstarter=={{ version }}", + "jumpstarter-driver-power=={{ version }}", "pysnmp==7.1.16", ] @@ -31,20 +33,13 @@ log_cli_level = "INFO" testpaths = ["jumpstarter_driver_snmp"] asyncio_mode = "auto" -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" [tool.uv.sources] jumpstarter-driver-power = { workspace = true } diff --git a/packages/jumpstarter-driver-ssh/pyproject.toml b/packages/jumpstarter-driver-ssh/pyproject.toml index ee557bc96..9b7252e27 100644 --- a/packages/jumpstarter-driver-ssh/pyproject.toml +++ b/packages/jumpstarter-driver-ssh/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "jumpstarter-driver-ssh" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "SSH wrapper driver for Jumpstarter that provides SSH CLI functionality" readme = "README.md" license = "Apache-2.0" @@ -8,21 +8,18 @@ authors = [ { name = "Miguel Angel Ajo Pelayo", email = "miguelangel@ajo.es" } ] requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ "anyio>=4.10.0", "click>=8.0.0", - "jumpstarter", - "jumpstarter-driver-composite", - "jumpstarter-driver-network", + "jumpstarter=={{ version }}", + "jumpstarter-driver-composite=={{ version }}", + "jumpstarter-driver-network=={{ version }}", ] [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../'} - -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" +source = "uv-dynamic-versioning" [tool.pytest.ini_options] addopts = "--cov --cov-report=html --cov-report=xml" @@ -32,11 +29,9 @@ testpaths = ["jumpstarter_driver_ssh"] asyncio_mode = "auto" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" [dependency-groups] dev = [ diff --git a/packages/jumpstarter-driver-tasmota/pyproject.toml b/packages/jumpstarter-driver-tasmota/pyproject.toml index ae32a1193..a193d386c 100644 --- a/packages/jumpstarter-driver-tasmota/pyproject.toml +++ b/packages/jumpstarter-driver-tasmota/pyproject.toml @@ -1,15 +1,17 @@ [project] name = "jumpstarter-driver-tasmota" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "Jumpstarter driver for controlling Tasmota-compatible devices via MQTT" readme = "README.md" license = "Apache-2.0" authors = [{ name = "Nick Cao", email = "nickcao@nichi.co" }] requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ "anyio>=4.10.0", - "jumpstarter_driver_power", - "jumpstarter", + "jumpstarter_driver_power=={{ version }}", + "jumpstarter=={{ version }}", "paho-mqtt>=2.1.0", ] @@ -18,12 +20,7 @@ TasmotaPower = "jumpstarter_driver_tasmota.driver:TasmotaPower" [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } - -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" +source = "uv-dynamic-versioning" [tool.pytest.ini_options] addopts = "--cov --cov-report=html --cov-report=xml" @@ -32,11 +29,9 @@ log_cli_level = "INFO" testpaths = ["jumpstarter_driver_tasmota"] [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" [dependency-groups] dev = [ diff --git a/packages/jumpstarter-driver-tftp/pyproject.toml b/packages/jumpstarter-driver-tftp/pyproject.toml index bb3429a7b..bc7959665 100644 --- a/packages/jumpstarter-driver-tftp/pyproject.toml +++ b/packages/jumpstarter-driver-tftp/pyproject.toml @@ -1,16 +1,18 @@ [project] name = "jumpstarter-driver-tftp" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "Add your description here" readme = "README.md" license = "Apache-2.0" authors = [{ name = "Benny Zlotnik", email = "bzlotnik@redhat.com" }] requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ "anyio>=4.10.0", - "jumpstarter", - "jumpstarter-driver-composite", - "jumpstarter-driver-opendal", + "jumpstarter=={{ version }}", + "jumpstarter-driver-composite=={{ version }}", + "jumpstarter-driver-opendal=={{ version }}", ] [dependency-groups] @@ -24,12 +26,7 @@ dev = [ [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } - -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" +source = "uv-dynamic-versioning" [tool.pytest.ini_options] log_cli = true @@ -38,8 +35,6 @@ testpaths = ["jumpstarter_driver_tftp"] asyncio_mode = "auto" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-driver-tmt/pyproject.toml b/packages/jumpstarter-driver-tmt/pyproject.toml index 30278746a..983b560da 100644 --- a/packages/jumpstarter-driver-tmt/pyproject.toml +++ b/packages/jumpstarter-driver-tmt/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "jumpstarter-driver-tmt" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "Add your description here" readme = "README.md" license = "Apache-2.0" @@ -8,20 +8,17 @@ authors = [ { name = "Miguel Angel Ajo Pelayo", email = "miguelangel@ajo.es" } ] requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ "anyio>=4.10.0", - "jumpstarter", - "jumpstarter-driver-network", - "jumpstarter-driver-composite", + "jumpstarter=={{ version }}", + "jumpstarter-driver-network=={{ version }}", + "jumpstarter-driver-composite=={{ version }}", ] [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../'} - -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" +source = "uv-dynamic-versioning" [tool.pytest.ini_options] addopts = "" @@ -31,11 +28,9 @@ testpaths = ["jumpstarter_driver_tmt"] asyncio_mode = "auto" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" [dependency-groups] dev = [ diff --git a/packages/jumpstarter-driver-uboot/pyproject.toml b/packages/jumpstarter-driver-uboot/pyproject.toml index 39f66c289..16153d05e 100644 --- a/packages/jumpstarter-driver-uboot/pyproject.toml +++ b/packages/jumpstarter-driver-uboot/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "jumpstarter-driver-uboot" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "" authors = [ { name = "Nick Cao", email = "ncao@redhat.com" }, @@ -10,7 +10,13 @@ authors = [ readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11" -dependencies = ["jumpstarter", "jumpstarter-driver-composite", "pexpect>=4.9.0"] + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] +dependencies = [ + "jumpstarter=={{ version }}", + "jumpstarter-driver-composite=={{ version }}", + "pexpect>=4.9.0", +] [dependency-groups] dev = [ @@ -22,21 +28,14 @@ dev = [ "zstandard>=0.23.0", ] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [tool.uv.sources] jumpstarter-driver-composite = { workspace = true } jumpstarter-driver-qemu = { workspace = true } [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-driver-ustreamer/pyproject.toml b/packages/jumpstarter-driver-ustreamer/pyproject.toml index ed239575f..d052181e4 100644 --- a/packages/jumpstarter-driver-ustreamer/pyproject.toml +++ b/packages/jumpstarter-driver-ustreamer/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "jumpstarter-driver-ustreamer" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "" authors = [ { name = "Nick Cao", email = "ncao@redhat.com" }, @@ -10,22 +10,17 @@ authors = [ readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11" -dependencies = ["jumpstarter", "pillow>=10.4.0"] + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] +dependencies = ["jumpstarter=={{ version }}", "pillow>=10.4.0"] [dependency-groups] dev = ["pytest>=8.3.2", "pytest-cov>=5.0.0"] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-driver-yepkit/pyproject.toml b/packages/jumpstarter-driver-yepkit/pyproject.toml index 13607a5d9..b55057204 100644 --- a/packages/jumpstarter-driver-yepkit/pyproject.toml +++ b/packages/jumpstarter-driver-yepkit/pyproject.toml @@ -1,16 +1,18 @@ [project] name = "jumpstarter-driver-yepkit" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "Add your description here" readme = "README.md" license = "Apache-2.0" authors = [{ name = "Miguel Angel Ajo", email = "miguelangel@ajo.es" }] requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ "anyio>=4.10.0", "pyusb>=1.2.1", - "jumpstarter_driver_power", - "jumpstarter", + "jumpstarter_driver_power=={{ version }}", + "jumpstarter=={{ version }}", ] [project.entry-points."jumpstarter.drivers"] @@ -18,12 +20,7 @@ Ykush = "jumpstarter_driver_yepkit.driver:Ykush" [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } - -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" +source = "uv-dynamic-versioning" [tool.pytest.ini_options] addopts = "--cov --cov-report=html --cov-report=xml" @@ -33,11 +30,9 @@ testpaths = ["jumpstarter_driver_yepkit"] asyncio_mode = "auto" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" [dependency-groups] dev = ["pytest-cov>=6.0.0", "pytest>=8.3.3"] -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-imagehash/pyproject.toml b/packages/jumpstarter-imagehash/pyproject.toml index 92e13e671..7a67d3990 100644 --- a/packages/jumpstarter-imagehash/pyproject.toml +++ b/packages/jumpstarter-imagehash/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "jumpstarter-imagehash" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "" authors = [ { name = "Miguel Angel Ajo Pelayo", email = "majopela@redhat.com" }, @@ -10,22 +10,17 @@ authors = [ readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11" -dependencies = ["imagehash>=4.3.1", "jumpstarter"] + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] +dependencies = ["imagehash>=4.3.1", "jumpstarter=={{ version }}"] [dependency-groups] dev = ["pytest>=8.3.2", "pytest-cov>=5.0.0"] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-kubernetes/pyproject.toml b/packages/jumpstarter-kubernetes/pyproject.toml index 39335b9c0..ec248b00e 100644 --- a/packages/jumpstarter-kubernetes/pyproject.toml +++ b/packages/jumpstarter-kubernetes/pyproject.toml @@ -1,13 +1,15 @@ [project] name = "jumpstarter-kubernetes" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "" authors = [{ name = "Kirk Brauer", email = "kbrauer@hatci.com" }] readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ - "jumpstarter", + "jumpstarter=={{ version }}", "pydantic>=2.8.2", "kubernetes>=31.0.0", "kubernetes-asyncio>=31.1.0", @@ -24,17 +26,10 @@ dev = [ "pytest-cov>=5.0.0", ] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-protocol/pyproject.toml b/packages/jumpstarter-protocol/pyproject.toml index 4eaa6fa9d..2d5c610a4 100644 --- a/packages/jumpstarter-protocol/pyproject.toml +++ b/packages/jumpstarter-protocol/pyproject.toml @@ -1,11 +1,13 @@ [project] name = "jumpstarter-protocol" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "" authors = [{ name = "Kirk Brauer", email = "kbrauer@hatci.com" }] readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ "googleapis-common-protos>=1.69.1", "grpcio>=1.66.1", @@ -23,17 +25,10 @@ dev = [ [tool.hatch.build.targets.wheel] packages = ["jumpstarter_protocol"] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter-testing/pyproject.toml b/packages/jumpstarter-testing/pyproject.toml index 6b3f90ace..96092ea72 100644 --- a/packages/jumpstarter-testing/pyproject.toml +++ b/packages/jumpstarter-testing/pyproject.toml @@ -1,13 +1,15 @@ [project] name = "jumpstarter-testing" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "" authors = [{ name = "Kirk Brauer", email = "kbrauer@hatci.com" }] readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ - "jumpstarter", + "jumpstarter=={{ version }}", "pytest>=8.3.2", "pytest-anyio>=0.0.0", "pytest-asyncio>=0.0.0", @@ -17,17 +19,10 @@ dependencies = [ [dependency-groups] dev = ["jumpstarter-driver-power"] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/packages/jumpstarter/pyproject.toml b/packages/jumpstarter/pyproject.toml index cb6a0f3cd..7e076a4e9 100644 --- a/packages/jumpstarter/pyproject.toml +++ b/packages/jumpstarter/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "jumpstarter" -dynamic = ["version", "urls"] +dynamic = ["version", "dependencies"] description = "" authors = [ { name = "Miguel Angel Ajo Pelayo", email = "majopela@redhat.com" }, @@ -10,8 +10,10 @@ authors = [ readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11" + +[tool.hatch.metadata.hooks.uv-dynamic-versioning] dependencies = [ - "jumpstarter-protocol", + "jumpstarter-protocol=={{ version }}", "pyyaml>=6.0.2", "anyio>=4.4.0,!=4.6.2", "aiohttp>=3.10.5", @@ -36,17 +38,10 @@ dev = [ [tool.hatch.build.targets.wheel] packages = ["jumpstarter"] -[tool.hatch.metadata.hooks.vcs.urls] -Homepage = "https://jumpstarter.dev" -source_archive = "https://github.com/jumpstarter-dev/repo/archive/{commit_hash}.zip" - [tool.hatch.version] -source = "vcs" -raw-options = { 'root' = '../../' } +source = "uv-dynamic-versioning" [build-system] -requires = ["hatchling", "hatch-vcs", "hatch-pin-jumpstarter"] +requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" -[tool.hatch.build.hooks.pin_jumpstarter] -name = "pin_jumpstarter" diff --git a/pyproject.toml b/pyproject.toml index e99fbdbf1..1e5731749 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,7 +38,6 @@ jumpstarter-imagehash = { workspace = true } jumpstarter-kubernetes = { workspace = true } jumpstarter-protocol = { workspace = true } jumpstarter-testing = { workspace = true } -hatch-pin-jumpstarter = { workspace = true } [dependency-groups] docs = [ diff --git a/uv.lock b/uv.lock index f2b1b4614..ba4623d66 100644 --- a/uv.lock +++ b/uv.lock @@ -4,7 +4,6 @@ requires-python = ">=3.11" [manifest] members = [ - "hatch-pin-jumpstarter", "jumpstarter", "jumpstarter-all", "jumpstarter-cli", @@ -858,52 +857,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" }, ] -[[package]] -name = "hatch-pin-jumpstarter" -version = "0.1.0" -source = { editable = "packages/hatch-pin-jumpstarter" } -dependencies = [ - { name = "hatchling" }, - { name = "packaging" }, - { name = "tomli" }, - { name = "tomli-w" }, -] - -[package.dev-dependencies] -dev = [ - { name = "pytest" }, - { name = "pytest-cov" }, -] - -[package.metadata] -requires-dist = [ - { name = "hatchling", specifier = ">=1.27.0" }, - { name = "packaging", specifier = ">=24.2" }, - { name = "tomli", specifier = ">=2.2.1" }, - { name = "tomli-w", specifier = ">=1.2.0" }, -] - -[package.metadata.requires-dev] -dev = [ - { name = "pytest", specifier = ">=8.3.5" }, - { name = "pytest-cov", specifier = ">=6.1.1" }, -] - -[[package]] -name = "hatchling" -version = "1.27.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "packaging" }, - { name = "pathspec" }, - { name = "pluggy" }, - { name = "trove-classifiers" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/8f/8a/cc1debe3514da292094f1c3a700e4ca25442489731ef7c0814358816bb03/hatchling-1.27.0.tar.gz", hash = "sha256:971c296d9819abb3811112fc52c7a9751c8d381898f36533bb16f9791e941fd6", size = 54983, upload-time = "2024-12-15T17:08:11.894Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/08/e7/ae38d7a6dfba0533684e0b2136817d667588ae3ec984c1a4e5df5eb88482/hatchling-1.27.0-py3-none-any.whl", hash = "sha256:d3a2f3567c4f926ea39849cdf924c7e99e6686c9c8e288ae1037c8fa2a5d937b", size = 75794, upload-time = "2024-12-15T17:08:10.364Z" }, -] - [[package]] name = "identify" version = "2.6.12" @@ -2736,15 +2689,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/15/f8/c7bd0ef12954a81a1d3cea60a13946bd9a49a0036a5927770c461eade7ae/paramiko-3.5.1-py3-none-any.whl", hash = "sha256:43b9a0501fc2b5e70680388d9346cf252cfb7d00b0667c39e80eb43a408b8f61", size = 227298, upload-time = "2025-02-04T02:37:57.672Z" }, ] -[[package]] -name = "pathspec" -version = "0.12.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043, upload-time = "2023-12-10T22:30:45Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191, upload-time = "2023-12-10T22:30:43.14Z" }, -] - [[package]] name = "pexpect" version = "4.9.0" @@ -3942,15 +3886,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257, upload-time = "2024-11-27T22:38:35.385Z" }, ] -[[package]] -name = "tomli-w" -version = "1.2.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/19/75/241269d1da26b624c0d5e110e8149093c759b7a286138f4efd61a60e75fe/tomli_w-1.2.0.tar.gz", hash = "sha256:2dd14fac5a47c27be9cd4c976af5a12d87fb1f0b4512f81d69cce3b35ae25021", size = 7184, upload-time = "2025-01-15T12:07:24.262Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/c7/18/c86eb8e0202e32dd3df50d43d7ff9854f8e0603945ff398974c1d91ac1ef/tomli_w-1.2.0-py3-none-any.whl", hash = "sha256:188306098d013b691fcadc011abd66727d3c414c571bb01b1a174ba8c983cf90", size = 6675, upload-time = "2025-01-15T12:07:22.074Z" }, -] - [[package]] name = "trio" version = "0.30.0" @@ -3968,15 +3903,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/69/8e/3f6dfda475ecd940e786defe6df6c500734e686c9cd0a0f8ef6821e9b2f2/trio-0.30.0-py3-none-any.whl", hash = "sha256:3bf4f06b8decf8d3cf00af85f40a89824669e2d033bb32469d34840edcfc22a5", size = 499194, upload-time = "2025-04-21T00:48:17.167Z" }, ] -[[package]] -name = "trove-classifiers" -version = "2025.5.9.12" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/38/04/1cd43f72c241fedcf0d9a18d0783953ee301eac9e5d9db1df0f0f089d9af/trove_classifiers-2025.5.9.12.tar.gz", hash = "sha256:7ca7c8a7a76e2cd314468c677c69d12cc2357711fcab4a60f87994c1589e5cb5", size = 16940, upload-time = "2025-05-09T12:04:48.829Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/92/ef/c6deb083748be3bcad6f471b6ae983950c161890bf5ae1b2af80cc56c530/trove_classifiers-2025.5.9.12-py3-none-any.whl", hash = "sha256:e381c05537adac78881c8fa345fd0e9970159f4e4a04fcc42cfd3129cca640ce", size = 14119, upload-time = "2025-05-09T12:04:46.38Z" }, -] - [[package]] name = "truststore" version = "0.10.1"