Release v0.1.0¶
Release Date: 2026-05-18
Highlights¶
- Communication graph analysis framework for email corpora with centrality, community detection, and visualization exports
- Multi-format email ingestion (mbox, maildir) with identity resolution and thread reconstruction
- Gephi (GEXF) and Neo4j (Cypher) export for graph visualization and querying
Features¶
Core Framework¶
- Entity Model: Actor, Interaction, Message, and Thread types for representing communication networks
- Weight Profiles: Configurable edge weighting with built-in profiles for influence, information flow, and coordination analysis
- Storage Layer: In-memory store with JSON serialization and session persistence
- Graph Abstraction: Integration with omniretrieve for graph operations
Email Ingestion¶
- Mbox Adapter: Parse standard mbox files with MIME header extraction
- Maildir Adapter: Recursive scanning of maildir directories
- Thread Reconstruction: Automatic threading using References and In-Reply-To headers
- Identity Resolution: SCIM-based actor management with alias merging and domain classification
Analysis Algorithms¶
- Centrality Metrics: PageRank, degree (in/out/total), and betweenness centrality
- Community Detection: Louvain algorithm with configurable resolution parameter
- Temporal Analysis: Activity burst detection and pattern analysis
- Path Analysis: Shortest paths, average path length, graph diameter, connected components
- Bridge Detection: Identify actors connecting different communities
- External Analysis: Boundary spanner identification and domain statistics
Export Formats¶
- GEXF: Gephi-compatible format with centrality and community attributes
- Neo4j Cypher: Schema creation and batched MERGE statements
- JSON/CSV: Tabular export of analysis results
CLI¶
- Pipeline Command: Combined ingestion and analysis in one step
- Session Persistence: Save and resume analysis state across invocations
- Identity Commands: List actors, view aliases, show resolution statistics
- Configuration: YAML config files with environment variable overrides
Enron Corpus Support¶
- Integration with enron-people package
- Pre-curated identity data for key Enron employees
- Known aliases for accurate identity resolution
Documentation¶
- Comprehensive MkDocs site with Material theme
- Getting started guides: installation, quickstart, Enron tutorial
- User guide: CLI reference, configuration, analysis types, export formats
- Reference: architecture overview, weight profiles, roadmap
Test Coverage¶
- 191 tests across all packages
- Unit tests for entity, identity, storage, analysis, adapter, and threading
- Integration tests for end-to-end pipeline validation
Dependencies¶
| Package | Version | Purpose |
|---|---|---|
github.com/enrondata/enron-people |
v0.1.1 | Enron identity data |
github.com/spf13/cobra |
v1.10.2 | CLI framework |
github.com/spf13/viper |
v1.21.0 | Configuration |
github.com/plexusone/omniretrieve |
v0.2.0 | Graph abstraction |
github.com/jhillyerd/enmime |
v1.3.0 | MIME parsing |
Installation¶
Quick Start¶
# Run full analysis pipeline
commgraph pipeline \
--source=/path/to/emails \
--format=maildir \
--internal-domains=company.com \
--profile=influence \
--top=20
# Export for visualization
commgraph export gephi --output=graph.gexf