Skip to content

v0.1.2 - Python 3.8 Compatibility & PyPI Release

Choose a tag to compare

@berendmarkhorst berendmarkhorst released this 18 Dec 20:23
· 167 commits to main since this release

SteinerPy v0.1.2 - Python 3.8 Compatibility & PyPI Release

馃殌 Major Milestone: Now Available on PyPI!

Install with:

pip install steinerpy

馃悰 Bug Fixes

  • Python 3.8 Compatibility: Fixed type annotations throughout the codebase

    • Replaced modern list[type] syntax with typing.List[Type]
    • Added proper imports for List, Set, Tuple, Dict from typing
    • Now fully compatible with Python 3.8+ as advertised
  • Package Configuration:

    • Fixed pytest coverage configuration
    • Updated CI/CD pipeline for cross-platform testing

馃И Testing

  • Comprehensive test suite with 94% code coverage
  • Integration tests that verify actual solver functionality
  • Tests pass on Python 3.8, 3.9, 3.10, 3.11, and 3.12

馃摝 Package Features

  • Steiner Tree Problems: Connect a single set of terminals optimally
  • Steiner Forest Problems: Connect multiple sets of terminals
  • HiGHS Solver Integration: High-performance optimization
  • NetworkX Compatibility: Works seamlessly with NetworkX graphs
  • Flexible Edge Weights: Support for custom edge weight attributes

馃摉 Documentation

  • Updated README with real PyPI badges and download statistics
  • Example Jupyter notebook included
  • Comprehensive API documentation
  • Citation information for academic use

馃敡 Development

  • Modern Python packaging with pyproject.toml
  • Automated CI/CD with GitHub Actions
  • Cross-platform testing (Linux, macOS, Windows)
  • Automated PyPI publishing on releases

馃檹 Academic Citation

If you use this software in your research, please cite:

Markhorst, B., Berkhout, J., Zocca, A., Pruyn, J., & van der Mei, R. (2025). Future-proof ship pipe routing: Navigating the energy transition. Ocean Engineering, 319, 120113.


Full Changelog: v0.1.1...v0.1.2