Skip to main content

A versatile network data visualization and analysis toolkit

Project description

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

  1. Create a virtualenv (see Installation above).
  2. Install dev requirements:
    pip install -e .[dev]
    
  3. Run tests:
    pytest
    
  4. Build distribution:
    python -m build
    
  5. Publish:
    twine upload dist/*
    

🤝 Contributing (coming soon)

  1. Fork the repository
  2. Create a feature branch (git checkout -b feat/my-feature)
  3. Commit your changes
  4. Add tests for any new functionality
  5. Ensure all tests pass (pytest)
  6. 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.

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

netviz_tools-0.1.1.tar.gz (78.2 MB view details)

Uploaded Source

Built Distribution

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

netviz_tools-0.1.1-py3-none-any.whl (80.0 MB view details)

Uploaded Python 3

File details

Details for the file netviz_tools-0.1.1.tar.gz.

File metadata

  • Download URL: netviz_tools-0.1.1.tar.gz
  • Upload date:
  • Size: 78.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for netviz_tools-0.1.1.tar.gz
Algorithm Hash digest
SHA256 63c641561d0a087c368ac55418950a8cccc2ca3bd871804483b3521ab1979e5c
MD5 114002c1540684276c1553961022a71f
BLAKE2b-256 69fac34b43e2806b5fa86bcc0dd089d1a00c7457f301cec1dfb08e6d71c9e10c

See more details on using hashes here.

File details

Details for the file netviz_tools-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: netviz_tools-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 80.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for netviz_tools-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 601bf2ba74469413a9a61ee2df93d406149bde905a6ae50f298626132ec96608
MD5 08560015402cab935ed321136fa420ef
BLAKE2b-256 ad8aa3fb154aa19554207baf8aa10464f148dd43f536bc685a022e325cd62862

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