compliance-trestle
Tools to manage & autogenerate python objects representing the OSCAL layers/models
What it is and what it does
Compliance-trestle is a Python toolkit for managing OSCAL (NIST's machine-readable compliance standard) documents in a developer-friendly way. It breaks large OSCAL structures into smaller, editable pieces that fit into normal git workflows—allowing teams to version, review, and collaborate on compliance artifacts via pull requests. The package validates schemas, transforms documents from other formats into OSCAL, and provides governance tooling for markdown and drawio files used in compliance authoring.
The package is built around a CI/CD-friendly pipeline that sits on top of compliance artifacts in git, making compliance state transparent across stakeholders. It supports JSON and YAML formats (not XML), includes detached signing and verification for artifacts, and exposes an underlying object model for developers to interact with OSCAL programmatically. Version 5 is actively developed and supports OSCAL 1.2.1 with pydantic v2; version 4 is in maintenance mode until December 31, 2026.
Use it for:
- Manage control descriptions and implementation details in git, linking system changes to affected compliance controls.
- Convert compliance documentation from spreadsheets or markdown into standardized OSCAL format for tool interoperability.
- Enforce consistent formatting and content in compliance markdown documents via template-based governance.
- Build compliance CI/CD pipelines that validate and version OSCAL artifacts alongside infrastructure code.
- Split large OSCAL catalogs into smaller, reviewable pieces for team collaboration and peer review.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Compliance-trestle manages, validates, and transforms OSCAL (NIST's compliance standard format) documents, splitting large structures into editable pieces while enforcing schema compliance and supporting markdown-to-OSCAL conversion.
Yes, if you work with NIST compliance frameworks or need to manage OSCAL documents at scale. The package is actively maintained, has no known vulnerabilities, supports current Python versions, and provides genuine value for teams bringing compliance into DevOps workflows. Install with confidence if your compliance tooling stack requires OSCAL interchange; skip it if you don't work with OSCAL or compliance automation.
Install
compliance-trestle on PyPI
pip
pip install compliance-trestleuv
uv add compliance-trestlepoetry
poetry add compliance-trestleInstalling compliance-trestle
Before you install
Low friction installation via pip; actively maintained with releases every few days. Requires Python 3.10 or later and pulls in 19 runtime dependencies including cryptography, pydantic, and YAML/JSON handling libraries—typical for a compliance tooling suite.
License in practice
Apache-2.0 (permissive): you can use, modify, and distribute this package freely in commercial and private projects, provided you include the license notice and state material changes.
Quickstart
pip install compliance-trestle
from trestle.core.models import OscalBaseModel
# Load and manipulate OSCAL documents via the object model
Requires Python 3.10 or later; designed for use in git-based workflows with compliance artifacts.
Verify before relying
- Whether the package's 19 runtime dependencies introduce supply-chain risk in regulated environments.
- Performance characteristics when working with very large OSCAL catalogs or profiles.
- Extent of support for OSCAL 1.2.1 features beyond what v4 (maintenance mode) provides.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 19 — attrs, cmarkgfm, cryptography, defusedxml, furl, ilcli, importlib-resources, jinja2, openpyxl, orjson, paramiko, pydantic, python-dotenv, python-frontmatter, pywin32, requests, rfc8785, ruamel-yaml, securesystemslib |
| Maintenance | actively maintained — 7 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 193,632/month — #9,849 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: compliance_trestle-5.0.0-py3-none-any.whl
Keywords: Compliance, OSCAL, Security
Tags
More Security packages
Provides Python bindings to the FreeDesktop.org…
permissive · top 1,000 on PyPI
msalMSAL for Python handles OAuth2 and OpenID…
permissive · top 1,000 on PyPI
joserfcjoserfc implements JOSE standards (JWS, JWE,…
permissive · top 1,000 on PyPI
AuthlibAuthlib provides a complete implementation of…
permissive · top 1,000 on PyPI
argon2-cffi-bindingsProvides low-level CFFI bindings to the…
permissive · top 1,000 on PyPI
adalADAL for Python authenticates applications with…
permissive · top 1,000 on PyPI
agent_governance_toolkitUnified installer that bundles policy…
permissive · top 15,000 on PyPI
agent-governance-toolkit-coreProvides a unified runtime kernel and trust…
permissive · top 15,000 on PyPI
cdk-nagScans AWS CDK applications and CloudFormation…
permissive · top 5,000 on PyPI
prowlerProwler automates security and compliance…
permissive · top 15,000 on PyPI
terraform-complianceterraform-compliance is a BDD-based test…
permissive · top 15,000 on PyPI
stix2-validatorValidates STIX 2.x JSON documents against the…
permissive · top 15,000 on PyPI
docling-slimDocling Slim is a lightweight, modular SDK for…
permissive · top 5,000 on PyPI
agent-governance-toolkit-cliProvides CLI tools, SRE observability, and…
permissive · top 15,000 on PyPI
doclangDocLang is a reference toolkit for validating…
permissive · top 5,000 on PyPI
solc-selectManages installation and switching between…
agpl · top 15,000 on PyPI