diff --git a/.github/workflows/catalogs.yml b/.github/workflows/catalogs.yml index 1f2ba42..f2db83d 100644 --- a/.github/workflows/catalogs.yml +++ b/.github/workflows/catalogs.yml @@ -170,29 +170,6 @@ jobs: path: lambdalabs.csv retention-days: 1 - catalog-nebius: - name: Collect Nebius catalog - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 - with: - python-version: 3.11 - - name: Install dependencies - run: | - pip install pip -U - pip install -e '.[nebius]' - - name: Collect catalog - working-directory: src - env: - NEBIUS_SERVICE_ACCOUNT: ${{ secrets.NEBIUS_SERVICE_ACCOUNT }} - run: python -m gpuhunt nebius --output ../nebius.csv - - uses: actions/upload-artifact@v4 - with: - name: catalogs-nebius - path: nebius.csv - retention-days: 1 - catalog-runpod: name: Collect Runpod catalog runs-on: ubuntu-latest @@ -223,7 +200,6 @@ jobs: - catalog-datacrunch - catalog-gcp - catalog-lambdalabs - - catalog-nebius runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 diff --git a/src/gpuhunt/__main__.py b/src/gpuhunt/__main__.py index 1dfb06e..b08ab8a 100644 --- a/src/gpuhunt/__main__.py +++ b/src/gpuhunt/__main__.py @@ -1,5 +1,4 @@ import argparse -import json import logging import os import sys @@ -18,7 +17,6 @@ def main(): "datacrunch", "gcp", "lambdalabs", - "nebius", "runpod", "tensordock", "vastai", @@ -55,10 +53,6 @@ def main(): from gpuhunt.providers.lambdalabs import LambdaLabsProvider provider = LambdaLabsProvider(os.getenv("LAMBDALABS_TOKEN")) - elif args.provider == "nebius": - from gpuhunt.providers.nebius import NebiusProvider - - provider = NebiusProvider(json.loads(os.getenv("NEBIUS_SERVICE_ACCOUNT"))) elif args.provider == "runpod": from gpuhunt.providers.runpod import RunpodProvider diff --git a/src/gpuhunt/_internal/catalog.py b/src/gpuhunt/_internal/catalog.py index 5fba33d..8e39dc8 100644 --- a/src/gpuhunt/_internal/catalog.py +++ b/src/gpuhunt/_internal/catalog.py @@ -17,7 +17,7 @@ logger = logging.getLogger(__name__) version_url = "https://dstack-gpu-pricing.s3.eu-west-1.amazonaws.com/v1/version" catalog_url = "https://dstack-gpu-pricing.s3.eu-west-1.amazonaws.com/v1/{version}/catalog.zip" -OFFLINE_PROVIDERS = ["aws", "azure", "datacrunch", "gcp", "lambdalabs", "nebius", "runpod"] +OFFLINE_PROVIDERS = ["aws", "azure", "datacrunch", "gcp", "lambdalabs", "runpod"] ONLINE_PROVIDERS = ["cudo", "tensordock", "vastai"] RELOAD_INTERVAL = 4 * 60 * 60 # 4 hours diff --git a/src/integrity_tests/test_nebius.py b/src/integrity_tests/test_nebius.py index 82fadbc..831abe6 100644 --- a/src/integrity_tests/test_nebius.py +++ b/src/integrity_tests/test_nebius.py @@ -9,9 +9,11 @@ def data(catalog_dir: Path) -> str: class TestNebiusCatalog: + @pytest.mark.xfail def test_zone_presented(self, data: str): assert ",eu-north1-c," in data + @pytest.mark.xfail def test_gpu_presented(self, data: str): gpus = [ "A100", @@ -21,6 +23,7 @@ def test_gpu_presented(self, data: str): ] assert all(f",{i}," in data for i in gpus) + @pytest.mark.xfail def test_h100_platforms(self, data: str): platforms = [ "gpu-h100", @@ -29,5 +32,6 @@ def test_h100_platforms(self, data: str): ] assert all(f"\n{i}," in data for i in platforms) + @pytest.mark.xfail def test_no_spots(self, data: str): assert ",True\n" not in data diff --git a/src/tests/providers/test_providers.py b/src/tests/providers/test_providers.py index 5d3408e..9cf1f9c 100644 --- a/src/tests/providers/test_providers.py +++ b/src/tests/providers/test_providers.py @@ -24,6 +24,8 @@ def providers(): continue if member.__name__ == "AbstractProvider": continue + if member.NAME == "nebius": # The provider has been temporarily disabled + continue members.append(member) return members