Skip to main content

Generic compliance audit framework with plugin architecture

Project description

darnit

Generic compliance audit framework with plugin architecture.

Overview

darnit is the core framework that provides:

  • Plugin System: Discover and load compliance implementations via Python entry points
  • Configuration Management: .project.yaml for project metadata and file locations
  • Progressive Verification: "Sieve" model for efficient compliance checking
  • Remediation Framework: Auto-fix infrastructure for compliance gaps
  • MCP Server Tools: Ready-to-use tools for AI assistant integration

Installation

pip install darnit

Usage

Discover Implementations

from darnit.core.discovery import get_implementation

# Get a compliance implementation by name
impl = get_implementation("openssf-baseline")
if impl:
    controls = impl.get_all_controls()

Configuration Management

from darnit.config.loader import load_project_config, save_project_config
from darnit.config.discovery import discover_files

# Discover existing documentation files
discovered = discover_files("/path/to/repo")

# Load project configuration
config = load_project_config("/path/to/repo")

Creating Implementations

To create a new compliance implementation:

  1. Create a package with entry point darnit.implementations
  2. Implement the ComplianceImplementation protocol
  3. Register controls and checks
# pyproject.toml
[project.entry-points."darnit.implementations"]
my-standard = "my_package:register"
# my_package/__init__.py
def register():
    from .implementation import MyImplementation
    return MyImplementation()

See darnit-baseline for a complete example.

Package Structure

darnit/
├── core/           # Plugin system, models, discovery
├── config/         # Project configuration (.project.yaml)
├── sieve/          # Progressive verification pipeline
├── remediation/    # Auto-fix framework
├── server/         # MCP server tool implementations
└── tools/          # MCP tool helpers and utilities

License

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

darnit_core-0.1.0.tar.gz (217.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

darnit_core-0.1.0-py3-none-any.whl (260.0 kB view details)

Uploaded Python 3

File details

Details for the file darnit_core-0.1.0.tar.gz.

File metadata

  • Download URL: darnit_core-0.1.0.tar.gz
  • Upload date:
  • Size: 217.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for darnit_core-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7d790e34ed422e7305717f15ded78ad93148fa265718c1d29438d01d36145106
MD5 8b4dee33e8a249d7e1a0bd0301c51f6d
BLAKE2b-256 63e1ed1973aea66197e1ad0e0b7e7b4852ee6353f313fc51d242421f4f456870

See more details on using hashes here.

File details

Details for the file darnit_core-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: darnit_core-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 260.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for darnit_core-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 925594fb0d197004993a955a28d4fd4af3f988d3f8e3b78431fda75f27ace3a2
MD5 1eafb53e47a119516625b40207c81d8b
BLAKE2b-256 dfd39bcfa3f06a8f8748c531cba543f404b87c11c6624a189591ef34cb6aa979

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page