Repository navigation
0.2
Full Changelog: 0.1...0.2
π digraphx v0.2 Release Notes
π Overview
This release introduces significant improvements to the digraphx Python library, which provides algorithms for network optimization on directed graphs. Version 0.2 focuses on code quality, documentation, and testing, while also introducing a more memory-efficient graph structure and expanded test coverage.
β¨ What's New
π§ Code Improvements
- Refactored type hints and generics across modules for better type safety and clarity.
- Renamed
licttoMapAdapterfor improved readability and consistency. - Enhanced docstrings with detailed parameter descriptions, return types, and usage examples.
- Applied
ruffformatting for consistent code style.
π Documentation
- Added comprehensive project overview and usage guidelines in
GEMINI.md. - Improved inline documentation for core modules:
min_cycle_ratio.pymin_parametric_q.pyneg_cycle.pyparametric.pytiny_digraph.py
π§ͺ Testing
- Expanded unit test coverage with new test cases for:
- Negative cycle detection in various graph configurations
- Self-loop and multiple negative cycle scenarios
- Graph operations using
MapAdapter TinyDiGraphfunctionality (node/edge management, attributes)
- Added tests for both successor and predecessor traversal in cycle detection.
π§© New Features
TinyDiGraphenhancements:- Custom
MapAdapter-based storage for improved memory efficiency. - Support for large graphs with fixed node counts.
- Optimized adjacency and predecessor list storage.
- Custom
π§Ή Maintenance
- Removed deprecated files (e.g.,
max_cycle_ratio.tpy). - Standardized import statements and module structure.
- Improved error handling and assertion messages.
π οΈ Updated Modules
min_cycle_ratio.pymin_parametric_q.pyneg_cycle.pyneg_cycle_q.pyparametric.pytiny_digraph.py- New test files:
test_tiny_digraph.py, enhancedtest_neg_cycle.py,test_neg_cycle_q.py
π¦ Installation & Testing
pip install -e . # Install in editable mode
pytest # Run tests
tox # Multi-environment testing