diff --git a/.github/workflows/build-test-publish-wheel.yml b/.github/workflows/build-test-publish-wheel.yml index 7d2b0b13..02986742 100644 --- a/.github/workflows/build-test-publish-wheel.yml +++ b/.github/workflows/build-test-publish-wheel.yml @@ -28,12 +28,12 @@ defaults: jobs: build-test-publish-wheel: - uses: NVIDIA-NeMo/FW-CI-templates/.github/workflows/_build_test_publish_wheel.yml@v0.77.1 + uses: NVIDIA-NeMo/FW-CI-templates/.github/workflows/_build_test_publish_wheel.yml@v0.88.1 with: dry-run: true python-package: nemo_run python-version: "3.10" - packaging: hatch + packaging: setuptools secrets: TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }} TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} diff --git a/nemo_run/package_info.py b/nemo_run/package_info.py index b4686aa7..e7fd8d46 100644 --- a/nemo_run/package_info.py +++ b/nemo_run/package_info.py @@ -11,19 +11,35 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -from packaging.version import Version -__version__ = "0.10.0rc0.dev0" +MAJOR = 0 +MINOR = 10 +PATCH = 0 +PRE_RELEASE = "" -MAJOR = Version(__version__).major -MINOR = Version(__version__).minor -PATCH = Version(__version__).micro -if pre := Version(__version__).pre: - _PRE_RELEASE = "".join(map(str, pre)) -else: - _PRE_RELEASE = "" -PRE_RELEASE = _PRE_RELEASE -DEV = Version(__version__).dev +# Use the following formatting: (major, minor, patch, pre-release) +VERSION = (MAJOR, MINOR, PATCH, PRE_RELEASE) + +__shortversion__ = ".".join(map(str, VERSION[:3])) +__version__ = ".".join(map(str, VERSION[:3])) + "".join(VERSION[3:]) + +import os as _os # noqa: E402, I001 +import subprocess as _subprocess # noqa: E402 + + +if not int(_os.getenv("NO_VCS_VERSION", "0")): + try: + _git = _subprocess.run( + ["git", "rev-parse", "--short", "HEAD"], + capture_output=True, + cwd=_os.path.dirname(_os.path.abspath(__file__)), + check=True, + universal_newlines=True, + ) + except (_subprocess.CalledProcessError, OSError): + pass + else: + __version__ += f"+{_git.stdout.strip()}" __package_name__ = "nemo_run" __contact_names__ = "NVIDIA" diff --git a/pyproject.toml b/pyproject.toml index 58fa7c9f..12c5fc4d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,7 +30,6 @@ dependencies = [ "networkx >= 3.3", "omegaconf>=2.3.0", "leptonai>=0.26.6", - "packaging", "toml", ] readme = "README.md" @@ -96,8 +95,14 @@ docs = [ ] [build-system] -requires = ["hatchling", "hatch-vcs"] -build-backend = "hatchling.build" +requires = ["setuptools>=61.0", "wheel"] +build-backend = "setuptools.build_meta" + +[tool.setuptools.packages.find] +include = ["nemo_run*"] + +[tool.setuptools.dynamic] +version = { attr = "nemo_run.package_info.__version__" } [tool.uv] managed = true @@ -150,14 +155,6 @@ ignore_errors = true [tool.coverage.html] directory = "coverage_html_report" -[tool.hatch.metadata] -allow-direct-references = true - -[tool.hatch.build.targets.wheel] -packages = ["nemo_run"] - -[tool.hatch.version] -path = "nemo_run/package_info.py" [tool.ruff] line-length = 100 diff --git a/uv.lock b/uv.lock index e3e7b833..5bbeda1d 100644 --- a/uv.lock +++ b/uv.lock @@ -3316,7 +3316,7 @@ wheels = [ [[package]] name = "ibm-cloud-sdk-core" -version = "3.18.0" +version = "3.24.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pyjwt" }, @@ -3324,7 +3324,10 @@ dependencies = [ { name = "requests" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5a/82/5fa378337357b0cdcc1f290b6b78457549939054e24f32e54ad378e0d663/ibm-cloud-sdk-core-3.18.0.tar.gz", hash = "sha256:bf2b6940761970c14b53fc8fc135af567c58b9709db3214be403a383dd51cabb", size = 57929, upload-time = "2023-11-15T18:07:51.467Z" } +sdist = { url = "https://files.pythonhosted.org/packages/5e/e5/5de9646a57209bd59ee504ea11b9d83fab0e273c648d5cb9ec529c2dfb21/ibm_cloud_sdk_core-3.24.1.tar.gz", hash = "sha256:96b4b4deefc7b72874ef44545362e63ee3a7d6a4c82e68f36c482c8033683ab3", size = 76252, upload-time = "2025-05-30T15:47:12.802Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/a9/7356d14186089da1290a77d9e6e737f4cb62ab75e0cbe405ba6be7d3b322/ibm_cloud_sdk_core-3.24.1-py3-none-any.whl", hash = "sha256:28eb70379977bac15318a07634e4b56d9de671186090d8accec180b77ffb7969", size = 75783, upload-time = "2025-05-30T15:47:11.686Z" }, +] [[package]] name = "ibm-cos-sdk" @@ -4506,7 +4509,6 @@ dependencies = [ { name = "leptonai" }, { name = "networkx" }, { name = "omegaconf" }, - { name = "packaging" }, { name = "rich" }, { name = "toml" }, { name = "torchx" }, @@ -4569,7 +4571,6 @@ requires-dist = [ { name = "leptonai", specifier = ">=0.26.6" }, { name = "networkx", specifier = ">=3.3" }, { name = "omegaconf", specifier = ">=2.3.0" }, - { name = "packaging" }, { name = "ray", extras = ["default"], marker = "extra == 'ray'", specifier = ">=2.49.2" }, { name = "rich", specifier = ">=13.7.1" }, { name = "skypilot", extras = ["all"], marker = "extra == 'skypilot-all'", specifier = ">=0.10.0" }, @@ -4578,7 +4579,7 @@ requires-dist = [ { name = "torchx", specifier = ">=0.7.0" }, { name = "typer", specifier = ">=0.12.3" }, ] -provides-extras = ["kubeflow", "ray", "skypilot", "skypilot-all"] +provides-extras = ["skypilot", "skypilot-all", "ray", "kubeflow"] [package.metadata.requires-dev] dev = [