Version 0.7.0 released!
Fietsboek 0.7.0 has been released! The main thing in this release — besides some small ergonomic improvements — is the fact that we now have profile pages, and with it, integration with hittekaart!
This integration now provides you with the ability to render heatmaps for the
user, either manually via fietsctl
, or automatically as part of the
fietscron
maintenance jobs.
The release is available via git
(tag: v0.7.0
) and PyPI.
Rust & Fietsboek
Usually, rust and bicycles are not a great combination, but for Fietsboek it's a good fit. Rust helps to make performance critical sections of the code fast, or allows us to use crates from the Rust ecosystem for functionality that does not exist in form of a Python package.
We already use Rust code via pydantic, but now there is more thanks to nh3 — and I am not opposed to adding more Rust code in the future, e.g. to speed up GPX parsing or the transformers.
However, as nice as Rust is, distributing the Rust/Python packages is a bit more cumbersome than plain Python packages, as they need to be compiled for the different platforms and architectures. Not all packages can provide precompiled versions for all platforms and architectures combinations, and might just provide the most common ones.
Thanks to maturin, Rust crates can be built automatically by pip
during
their installation, but that does require a working Rust toolchain. Thus, if
you see the following error (or something similar, depending on your system and
pip
versions), make sure to install the Rust compiler and cargo:
error: subprocess-exited-with-error × Preparing metadata (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [6 lines of output] Checking for Rust toolchain.... Cargo, the Rust package manager, is not installed or is not on PATH. This package requires Rust and Cargo to compile extensions. Install it through the system's package manager or via https://rustup.rs/ [end of output]
The bottom line is this: Version 0.7.0 is not the first one to ship with Rust code, but due to the addition of another Rust dependency, you might need to install a Rust toolchain now. More Rust code might be added in the future, so be ready ;-)
Changelog
Added
Profile pages with "milestone tracks" (longest, shortest, ...).
Integration with
hittekaart
for heatmaps on the profile.A data version check at startup.
The Remove Breaks transformer.
Unfinished uploads are now shown to the user on the home page.