evidentia 0.6.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,95 @@
1
+ # v0.4.0 — frontend build output lands in the Python package's static
2
+ # directory at wheel-assembly time via the hatchling build hook. The
3
+ # .gitkeep file in static/ is tracked; everything else is regenerated.
4
+ packages/evidentia-api/src/evidentia_api/static/assets/
5
+ packages/evidentia-api/src/evidentia_api/static/index.html
6
+ packages/evidentia-api/src/evidentia_api/static/*.js
7
+ packages/evidentia-api/src/evidentia_api/static/*.css
8
+
9
+ # Python
10
+ __pycache__/
11
+ *.py[cod]
12
+ *$py.class
13
+ *.so
14
+ .Python
15
+ build/
16
+ develop-eggs/
17
+ dist/
18
+ downloads/
19
+ eggs/
20
+ .eggs/
21
+ lib/
22
+ lib64/
23
+ parts/
24
+ sdist/
25
+ var/
26
+ wheels/
27
+ # NB: `lib/` and `lib64/` above would otherwise also match
28
+ # packages/evidentia-ui/src/lib/ (TypeScript utils). Scope to top-level
29
+ # only — there's no real Python-venv lib/ we'd fail to ignore because
30
+ # .venv/ and venv/ below cover that case.
31
+ !packages/evidentia-ui/src/lib/
32
+ *.egg-info/
33
+ .installed.cfg
34
+ *.egg
35
+ MANIFEST
36
+
37
+ # Virtual environments
38
+ .venv/
39
+ venv/
40
+ ENV/
41
+ env/
42
+
43
+ # uv
44
+ # NOTE: uv.lock is committed for reproducible builds.
45
+ # https://docs.astral.sh/uv/concepts/projects/sync/#locking-dependencies
46
+
47
+ # Testing
48
+ .pytest_cache/
49
+ .coverage
50
+ .coverage.*
51
+ htmlcov/
52
+ .tox/
53
+ .cache
54
+ coverage.xml
55
+ *.cover
56
+ .hypothesis/
57
+
58
+ # mypy
59
+ .mypy_cache/
60
+ .dmypy.json
61
+ dmypy.json
62
+
63
+ # Ruff
64
+ .ruff_cache/
65
+
66
+ # IDE
67
+ .vscode/
68
+ .idea/
69
+ *.swp
70
+ *.swo
71
+ *~
72
+ .DS_Store
73
+
74
+ # Claude Code local state
75
+ .claude/
76
+
77
+ # Evidentia runtime — user project state (NOT bundled examples).
78
+ # `.controlbridge/` and `/controlbridge.yaml` are kept ignored for the
79
+ # lifetime of the shim (through v0.7.0) so legacy project workspaces
80
+ # authored against v0.1.0 – v0.5.0 don't start leaking into git.
81
+ .evidentia/
82
+ .controlbridge/
83
+ /evidentia.yaml
84
+ /controlbridge.yaml
85
+ *.local.yaml
86
+ evidence/
87
+ reports/
88
+ risks/
89
+
90
+ # Generated reports from examples (keep source files, ignore generated ones)
91
+ examples/**/report.json
92
+ examples/**/report.csv
93
+ examples/**/report.md
94
+ examples/**/report.oscal.json
95
+ examples/**/risks.json
@@ -0,0 +1,59 @@
1
+ Metadata-Version: 2.4
2
+ Name: evidentia
3
+ Version: 0.6.0
4
+ Summary: Open-source GRC tool: gap analysis, risk statements, evidence collection, web UI, and compliance automation
5
+ Project-URL: Homepage, https://github.com/allenfbyrd/evidentia
6
+ Project-URL: Documentation, https://evidentia.dev
7
+ Project-URL: Repository, https://github.com/allenfbyrd/evidentia
8
+ Project-URL: Changelog, https://github.com/allenfbyrd/evidentia/blob/main/CHANGELOG.md
9
+ Author-email: Allen Byrd <allen@allenfbyrd.com>
10
+ License-Expression: Apache-2.0
11
+ Keywords: compliance,governance,grc,iso27001,nist,oscal,risk,soc2
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Intended Audience :: Information Technology
14
+ Classifier: License :: OSI Approved :: Apache Software License
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Topic :: Security
18
+ Classifier: Typing :: Typed
19
+ Requires-Python: >=3.12
20
+ Requires-Dist: evidentia-ai<0.7.0,>=0.6.0
21
+ Requires-Dist: evidentia-collectors<0.7.0,>=0.6.0
22
+ Requires-Dist: evidentia-core<0.7.0,>=0.6.0
23
+ Requires-Dist: evidentia-integrations<0.7.0,>=0.6.0
24
+ Requires-Dist: rich>=13.0
25
+ Requires-Dist: typer>=0.14
26
+ Provides-Extra: gui
27
+ Requires-Dist: evidentia-api<0.7.0,>=0.6.0; extra == 'gui'
28
+ Description-Content-Type: text/markdown
29
+
30
+ # evidentia
31
+
32
+ The Evidentia meta-package: provides the `evidentia` CLI and the optional REST API.
33
+
34
+ This package depends on `evidentia-core`, `evidentia-ai`, `evidentia-collectors`, and `evidentia-integrations`. Installing it pulls in everything needed for a full Evidentia installation.
35
+
36
+ ## Install
37
+
38
+ ```bash
39
+ pip install evidentia
40
+ ```
41
+
42
+ ## CLI
43
+
44
+ ```bash
45
+ evidentia --help
46
+ cb --help # short alias
47
+
48
+ evidentia init # scaffold a new project
49
+ evidentia gap analyze --inventory my-controls.yaml --frameworks soc2-tsc
50
+ evidentia risk generate --context system-context.yaml --gaps report.json
51
+ ```
52
+
53
+ ## REST API
54
+
55
+ ```bash
56
+ evidentia serve # start FastAPI server on port 8000
57
+ ```
58
+
59
+ License: Apache 2.0
@@ -0,0 +1,30 @@
1
+ # evidentia
2
+
3
+ The Evidentia meta-package: provides the `evidentia` CLI and the optional REST API.
4
+
5
+ This package depends on `evidentia-core`, `evidentia-ai`, `evidentia-collectors`, and `evidentia-integrations`. Installing it pulls in everything needed for a full Evidentia installation.
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ pip install evidentia
11
+ ```
12
+
13
+ ## CLI
14
+
15
+ ```bash
16
+ evidentia --help
17
+ cb --help # short alias
18
+
19
+ evidentia init # scaffold a new project
20
+ evidentia gap analyze --inventory my-controls.yaml --frameworks soc2-tsc
21
+ evidentia risk generate --context system-context.yaml --gaps report.json
22
+ ```
23
+
24
+ ## REST API
25
+
26
+ ```bash
27
+ evidentia serve # start FastAPI server on port 8000
28
+ ```
29
+
30
+ License: Apache 2.0
@@ -0,0 +1,56 @@
1
+ [project]
2
+ name = "evidentia"
3
+ version = "0.6.0"
4
+ description = "Open-source GRC tool: gap analysis, risk statements, evidence collection, web UI, and compliance automation"
5
+ readme = "README.md"
6
+ authors = [{name = "Allen Byrd", email = "allen@allenfbyrd.com"}]
7
+ license = "Apache-2.0"
8
+ requires-python = ">=3.12"
9
+ keywords = ["grc", "compliance", "governance", "risk", "oscal", "nist", "soc2", "iso27001"]
10
+ classifiers = [
11
+ "Development Status :: 3 - Alpha",
12
+ "Intended Audience :: Information Technology",
13
+ "License :: OSI Approved :: Apache Software License",
14
+ "Operating System :: OS Independent",
15
+ "Programming Language :: Python :: 3.12",
16
+ "Topic :: Security",
17
+ "Typing :: Typed",
18
+ ]
19
+ dependencies = [
20
+ "evidentia-core>=0.6.0,<0.7.0",
21
+ "evidentia-ai>=0.6.0,<0.7.0",
22
+ "evidentia-collectors>=0.6.0,<0.7.0",
23
+ "evidentia-integrations>=0.6.0,<0.7.0",
24
+ "typer>=0.14",
25
+ "rich>=13.0",
26
+ ]
27
+
28
+ [project.optional-dependencies]
29
+ # Web UI — installs the FastAPI server + bundled React SPA.
30
+ # Usage: `pip install "evidentia[gui]"` or `uv tool install "evidentia[gui]"`,
31
+ # then `evidentia serve` to open the local web UI.
32
+ gui = ["evidentia-api>=0.6.0,<0.7.0"]
33
+
34
+ [project.scripts]
35
+ evidentia = "evidentia.cli.main:app"
36
+ cb = "evidentia.cli.main:app"
37
+
38
+ [project.urls]
39
+ Homepage = "https://github.com/allenfbyrd/evidentia"
40
+ Documentation = "https://evidentia.dev"
41
+ Repository = "https://github.com/allenfbyrd/evidentia"
42
+ Changelog = "https://github.com/allenfbyrd/evidentia/blob/main/CHANGELOG.md"
43
+
44
+ [build-system]
45
+ requires = ["hatchling"]
46
+ build-backend = "hatchling.build"
47
+
48
+ [tool.hatch.build.targets.wheel]
49
+ packages = ["src/evidentia"]
50
+
51
+ [tool.uv.sources]
52
+ evidentia-core = { workspace = true }
53
+ evidentia-ai = { workspace = true }
54
+ evidentia-collectors = { workspace = true }
55
+ evidentia-integrations = { workspace = true }
56
+ evidentia-api = { workspace = true }
@@ -0,0 +1,9 @@
1
+ """Evidentia: open-source GRC tool for gap analysis, risk statements, and evidence collection."""
2
+
3
+ from importlib.metadata import PackageNotFoundError
4
+ from importlib.metadata import version as _pkg_version
5
+
6
+ try:
7
+ __version__ = _pkg_version("evidentia")
8
+ except PackageNotFoundError: # pragma: no cover
9
+ __version__ = "0.0.0+unknown"
@@ -0,0 +1 @@
1
+ """Evidentia command-line interface."""