Skip to content

0.2

Choose a tag to compare

@luk036 luk036 released this 25 Sep 06:22
· 104 commits to main since this release

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 lict to MapAdapter for improved readability and consistency.
  • Enhanced docstrings with detailed parameter descriptions, return types, and usage examples.
  • Applied ruff formatting for consistent code style.

πŸ“š Documentation

  • Added comprehensive project overview and usage guidelines in GEMINI.md.
  • Improved inline documentation for core modules:
    • min_cycle_ratio.py
    • min_parametric_q.py
    • neg_cycle.py
    • parametric.py
    • tiny_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
    • TinyDiGraph functionality (node/edge management, attributes)
  • Added tests for both successor and predecessor traversal in cycle detection.

🧩 New Features

  • TinyDiGraph enhancements:
    • Custom MapAdapter-based storage for improved memory efficiency.
    • Support for large graphs with fixed node counts.
    • Optimized adjacency and predecessor list storage.

🧹 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.py
  • min_parametric_q.py
  • neg_cycle.py
  • neg_cycle_q.py
  • parametric.py
  • tiny_digraph.py
  • New test files: test_tiny_digraph.py, enhanced test_neg_cycle.py, test_neg_cycle_q.py

πŸ“¦ Installation & Testing

pip install -e .  # Install in editable mode
pytest            # Run tests
tox               # Multi-environment testing