rainlog
A terminal-based rain logger. Record daily rainfall totals in a local SQLite database and explore history through an interactive TUI.
License: AGPL-3.0-or-later
Python: 3.11–3.14
Install
From the repository root (with uv recommended):
uv sync
Or install the package into your environment:
uv pip install .
The console entry point is rainlog.
Usage
Run the TUI:
rainlog
| Key | Action |
|---|---|
n |
Add a rain record |
e |
Edit a record (use s to select a bar first in daily view) |
← / → |
Scroll history back / forward |
g |
Cycle grouping (daily / weekly / monthly / yearly) |
m |
Toggle chart mode (rainfall ↔ soil-moisture index) |
+ / - |
More / fewer bars |
a |
Auto bar count |
q |
Quit |
Data storage
- By default, data lives in
rainlog.sqlitein~/.local/share/rainlog/. - Use
--db-dirto put the database in another directory (the filename staysrainlog.sqlite). - Each row stores the rain total in millimetres for a 24-hour block ending at 09:00 local time on the given calendar day.
Development
Tests and automation are driven by Nox; list sessions with nox -l and run the ones you need (e.g. tests).
Links
- Documentation: rainlog.marvin8.zone
- Source: forge.marvin8.zone/marvin8/rainlog
- Issues: forge.marvin8.zone/marvin8/rainlog/issues
- Changelog: CHANGELOG.md
Metadata
Release files for rainlog 1.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| rainlog-1.1.3.tar.gz | 15.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rainlog-1.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.0 kB
Release files / rainlog-1.1.3.tar.gz
| Download URL | rainlog-1.1.3.tar.gz |
|---|---|
| Size | 15.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
034fd94b4fc8aa5afe729b8d62a4bff14569ace272fac6150b597086a45efffd
|
|
BLAKE2b-256 checksum How to use checksums |
7a6155f38a4365328599745ca5439645d5b2d94190425410660fe16e462a054a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rainlog-1.1.3-py3-none-any.whl
| Download URL | rainlog-1.1.3-py3-none-any.whl |
|---|---|
| Size | 16.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1904c132a92b26d8474a4edfcb6f73b5adab4995459ee9ff6fc644f458ebb39f
|
|
BLAKE2b-256 checksum How to use checksums |
c998c4b7752705d85cc26393a91a749cc0a27e37f4cca200e8cb5d04bbd1c8c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for rainlog 1.1.3
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.