Skip to main content
synaptic demo

synaptic

Visualize the dependency graph of any Python project.
Internal imports · Cloud SDKs · HTTP clients · Circular deps — all in one command.

Python License Built with Typer Powered by Rich


Features

  • Static AST analysis — no runtime execution needed
  • Internal imports — maps every import and from X import Y across your codebase
  • Cloud SDK detection — identifies AWS (boto3), GCP (google.cloud, firebase_admin) and Azure (azure.*) usage
  • HTTP client detection — flags modules using requests, httpx, aiohttp, urllib3 and more
  • Circular dependency highlighting — broken cycles rendered in red
  • Two output formats — interactive HTML (pyvis) or static SVG/PNG (graphviz)
  • Rich terminal output — live progress, color-coded summary

Installation

pip install synaptic

Or from source:

git clone https://github.com/your-username/synaptic
cd synaptic
pip install -e .

Requirements: Python 3.10+, graphviz binary installed on your system (apt install graphviz / brew install graphviz).


Quick start

# Interactive HTML graph (default)
synaptic scan ./my-project

# Custom output path
synaptic scan ./my-project --output architecture.html

# SVG with circular dependency highlighting
synaptic scan ./my-project --output graph.svg --circular

# Skip cloud and HTTP detection, filter stdlib
synaptic scan ./my-project --no-cloud --no-http --filter-stdlib

# Include test files in the scan
synaptic scan ./my-project --tests

Options

Flag Default Description
--output, -o synaptic_graph.html Output file (.html or .svg)
--cloud / --no-cloud on Detect AWS / GCP / Azure SDKs
--http / --no-http on Detect HTTP client libraries
--tests / --no-tests off Include test files
--filter-stdlib / --no-filter-stdlib on Exclude Python stdlib from graph
--filter-external / --no-filter-external off Exclude third-party packages
--circular, -c off Highlight circular dependencies in red
--version, -v — Show version and exit

Architecture

synaptic/
├── cli.py             # Typer CLI + Rich output
├── scanner.py         # Recursive .py file discovery
├── parser.py          # AST-based import analysis
├── cloud_detector.py  # AWS / GCP / Azure SDK detection
├── http_detector.py   # HTTP client library detection
├── graph.py           # networkx graph + graphviz / pyvis rendering
└── utils.py           # Shared helpers

Node types

Color Meaning
🔵 Blue Internal project module
🟠 Orange AWS / GCP / Azure SDK
🩷 Pink HTTP client (requests, httpx…)
⚫ Grey Stdlib / external package
🔴 Red edge Circular dependency

License

MIT © 2024

Metadata

Release files for synaptic-graph 0.1.0

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

Source distribution (sdist)

Source distribution for synaptic-graph 0.1.0
File Size Uploaded
synaptic_graph-0.1.0.tar.gz 13.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for synaptic-graph 0.1.0
File Interpreter ABI Platform
synaptic_graph-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 29.9 kB

Release files / synaptic_graph-0.1.0.tar.gz

Download URL synaptic_graph-0.1.0.tar.gz
Size 13.3 kB
Tags Source
SHA-256 checksum
How to use checksums
3f52d067626db381129d6e6dad2b8c1f5585b115202274be1f525c210027227d
BLAKE2b-256 checksum
How to use checksums
5924c31d610fb0899d0d317e53baa55de8fcd544e730a170204990907c08b765
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 Apr 7, 2026.

Transparency log

Release files / synaptic_graph-0.1.0-py3-none-any.whl

Download URL synaptic_graph-0.1.0-py3-none-any.whl
Size 16.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ebca1cef563e7a29c5c03e00784305df35ff8f317ec6c406052cae91fca157a5
BLAKE2b-256 checksum
How to use checksums
7ca7949a67a3fb33a8d1c60d5d13fdfcb693c7067bf0da90f3539da31a2e3b50
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 Apr 7, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

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