Skip to main content

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

  1. K-Core Analysis: Full network analysis identifying densely connected subgraphs
  2. Reciprocal K-Core: Focus on mutual connections and bidirectional relationships
  3. 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

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

Developer Documentation

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

  • pytest ecosystem - Comprehensive testing framework
  • ruff, mypy - Code quality tools

See docs/attribution/CONTRIBUTORS.md for detailed acknowledgments and contribution guidelines.

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)

Source distribution for followweb-visualizor 1.0.1
File Size Uploaded
followweb_visualizor-1.0.1.tar.gz 975.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for followweb-visualizor 1.0.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

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