Skip to content

Commit

Permalink
Update pyproject.toml and readthedocs.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
andersy005 committed Jan 16, 2025
1 parent c84e1f3 commit 3430437
Show file tree
Hide file tree
Showing 2 changed files with 113 additions and 114 deletions.
207 changes: 97 additions & 110 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,139 +1,126 @@
[build-system]
requires = ["setuptools>=45", "wheel", "setuptools_scm>=6.2"]
requires = ["setuptools>=45", "setuptools_scm>=6.2", "wheel"]

[project]
name = "intake-esm"
description = "An intake plugin for parsing an Earth System Model (ESM) catalog and loading netCDF files and/or Zarr stores into Xarray datasets."
readme = "README.md"
license = {text="Apache Software License 2.0"}
requires-python = ">=3.10"
maintainers = [
{ name = "NCAR XDev Team", email = "[email protected]" },
]
keywords = [
"catalog",
"intake",
"xarray",
]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Scientific/Engineering",
]

dynamic = ["version", "dependencies"]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python",
"Topic :: Scientific/Engineering",
]
description = "An intake plugin for parsing an Earth System Model (ESM) catalog and loading netCDF files and/or Zarr stores into Xarray datasets."
keywords = ["catalog", "intake", "xarray"]
license = { text = "Apache Software License 2.0" }
maintainers = [{ name = "NCAR XDev Team", email = "[email protected]" }]
name = "intake-esm"
readme = "README.md"
requires-python = ">=3.10"

dynamic = ["dependencies", "version"]

[tool.setuptools.dynamic]

dependencies = { file = ["requirements.txt"] }
optional-dependencies = { dev = { file = ["requirements-dev.txt"] } }
dependencies = { file = ["requirements.txt"] }
optional-dependencies = { dev = { file = ["requirements-dev.txt"] } }

[project.entry-points."intake.drivers"]
esm_datasource = "intake_esm.source:ESMDataSource"
esm_datastore = "intake_esm.core:esm_datastore"
esm_datasource = "intake_esm.source:ESMDataSource"
esm_datastore = "intake_esm.core:esm_datastore"

[project.urls]
Documentation = "https://intake-esm.readthedocs.io"
Homepage = "https://intake-esm.readthedocs.io"
Source = "https://github.com/intake/intake-esm"
Tracker = "https://github.com/intake/intake-esm/issues"

Documentation = "https://intake-esm.readthedocs.io"
Homepage = "https://intake-esm.readthedocs.io"
Source = "https://github.com/intake/intake-esm"
Tracker = "https://github.com/intake/intake-esm/issues"

[tool.setuptools.packages.find]
include = ["intake_esm*"]
include = ["intake_esm*"]

[tool.setuptools.package-data]
intake_esm = ["py.typed"]


intake_esm = ["py.typed"]

[tool.setuptools_scm]
version_scheme = "post-release"
local_scheme = "node-and-date"
fallback_version = "999"
write_to = "intake_esm/_version.py"
write_to_template = '__version__ = "{version}"'


fallback_version = "999"
local_scheme = "node-and-date"
version_scheme = "post-release"
write_to = "intake_esm/_version.py"
write_to_template = '__version__ = "{version}"'

[tool.ruff]
line-length = 100
target-version = "py310"
extend-include = ["*.ipynb"]


builtins = ["ellipsis"]
# Exclude a variety of commonly ignored directories.
exclude = [
".bzr",
".direnv",
".eggs",
".git",
".git-rewrite",
".hg",
".ipynb_checkpoints",
".mypy_cache",
".nox",
".pants.d",
".pyenv",
".pytest_cache",
".pytype",
".ruff_cache",
".svn",
".tox",
".venv",
".vscode",
"__pypackages__",
"_build",
"buck-out",
"build",
"dist",
"node_modules",
"site-packages",
"venv",
]
extend-include = ["*.ipynb"]
line-length = 100
target-version = "py310"

builtins = ["ellipsis"]
# Exclude a variety of commonly ignored directories.
exclude = [
".bzr",
".direnv",
".eggs",
".git",
".git-rewrite",
".hg",
".ipynb_checkpoints",
".mypy_cache",
".nox",
".pants.d",
".pyenv",
".pytest_cache",
".pytype",
".ruff_cache",
".svn",
".tox",
".venv",
".vscode",
"__pypackages__",
"_build",
"buck-out",
"build",
"dist",
"node_modules",
"site-packages",
"venv",
]
[tool.ruff.lint]
per-file-ignores = {}
ignore = [
"E721", # Comparing types instead of isinstance
"E741", # Ambiguous variable names
"E501", # Conflicts with ruff format
]
select = [
# Pyflakes
"F",
# Pycodestyle
"E",
"W",
# isort
"I",
# Pyupgrade
"UP",
]

ignore = [
"E501", # Conflicts with ruff format
"E721", # Comparing types instead of isinstance
"E741", # Ambiguous variable names
]
per-file-ignores = {}
select = [
# Pyflakes
"F",
# Pycodestyle
"E",
"W",
# isort
"I",
# Pyupgrade
"UP",
]

[tool.ruff.lint.mccabe]
max-complexity = 18
max-complexity = 18

[tool.ruff.lint.isort]
known-first-party = ["intake_esm"]
combine-as-imports = true
combine-as-imports = true
known-first-party = ["intake_esm"]

[tool.ruff.format]
quote-style = "single"
docstring-code-format = true
docstring-code-format = true
quote-style = "single"

[tool.ruff.lint.pydocstyle]
convention = "numpy"
convention = "numpy"

[tool.pytest.ini_options]
console_output_style = "count"
addopts = "--cov=./ --cov-report=xml --verbose"
markers = "network: tests requiring a network connection"
addopts = "--cov=./ --cov-report=xml --verbose"
console_output_style = "count"
markers = "network: tests requiring a network connection"
20 changes: 16 additions & 4 deletions readthedocs.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,19 @@
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2
conda:
environment: ci/environment-docs.yml

build:
os: "ubuntu-20.04"
os: "ubuntu-24.04"
tools:
python: "mambaforge-4.10"
python: "mambaforge-latest"

# Build documentation in the doc/ directory with Sphinx
sphinx:
configuration: docs/source/conf.py
fail_on_warning: true

# Optionally declare the Python requirements required to build your docs
conda:
environment: ci/environment-docs.yml

0 comments on commit 3430437

Please sign in to comment.