Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
laramies
GitHub Repository: laramies/theHarvester
Path: blob/master/pyproject.toml
892 views
1
[project]
2
name = "theHarvester"
3
description = "theHarvester is a very simple, yet effective tool designed to be used in the early stages of a penetration test"
4
readme = "README.md"
5
license = "GPL-2.0-only"
6
authors = [
7
{ name = "Christian Martorella", email = "[email protected]" },
8
{ name = "Jay Townsend", email = "[email protected]" },
9
{ name = "Matthew Brown", email = "[email protected]" },
10
]
11
requires-python = ">=3.12"
12
urls.Homepage = "https://github.com/laramies/theHarvester"
13
classifiers = [
14
"Programming Language :: Python :: 3",
15
"Programming Language :: Python :: 3.12",
16
"Programming Language :: Python :: 3.13",
17
"Programming Language :: Python :: 3.14",
18
"Operating System :: OS Independent",
19
]
20
dynamic = ["version"]
21
dependencies = [
22
"aiodns==4.0.0",
23
"aiofiles==25.1.0",
24
"aiohttp==3.13.3",
25
"aiohttp-socks==0.11.0",
26
"aiomultiprocess==0.9.1",
27
"aiosqlite==0.22.1",
28
"beautifulsoup4==4.14.3",
29
"censys==2.2.19",
30
"certifi==2026.1.4",
31
"dnspython==2.8.0",
32
"fastapi==0.128.2",
33
"lxml==6.0.2",
34
"netaddr==1.3.0",
35
"playwright==1.58.0",
36
"PyYAML==6.0.3",
37
"python-dateutil==2.9.0.post0",
38
"httpx==0.28.1",
39
"retrying==1.4.2",
40
"shodan==1.31.0",
41
"slowapi==0.1.9",
42
"ujson==5.11.0",
43
"uvicorn==0.40.0",
44
"uvloop==0.22.1; platform_system != 'Windows'",
45
"winloop==0.4.0; platform_system == 'Windows'",
46
]
47
48
[dependency-groups]
49
dev = [
50
"mypy==1.19.1",
51
"mypy-extensions==1.1.0",
52
"pytest==9.0.2",
53
"pytest-asyncio==1.3.0",
54
"types-certifi==2021.10.8.3",
55
"types-chardet==5.0.4.6",
56
"types-python-dateutil==2.9.0.20260124",
57
"types-PyYAML==6.0.12.20250915",
58
"ruff==0.15.0",
59
"types-ujson==5.10.0.20250822",
60
"wheel==0.46.3",
61
"ty==0.0.15",
62
]
63
64
[project.scripts]
65
theHarvester = "theHarvester.theHarvester:main"
66
restfulHarvest = "theHarvester.restfulHarvest:main"
67
68
[tool.pytest.ini_options]
69
minversion = "8.3.3"
70
asyncio_mode = "auto"
71
asyncio_default_fixture_loop_scope = "function"
72
addopts = "--no-header"
73
testpaths = ["tests"]
74
75
[build-system]
76
requires = ["flit_core >=3.11,<4"]
77
build-backend = "flit_core.buildapi"
78
79
[tool.mypy]
80
python_version = "3.13"
81
warn_unused_configs = true
82
ignore_missing_imports = true
83
show_traceback = true
84
show_error_codes = true
85
namespace_packages = true
86
check_untyped_defs = true
87
88
[tool.uv]
89
python-preference = "managed"
90
91
[tool.uv.pip]
92
python-version = "3.13"
93
94
[tool.ty.src]
95
respect-ignore-files = false
96
exclude = [
97
".venv/**",
98
"tests/**",
99
".github/*"
100
]
101
102
[tool.ruff]
103
# Exclude a variety of commonly ignored directories.
104
exclude = [
105
"tests",
106
".eggs",
107
".git",
108
".git-rewrite",
109
".mypy_cache",
110
".pyenv",
111
".pytest_cache",
112
".pytype",
113
".ruff_cache",
114
".github",
115
".venv",
116
".vscode",
117
".idea",
118
"__pypackages__",
119
"build",
120
"dist",
121
"site-packages",
122
"venv",
123
]
124
125
line-length = 130
126
target-version = "py313"
127
show-fixes = true
128
129
[tool.ruff.lint]
130
select = ["E",
131
"F",
132
"N",
133
"I",
134
"UP",
135
"TCH",
136
"FA",
137
"RUF",
138
"PT",
139
"TC",
140
"ASYNC"
141
]
142
ignore = [
143
"E501",
144
"ASYNC230",
145
"N999",
146
"PLR0915"
147
]
148
149
# Allow fix for all enabled rules (when `--fix`) is provided.
150
fixable = ["ALL"]
151
unfixable = []
152
153
# Allow unused variables when underscore-prefixed.
154
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
155
156
[tool.ruff.format]
157
# Like Black, use double quotes for strings.
158
quote-style = "single"
159
indent-style = "space"
160
161
# Like Black, respect magic trailing commas.
162
skip-magic-trailing-comma = false
163
164
# Like Black, automatically detect the appropriate line ending.
165
line-ending = "auto"
166
167