theHarvester/pyproject.toml
L1ghtn1ng fbf9244bd8 Replace various linters with Ruff
This commit removes individual linters and formatters such as black, flake8 and isort and replaces them with Ruff. The relevant configuration files have been deleted and the settings have been merged into pyproject.toml. Also, python-version in the GitHub workflow file has been updated to include 3.12. Ruff's linter and formatter is now used in the GitHub workflows as well.
2024-03-02 22:27:55 +00:00

106 lines
2.8 KiB
TOML

[project]
name = "theHarvester"
description = "theHarvester is a very simple, yet effective tool designed to be used in the early stages of a penetration test"
readme = "README.md"
authors = [
{ name = "Christian Martorella", email = "cmartorella@edge-security.com" },
{ name = "Jay Townsend", email = "jay@cybermon.uk" },
{ name = "Matthew Brown", email = "36310667+NotoriousRebel@users.noreply.github.com" },
]
requires-python = ">=3.9"
urls.Homepage = "https://github.com/laramies/theHarvester"
classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"License :: OSI Approved :: GNU General Public License v2 (GPLv2)",
"Operating System :: OS Independent",
]
dynamic = ["dependencies", "optional-dependencies", "version"]
[project.scripts]
theHarvester = "theHarvester.theHarvester:main"
restfulHarvest = "theHarvester.restfulHarvest:main"
[tool.setuptools.dynamic]
version = { attr = "theHarvester.lib.version.VERSION" }
dependencies = { file = "requirements/base.txt" }
optional-dependencies.dev = { file = "requirements/dev.txt" }
[tool.setuptools.packages.find]
include = ["theHarvester*"]
[tool.setuptools.package-data]
"*" = ["*.txt", "*.yaml"]
[tool.pytest.ini_options]
minversion = "7.1.1"
addopts = "--no-header --asyncio-mode=auto"
testpaths = [
"tests",
"tests/discovery/",
]
[build-system]
requires = ["setuptools>=68"]
build-backend = "setuptools.build_meta"
[tool.mypy]
python_version = "3.11"
warn_unused_configs = true
ignore_missing_imports = true
show_traceback = true
show_error_codes = true
namespace_packages = true
[tool.ruff]
# Exclude a variety of commonly ignored directories.
exclude = [
"tests",
".eggs",
".git",
".git-rewrite",
".mypy_cache",
".pyenv",
".pytest_cache",
".pytype",
".ruff_cache",
".github",
".venv",
".vscode",
".idea",
"__pypackages__",
"build",
"dist",
"site-packages",
"venv",
]
line-length = 130
target-version = "py310"
[tool.ruff.lint]
# Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default.
# Unlike Flake8, Ruff doesn't enable pycodestyle warnings (`W`) or
select = ["E4", "E7", "E9", "F", "I", "UP"]
ignore = []
# Allow fix for all enabled rules (when `--fix`) is provided.
fixable = ["ALL"]
unfixable = []
# Allow unused variables when underscore-prefixed.
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
[tool.ruff.format]
# Like Black, use double quotes for strings.
quote-style = "single"
indent-style = "space"
# Like Black, respect magic trailing commas.
skip-magic-trailing-comma = false
# Like Black, automatically detect the appropriate line ending.
line-ending = "auto"