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.0.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.0.0
File Size Uploaded
luciole_toolbox-1.0.0.tar.gz 32.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for luciole-toolbox 1.0.0
File Interpreter ABI Platform
luciole_toolbox-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 57.5 kB

Release files / luciole_toolbox-1.0.0.tar.gz

Download URL luciole_toolbox-1.0.0.tar.gz
Size 32.7 kB
Tags Source
SHA-256 checksum
How to use checksums
0d3fc973429b3035d7b35a58fa380fb1e6b8a08e0745b41e0bb646d903cfa2bc
BLAKE2b-256 checksum
How to use checksums
acfac2737a0a833b31c5c75bcc403473d435f2f17d773eff90072a15a1538944
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 Aug 20, 2026.

Transparency log

Release files / luciole_toolbox-1.0.0-py3-none-any.whl

Download URL luciole_toolbox-1.0.0-py3-none-any.whl
Size 24.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
619eae596ba33c1bff05ea7cfbc5413e2eafeed8416c4b31811b87999a340cf1
BLAKE2b-256 checksum
How to use checksums
b74ac6bceb5213c91d958b3a3d866ad25cdfcca91e5fa3d71c72cc6c3dd3c04d
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 Aug 20, 2026.

Transparency log

Release history Release notifications | RSS feed

1.1.0

2 release files

This release

1.0.0 This release

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