diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 88ae0fec5..68f03e6e2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,16 +23,21 @@ jobs: runs-on: ${{matrix.os}} steps: - - uses: actions/checkout@v4 + - name: Checkout repository + uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + cache: pip + cache-dependency-path: pyproject.toml + - name: Install dependencies run: | - python -m pip install --upgrade pip wheel setuptools - pip install -e ".[crystal_space,dev]" - pip install pytest-cov + pip install uv + uv pip install -e ".[optional,dev]" --system + - name: Run tests and collect coverage env: MP_API_KEY: ${{ secrets.MP_API_KEY }} diff --git a/pyproject.toml b/pyproject.toml index 0d118ac94..5f0d41013 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -92,6 +92,21 @@ visualisation = [ "dash", ] +optional = [ + "pydantic>=2.9.2", + "mp-api>=0.42.2", + "pymatviz>=0.14", + "seaborn>=0.13.2", + "pymatgen>=2024.2.20", + "matminer>=0.9.2", + "umap-learn>=0.5.3", + "kaleido>=0.2.1", + "ase>=3.22.0", + "numpy", + "ElementEmbeddings>=0.4", + "dash>=2.18.2", + +] strict = [ "pydantic==2.9.2", "mp-api==0.42.2",