Social network analysis and visualization tool for Instagram follower/following relationships with community detection and influence metrics
Project description
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
Project details
Release history Release notifications | RSS feed
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 followweb_visualizor-1.0.1.tar.gz.
File metadata
- Download URL: followweb_visualizor-1.0.1.tar.gz
- Upload date:
- Size: 975.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
afc966151822565ee110993982507d838c2b37568919467c73ac382d377d7542
|
|
| MD5 |
9ad33d7ed8e93e19014ec22c3e1535aa
|
|
| BLAKE2b-256 |
c229bbb5a71c5d49bd0197980274141d9697a1add1148a6ff75208d38abb5c59
|
File details
Details for the file followweb_visualizor-1.0.1-py3-none-any.whl.
File metadata
- Download URL: followweb_visualizor-1.0.1-py3-none-any.whl
- Upload date:
- Size: 117.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7cac216396be4825531d28129ce34988af35fa8cb129ab3d175569424003ff18
|
|
| MD5 |
09293d4276f76787a7449ba34a06b734
|
|
| BLAKE2b-256 |
4c57e4468acfae914a097f5d38ff7faa5c0b3e8a7a29e3d2797eee387e05f960
|