Scan repositories for scp.yaml files and build architecture graphs
Project description
SCP Constructor
Build architecture graphs from scp.yaml files. Scan local directories or GitHub organizations, validate manifests, sync to Neo4j, and export to JSON or Mermaid diagrams.
Installation
uv sync
Usage
Validate SCP Files
uv run scp validate ./examples
Scan Local Directory
# Scan and export to Mermaid
uv run scp scan ./path/to/repos --export mermaid
# Scan and export to JSON
uv run scp scan ./path/to/repos --export json -o graph.json
Scan GitHub Organization
export GITHUB_TOKEN=ghp_xxx
uv run scp scan-github myorg --export mermaid
Sync to Neo4j
export NEO4J_URI=bolt://localhost:7687
export NEO4J_USER=neo4j
export NEO4J_PASSWORD=password
uv run scp scan ./repos
Commands
| Command | Description |
|---|---|
scp validate <path> |
Validate SCP files |
scp scan <path> |
Scan local directory |
scp scan-github <org> |
Scan GitHub org |
scp version |
Show version |
Export Formats
- JSON: Graph with nodes/edges arrays
- Mermaid: Flowchart diagram with tier styling
Environment Variables
| Variable | Description |
|---|---|
GITHUB_TOKEN |
GitHub PAT for org scanning |
NEO4J_URI |
Neo4j connection URI |
NEO4J_USER |
Neo4j username |
NEO4J_PASSWORD |
Neo4j password |
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scp_constructor-0.1.0.tar.gz.
File metadata
- Download URL: scp_constructor-0.1.0.tar.gz
- Upload date:
- Size: 29.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52e1f0a0be8a7f7691ad63a8ad7ab8a77a1a2e2a814dd1ca6fbc8928072341ae
|
|
| MD5 |
11e9fb9f3bcfc21f14cac1b2658025c7
|
|
| BLAKE2b-256 |
3459c8d3b30bc091005f5324a1a2d09b1283d7e294da4f4d34ed163196285b37
|
Provenance
The following attestation bundles were made for scp_constructor-0.1.0.tar.gz:
Publisher:
ci.yml on krackenservices/scp-integrations
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scp_constructor-0.1.0.tar.gz -
Subject digest:
52e1f0a0be8a7f7691ad63a8ad7ab8a77a1a2e2a814dd1ca6fbc8928072341ae - Sigstore transparency entry: 764638016
- Sigstore integration time:
-
Permalink:
krackenservices/scp-integrations@6c04d5d489ec813ec30d902ee06607f4b3c6d9a6 -
Branch / Tag:
refs/tags/constructor-v0.1.0 - Owner: https://github.com/krackenservices
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@6c04d5d489ec813ec30d902ee06607f4b3c6d9a6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file scp_constructor-0.1.0-py3-none-any.whl.
File metadata
- Download URL: scp_constructor-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bccc48975aee7ab4e124eb343a0e3a0a818860c4da64c2d62bfe4e0f374f27fb
|
|
| MD5 |
a5ee805156bf6c4d14123beeee7b5c42
|
|
| BLAKE2b-256 |
5b59a0022645fa01e42da0bfa8f992016bf4c0ed96bc45dcb921fe46cc1d4024
|
Provenance
The following attestation bundles were made for scp_constructor-0.1.0-py3-none-any.whl:
Publisher:
ci.yml on krackenservices/scp-integrations
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scp_constructor-0.1.0-py3-none-any.whl -
Subject digest:
bccc48975aee7ab4e124eb343a0e3a0a818860c4da64c2d62bfe4e0f374f27fb - Sigstore transparency entry: 764638018
- Sigstore integration time:
-
Permalink:
krackenservices/scp-integrations@6c04d5d489ec813ec30d902ee06607f4b3c6d9a6 -
Branch / Tag:
refs/tags/constructor-v0.1.0 - Owner: https://github.com/krackenservices
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@6c04d5d489ec813ec30d902ee06607f4b3c6d9a6 -
Trigger Event:
push
-
Statement type: