[build-system] build-backend = "setuptools.build_meta" requires = [ "setuptools>=41.2", "setuptools-scm" ] [project] name = "windrose" description = "Python Matplotlib, Numpy library to manage wind data, draw windrose (also known as a polar rose plot)" readme = "README.md" license = { text = "BSD-3-Clause OR BCeCILL-B" } maintainers = [ { name = "Filipe Fernandes", email = "ocefpaf+windrose@gmail.com" }, { name = "Sebastien Celles" }, ] authors = [ { name = "Lionel Roubeyrie", email = "s.celles@gmail.co" }, ] requires-python = ">=3.10" classifiers = [ "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Programming Language :: Python :: 3.15", ] dynamic = [ "version", ] dependencies = [ "matplotlib>=3", "numpy>=1.21", ] optional-dependencies.docs = [ "jupyter", "nbsphinx", "seaborn", "sphinx", "sphinx-copybutton", "sphinx-rtd-theme" ] optional-dependencies.extras = [ "pandas", "scipy", ] optional-dependencies.tests = [ "cartopy", "check-manifest", "coverage", "pytest", "pytest-cov", "pytest-mpl", "pytest-sugar" ] urls.documentation = "https://python-windrose.github.io/windrose" urls.homepage = "https://github.com/python-windrose/windrose" urls.repository = "https://github.com/python-windrose/windrose" [tool.setuptools] packages = [ "windrose" ] include-package-data = true dynamic.readme = { file = "README.md", content-type = "text/markdown" } license-files = [ "LICENSE.txt", "LICENCE_BSD-3-Clause.txt", "LICENCE_CECILL-B.txt", ] [tool.setuptools_scm] tag_regex = "^(?Pv)?(?P[^\\+]+)(?P.*)?$" write_to = "windrose/_version.py" write_to_template = "__version__ = '{version}'" [tool.ruff] target-version = "py38" line-length = 79 lint.select = [ "A", # flake8-builtins "B", # flake8-bugbear "C4", # flake8-comprehensions "F", # flakes "I", # import sorting "T20", # flake8-print "UP", # upgrade ] lint.per-file-ignores."docs/conf.py" = [ "A001", ] lint.per-file-ignores."notebooks/usage.ipynb" = [ "T201", ] lint.per-file-ignores."samples/example_by.py" = [ "T201", ] lint.per-file-ignores."samples/example_pdf_by.py" = [ "T201", ] [tool.interrogate] fail-under = 70 ignore-init-method = true ignore-init-module = false ignore-magic = false ignore-semiprivate = false ignore-private = false ignore-module = false exclude = [ "docs", "setup.py", "tests", ] color = true verbose = 1 quiet = false [tool.check-manifest] ignore = [ "*.pyc", "*.yaml", ".binder/", ".binder/*", ".coveragerc", "docs", "docs/*", "notebooks", "notebooks/*", "paper", "paper/*", "tests", "tests/*", ]