luciole-toolbox
Python utility library from info-fauna for preparing and standardizing Swiss fauna observation data — coordinate conversion, formatting, and lookups against Swiss reference geodata. Built for data producers (biologists, cantonal monitoring staff, naturalists, and partner organizations) and for use in ETL pipelines and internal systems that load this data into a database.
Currently ships a geo module for Swiss coordinates: CRS detection
(WGS84/LV03/LV95), conversion between them, CKM2/CNHA grid codes, and
commune/canton lookup via the swisstopo API.
Installation
pip install luciole-toolbox
Usage
from luciole_toolbox.geo import convert_coordinates, get_location_info, CRSType
convert_coordinates("46.9480", "7.4474", target=CRSType.LV95)
get_location_info("46.9480", "7.4474")
Full API reference: https://info-fauna.github.io/luciole-toolbox/
Development
pip install -e ".[dev]"
Testing
pytest # all tests, incl. calls to swisstopo/pyproj CDN
pytest -m "not integration" # skip tests hitting real network endpoints
Docs
pip install -e ".[docs]"
mkdocs serve # preview locally at http://127.0.0.1:8000
Versioning & releases
The version is derived from git tags via hatch-vcs — there is no version
string to hand-edit. Notable changes are tracked in
CHANGELOG.md.
To cut a release:
-
Move the
[Unreleased]entries in CHANGELOG.md under a new## [x.y.z] - YYYY-MM-DDheading and commit it tomain. -
Tag that commit and push the tag:
git tag v0.1.0 git push origin v0.1.0
This triggers the release workflow, which builds the package, publishes
it to PyPI, and creates a matching GitHub Release.
Contributing
Contributions are welcome. See CONTRIBUTING.md for setup, testing, and PR guidelines, and CODE_OF_CONDUCT.md for expected behavior in this project's spaces.
Security
To report a vulnerability, see SECURITY.md — please don't open a public issue for security reports.
License
LGPL-3.0-or-later. See LICENSE for the LGPL terms and COPYING for the GPL terms it incorporates by reference.
Release files for luciole-toolbox 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| luciole_toolbox-1.1.0.tar.gz | 33.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| luciole_toolbox-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 59.0 kB
Release files / luciole_toolbox-1.1.0.tar.gz
| Download URL | luciole_toolbox-1.1.0.tar.gz |
|---|---|
| Size | 33.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9500135ec6df0b64310f75e041a5e687b9f532382fe4c625da88694a744ccdad
|
|
BLAKE2b-256 checksum How to use checksums |
9017ffd62065f273bf34544d24ad2f66f90a4d7312f66bd809f108062acd9a8b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency logRelease files / luciole_toolbox-1.1.0-py3-none-any.whl
| Download URL | luciole_toolbox-1.1.0-py3-none-any.whl |
|---|---|
| Size | 25.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
29c4e5df101e7a07ed2dbb7551f70d684aebc96f1d2a8b03b463fb18c228a041
|
|
BLAKE2b-256 checksum How to use checksums |
a74e7e597fca1a7ea9d811a1de07c25472c797c2d938347122bfd4d4ef262f2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency log