diff --git a/.copier-answers.yml b/.copier-answers.yml index db7af858..e0576d2a 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -20,7 +20,6 @@ project_license: BSD project_name: lsdb project_organization: astronomy-commons python_versions: -- '3.9' - '3.10' - '3.11' - '3.12' diff --git a/.github/workflows/asv-main.yml b/.github/workflows/asv-main.yml index 32c25cf5..477ba594 100644 --- a/.github/workflows/asv-main.yml +++ b/.github/workflows/asv-main.yml @@ -8,7 +8,7 @@ on: branches: [ main ] env: - PYTHON_VERSION: "3.10" + PYTHON_VERSION: "3.11" ASV_VERSION: "0.6.4" WORKING_DIR: ${{github.workspace}}/benchmarks diff --git a/.github/workflows/asv-nightly.yml b/.github/workflows/asv-nightly.yml index 28b270ae..ad6d1622 100644 --- a/.github/workflows/asv-nightly.yml +++ b/.github/workflows/asv-nightly.yml @@ -9,7 +9,7 @@ on: workflow_dispatch: env: - PYTHON_VERSION: "3.10" + PYTHON_VERSION: "3.11" ASV_VERSION: "0.6.4" WORKING_DIR: ${{github.workspace}}/benchmarks NIGHTLY_HASH_FILE: nightly-hash diff --git a/.github/workflows/asv-pr.yml b/.github/workflows/asv-pr.yml index 4499eb9f..e78bf42b 100644 --- a/.github/workflows/asv-pr.yml +++ b/.github/workflows/asv-pr.yml @@ -15,7 +15,7 @@ concurrency: cancel-in-progress: true env: - PYTHON_VERSION: "3.10" + PYTHON_VERSION: "3.11" ASV_VERSION: "0.6.4" WORKING_DIR: ${{github.workspace}}/benchmarks ARTIFACTS_DIR: ${{github.workspace}}/artifacts diff --git a/.github/workflows/build-documentation.yml b/.github/workflows/build-documentation.yml index 638e7b6e..e245952c 100644 --- a/.github/workflows/build-documentation.yml +++ b/.github/workflows/build-documentation.yml @@ -20,10 +20,10 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Set up Python 3.10 + - name: Set up Python 3.11 uses: actions/setup-python@v5 with: - python-version: '3.10' + python-version: '3.11' - name: Install dependencies run: | sudo apt-get update diff --git a/.github/workflows/pre-commit-ci.yml b/.github/workflows/pre-commit-ci.yml index f31b3ee6..b2fe4816 100644 --- a/.github/workflows/pre-commit-ci.yml +++ b/.github/workflows/pre-commit-ci.yml @@ -19,7 +19,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: '3.10' + python-version: '3.11' - name: Install dependencies run: | sudo apt-get update diff --git a/.github/workflows/publish-to-pypi.yml b/.github/workflows/publish-to-pypi.yml index f7cecc2e..c7714115 100644 --- a/.github/workflows/publish-to-pypi.yml +++ b/.github/workflows/publish-to-pypi.yml @@ -26,7 +26,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: '3.10' + python-version: '3.11' - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/smoke-test.yml b/.github/workflows/smoke-test.yml index e4575efb..48520ba3 100644 --- a/.github/workflows/smoke-test.yml +++ b/.github/workflows/smoke-test.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.9', '3.10', '3.11', '3.12'] + python-version: ['3.10', '3.11', '3.12'] steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/testing-and-coverage.yml b/.github/workflows/testing-and-coverage.yml index 2fadf770..0318b65e 100644 --- a/.github/workflows/testing-and-coverage.yml +++ b/.github/workflows/testing-and-coverage.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.9', '3.10', '3.11', '3.12'] + python-version: ['3.10', '3.11', '3.12'] steps: - uses: actions/checkout@v4 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a5d28286..13eab970 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -94,7 +94,7 @@ repos: # supported by your project here, or alternatively use # pre-commit's default_language_version, see # https://pre-commit.com/#top_level-default_language_version - language_version: python3.10 + language_version: python3.11 # Analyze type hints and report errors. - repo: local hooks: diff --git a/.readthedocs.yml b/.readthedocs.yml index 10fc41d9..432415d2 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -8,7 +8,7 @@ version: 2 build: os: ubuntu-22.04 tools: - python: "3.10" + python: "3.11" apt_packages: - graphviz diff --git a/benchmarks/asv.conf.json b/benchmarks/asv.conf.json index b3fa28c8..d49d3436 100644 --- a/benchmarks/asv.conf.json +++ b/benchmarks/asv.conf.json @@ -36,7 +36,7 @@ // The Pythons you'd like to test against. If not provided, defaults // to the current version of Python used to run `asv`. "pythons": [ - "3.10" + "3.11" ], // The matrix of dependencies to test. Each key is the name of a // package (in PyPI) and the values are version numbers. An empty diff --git a/pyproject.toml b/pyproject.toml index 1011d91e..5d824eed 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,6 +15,7 @@ classifiers = [ "Programming Language :: Python", ] dynamic = ["version"] +requires-python = ">=3.10" dependencies = [ # Includes dask[array,dataframe,distributed,diagnostics]. # dask distributed eases the creation of parallel dask clients. @@ -85,6 +86,52 @@ target-version = ["py38"] profile = "black" line_length = 110 +[tool.ruff] +line-length = 110 +target-version = "py310" + +[tool.ruff.lint] +select = [ + # pycodestyle + "E", + "W", + # Pyflakes + "F", + # pep8-naming + "N", + # pyupgrade + "UP", + # flake8-bugbear + "B", + # flake8-simplify + "SIM", + # isort + "I", + # docstrings + "D101", + "D102", + "D103", + "D106", + "D206", + "D207", + "D208", + "D300", + "D417", + "D419", + # Numpy v2.0 compatibility + "NPY201", +] + +ignore = [ + "UP006", # Allow non standard library generics in type hints + "UP007", # Allow Union in type hints + "SIM114", # Allow if with same arms + "B028", # Allow default warning level + "SIM117", # Allow nested with + "UP015", # Allow redundant open parameters + "UP028", # Allow yield in for loop +] + [tool.coverage.run] omit=["src/lsdb/_version.py"] diff --git a/src/.pylintrc b/src/.pylintrc index ee4884ee..338aa263 100644 --- a/src/.pylintrc +++ b/src/.pylintrc @@ -87,7 +87,7 @@ persistent=yes # Minimum Python version to use for version dependent checks. Will default to # the version used to run pylint. -py-version=3.9 +py-version=3.10 # Discover python modules and packages in the file system subtree. recursive=no diff --git a/tests/.pylintrc b/tests/.pylintrc index dd25efa9..d8215182 100644 --- a/tests/.pylintrc +++ b/tests/.pylintrc @@ -87,7 +87,7 @@ persistent=yes # Minimum Python version to use for version dependent checks. Will default to # the version used to run pylint. -py-version=3.9 +py-version=3.10 # Discover python modules and packages in the file system subtree. recursive=no