imxInsights¶
Documentation: https://open-imx.github.io/imxInsights/
Source Code: https://github.com/open-imx/imxInsights
THIS LIBRARY is a personal project and therefore no responsibility for the functionality, accuracy, or usage of this library. THE PUBLIC retains full ownership and responsibility for the codebase.
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, 10.0.0, 11.0.0 and 12.0.0.
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.
Features¶
- ✅ IMX file import (1.2.4, 5.0.0, 12.0.0)
- ✅ IMXExtension objects
- ✅ GML & RailConnection Shapely geometry
- ✅ Parent-child as objects
- ✅ IMX data as Pandas DataFrame
- ✅ IMX objects as GeoJSON (WGS or RD)
- ✅ IMX compare between different IMX versions (situations, timeline)
- ✅ Comparison result as Pandas DataFrame & GeoJSON
- ✅ Color changes for better comparison
- ✅ Excel compare output
- ✅ Excel container compare chain
Open-IMX Initiative¶
imxInsights is part of the Open-IMX initiative, which is dedicated to enhancing the accessibility and usability of IMX data. This initiative aims to provide a collaborative environment for developers, data analysts and railway professionals to effectively work with IMX data.
🗪 Discord Community Channel 🤝¶
💥 We invite you to join the 👉 open-imx community on Discord.
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.
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".
Backlog and Roadmap¶
https://github.com/orgs/open-imx/projects/5/
Contributing¶
We welcome contributions from everyone! If you're interested in contributing to the project, please refer to our contribution guidelines for more information. For any questions or discussions, feel free to ask in our Discord channel.
Dependencies¶
dateparser, types-dateparser, deepdiff, jinja2, lxml, types-lxml, loguru, networkx, types-networkx, pandas, pandas-stubs, pyproj, shapely, types-shapely, tqdm, tqdm-stubs, xlsxwriter, geojson
Development dependencies¶
bumpversion, hatch, mkdocs, mkdocs-material, mkdocstrings, pre-commit, pytest, pytest-asyncio, pytest-cov, ruff, filelock, distlib, mypy