diff --git a/.github/workflows/test_and_deploy.yml b/.github/workflows/test_and_deploy.yml index da4d0bdb3..d222a8b86 100644 --- a/.github/workflows/test_and_deploy.yml +++ b/.github/workflows/test_and_deploy.yml @@ -20,10 +20,6 @@ jobs: uses: astral-sh/setup-uv@v5 with: python-version: ${{ matrix.python-version }} - - name: Install the latest version of uv. - uses: astral-sh/setup-uv@v5 - with: - python-version: ${{ matrix.python-version }} - name: Install non-python build dependencies run: | if [ "$RUNNER_OS" == "Linux" ]; then @@ -47,52 +43,48 @@ jobs: needs: test_repo runs-on: macos-latest steps: - - name: Setup Python 3.10 env - uses: actions/setup-python@v5 + - name: Install Python 3.10 with uv + uses: astral-sh/setup-uv@v5 with: python-version: '3.10' - - name: Ensure latest pip, wheel & setuptools - run: python -m pip install -q --upgrade pip wheel setuptools - uses: actions/checkout@v4 - name: Generate sdist run: | - NLE_RELEASE_BUILD=1 python setup.py sdist + NLE_RELEASE_BUILD=1 uv build --sdist - name: Install from sdist run: | SDISTNAME=$(ls dist/) MODE="[all]" - pip install "dist/$SDISTNAME$MODE" + uv pip install "dist/$SDISTNAME$MODE" - name: Run tests outside repo dir run: | REPONAME=$(basename $PWD) pushd .. - python -m pytest --import-mode=append -svx $REPONAME/nle/tests + uv run pytest --import-mode=append -svx $REPONAME/nle/tests popd test_sdist_3_13: name: Test sdist on MacOS w/ Py3.13 needs: test_repo runs-on: macos-latest steps: - - name: Setup Python 3.13 env - uses: actions/setup-python@v5 + - name: Install Python 3.13 with uv + uses: astral-sh/setup-uv@v5 with: python-version: 3.13 - - name: Ensure latest pip, wheel & setuptools - run: python -m pip install -q --upgrade pip wheel setuptools - uses: actions/checkout@v4 - name: Generate sdist run: | - NLE_RELEASE_BUILD=1 python setup.py sdist + NLE_RELEASE_BUILD=1 uv build --sdist - name: Install from sdist run: | SDISTNAME=$(ls dist/) MODE="[all]" - pip install "dist/$SDISTNAME$MODE" + uv pip install "dist/$SDISTNAME$MODE" - name: Run tests outside repo dir run: | REPONAME=$(basename $PWD) pushd .. - python -m pytest --import-mode=append -svx $REPONAME/nle/tests + uv run pytest --import-mode=append -svx $REPONAME/nle/tests popd - name: Save sdist if: ${{ always() }} @@ -134,12 +126,10 @@ jobs: needs: build_wheels runs-on: ubuntu-latest steps: - - name: Setup Python 3.13 env - uses: actions/setup-python@v5 + - name: Install Python 3.13 with uv + uses: astral-sh/setup-uv@v5 with: python-version: 3.13 - - name: Ensure latest pip, wheel & setuptools - run: python -m pip install -q --upgrade pip wheel tools - uses: actions/checkout@v4 - name: Get wheels artifacts uses: actions/download-artifact@v4 @@ -150,12 +140,12 @@ jobs: run: | WHEELNAME=$(ls dist/*313*manylinux*x86_64*.whl) MODE="[all]" - pip install "$WHEELNAME$MODE" + uv pip install "$WHEELNAME$MODE" - name: Run tests outside repo dir run: | REPONAME=$(basename $PWD) pushd .. - python -m pytest --import-mode=append -svx $REPONAME/nle/tests + uv run pytest --import-mode=append -svx $REPONAME/nle/tests popd # Use prereleases to test publish the artefacts to testpypi diff --git a/pyproject.toml b/pyproject.toml index 25b30538d..80a458a26 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,12 +36,13 @@ nle-ttyplay = "nle.scripts.ttyplay:main" nle-ttyplay2 = "nle.scripts.ttyplay2:main" nle-read-tty = "nle.scripts.read_tty:main" -[dependency-groups] -dev = ["nle[dev]"] - [project.optional-dependencies] agent = ["torch>=1.3.1"] +all = ["nle[agent]"] + +[dependency-groups] dev = [ + "nle[agent]", "pre-commit>=2.0.1", "isort>=5.13.2", "cmake_format>=0.6.10", @@ -53,7 +54,6 @@ dev = [ "setuptools>=69.5.1", "ruff==0.4.3", ] -all = ["nle[agent,dev]"] [tool.black] line-length = 88 diff --git a/uv.lock b/uv.lock index 5fe140316..e1885eefb 100644 --- a/uv.lock +++ b/uv.lock @@ -466,23 +466,15 @@ agent = [ { name = "torch" }, ] all = [ - { name = "cmake-format" }, - { name = "isort" }, - { name = "memory-profiler" }, - { name = "pre-commit" }, - { name = "pytest" }, - { name = "pytest-benchmark" }, - { name = "ruff" }, - { name = "setuptools" }, - { name = "sphinx", version = "8.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "sphinx", version = "9.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, - { name = "sphinx-rtd-theme" }, { name = "torch" }, ] + +[package.dev-dependencies] dev = [ { name = "cmake-format" }, { name = "isort" }, { name = "memory-profiler" }, + { name = "nle", extra = ["agent"] }, { name = "pre-commit" }, { name = "pytest" }, { name = "pytest-benchmark" }, @@ -493,33 +485,30 @@ dev = [ { name = "sphinx-rtd-theme" }, ] -[package.dev-dependencies] -dev = [ - { name = "nle", extra = ["dev"] }, -] - [package.metadata] requires-dist = [ - { name = "cmake-format", marker = "extra == 'dev'", specifier = ">=0.6.10" }, { name = "gymnasium", specifier = "==1.2.0" }, - { name = "isort", marker = "extra == 'dev'", specifier = ">=5.13.2" }, - { name = "memory-profiler", marker = "extra == 'dev'", specifier = ">=0.60.0" }, - { name = "nle", extras = ["agent", "dev"], marker = "extra == 'all'" }, + { name = "nle", extras = ["agent"], marker = "extra == 'all'" }, { name = "numpy", specifier = ">=1.16" }, - { name = "pre-commit", marker = "extra == 'dev'", specifier = ">=2.0.1" }, { name = "pybind11", specifier = ">=2.2" }, - { name = "pytest", marker = "extra == 'dev'", specifier = ">=6.2.5" }, - { name = "pytest-benchmark", marker = "extra == 'dev'", specifier = ">=3.4.1" }, - { name = "ruff", marker = "extra == 'dev'", specifier = "==0.4.3" }, - { name = "setuptools", marker = "extra == 'dev'", specifier = ">=69.5.1" }, - { name = "sphinx", marker = "extra == 'dev'", specifier = ">=2.4.4" }, - { name = "sphinx-rtd-theme", marker = "extra == 'dev'", specifier = ">=0.4.3" }, { name = "torch", marker = "extra == 'agent'", specifier = ">=1.3.1" }, ] -provides-extras = ["agent", "dev", "all"] +provides-extras = ["agent", "all"] [package.metadata.requires-dev] -dev = [{ name = "nle", extras = ["dev"] }] +dev = [ + { name = "cmake-format", specifier = ">=0.6.10" }, + { name = "isort", specifier = ">=5.13.2" }, + { name = "memory-profiler", specifier = ">=0.60.0" }, + { name = "nle", extras = ["agent"] }, + { name = "pre-commit", specifier = ">=2.0.1" }, + { name = "pytest", specifier = ">=6.2.5" }, + { name = "pytest-benchmark", specifier = ">=3.4.1" }, + { name = "ruff", specifier = "==0.4.3" }, + { name = "setuptools", specifier = ">=69.5.1" }, + { name = "sphinx", specifier = ">=2.4.4" }, + { name = "sphinx-rtd-theme", specifier = ">=0.4.3" }, +] [[package]] name = "nodeenv"