Skip to main content

XMAS-App

pipeline status Latest Release

The XLeistelle model-driven application schema app is a Python web application to edit and create data according to geo-spatial standards of the XLeistelle, e.g. XPlanung, XTrasse. It is based on NiceGUI for a graphical user interface and XPlan-Tools for the data model and respective functionality.

While it could be advanced to a standalone application, its current focus is integration in QGIS to provide attribute forms etc.

Features

  • Render attribute forms for features.
  • Create and edit features in combination with the corresponding QGIS Plugin.
  • Import GML documents into a database.
  • Export GML, JSON-FG or GPKG files from a databse.
  • Delete plans from a database.
  • Display and edit relations of plan objects in a tree view.

Installation

Container Image

Container images are available in the registry. See here for configuration.

Python >= v3.11

GDAL and its Python bindings are required, so you need to make sure the GDAL system library and Python package versions match. QGIS installations come with GDAL and a Python environment that can readily be used to install the app.

Install with pip, e.g. via OSGeo4W Shell:

pip install xmas-app

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-app.git
cd xmas-app
pixi install

Running

Preconditions

A Postgres DB with PostGIS extension and adequate permissions for the used role. If required tables were not previously created with xplan-tools, they will be generated on initialization.

For convenience, you can run

docker compose -f compose.yaml up -d

This will spin up a readily usable XMAS-App container with a PostGIS backend.

Modes

QGIS Plugin mode

If XPlan-GUI was installed in the QGIS Python environment, it can be started from the plugin panel. Configuration parameters are handled by the plugin.

Standalone mode

Starting in standalone mode requires some configuration parameters which have to be provided as an .env file or via environment variables. The database connection parameters can be either user name, password etc. or a service definition.

Variable Description Required Example
PGDATABASE name of the database (x) coretable
PGHOST host of the database (x) localhost
PGPORT port of the database (x) 55432
PGUSER user of the database (x) foo
PGPASSWORD password of the database user (x) bar
PGSERVICE the databas service to use (x) coretable
APP_PORT the port on which the app should run x 1337
APPSCHEMA the default appschema x xplan
APPSCHEMA_VERSION the default appschema's version x 6.0
XMAS_DB_SCHEMA the database schema to use myschema

First activate the pixi shell

pixi shell

then run

xmas-app

Optional: batch import test data to the database using xplan-tools

Test data can be downloaded from https://gitlab.opencode.de/xleitstelle/xplanung/testdaten, e.g. a ZIP archive with BP_Plans in v 6.0.

To import all .gml files at once, extract the archive and use:

(on Linux/Mac/Wsl Bash):

for f in <pfad>/bp/*.gml; do
  xplan-tools convert "$f" postgresql://postgres:postgres@localhost:55432/postgres
done

(on Windows:):

for %f in (*.gml) do xplan-tools convert "%f" postgresql://postgres:postgres@127.0.0.1:55432/postgres

License

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

© XLeitstelle, 2025

Metadata

Release files for xmas-app 0.18.6

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-app 0.18.6
File Size Uploaded Provenance Actions
xmas_app-0.18.6.tar.gz 68.9 kB Without provenance Details for xmas_app-0.18.6.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for xmas-app 0.18.6
File Interpreter ABI Platform Actions
xmas_app-0.18.6-py3-none-any.whl Python 3 none any Details for xmas_app-0.18.6-py3-none-any.whl

Total release size: 151.0 kB

Release files / xmas_app-0.18.6.tar.gz

Download URL xmas_app-0.18.6.tar.gz
Size 68.9 kB
Tags Source
SHA-256 checksum
How to use checksums
b5db7ebed2dc6a3fcf6a21b3c0e79fe08175c69dcb6b2c9d95b1b7d5abfd92d0
BLAKE2b-256 checksum
How to use checksums
adffb5e2b509b684b904a68e5768f0ad9441ee3778d3cd78f06d6c03c9eb882f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.3.4 CPython/3.12.13 Linux/5.4.0-205-generic

Release files / xmas_app-0.18.6-py3-none-any.whl

Download URL xmas_app-0.18.6-py3-none-any.whl
Size 82.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1e2914d5b7154545e8064587a15ae6121d9a45cade9c9cb6f095b75b2713664b
BLAKE2b-256 checksum
How to use checksums
dc062b972c4f798ecca4c18dc1795d354832a778d72858a5aa1b951f3672c326
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.3.4 CPython/3.12.13 Linux/5.4.0-205-generic

Security for xmas-app 0.18.6

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.18.6 This release

2 release files No provenance

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