diff --git a/.github/workflows/python-test.yml b/.github/workflows/python-test.yml index 7a7f799..c644fa9 100644 --- a/.github/workflows/python-test.yml +++ b/.github/workflows/python-test.yml @@ -8,23 +8,23 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.8", "3.9", "3.10", "3.11"] + python-version: ["3.13"] steps: - - uses: actions/checkout@v2 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python-version }} - - name: Install dependencies - run: | - python -m pip install --upgrade pip - python -m pip install pytest pytest-cov pytest-benchmark pytest-mock - python -m pip install networkx - if [ -f requirements.txt ]; + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install pytest pytest-cov pytest-benchmark pytest-mock + python -m pip install networkx + if [ -f requirements.txt ]; then - pip install -r requirements.txt; - fi - - name: Test with pytest and check test coverage - run: | - pytest --cov=ngraph --cov-fail-under=85 \ No newline at end of file + pip install -r requirements.txt; + fi + - name: Test with pytest and check test coverage + run: | + pytest --cov=ngraph --cov-fail-under=85 \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 41b2571..c3def99 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Use the official Python image from the Docker Hub -FROM python:3.10 +FROM python:3.13 # Add Tini, a minimal init system for containers ENV TINI_VERSION=v0.19.0 @@ -15,15 +15,19 @@ ENV DEBIAN_FRONTEND=noninteractive # Install system dependencies and remove the package list RUN apt-get update && \ apt-get install -y \ - libgeos-dev \ + libgeos-dev \ + libproj-dev \ + libgdal-dev \ && rm -rf /var/lib/apt/lists/* +# Upgrade pip and setuptools +RUN pip install --no-cache-dir --upgrade pip setuptools + # Copy the requirements file into the container COPY requirements.txt ./ # Install Python dependencies -RUN pip install --no-cache-dir --upgrade pip && \ - pip install --no-cache-dir -r requirements.txt +RUN pip install --no-cache-dir -r requirements.txt # Create a mount point for external volumes VOLUME /root/env diff --git a/pyproject.toml b/pyproject.toml index fa7093a..64e85a3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,3 @@ [build-system] -requires = ["setuptools>=42"] +requires = ["setuptools>=65.5.0"] build-backend = "setuptools.build_meta" \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index edb0e1a..8bc1e1d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,6 +3,9 @@ networkx numpy pandas matplotlib +jupyter +seaborn +cartopy build twine pytest @@ -10,8 +13,4 @@ pytest-cov pytest-benchmark pytest-mock pylint -black -jupyter -seaborn -basemap-data-hires -basemap \ No newline at end of file +black \ No newline at end of file diff --git a/setup.py b/setup.py index a62e25b..dff882f 100644 --- a/setup.py +++ b/setup.py @@ -18,6 +18,6 @@ "Operating System :: OS Independent", ], packages=find_packages(exclude=("tests", "dev", "examples")), - python_requires=">=3.10", + python_requires=">=3.13", tests_require=["pytest", "networkx"], )