Skip to content

Latest commit

 

History

History
138 lines (107 loc) · 5.47 KB

README.md

File metadata and controls

138 lines (107 loc) · 5.47 KB

imxInsights

imxInsights logo imxInsights logo

PyPI - Python Version PyPI - Status

GitHub Documentation Status PRs Welcome PyPI - License

Documentation: https://ImxEra.github.io/imxInsights/

Source Code: https://github.com/ImxEra/imxInsights

THIS LIBRARY IS NOT AFFILIATED WITH PRORAIL, this is a personal project and is not owned or endorsed by ProRail. Therefore, ProRail assumes no responsibility for the functionality, accuracy, or usage of this library. THE PUBLIC retains full ownership and responsibility for the codebase.

!!! danger "Warning!"
- The goal of imxInsights is to extract information from imx files. Please note that modifying, adding, deleting, or altering data is beyond the scope of this module. - imxInsights explicit supports imx versions 1.2.4, 5.0.0 and all major versions up to and including version 12.0.0.

!!! info "Audience" The intended audience for imxInsights consists of end users with basic Python knowledge. Therefore, the module offers a minimalistic API that is thoroughly documented. We leverage the remarkable makedocs plugins to effortlessly generate a polished website from documentations and markdown files.

This repository host the imx 12.0 implementation

Transitioning from version 1.2.4 / 5.0.0 to 12.0.0 of this library necessitates extensive changes and significant code rewriting due to fundamental shifts in how imx files are utilized. Below, we outline a comprehensive roadmap that will be continually updated until we reach the first stable version.

!!! danger "New concept, breaking changes!"
This project is currently under active development and is not yet in its final form. As such, there may be frequent changes, incomplete features, or potential instability.

***-   We recommend using the stable and feature richer 0.1.0 release on for imx versions "1.2.4" and "5.0.0".***

Roadmap

Q3-1 2024 - init public release on github

  • Imx Container POC to init project
  • Imx 1.2.4 5.0.0 and 12.0.0 file import
  • Imx Config Class
  • Add typehints fix mypy
  • Setup mkdocs
  • create pre commit formatting and type checking
  • Imx single file
  • Imx zip container
  • Imx container metadata
  • mkdocs for end user, we should commit to published api stuff not internals
  • ImxCustomException and handler
  • ImxExtension objects
  • GML shapley geometry
  • RailConnection shapley geometry
  • Known parent and children
  • Add test and fixtures for supported Imx versions,
  • Refactor and shadow tree methods
  • Reverse merge extension props make methode to get them
  • Documentation update
    • add and fix urls
    • installation, add wheel till pipy release
    • overlook code and refactor if needed
    • overlook reference documentation
    • add examples to getting started
    • change basic use
    • add start of way of working
    • fix custom css in right upper corner of docs pages
    • fix dark and light thema logo inclusive github support (current only support github not mkdocs)
  • GitHub actions release as wheel
  • min tests coverage 80%
  • Logo design
  • Setup repo policy including GitHub Actions
    • create workflow documentation
    • create workflow build
    • set up policies
    • make public
    • setup docs
  • clean git by fresh upload 🎉

Q3-2 2024 - MVP library release on PyPI

  • Ref as objects
  • Imx Diff
  • Imx Diff ignore Imx version difference
  • (Imx) Area's and area classifier
  • Pandas export
  • Geojson export
  • Excel output
  • implement puic as a concept instead of passing keys to make clear what we use as a key.
  • RailConnectionInfos
  • TrackFragments
  • GitHub actions release on pypi

Backlog current features implementation

  • Imx single file metadata
  • Add Situation changes
  • nice ref display
  • parent path display
  • km by linear referencing
  • graph implementation
  • generate graph geometry
  • graph end user api
  • 3d Measure calculator
  • Imx 1.0-RC release on pypi

Supported Python Versions

This library is compatible with Python 3.10 and above.

!!! warning
Python Typehints are awesome therefor 3.9 and below will NOT be supported.

Features

todo

Quick Start

todo

Distribution and installation

todo

Code samples and snippets

todo

Contributing

Contributions welcome! For more information on the design of the library, see contribution guidelines for this project.