netviz_tools
A versatile network data visualization and analysis toolkit.
netviz_tools provides:
- DataManager: Load, clean, transform, and analyze network data from various sources
- NetworkManager: Build NetworkX graphs, compute network metrics, and create interactive visualizations
- TimeSeries: Analyze temporal patterns and generate time series plots of network metrics
- Utilities: Helper functions and constants for visualization and data export
📦 Installation
# From PyPI
pip install netviz_tools
# Or, for local development
git clone https://github.com/tyson-j/netviz_tools.git
cd netviz_tools
python -m venv .venv
source .venv/bin/activate # Linux/macOS
# For Windows PowerShell:
# .venv\Scripts\Activate.ps1
pip install --upgrade pip
pip install -e .[dev]
(The [dev] extra pulls in testing tools like pytest.)
🚀 Quick Start
from netviz_tools import DataManager, NetworkManager
# 1. Load data from CSV files
dm = DataManager(
nodes_path="path/to/nodes.csv",
edges_path="path/to/edges.csv"
)
# 2. Clean and prepare the data
dm.clean_data()
dm.data_summary() # Print summary of the loaded data
# 3. Convert to NetworkX graph
G = dm.to_networkx(directed=True)
# 4. Filter data by year if needed
if dm.has_year:
year = dm.available_years[0] # Take the first available year
filtered_dm = dm.filter_by_year(year)
G = filtered_dm.to_networkx()
# 5. Analyze network statistics
stats = dm.network_stats()
# 6. Save processed data if needed
dm.save_data(format='csv')
# 7. When NetworkManager is fully implemented:
# network = NetworkManager(G)
# network.plot_interactive(json_path="output/network.json")
📚 Documentation
Detailed documentation and examples are available in the docs/ folder. Key components:
- DataManager: The primary data handling class that loads, cleans, and transforms network data
- NetworkManager: For network visualization and metric calculation (coming soon)
- TimeSeries: For time-based network analysis (coming soon)
For API documentation, see the Python module docs.
✨ Features
- Flexible Data Import: Load network data from CSV, JSON, Excel files, pandas DataFrames, or NetworkX graphs
- Data Preprocessing: Automatic cleaning, normalization, and detection of key attributes
- Time-Series Support: Analyze how networks evolve over time with built-in year detection and filtering
- Graph Conversion: Seamless conversion between data formats and NetworkX graph objects
- Network Analysis: Calculate and visualize network metrics and properties
- Interactive Visualization: Generate rich, interactive visualizations (with full implementation of NetworkManager)
🛠️ Development
- Create a virtualenv (see Installation above).
- Install dev requirements:
pip install -e .[dev]
- Run tests:
pytest
- Build distribution:
python -m build
- Publish:
twine upload dist/*
🤝 Contributing (coming soon)
- Fork the repository
- Create a feature branch (
git checkout -b feat/my-feature) - Commit your changes
- Add tests for any new functionality
- Ensure all tests pass (
pytest) - Open a Pull Request
Please follow the existing code style and include documentation for new features.
📄 License
This project is licensed under the MIT License. See the LICENSE file for details.
Metadata
Release files for netviz-tools 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| netviz_tools-0.2.0.tar.gz | 78.3 MB | Without provenance | Details for netviz_tools-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| netviz_tools-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for netviz_tools-0.2.0-py3-none-any.whl |
Total release size: 158.2 MB
Release files / netviz_tools-0.2.0.tar.gz
| Download URL | netviz_tools-0.2.0.tar.gz |
|---|---|
| Size | 78.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d63b44825893553fd3e6d060e266ff7176db376b2276e6a84e344a823d0b7cc4
|
|
BLAKE2b-256 checksum How to use checksums |
6cf20bacea70424a352cfbe09c4014011e9dec8693f00d77af65d827c2a0df37
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.0
|
Release files / netviz_tools-0.2.0-py3-none-any.whl
| Download URL | netviz_tools-0.2.0-py3-none-any.whl |
|---|---|
| Size | 80.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
196a7b6e8709c7ccc50189423ee968763266e547545d06bd145c5b5d8103f6d2
|
|
BLAKE2b-256 checksum How to use checksums |
d65312c007890238961110c7ea3d83b43923c5b8470eab671a29201d300e2a5c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.0
|
Security for netviz-tools 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.