A private, local plant care desk with transparent watering forecasts.
Project description
SproutSignal
SproutSignal is a private, local-first plant care desk. It turns the little signals you already notice — soil feel, light, and the last watering date — into a gentle daily care route.
Why it helps
Plant schedules are a useful starting point, not a rule. SproutSignal uses a compact, explainable scoring model to balance a plant's usual interval with its current soil and light conditions. The result is a clear water, check, hold off, or on track recommendation for every plant.
Everything stays on your computer in a small JSON file. There is no account, sync service, telemetry, or cloud database.
Features
- Daily care route sorted by watering risk.
- Transparent watering forecast built from elapsed days, soil condition, and light.
- One-click “mark watered” action that immediately recalculates the route.
- Seeded collection so the workflow is useful on first launch.
- A local JSON data file you can keep, back up, or edit.
Install
Requires Python 3.10 or newer.
git clone https://github.com/iwaheedsattar/sproutsignal.git
cd sproutsignal
python3 app.py
Or install as a package:
python3 -m pip install sproutsignal
sproutsignal
Use it
- Open the local address shown in the terminal.
- Start with the recommended care route.
- Check soil before watering, then select Mark watered to reset that plant's rhythm.
- Add your own plants in
~/.sproutsignal.json(or pass a custom file with--data).
Example record:
{
"id": "fern",
"name": "Fernie",
"species": "Boston fern",
"room": "Kitchen",
"last_watered": "2026-07-10",
"water_every_days": 4,
"soil": "slightly dry",
"light": "medium",
"emoji": "🌿"
}
Development
python3 -m unittest discover -s tests
python3 app.py --no-open --data ./.sproutsignal.json
Roadmap
- Add a friendly plant editor and photo cards.
- Learn individualized intervals from logged soil checks.
- Add desktop reminders and offline backup export.
- Support shared household care routes.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sproutsignal-0.1.0.tar.gz.
File metadata
- Download URL: sproutsignal-0.1.0.tar.gz
- Upload date:
- Size: 9.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a2d671173e430183af01555b54c399b396f4d991a214d60dc24696321ffb74a
|
|
| MD5 |
80b61110186659acbfe3d8fedbaa72f8
|
|
| BLAKE2b-256 |
2db30fd98356b6fd23ffa996bdce8b14988ea14d7755053c731cae9b92a2010e
|
File details
Details for the file sproutsignal-0.1.0-py3-none-any.whl.
File metadata
- Download URL: sproutsignal-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb178f5ad7e063f1c883186ec51cfbfbd3c1a9ac7eb65c243fa241c73c922b24
|
|
| MD5 |
07035b7bf78682432effe07f9787d51c
|
|
| BLAKE2b-256 |
8ea1083e07d659909ac32d6acec9d9fbd438c0ac6d76b0c48f46fe07b1b373f0
|