Skip to main content

luciole-toolbox

CI PyPI License

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:

  1. Move the [Unreleased] entries in CHANGELOG.md under a new ## [x.y.z] - YYYY-MM-DD heading and commit it to main.

  2. 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)

Source distribution for luciole-toolbox 1.1.0
File Size Uploaded
luciole_toolbox-1.1.0.tar.gz 33.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for luciole-toolbox 1.1.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.0

2 release files

0.1.0

2 release files

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