FollowWeb Network Analysis Package
A network analysis tool for Instagram follower/following relationships using graph theory and network analysis techniques. Transform social connection data into interactive visualizations with automatic community detection and influence metrics.
Key Features
- Multiple Analysis Strategies: k-core decomposition, reciprocal connections, ego-alter analysis
- Comprehensive Reporting: text reports with network statistics and parameters
- Performance Optimized: caching system eliminates duplicate calculations and reduces memory usage
Analysis Strategies
- K-Core Analysis: Full network analysis identifying densely connected subgraphs
- Reciprocal K-Core: Focus on mutual connections and bidirectional relationships
- Ego-Alter Analysis: Personal network analysis centered on specific users
Output Formats
- Interactive HTML: Network visualizations with hover tooltips and physics controls
- Static PNG: High-resolution images suitable for presentations and papers
- Metrics Reports: Detailed analysis statistics, timing, and configuration parameters
Quick Setup
Installation
# Install production dependencies
pip install -r requirements.txt
# Install the package in development mode
pip install -e .
# Or install with development dependencies
pip install -e ".[dev]"
Basic Usage
# Run analysis with sample data
followweb --input examples/followers_following.json
# Use a configuration file
followweb --config configs/fast_config.json
# Print default configuration
followweb --print-default-config
Example Configuration Files
- fast_config.json - Quick analysis optimized for development and testing
- comprehensive_layout_config.json - Complete configuration with all available features
Development Setup
For development, see docs/development/CONTRIBUTING.md for detailed setup instructions including dependency installation and code quality tools.
Testing
FollowWeb includes a comprehensive test suite with 337 passing tests and 73.95% code coverage, ensuring reliability across all components.
Test Categories
- Unit Tests (280+ tests): Fast, isolated component testing with maximum parallelization
- Integration Tests (45+ tests): Cross-module testing with controlled parallelization
- Performance Tests (12+ tests): Benchmarking and timing validation with sequential execution
Running Tests
# Run all tests with coverage
python -m pytest --cov=FollowWeb_Visualizor --cov-report=term-missing
# Run specific test categories
python -m pytest tests/unit/ # Unit tests only
python -m pytest tests/integration/ # Integration tests only
python -m pytest tests/performance/ # Performance tests only
# Run tests with detailed output
python -m pytest -v
# Run tests in parallel (automatic)
python -m pytest -n auto
For detailed testing procedures, see tests/README.md.
Documentation
User Documentation
- docs/USER_GUIDE.md - User guide with tutorials and workflows
- docs/CONFIGURATION_GUIDE.md - Configuration guide with layout options
- docs/INSTALL_GUIDE.md - Installation and setup guide
- tests/README.md - Testing procedures and guidelines
Developer Documentation
- docs/development/CONTRIBUTING.md - Development guidelines and contribution process
- docs/development/API_REFERENCE.md - Complete API documentation with examples
- docs/development/PACKAGE_OVERVIEW.md - High-level package architecture overview
- docs/development/PARALLEL_PROCESSING_GUIDE.md - Centralized parallel processing system guide
Package Structure
├── FollowWeb_Visualizor/ # Main package (main.py, config.py, analysis.py, visualization.py, utils.py, progress.py)
├── tests/ # Test suite (unit/, integration/, performance/)
├── docs/ # Documentation (API_REFERENCE.md, USER_GUIDE.md, CONTRIBUTING.md, etc.)
│ └── development/ # Development documentation and analysis reports
├── configs/ # Configuration files for different analysis scenarios
├── examples/ # Sample data and example outputs
├── Output/ # Default output directory for generated results
├── README.md # Main documentation
├── setup.py # Package installation
├── requirements*.txt # Dependencies
├── Makefile # Development automation
└── pytest.ini # Test configuration
Acknowledgments
FollowWeb is built upon excellent open-source libraries and tools. We gratefully acknowledge:
Core Dependencies
- NetworkX - Graph analysis algorithms and community detection
- pandas - Data manipulation and analysis
- matplotlib - Static graph visualization and plotting
- pyvis - Interactive network visualizations
Development Tools
See docs/attribution/CONTRIBUTORS.md for detailed acknowledgments and contribution guidelines.
Links
- Source Code: FollowWeb_Visualizor/
- Tests: tests/
- Documentation: docs/
- Attribution: docs/attribution/ - Contributors, dependencies, and license notices
Metadata
Release files for followweb-visualizor 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| followweb_visualizor-1.0.1.tar.gz | 975.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| followweb_visualizor-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.1 MB
Release files / followweb_visualizor-1.0.1.tar.gz
| Download URL | followweb_visualizor-1.0.1.tar.gz |
|---|---|
| Size | 975.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
afc966151822565ee110993982507d838c2b37568919467c73ac382d377d7542
|
|
BLAKE2b-256 checksum How to use checksums |
c229bbb5a71c5d49bd0197980274141d9697a1add1148a6ff75208d38abb5c59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|
Release files / followweb_visualizor-1.0.1-py3-none-any.whl
| Download URL | followweb_visualizor-1.0.1-py3-none-any.whl |
|---|---|
| Size | 117.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7cac216396be4825531d28129ce34988af35fa8cb129ab3d175569424003ff18
|
|
BLAKE2b-256 checksum How to use checksums |
4c57e4468acfae914a097f5d38ff7faa5c0b3e8a7a29e3d2797eee387e05f960
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|