| Name | pysimplesps JSON |
| Version |
0.2.1
JSON |
| download |
| home_page | None |
| Summary | A comprehensive Python library to parse SPS MML configurations and generate JSON/topology data |
| upload_time | 2025-08-05 11:26:30 |
| maintainer | None |
| docs_url | None |
| author | None |
| requires_python | >=3.12 |
| license | None |
| keywords |
diameter
mml
signaling
sps
telecom
topology
|
| VCS |
 |
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# ๐ pysimplesps - SPS MML Configuration Parser & Topology Generator
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
[](https://github.com/psf/black)
> ๐ **Transform boring MML configurations into beautiful, interactive network topologies**
pysimplesps is a comprehensive Python library that parses Huawei SPS (Signaling Point Systems) MML configurations and generates structured JSON data or stunning D3.js topology visualizations. Say goodbye to boring MML dumps and hello to intuitive network understanding!
## โจ Features
### ๐ฏ **Multi-Format Support**
- **Links Configuration** - Diameter, M2UA, M3UA, MTP links parsing
- **DMRT** - Diameter Routing configuration analysis
- **AVPMED** - AVP Mediation rules and transformations
### ๐ **Output Formats**
- **JSON** - Structured data for programmatic analysis
- **D3.js Topology** - Interactive network visualizations
- **HTML** - Self-contained visualization files
### ๐ ๏ธ **Enterprise Features**
- Comprehensive error handling and validation
- Rich logging with loguru
- Extensive test coverage with pytest
- Module execution support (`python -m pysimplesps`)
- Programmatic API for integration
## ๐ Quick Start
### Installation
```bash
# Install pysimplesps
pip install -e .
# Or install with development dependencies
pip install -e .[dev]
```
### Module Execution
```bash
# Run as Python module
python -m pysimplesps links links.txt
python -m pysimplesps dmrt dmrt1.txt dmrt2.txt
python -m pysimplesps avpmed avpmed.txt
# With options
python -m pysimplesps links links.txt -o output.json
python -m pysimplesps links links.txt -f topology -o network.html
python -m pysimplesps dmrt dmrt_host.txt dmrt_id.txt -v
```
### Programmatic Usage
```python
from pysimplesps import SPSUnifiedLinksParser, SPSDiameterRoutingParser, SPSAVPMediationParser
# Parse links configuration
parser = SPSUnifiedLinksParser("spsdmlinks.txt")
config = parser.parse_file()
parser.print_summary()
parser.save_json("output.json")
# Parse DMRT configuration
dmrt_parser = SPSDiameterRoutingParser()
dmrt_parser.parse_file("spsdmrt_host.txt")
dmrt_parser.parse_file("spsdmrt_id.txt")
dmrt_config = dmrt_parser.get_config()
# Parse AVPMED configuration
avp_parser = SPSAVPMediationParser("spsavpmediation.txt")
avp_config = avp_parser.parse_file()
```
## ๐ Command Reference
### Links Parser
```bash
python -m pysimplesps links <input_file> [OPTIONS]
Options:
-o, --output PATH Output file path
-f, --format FORMAT Output format: json|topology [default: json]
-v, --verbose Enable verbose logging
```
### DMRT Parser
```bash
python -m pysimplesps dmrt <input_files>... [OPTIONS]
Options:
-o, --output PATH Output file path
-f, --format FORMAT Output format: json|topology [default: json]
-v, --verbose Enable verbose logging
```
### AVPMED Parser
```bash
python -m pysimplesps avpmed <input_file> [OPTIONS]
Options:
-o, --output PATH Output file path
-v, --verbose Enable verbose logging
```
## ๐จ Examples
### Parse SPS Links Configuration
```bash
# Basic JSON output
python -m pysimplesps links spsdmlinks.txt
# Save to file with topology visualization
python -m pysimplesps links spsdmlinks.txt -f topology -o network_topology.html
# Verbose parsing with detailed logs
python -m pysimplesps links spsdmlinks.txt -v -o detailed_links.json
```
### Diameter Routing Analysis
```bash
# Parse multiple DMRT files
python -m pysimplesps dmrt spsdmrt_host.txt spsdmrt_id.txt spsdmrt_ip.txt
# Generate routing topology
python -m pysimplesps dmrt dmrt_config.txt -f topology -o routing_flow.html
```
### AVP Mediation Processing
```bash
# Parse mediation rules
python -m pysimplesps avpmed spsavpmediation.txt -o mediation_config.json
```
## ๐๏ธ Architecture
```
pysimplesps/
โโโ __main__.py # ๐ Module execution entry point
โโโ links2json.py # ๐ Links configuration parser
โโโ links2topo.py # ๐ Links topology generator
โโโ dmrt2json.py # ๐ก DMRT configuration parser
โโโ dmrt2topo.py # ๐ DMRT topology generator
โโโ avpmed2json.py # ๐ง AVPMED configuration parser
โโโ __init__.py # ๐ฆ Package initialization
```
## ๐งช Testing
Run the comprehensive test suite:
```bash
# Run all tests
pytest
# Run with coverage
pytest --cov=pysimplesps --cov-report=html
# Run specific test categories
pytest -m unit # Unit tests only
pytest -m integration # Integration tests only
pytest -v # Verbose output
# Run test script
python run_tests.py
```
## ๐ Sample Output
### JSON Structure
```json
{
"diameter_peers": [...],
"diameter_link_sets": [...],
"diameter_links": [...],
"mtp_destination_points": [...],
"metadata": {
"parsed_at": "2025-08-03T...",
"total_peers": 4,
"total_link_sets": 6,
"total_links": 12,
"unique_ips": ["172.21.1.101", "172.21.1.102"],
"unique_networks": ["172.21.1.0/24"]
}
}
```
### Topology Features
- **Interactive D3.js visualizations**
- **Color-coded node types** (Diameter, MTP, M2UA, M3UA)
- **Drag-and-drop network exploration**
- **Connection details on hover**
- **Responsive design**
## ๐ฏ Supported MML Commands
### Links Configuration
- `ADD DMPEER` - Diameter peers
- `ADD DMLKS` - Diameter link sets
- `ADD DMLNK` - Diameter links
- `ADD N7DSP` - MTP destination points
- `ADD N7LKS` - MTP link sets
- `ADD N7LNK` - MTP links
### DMRT Configuration
- `ADD DMROUTERESULT` - Route results
- `ADD DMROUTEENTRANCE` - Route entrances
- `ADD DMROUTEEXIT` - Route exits
- `ADD DMROUTERULE_*` - Routing rules
### AVPMED Configuration
- `ADD MEDFILTER` - Mediation filters
- `ADD MEDACTION` - Mediation actions
- `ADD MEDRULE` - Mediation rules
- `MOD DMPEER` - Peer assignments
- `MOD SFP` - Software parameters
## ๐ง Development
### Setup Development Environment
```bash
# Clone repository
git clone https://github.com/fxyzbtc/pysimplesps.git
cd pysimplesps
# Install in development mode
pip install -e .[dev]
# Run linting
ruff check pysimplesps/
ruff format pysimplesps/
# Type checking
mypy pysimplesps/
```
### Contributing Guidelines
1. ๐ด Fork the repository
2. ๐ Create a feature branch (`git checkout -b feature/amazing-feature`)
3. ๐ Make your changes with tests
4. โ
Run the test suite (`pytest`)
5. ๐ Submit a pull request
## ๐ Documentation
- **API Documentation**: Coming soon
- **Wiki**: [https://deepwiki.com/fxyzbtc/pysimplesps](https://deepwiki.com/fxyzbtc/pysimplesps)
- **Examples**: Check the `tests/` directory for usage examples
## ๐ค Support
- ๐ **Issues**: [GitHub Issues](https://github.com/fxyzbtc/pysimplesps/issues)
- ๐ฌ **Discussions**: [GitHub Discussions](https://github.com/fxyzbtc/pysimplesps/discussions)
- ๐ง **Email**: fxyzbtc@example.com
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## ๐ Acknowledgments
- Built with โค๏ธ for telecommunications engineers
- Powered by Python 3.12+ and modern tooling
- Inspired by the need to make MML configurations more accessible
---
<div align="center">
**โญ Star this repo if pysimplesps helps you visualize your networks! โญ**
Made with ๐ฅ by [fxyzbtc](https://github.com/fxyzbtc)
</div>
## ๐จ Examples
### Parse SPS Links Configuration
```bash
# Basic JSON output
pysimplesps links spsdmlinks.txt
# Save to file with topology visualization
pysimplesps links spsdmlinks.txt -f topology -o network_topology.html
# Verbose parsing with detailed logs
pysimplesps links spsdmlinks.txt -v -o detailed_links.json
```
### Diameter Routing Analysis
```bash
# Parse multiple DMRT files
pysimplesps dmrt spsdmrt_host.txt spsdmrt_id.txt spsdmrt_ip.txt
# Generate routing topology
pysimplesps dmrt dmrt_config.txt -f topology -o routing_flow.html
```
### AVP Mediation Processing
```bash
# Parse mediation rules
pysimplesps avpmed spsavpmediation.txt -o mediation_config.json
```
## ๐๏ธ Architecture
```
pysimplesps/
โโโ cli.py # ๐ฏ Main CLI interface with Typer
โโโ links2json.py # ๐ Links configuration parser
โโโ links2topo.py # ๐ Links topology generator
โโโ dmrt2json.py # ๐ก DMRT configuration parser
โโโ dmrt2topo.py # ๐ DMRT topology generator
โโโ avpmed2json.py # ๐ง AVPMED configuration parser
โโโ __main__.py # ๐ Module execution entry point
โโโ __init__.py # ๐ฆ Package initialization
```
## ๐งช Testing
Run the comprehensive test suite:
```bash
# Run all tests
pytest
# Run with coverage
pytest --cov=pysimplesps --cov-report=html
# Run specific test categories
pytest -m unit # Unit tests only
pytest -m integration # Integration tests only
pytest -v # Verbose output
```
## ๐ Sample Output
### JSON Structure
```json
{
"diameter_peers": [...],
"diameter_link_sets": [...],
"diameter_links": [...],
"mtp_destination_points": [...],
"metadata": {
"parsed_at": "2025-08-03T...",
"total_peers": 4,
"total_link_sets": 6,
"total_links": 12,
"unique_ips": ["172.21.1.101", "172.21.1.102"],
"unique_networks": ["172.21.1.0/24"]
}
}
```
### Topology Features
- **Interactive D3.js visualizations**
- **Color-coded node types** (Diameter, MTP, M2UA, M3UA)
- **Drag-and-drop network exploration**
- **Connection details on hover**
- **Responsive design**
## ๐ฏ Supported MML Commands
### Links Configuration
- `ADD DMPEER` - Diameter peers
- `ADD DMLKS` - Diameter link sets
- `ADD DMLNK` - Diameter links
- `ADD N7DSP` - MTP destination points
- `ADD N7LKS` - MTP link sets
- `ADD N7LNK` - MTP links
### DMRT Configuration
- `ADD DMROUTERESULT` - Route results
- `ADD DMROUTEENTRANCE` - Route entrances
- `ADD DMROUTEEXIT` - Route exits
- `ADD DMROUTERULE_*` - Routing rules
### AVPMED Configuration
- `ADD MEDFILTER` - Mediation filters
- `ADD MEDACTION` - Mediation actions
- `ADD MEDRULE` - Mediation rules
- `MOD DMPEER` - Peer assignments
- `MOD SFP` - Software parameters
## ๐ง Development
### Setup Development Environment
```bash
# Clone repository
git clone https://github.com/fxyzbtc/pysimplesps.git
cd pysimplesps
# Install in development mode
pip install -e .[dev]
# Run linting
ruff check pysimplesps/
ruff format pysimplesps/
# Type checking
mypy pysimplesps/
```
### Contributing Guidelines
1. ๐ด Fork the repository
2. ๐ Create a feature branch (`git checkout -b feature/amazing-feature`)
3. ๐ Make your changes with tests
4. โ
Run the test suite (`pytest`)
5. ๐ Submit a pull request
## ๐ Documentation
- **API Documentation**: Coming soon
- **Wiki**: [https://deepwiki.com/fxyzbtc/pysimplesps](https://deepwiki.com/fxyzbtc/pysimplesps)
- **Examples**: Check the `tests/` directory for usage examples
## ๐ค Support
- ๐ **Issues**: [GitHub Issues](https://github.com/fxyzbtc/pysimplesps/issues)
- ๐ฌ **Discussions**: [GitHub Discussions](https://github.com/fxyzbtc/pysimplesps/discussions)
- ๐ง **Email**: fxyzbtc@example.com
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## ๐ Acknowledgments
- Built with โค๏ธ for telecommunications engineers
- Powered by Python 3.12+ and modern tooling
- Inspired by the need to make MML configurations more accessible
---
<div align="center">
**โญ Star this repo if pysimplesps helps you visualize your networks! โญ**
Made with ๐ฅ by [fxyzbtc](https://github.com/fxyzbtc)
</div>
Raw data
{
"_id": null,
"home_page": null,
"name": "pysimplesps",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "diameter, mml, signaling, sps, telecom, topology",
"author": null,
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/ac/4e/d3c0227785e1744f67e1032612aef390fc39f6dad63a168eda1f6d0192d3/pysimplesps-0.2.1.tar.gz",
"platform": null,
"description": "# \ud83d\udd17 pysimplesps - SPS MML Configuration Parser & Topology Generator\n\n[](https://www.python.org/downloads/)\n[](https://opensource.org/licenses/MIT)\n[](https://github.com/psf/black)\n\n> \ud83d\ude80 **Transform boring MML configurations into beautiful, interactive network topologies**\n\npysimplesps is a comprehensive Python library that parses Huawei SPS (Signaling Point Systems) MML configurations and generates structured JSON data or stunning D3.js topology visualizations. Say goodbye to boring MML dumps and hello to intuitive network understanding!\n\n## \u2728 Features\n\n### \ud83c\udfaf **Multi-Format Support**\n- **Links Configuration** - Diameter, M2UA, M3UA, MTP links parsing\n- **DMRT** - Diameter Routing configuration analysis \n- **AVPMED** - AVP Mediation rules and transformations\n\n### \ud83d\udcca **Output Formats**\n- **JSON** - Structured data for programmatic analysis\n- **D3.js Topology** - Interactive network visualizations\n- **HTML** - Self-contained visualization files\n\n### \ud83d\udee0\ufe0f **Enterprise Features**\n- Comprehensive error handling and validation\n- Rich logging with loguru\n- Extensive test coverage with pytest\n- Module execution support (`python -m pysimplesps`)\n- Programmatic API for integration\n\n## \ud83d\ude80 Quick Start\n\n### Installation\n\n```bash\n# Install pysimplesps\npip install -e .\n\n# Or install with development dependencies\npip install -e .[dev]\n```\n\n### Module Execution\n\n```bash\n# Run as Python module\npython -m pysimplesps links links.txt\npython -m pysimplesps dmrt dmrt1.txt dmrt2.txt\npython -m pysimplesps avpmed avpmed.txt\n\n# With options\npython -m pysimplesps links links.txt -o output.json\npython -m pysimplesps links links.txt -f topology -o network.html\npython -m pysimplesps dmrt dmrt_host.txt dmrt_id.txt -v\n```\n\n### Programmatic Usage\n\n```python\nfrom pysimplesps import SPSUnifiedLinksParser, SPSDiameterRoutingParser, SPSAVPMediationParser\n\n# Parse links configuration\nparser = SPSUnifiedLinksParser(\"spsdmlinks.txt\")\nconfig = parser.parse_file()\nparser.print_summary()\nparser.save_json(\"output.json\")\n\n# Parse DMRT configuration\ndmrt_parser = SPSDiameterRoutingParser()\ndmrt_parser.parse_file(\"spsdmrt_host.txt\")\ndmrt_parser.parse_file(\"spsdmrt_id.txt\")\ndmrt_config = dmrt_parser.get_config()\n\n# Parse AVPMED configuration\navp_parser = SPSAVPMediationParser(\"spsavpmediation.txt\")\navp_config = avp_parser.parse_file()\n```\n\n## \ud83d\udccb Command Reference\n\n### Links Parser\n```bash\npython -m pysimplesps links <input_file> [OPTIONS]\n\nOptions:\n -o, --output PATH Output file path\n -f, --format FORMAT Output format: json|topology [default: json]\n -v, --verbose Enable verbose logging\n```\n\n### DMRT Parser \n```bash\npython -m pysimplesps dmrt <input_files>... [OPTIONS]\n\nOptions:\n -o, --output PATH Output file path\n -f, --format FORMAT Output format: json|topology [default: json] \n -v, --verbose Enable verbose logging\n```\n\n### AVPMED Parser\n```bash\npython -m pysimplesps avpmed <input_file> [OPTIONS]\n\nOptions:\n -o, --output PATH Output file path\n -v, --verbose Enable verbose logging\n```\n\n## \ud83c\udfa8 Examples\n\n### Parse SPS Links Configuration\n\n```bash\n# Basic JSON output\npython -m pysimplesps links spsdmlinks.txt\n\n# Save to file with topology visualization\npython -m pysimplesps links spsdmlinks.txt -f topology -o network_topology.html\n\n# Verbose parsing with detailed logs\npython -m pysimplesps links spsdmlinks.txt -v -o detailed_links.json\n```\n\n### Diameter Routing Analysis\n\n```bash\n# Parse multiple DMRT files\npython -m pysimplesps dmrt spsdmrt_host.txt spsdmrt_id.txt spsdmrt_ip.txt\n\n# Generate routing topology\npython -m pysimplesps dmrt dmrt_config.txt -f topology -o routing_flow.html\n```\n\n### AVP Mediation Processing\n\n```bash\n# Parse mediation rules\npython -m pysimplesps avpmed spsavpmediation.txt -o mediation_config.json\n```\n\n## \ud83c\udfd7\ufe0f Architecture\n\n```\npysimplesps/\n\u251c\u2500\u2500 __main__.py # \ud83d\ude80 Module execution entry point\n\u251c\u2500\u2500 links2json.py # \ud83d\udd17 Links configuration parser \n\u251c\u2500\u2500 links2topo.py # \ud83c\udf10 Links topology generator\n\u251c\u2500\u2500 dmrt2json.py # \ud83d\udce1 DMRT configuration parser\n\u251c\u2500\u2500 dmrt2topo.py # \ud83d\udd04 DMRT topology generator \n\u251c\u2500\u2500 avpmed2json.py # \ud83d\udd27 AVPMED configuration parser\n\u2514\u2500\u2500 __init__.py # \ud83d\udce6 Package initialization\n```\n\n## \ud83e\uddea Testing\n\nRun the comprehensive test suite:\n\n```bash\n# Run all tests\npytest\n\n# Run with coverage\npytest --cov=pysimplesps --cov-report=html\n\n# Run specific test categories\npytest -m unit # Unit tests only\npytest -m integration # Integration tests only\npytest -v # Verbose output\n\n# Run test script\npython run_tests.py\n```\n\n## \ud83d\udcca Sample Output\n\n### JSON Structure\n```json\n{\n \"diameter_peers\": [...],\n \"diameter_link_sets\": [...], \n \"diameter_links\": [...],\n \"mtp_destination_points\": [...],\n \"metadata\": {\n \"parsed_at\": \"2025-08-03T...\",\n \"total_peers\": 4,\n \"total_link_sets\": 6,\n \"total_links\": 12,\n \"unique_ips\": [\"172.21.1.101\", \"172.21.1.102\"],\n \"unique_networks\": [\"172.21.1.0/24\"]\n }\n}\n```\n\n### Topology Features\n- **Interactive D3.js visualizations**\n- **Color-coded node types** (Diameter, MTP, M2UA, M3UA)\n- **Drag-and-drop network exploration**\n- **Connection details on hover**\n- **Responsive design**\n\n## \ud83c\udfaf Supported MML Commands\n\n### Links Configuration\n- `ADD DMPEER` - Diameter peers\n- `ADD DMLKS` - Diameter link sets \n- `ADD DMLNK` - Diameter links\n- `ADD N7DSP` - MTP destination points\n- `ADD N7LKS` - MTP link sets\n- `ADD N7LNK` - MTP links\n\n### DMRT Configuration \n- `ADD DMROUTERESULT` - Route results\n- `ADD DMROUTEENTRANCE` - Route entrances\n- `ADD DMROUTEEXIT` - Route exits\n- `ADD DMROUTERULE_*` - Routing rules\n\n### AVPMED Configuration\n- `ADD MEDFILTER` - Mediation filters\n- `ADD MEDACTION` - Mediation actions \n- `ADD MEDRULE` - Mediation rules\n- `MOD DMPEER` - Peer assignments\n- `MOD SFP` - Software parameters\n\n## \ud83d\udd27 Development\n\n### Setup Development Environment\n```bash\n# Clone repository\ngit clone https://github.com/fxyzbtc/pysimplesps.git\ncd pysimplesps\n\n# Install in development mode\npip install -e .[dev]\n\n# Run linting\nruff check pysimplesps/\nruff format pysimplesps/\n\n# Type checking\nmypy pysimplesps/\n```\n\n### Contributing Guidelines\n1. \ud83c\udf74 Fork the repository\n2. \ud83c\udf1f Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. \ud83d\udcdd Make your changes with tests\n4. \u2705 Run the test suite (`pytest`)\n5. \ud83d\ude80 Submit a pull request\n\n## \ud83d\udcda Documentation\n\n- **API Documentation**: Coming soon\n- **Wiki**: [https://deepwiki.com/fxyzbtc/pysimplesps](https://deepwiki.com/fxyzbtc/pysimplesps)\n- **Examples**: Check the `tests/` directory for usage examples\n\n## \ud83e\udd1d Support\n\n- \ud83d\udc1b **Issues**: [GitHub Issues](https://github.com/fxyzbtc/pysimplesps/issues)\n- \ud83d\udcac **Discussions**: [GitHub Discussions](https://github.com/fxyzbtc/pysimplesps/discussions)\n- \ud83d\udce7 **Email**: fxyzbtc@example.com\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## \ud83d\ude4f Acknowledgments\n\n- Built with \u2764\ufe0f for telecommunications engineers\n- Powered by Python 3.12+ and modern tooling\n- Inspired by the need to make MML configurations more accessible\n\n---\n\n<div align=\"center\">\n\n**\u2b50 Star this repo if pysimplesps helps you visualize your networks! \u2b50**\n\nMade with \ud83d\udd25 by [fxyzbtc](https://github.com/fxyzbtc)\n\n</div>\n\n## \ud83c\udfa8 Examples\n\n### Parse SPS Links Configuration\n\n```bash\n# Basic JSON output\npysimplesps links spsdmlinks.txt\n\n# Save to file with topology visualization\npysimplesps links spsdmlinks.txt -f topology -o network_topology.html\n\n# Verbose parsing with detailed logs\npysimplesps links spsdmlinks.txt -v -o detailed_links.json\n```\n\n### Diameter Routing Analysis\n\n```bash\n# Parse multiple DMRT files\npysimplesps dmrt spsdmrt_host.txt spsdmrt_id.txt spsdmrt_ip.txt\n\n# Generate routing topology\npysimplesps dmrt dmrt_config.txt -f topology -o routing_flow.html\n```\n\n### AVP Mediation Processing\n\n```bash\n# Parse mediation rules\npysimplesps avpmed spsavpmediation.txt -o mediation_config.json\n```\n\n## \ud83c\udfd7\ufe0f Architecture\n\n```\npysimplesps/\n\u251c\u2500\u2500 cli.py # \ud83c\udfaf Main CLI interface with Typer\n\u251c\u2500\u2500 links2json.py # \ud83d\udd17 Links configuration parser \n\u251c\u2500\u2500 links2topo.py # \ud83c\udf10 Links topology generator\n\u251c\u2500\u2500 dmrt2json.py # \ud83d\udce1 DMRT configuration parser\n\u251c\u2500\u2500 dmrt2topo.py # \ud83d\udd04 DMRT topology generator \n\u251c\u2500\u2500 avpmed2json.py # \ud83d\udd27 AVPMED configuration parser\n\u251c\u2500\u2500 __main__.py # \ud83d\ude80 Module execution entry point\n\u2514\u2500\u2500 __init__.py # \ud83d\udce6 Package initialization\n```\n\n## \ud83e\uddea Testing\n\nRun the comprehensive test suite:\n\n```bash\n# Run all tests\npytest\n\n# Run with coverage\npytest --cov=pysimplesps --cov-report=html\n\n# Run specific test categories\npytest -m unit # Unit tests only\npytest -m integration # Integration tests only\npytest -v # Verbose output\n```\n\n## \ud83d\udcca Sample Output\n\n### JSON Structure\n```json\n{\n \"diameter_peers\": [...],\n \"diameter_link_sets\": [...], \n \"diameter_links\": [...],\n \"mtp_destination_points\": [...],\n \"metadata\": {\n \"parsed_at\": \"2025-08-03T...\",\n \"total_peers\": 4,\n \"total_link_sets\": 6,\n \"total_links\": 12,\n \"unique_ips\": [\"172.21.1.101\", \"172.21.1.102\"],\n \"unique_networks\": [\"172.21.1.0/24\"]\n }\n}\n```\n\n### Topology Features\n- **Interactive D3.js visualizations**\n- **Color-coded node types** (Diameter, MTP, M2UA, M3UA)\n- **Drag-and-drop network exploration**\n- **Connection details on hover**\n- **Responsive design**\n\n## \ud83c\udfaf Supported MML Commands\n\n### Links Configuration\n- `ADD DMPEER` - Diameter peers\n- `ADD DMLKS` - Diameter link sets \n- `ADD DMLNK` - Diameter links\n- `ADD N7DSP` - MTP destination points\n- `ADD N7LKS` - MTP link sets\n- `ADD N7LNK` - MTP links\n\n### DMRT Configuration \n- `ADD DMROUTERESULT` - Route results\n- `ADD DMROUTEENTRANCE` - Route entrances\n- `ADD DMROUTEEXIT` - Route exits\n- `ADD DMROUTERULE_*` - Routing rules\n\n### AVPMED Configuration\n- `ADD MEDFILTER` - Mediation filters\n- `ADD MEDACTION` - Mediation actions \n- `ADD MEDRULE` - Mediation rules\n- `MOD DMPEER` - Peer assignments\n- `MOD SFP` - Software parameters\n\n## \ud83d\udd27 Development\n\n### Setup Development Environment\n```bash\n# Clone repository\ngit clone https://github.com/fxyzbtc/pysimplesps.git\ncd pysimplesps\n\n# Install in development mode\npip install -e .[dev]\n\n# Run linting\nruff check pysimplesps/\nruff format pysimplesps/\n\n# Type checking\nmypy pysimplesps/\n```\n\n### Contributing Guidelines\n1. \ud83c\udf74 Fork the repository\n2. \ud83c\udf1f Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. \ud83d\udcdd Make your changes with tests\n4. \u2705 Run the test suite (`pytest`)\n5. \ud83d\ude80 Submit a pull request\n\n## \ud83d\udcda Documentation\n\n- **API Documentation**: Coming soon\n- **Wiki**: [https://deepwiki.com/fxyzbtc/pysimplesps](https://deepwiki.com/fxyzbtc/pysimplesps)\n- **Examples**: Check the `tests/` directory for usage examples\n\n## \ud83e\udd1d Support\n\n- \ud83d\udc1b **Issues**: [GitHub Issues](https://github.com/fxyzbtc/pysimplesps/issues)\n- \ud83d\udcac **Discussions**: [GitHub Discussions](https://github.com/fxyzbtc/pysimplesps/discussions)\n- \ud83d\udce7 **Email**: fxyzbtc@example.com\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## \ud83d\ude4f Acknowledgments\n\n- Built with \u2764\ufe0f for telecommunications engineers\n- Powered by Python 3.12+ and modern tooling\n- Inspired by the need to make MML configurations more accessible\n\n---\n\n<div align=\"center\">\n\n**\u2b50 Star this repo if pysimplesps helps you visualize your networks! \u2b50**\n\nMade with \ud83d\udd25 by [fxyzbtc](https://github.com/fxyzbtc)\n\n</div>\n",
"bugtrack_url": null,
"license": null,
"summary": "A comprehensive Python library to parse SPS MML configurations and generate JSON/topology data",
"version": "0.2.1",
"project_urls": {
"Documentation": "https://deepwiki.com/fxyzbtc/pysimplesps",
"Homepage": "https://github.com/fxyzbtc/pysimplesps",
"Issues": "https://github.com/fxyzbtc/pysimplesps/issues",
"Repository": "https://github.com/fxyzbtc/pysimplesps"
},
"split_keywords": [
"diameter",
" mml",
" signaling",
" sps",
" telecom",
" topology"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "937aa0aa87cfd9d433f510c78d3b71a5ebfccf6ae449dd9d1ab8345ddd0435ec",
"md5": "3fcaac5fbb3beb7d2b610325411d566d",
"sha256": "051000933dbda55ac52d8cc1f957295dc81b6389f076324926d845a8425427da"
},
"downloads": -1,
"filename": "pysimplesps-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3fcaac5fbb3beb7d2b610325411d566d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 74062,
"upload_time": "2025-08-05T11:26:28",
"upload_time_iso_8601": "2025-08-05T11:26:28.310274Z",
"url": "https://files.pythonhosted.org/packages/93/7a/a0aa87cfd9d433f510c78d3b71a5ebfccf6ae449dd9d1ab8345ddd0435ec/pysimplesps-0.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ac4ed3c0227785e1744f67e1032612aef390fc39f6dad63a168eda1f6d0192d3",
"md5": "40ba1ebff36ed4ab9b2482b1434e1f31",
"sha256": "568a9bae2b299dc673188461e8a5d04c5de479922cccf30310b869f1dc04b6d4"
},
"downloads": -1,
"filename": "pysimplesps-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "40ba1ebff36ed4ab9b2482b1434e1f31",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 103495,
"upload_time": "2025-08-05T11:26:30",
"upload_time_iso_8601": "2025-08-05T11:26:30.031069Z",
"url": "https://files.pythonhosted.org/packages/ac/4e/d3c0227785e1744f67e1032612aef390fc39f6dad63a168eda1f6d0192d3/pysimplesps-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-05 11:26:30",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "fxyzbtc",
"github_project": "pysimplesps",
"github_not_found": true,
"lcname": "pysimplesps"
}