Skip to content

imxInsights

imxInsights logo imxInsights logo

PyPI - Python Version PyPI - Status

GitHub Documentation Status PRs Welcome PyPI - License

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.

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