Metadata-Version: 2.4
Name: followweb-visualizor
Version: 1.0.0
Summary: Social network analysis and visualization tool for Instagram follower/following relationships with community detection and influence metrics
Home-page: 
Author: FollowWeb Development Team
Author-email: FollowWeb Development Team <followweb.dev@example.com>
Maintainer-email: FollowWeb Development Team <followweb.dev@example.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/followweb/followweb-visualizor
Project-URL: Documentation, https://followweb-visualizor.readthedocs.io/
Project-URL: Repository, https://github.com/followweb/followweb-visualizor.git
Project-URL: Bug Tracker, https://github.com/followweb/followweb-visualizor/issues
Project-URL: Changelog, https://github.com/followweb/followweb-visualizor/blob/main/docs/CHANGELOG.md
Project-URL: Contributors, https://github.com/followweb/followweb-visualizor/blob/main/docs/attribution/CONTRIBUTORS.md
Project-URL: Dependencies Attribution, https://github.com/followweb/followweb-visualizor/blob/main/docs/attribution/DEPENDENCIES_ATTRIBUTION.md
Project-URL: License Notices, https://github.com/followweb/followweb-visualizor/blob/main/docs/attribution/LICENSE_NOTICES.md
Keywords: social network analysis,graph theory,network visualization,community detection,centrality analysis,instagram analysis,follower analysis,network metrics,social media analytics,graph algorithms,network science,social graphs
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Education
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Scientific/Engineering :: Visualization
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Sociology
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: networkx>=2.8.0
Requires-Dist: pandas>=1.5.0
Requires-Dist: matplotlib>=3.5.0
Requires-Dist: pyvis>=0.3.0
Requires-Dist: scipy>=1.9.0
Requires-Dist: nx-parallel>=0.3.0; python_version >= "3.11"
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: pytest-xdist>=3.0.0; extra == "dev"
Requires-Dist: pytest-timeout>=2.1.0; extra == "dev"
Requires-Dist: pytest-mock>=3.10.0; extra == "dev"
Requires-Dist: pytest-benchmark>=4.0.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: faker>=18.0.0; extra == "dev"
Requires-Dist: factory-boy>=3.2.0; extra == "dev"
Requires-Dist: pytest-doctestplus>=0.12.0; extra == "dev"
Requires-Dist: numpy>=1.21.0; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest>=7.0.0; extra == "test"
Requires-Dist: pytest-cov>=4.0.0; extra == "test"
Requires-Dist: pytest-xdist>=3.0.0; extra == "test"
Requires-Dist: pytest-timeout>=2.1.0; extra == "test"
Requires-Dist: pytest-mock>=3.10.0; extra == "test"
Requires-Dist: pytest-benchmark>=4.0.0; extra == "test"
Requires-Dist: faker>=18.0.0; extra == "test"
Requires-Dist: factory-boy>=3.2.0; extra == "test"
Requires-Dist: pytest-doctestplus>=0.12.0; extra == "test"
Requires-Dist: numpy>=1.21.0; extra == "test"
Provides-Extra: docs
Requires-Dist: sphinx>=5.0.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=1.0.0; extra == "docs"
Requires-Dist: myst-parser>=0.18.0; extra == "docs"
Dynamic: author
Dynamic: license-file
Dynamic: requires-python

# 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
```bash
# 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
```bash
# Run analysis with sample data
python -m FollowWeb_Visualizor.main --input examples/followers_following.json

# Use a configuration file
python -m FollowWeb_Visualizor.main --config configs/fast_config.json

# Print default configuration
python -m FollowWeb_Visualizor.main --print-default-config
```

### Example Configuration Files
- **[fast_config.json](configs/fast_config.json)** - Quick analysis optimized for development and testing
- **[comprehensive_layout_config.json](configs/comprehensive_layout_config.json)** - Complete configuration with all available features

### Development Setup
For development, see **[docs/development/CONTRIBUTING.md](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

```bash
# 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](tests/README.md)**.

---

## Documentation

### User Documentation
- **[docs/USER_GUIDE.md](docs/USER_GUIDE.md)** - User guide with tutorials and workflows
- **[docs/CONFIGURATION_GUIDE.md](docs/CONFIGURATION_GUIDE.md)** - Configuration guide with layout options
- **[docs/INSTALL_GUIDE.md](docs/INSTALL_GUIDE.md)** - Installation and setup guide
- **[tests/README.md](tests/README.md)** - Testing procedures and guidelines

### Developer Documentation  
- **[docs/development/CONTRIBUTING.md](docs/development/CONTRIBUTING.md)** - Development guidelines and contribution process
- **[docs/development/API_REFERENCE.md](docs/development/API_REFERENCE.md)** - Complete API documentation with examples
- **[docs/development/PACKAGE_OVERVIEW.md](docs/development/PACKAGE_OVERVIEW.md)** - High-level package architecture overview
- **[docs/development/PARALLEL_PROCESSING_GUIDE.md](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](https://networkx.org/)** - Graph analysis algorithms and community detection
- **[pandas](https://pandas.pydata.org/)** - Data manipulation and analysis
- **[matplotlib](https://matplotlib.org/)** - Static graph visualization and plotting
- **[pyvis](https://pyvis.readthedocs.io/)** - Interactive network visualizations

### Development Tools
- **[pytest](https://pytest.org/)** ecosystem - Comprehensive testing framework
- **[ruff](https://github.com/astral-sh/ruff)**, **[mypy](https://github.com/python/mypy)** - Code quality tools

See [docs/attribution/CONTRIBUTORS.md](docs/attribution/CONTRIBUTORS.md) for detailed acknowledgments and contribution guidelines.

## Links

- **Source Code**: [FollowWeb_Visualizor/](FollowWeb_Visualizor/)
- **Tests**: [tests/](tests/)
- **Documentation**: [docs/](docs/)
- **Attribution**: [docs/attribution/](docs/attribution/) - Contributors, dependencies, and license notices

