Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

xmas-core

Formerly xplan-tools: from 2.0 the distribution is xmas-core. The xplan_tools import and the xplan-tools CLI are unchanged for now.

coverage report pipeline status Latest Release

Documentation | Repository

A Python library to provide some useful means when working with XPlanung, XTrasse and XWaermeplan data, e.g. format conversion, version migration and database setup. Relies on Pydantic for a Python representation of the XPlanung/XTrasse/XWaermeplan model as well as serialization/de-serialization and validation.

While it comes with a CLI, its modules are also meant to provide other applications a Python representation as well as an interface for XPlanung/XTrasse/XWaermeplan data.

Features

  • Conversion between GML, JSON-FG and DB encodings of XPlanung/XTrasse/XWaermeplan data.
  • Migration from older versions of XPlanung to the latest one.
  • Set up a PostgreSQL/PostGIS database to store XPlanung data.
  • Adding style properties (stylesheetId, schriftinhalt) to XPlanung presentational objects based on defined rules.
  • Typed: the package ships a py.typed marker (PEP 561), so its annotations reach a type checker in your own code. The few members typed with lxml (e.g. GMLRepository.content) stay Any unless you install lxml-stubs.

Installation

Pixi

This project uses Pixi for package management. To install this repo with a self-contained environment, run

git clone https://gitlab.opencode.de/xleitstelle/xmas-core.git
cd xmas-core
pixi install

Python >= v3.10

GDAL and its Python bindings are required, so you need to make sure the GDAL system library and Python package versions match.

Download the repository:

git clone https://gitlab.opencode.de/xleitstelle/xmas-core.git
cd xmas-core
pip install .

Or install from PyPI:

pip install xmas-core

Docker

Images are provided in the container registry (see docs).

Development

Make sure Pixi is installed and run

git clone https://gitlab.opencode.de/xleitstelle/xmas-core.git
cd xmas-core
make dev

Developer Guides

For work on development, architecture, or internal workflows, refer to the Developer Guide Overview

License

The code in this repository is licensed under the EUPL-1.2-or-later

© XLeitstelle, 2025

Release files for xmas-core 2.0.0rc1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xmas-core 2.0.0rc1
File Size Uploaded
xmas_core-2.0.0rc1.tar.gz 731.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xmas-core 2.0.0rc1
File Interpreter ABI Platform
xmas_core-2.0.0rc1-py3-none-any.whl Python 3 none any Details

Total release size: 1.5 MB

Release files / xmas_core-2.0.0rc1.tar.gz

Download URL xmas_core-2.0.0rc1.tar.gz
Size 731.4 kB
Tags Source
SHA-256 checksum
How to use checksums
7c25a208df0aedac1c6111dae0debcc27f90a7744af0fc00948b61e400ef5042
BLAKE2b-256 checksum
How to use checksums
7c9c50616ba3fe143eff7d79544e2ab684fa001288f5b18663a9d33e1cdde939
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.5.1 CPython/3.13.15 Linux/6.8.0-138-generic

Release files / xmas_core-2.0.0rc1-py3-none-any.whl

Download URL xmas_core-2.0.0rc1-py3-none-any.whl
Size 772.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b63e7d5aaa488ce90664e74f3327ecf4733b95befa0f63e319adc4975d9404cf
BLAKE2b-256 checksum
How to use checksums
65613e88a82ff7b18cbc8d7e3e5d45008fb3053f540ee22b805cff84451a5036
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.5.1 CPython/3.13.15 Linux/6.8.0-138-generic
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page