Metadata-Version: 2.2
Name: knetvis
Version: 0.1.1
Summary: A CLI tool for Kubernetes Network Policy visualization
Home-page: https://github.com/yourusername/knetvis
Author: Samuel Arogbonlo
Author-email: Samuel Arogbonlo <sbayo971@gmail.com>
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: kubernetes>=28.1.0
Requires-Dist: networkx>=3.1
Requires-Dist: matplotlib>=3.7.1
Requires-Dist: click>=8.1.3
Requires-Dist: rich>=13.3.5
Requires-Dist: pyyaml>=6.0.1
Dynamic: author
Dynamic: home-page
Dynamic: requires-python

# knetvis - Kubernetes Network Policy Visualizer

[![PyPI version](https://badge.fury.io/py/knetvis.svg)](https://badge.fury.io/py/knetvis)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Build Status](https://github.com/yourusername/knetvis/workflows/CI/badge.svg)](https://github.com/yourusername/knetvis/actions)
[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)

A powerful CLI tool for visualizing and testing Kubernetes Network Policies.

## Features

- 🎯 **Visual Network Policy Analysis**: Generate clear visualizations of your network policies
- 🔍 **Policy Testing**: Test connectivity between pods and services
- ✅ **Policy Validation**: Validate network policies before applying them
- 🌐 **Cross-Namespace Support**: Analyze policies across multiple namespaces

## Demo
![Knetvis Operation](images/Real-demo.gif)

## Quick Start

```bash
# Install knetvis
pip install knetvis

# Visualize network policies in a namespace
knetvis visualize my-namespace

# Test connectivity between pods
knetvis test pod/frontend pod/backend

# Validate a policy file
knetvis validate policy.yaml
```

## Installation

### Prerequisites
- Python 3.8 or higher
- Access to a Kubernetes cluster
- kubectl configured with cluster access

### Install Methods
```bash
# Via pip
pip install knetvis

# From source
git clone https://github.com/yourusername/knetvis.git
cd knetvis
pip install -e .
```

## Usage Examples

### Visualizing Network Policies
```bash
# Basic visualization
knetvis visualize production -o network.png

# Show cross-namespace connections
knetvis visualize production --show-external
```

### Testing Connectivity
```bash
# Test pod-to-pod connectivity
knetvis test pod/frontend pod/backend

# Test with namespace specification
knetvis test namespace/front/pod/web namespace/back/pod/api
```

### Validating Policies
```bash
# Validate a single policy
knetvis validate policy.yaml

# Validate multiple policies
knetvis validate -d policies/
```

## Documentation

- [Installation Guide](docs/installation.md)
- [Usage Guide](docs/usage.md)
- [API Reference](docs/api.md)
- [Contributing Guide](CONTRIBUTING.md)
- [FAQ](docs/faq.md)

## Contributing

We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Support

- 📫 [GitHub Issues](https://github.com/yourusername/knetvis/issues)
- 💬 [Discussions](https://github.com/yourusername/knetvis/discussions)
- 📖 [Wiki](https://github.com/yourusername/knetvis/wiki)

## Acknowledgments

- The Kubernetes community
- All contributors and maintainers
