Skip to main content

SCP Constructor

Build architecture graphs from scp.yaml files. Scan local directories or GitHub organizations, validate manifests, sync to Neo4j, and export to JSON, Mermaid, or OpenC2 actuator profiles.

Installation

uv sync

Usage

Validate SCP Files

uv run scp-cli validate ./examples

Scan Local Directory

# Scan and export to Mermaid
uv run scp-cli scan ./path/to/repos --export mermaid

# Scan and export to JSON
uv run scp-cli scan ./path/to/repos --export json -o graph.json

# Scan and export OpenC2 actuator profile (for SOAR)
uv run scp-cli scan ./path/to/repos --export openc2 -o actuators.json

Transform JSON to Other Formats

# Scan once, transform many
uv run scp-cli scan ./repos --export json -o graph.json
uv run scp-cli transform graph.json --export mermaid -o diagram.mmd
uv run scp-cli transform graph.json --export openc2 -o actuators.json

Scan GitHub Organization

export GITHUB_TOKEN=ghp_xxx
uv run scp-cli scan-github myorg --export mermaid

Sync to Neo4j

# Export directly to Neo4j
uv run scp-cli scan ./repos --export neo4j --neo4j-uri bolt://localhost:7687

# Or use environment variables
export NEO4J_URI=bolt://localhost:7687
export NEO4J_USER=neo4j
export NEO4J_PASSWORD=password

uv run scp-cli scan ./repos --export neo4j

Commands

Command Description
scp-cli validate <path> Validate SCP files
scp-cli scan <path> Scan local directory
scp-cli scan-github <org> Scan GitHub org
scp-cli transform <json> Transform JSON to other formats
scp-cli version Show version

Export Formats

  • JSON: Graph with nodes/edges arrays
  • Mermaid: Flowchart diagram with tier styling
  • OpenC2: Actuator profile for SOAR integration
  • Neo4j: Direct sync to Neo4j graph database

Environment Variables

Variable Description
GITHUB_TOKEN GitHub PAT for org scanning
NEO4J_URI Neo4j connection URI
NEO4J_USER Neo4j username
NEO4J_PASSWORD Neo4j password

Metadata

Release files for scp-constructor 0.4.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scp-constructor 0.4.3
File Size Uploaded Provenance Actions
scp_constructor-0.4.3.tar.gz 31.6 kB With provenance Details for scp_constructor-0.4.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for scp-constructor 0.4.3
File Interpreter ABI Platform Actions
scp_constructor-0.4.3-py3-none-any.whl Python 3 none any Details for scp_constructor-0.4.3-py3-none-any.whl

Total release size: 48.2 kB

Release files / scp_constructor-0.4.3.tar.gz

Download URL scp_constructor-0.4.3.tar.gz
Size 31.6 kB
Tags Source
SHA-256 checksum
How to use checksums
5a99fd9bc2c6d7c12cf99075fa531cc0eb61c3b091394ec946fd72c0c1b67e6d
BLAKE2b-256 checksum
How to use checksums
e1e7d1a312855b14bb688e3c57b4717d22ee2616b340189d9ab29ebc441d6ed3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 19, 2026.

Transparency log

Release files / scp_constructor-0.4.3-py3-none-any.whl

Download URL scp_constructor-0.4.3-py3-none-any.whl
Size 16.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9c178d36ca1763adfce56957ca7375e670a9889d1dec835431d05421087dc677
BLAKE2b-256 checksum
How to use checksums
68a8a03b4f229ef84146b827106c0c4af8edc5b34a189732221893bb0e4ee231
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 19, 2026.

Transparency log

Security for scp-constructor 0.4.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for scp_constructor-0.4.3.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 19, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page