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.
- evidentia-0.6.0/.gitignore +95 -0
- evidentia-0.6.0/PKG-INFO +59 -0
- evidentia-0.6.0/README.md +30 -0
- evidentia-0.6.0/pyproject.toml +56 -0
- evidentia-0.6.0/src/evidentia/__init__.py +9 -0
- evidentia-0.6.0/src/evidentia/cli/__init__.py +1 -0
- evidentia-0.6.0/src/evidentia/cli/catalog.py +536 -0
- evidentia-0.6.0/src/evidentia/cli/collect.py +199 -0
- evidentia-0.6.0/src/evidentia/cli/explain.py +281 -0
- evidentia-0.6.0/src/evidentia/cli/gap.py +384 -0
- evidentia-0.6.0/src/evidentia/cli/init.py +119 -0
- evidentia-0.6.0/src/evidentia/cli/integrations.py +262 -0
- evidentia-0.6.0/src/evidentia/cli/main.py +399 -0
- evidentia-0.6.0/src/evidentia/cli/risk.py +178 -0
- evidentia-0.6.0/src/evidentia/config.py +34 -0
- evidentia-0.6.0/src/evidentia/py.typed +0 -0
|
@@ -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
|
evidentia-0.6.0/PKG-INFO
ADDED
|
@@ -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."""
|