Skip to main content

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

  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.

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

followweb_visualizor-1.0.1.tar.gz (975.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

followweb_visualizor-1.0.1-py3-none-any.whl (117.7 kB view details)

Uploaded Python 3

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

Hashes for followweb_visualizor-1.0.1.tar.gz
Algorithm Hash digest
SHA256 afc966151822565ee110993982507d838c2b37568919467c73ac382d377d7542
MD5 9ad33d7ed8e93e19014ec22c3e1535aa
BLAKE2b-256 c229bbb5a71c5d49bd0197980274141d9697a1add1148a6ff75208d38abb5c59

See more details on using hashes here.

File details

Details for the file followweb_visualizor-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for followweb_visualizor-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7cac216396be4825531d28129ce34988af35fa8cb129ab3d175569424003ff18
MD5 09293d4276f76787a7449ba34a06b734
BLAKE2b-256 4c57e4468acfae914a097f5d38ff7faa5c0b3e8a7a29e3d2797eee387e05f960

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page