audit-labs/audit-tools
clone: git clone https://gitbay.org/audit-labs/audit-tools.git
main: pyproject.toml · raw
1[build-system]
2requires = ["setuptools>=84.0.0"]
3build-backend = "setuptools.build_meta"
4
5[project]
6name = "audit-tools"
7version = "1.0.0"
8description = "Scripts for programmatically gathering IT audit evidence from cloud, source control, databases, and operating systems."
9readme = { file = "README.org", content-type = "text/plain" }
10requires-python = ">=3.10"
11license = "GPL-3.0-or-later"
12authors = [{ name = "Christian Cleberg", email = "hello@cleberg.net" }]
13keywords = ["audit", "compliance", "evidence", "ITGC", "SOC2", "ISO27001"]
14
15# The core is deliberately empty: many collectors are shell scripts or use only
16# the standard library. Install just the extras a given procedure needs, so a
17# locked-down auditing laptop never pulls pandas/dash/plotly it will not run.
18dependencies = []
19
20[project.optional-dependencies]
21# Sampling and data analysis (CSV + Excel wrangling).
22analysis = ["pandas", "openpyxl", "xlrd", "PyYAML"]
23# Interactive dashboards for project / findings data.
24dashboards = ["dash", "plotly", "Werkzeug>=3.1.8"]
25# AWS evidence collectors.
26aws = ["boto3", "botocore[crt]", "urllib3>=2.7.0"]
27# GitHub / GitLab REST collectors.
28collectors = ["requests", "urllib3>=2.7.0"]
29# MongoDB user / access collectors.
30mongo = ["pymongo"]
31# Terminal UI that drives the collectors.
32tui = ["audit-tools[aws,collectors]", "textual"]
33# Everything, for a full local install.
34all = ["audit-tools[analysis,dashboards,aws,collectors,mongo,tui]"]
35# Development: linting and tests.
36dev = ["audit-tools[all]", "pytest", "ruff"]
37
38[project.urls]
39Homepage = "https://audit-labs.dev"
40Repository = "https://github.com/audit-labs/audit-tools"
41
42# This repo is a runnable script collection, not an importable library. Declare
43# no modules so `pip install .` provisions dependencies (via extras) without
44# trying to package the top-level scripts.
45[tool.setuptools]
46py-modules = []