-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpyproject.toml
More file actions
115 lines (95 loc) · 4.11 KB
/
Copy pathpyproject.toml
File metadata and controls
115 lines (95 loc) · 4.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
[project]
name = "swh.indexer"
authors = [
{ name = "Software Heritage developers", email = "swh-devel@inria.fr" },
]
description = "Software Heritage indexer"
readme = { file = "README.rst", content-type = "text/x-rst" }
requires-python = ">=3.11"
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"]
[project.entry-points."swh.cli.subcommands"]
"swh.indexer" = "swh.indexer.cli"
[project.entry-points."swh.indexer_storage.classes"]
"postgresql" = "swh.indexer.storage:IndexerStorage"
"remote" = "swh.indexer.storage.api.client:RemoteStorage"
"memory" = "swh.indexer.storage.in_memory:IndexerStorage"
[project.entry-points."swh.indexer.classes"]
"origin_intrinsic_metadata" = "swh.indexer.metadata:OriginIntrinsicMetadataIndexer"
"extrinsic_metadata" = "swh.indexer.metadata:ExtrinsicMetadataIndexer"
"content_mimetype" = "swh.indexer.mimetype:MimetypeIndexer"
"content_fossology_license" = "swh.indexer.fossology_license:FossologyLicenseIndexer"
"content_metadata" = "swh.indexer.metadata:ContentMetadataIndexer"
[project.entry-points."swh.indexer.metadata_mappings"]
"CffMapping" = "swh.indexer.metadata_mapping.cff:CffMapping"
"CodemetaMapping" = "swh.indexer.metadata_mapping.codemeta:CodemetaMapping"
"GemspecMapping" = "swh.indexer.metadata_mapping.ruby:GemspecMapping"
"MavenMapping" = "swh.indexer.metadata_mapping.maven:MavenMapping"
"NpmMapping" = "swh.indexer.metadata_mapping.npm:NpmMapping"
"PubMapping" = "swh.indexer.metadata_mapping.dart:PubspecMapping"
"PythonPkginfoMapping" = "swh.indexer.metadata_mapping.python:PythonPkginfoMapping"
"ComposerMapping" = "swh.indexer.metadata_mapping.composer:ComposerMapping"
"NuGetMapping" = "swh.indexer.metadata_mapping.nuget:NuGetMapping"
"GiteaMapping" = "swh.indexer.metadata_mapping.gitea:GiteaMapping"
"GitHubMapping" = "swh.indexer.metadata_mapping.github:GitHubMapping"
"JsonSwordCodemetaMapping" = "swh.indexer.metadata_mapping.sword:JsonSwordCodemetaMapping"
"SwordCodemetaMapping" = "swh.indexer.metadata_mapping.sword:SwordCodemetaMapping"
[project.urls]
"Homepage" = "https://gitlab.softwareheritage.org/swh/devel/swh-indexer"
"Bug Reports" = "https://gitlab.softwareheritage.org/swh/devel/swh-indexer/-/issues"
"Funding" = "https://www.softwareheritage.org/donate"
"Documentation" = "https://docs.softwareheritage.org/devel/swh-indexer/"
"Source" = "https://gitlab.softwareheritage.org/swh/devel/swh-indexer.git"
[build-system]
requires = ["hatchling", "hatch-requirements-txt", "hatch-vcs"]
build-backend = "hatchling.build"
[tool.hatch.metadata.hooks.requirements_txt]
files = ["requirements.txt", "requirements-swh.txt"]
[tool.hatch.metadata.hooks.requirements_txt.optional-dependencies]
testing = ["requirements-test.txt"]
[tool.hatch.build.targets.wheel]
packages = ["swh"]
[tool.hatch.version]
source = "vcs"
fallback-version = "0.0.1"
[tool.black]
target-version = ['py311', 'py312', 'py313']
[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 = ["pybtex.*", "pyld.*"]
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
extend-exclude = ["build/"]
[tool.pytest.ini_options]
norecursedirs = "build docs .*"
consider_namespace_packages = true