-
Antoine Lambert authored
Bump development tools: mypy, codespell, isort, ... Move all tools configuration in pyproject.toml. Remove no longer needed mypy overrides.
Antoine Lambert authoredBump development tools: mypy, codespell, isort, ... Move all tools configuration in pyproject.toml. Remove no longer needed mypy overrides.
pyproject.toml 4.53 KiB
[project]
name = "swh.lister"
authors = [
{name="Software Heritage developers", email="swh-devel@inria.fr"},
]
description = "Software Heritage lister"
readme = {file = "README.rst", content-type = "text/x-rst"}
requires-python = ">=3.7"
classifiers = [
"Programming Language :: Python :: 3",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Operating System :: OS Independent",
"Development Status :: 5 - Production/Stable",
]
dynamic = ["version", "dependencies", "optional-dependencies"]
[tool.setuptools.packages.find]
include = ["swh.*"]
[tool.setuptools.dynamic]
dependencies = {file = ["requirements.txt", "requirements-swh.txt"]}
[tool.setuptools.dynamic.optional-dependencies]
testing = {file = ["requirements-test.txt"]}
[project.entry-points."swh.cli.subcommands"]
"swh.lister" = "swh.lister.cli"
[project.entry-points."swh.workers"]
"lister.arch" = "swh.lister.arch:register"
"lister.aur" = "swh.lister.aur:register"
"lister.bioconductor" = "swh.lister.bioconductor:register"
"lister.bitbucket" = "swh.lister.bitbucket:register"
"lister.bower" = "swh.lister.bower:register"
"lister.save-bulk" = "swh.lister.save_bulk:register"
"lister.cgit" = "swh.lister.cgit:register"
"lister.conda" = "swh.lister.conda:register"
"lister.cpan" = "swh.lister.cpan:register"
"lister.cran" = "swh.lister.cran:register"
"lister.crates" = "swh.lister.crates:register"
"lister.debian" = "swh.lister.debian:register"
"lister.dlang" = "swh.lister.dlang:register"
"lister.elm" = "swh.lister.elm:register"
"lister.gitea" = "swh.lister.gitea:register"
"lister.github" = "swh.lister.github:register"
"lister.gitiles" = "swh.lister.gitiles:register"
"lister.gitlab" = "swh.lister.gitlab:register"
"lister.gitweb" = "swh.lister.gitweb:register"
"lister.gnu" = "swh.lister.gnu:register"
"lister.gogs" = "swh.lister.gogs:register"
"lister.golang" = "swh.lister.golang:register"
"lister.hackage" = "swh.lister.hackage:register"
"lister.hex" = "swh.lister.hex:register"
"lister.julia" = "swh.lister.julia:register"
"lister.launchpad" = "swh.lister.launchpad:register"
"lister.maven" = "swh.lister.maven:register"
"lister.nixguix" = "swh.lister.nixguix:register"
"lister.npm" = "swh.lister.npm:register"
"lister.nuget" = "swh.lister.nuget:register"
"lister.opam" = "swh.lister.opam:register"
"lister.packagist" = "swh.lister.packagist:register"
"lister.pagure" = "swh.lister.pagure:register"
"lister.phabricator" = "swh.lister.phabricator:register"
"lister.pubdev" = "swh.lister.pubdev:register"
"lister.puppet" = "swh.lister.puppet:register"
"lister.pypi" = "swh.lister.pypi:register"
"lister.rpm" = "swh.lister.rpm:register"
"lister.rubygems" = "swh.lister.rubygems:register"
"lister.sourceforge" = "swh.lister.sourceforge:register"
"lister.stagit" = "swh.lister.stagit:register"
"lister.tuleap" = "swh.lister.tuleap:register"
[project.urls]
"Homepage" = "https://gitlab.softwareheritage.org/swh/devel/swh-lister"
"Bug Reports" = "https://gitlab.softwareheritage.org/swh/devel/swh-lister/-/issues"
"Funding" = "https://www.softwareheritage.org/donate"
"Documentation" = "https://docs.softwareheritage.org/devel/swh-lister/"
"Source" = "https://gitlab.softwareheritage.org/swh/devel/swh-lister.git"
[build-system]
requires = ["setuptools", "setuptools-scm"]
build-backend = "setuptools.build_meta"
[tool.setuptools_scm]
fallback_version = "0.0.1"
[tool.black]
target-version = ['py39', 'py310', 'py311', 'py312']
[tool.isort]
multi_line_output = 3
include_trailing_comma = true
force_grid_wrap = 0
use_parentheses = true
ensure_newline_before_comments = true
line_length = 88
force_sort_within_sections = true
known_first_party = ['swh']
[tool.mypy]
namespace_packages = true
warn_unused_ignores = true
explicit_package_bases = true
# ^ Needed for mypy to detect py.typed from swh packages installed
# in editable mode
plugins = []
# 3rd party libraries without stubs (yet)
[[tool.mypy.overrides]]
module = [
"launchpadlib.*",
"lazr.*",
"mercurial.*",
"pyreadr.*",
"subvertpy.*",
"repomd.*",
"testing.postgresql.*",
]
ignore_missing_imports = true
[tool.flake8]
select = ["C", "E", "F", "W", "B950"]
ignore = [
"E203", # whitespaces before ':' <https://github.com/psf/black/issues/315>
"E231", # missing whitespace after ','
"E501", # line too long, use B950 warning from flake8-bugbear instead
"W503" # line break before binary operator <https://github.com/psf/black/issues/52>
]
max-line-length = 88
[tool.pytest.ini_options]
norecursedirs = "build docs .*"
asyncio_mode = "strict"
consider_namespace_packages = true