A simple calendar driven by text files, with an optional web UI.
You can add/edit/remove events using the text tools of your choice, or use the scripts or web UI.
Events look something like:
$ cat events/medical_procedure
name: medical_procedure
date: 2020-10-09
start_time: 15:00
duration_minutes: 1
notes: address goes here
recurs: monthly
recurs_until: 2099-01-01
skip_dates: 2020-11-09,2021-03-09
To remove an event, use "rm", or the web UI.
Basic command examples
# This uses Flask's built-in server. See further below on using gunicorn
# Use "src.minical" if running from project root and not an installed package
# Navigate to /cal/events after startup
MINICAL_PORT=5132 python -m minical.app
# List upcoming events
python -m minical.whats_next -s bday -a
# Point to events living somewhere else.
# This is one way to maintain separate calendars
MINICAL_EVENTS_DIR=/some/path/events python -m minical.whats_next
# There is an "entrypoint" if you install the package, just a CLI shorthand
# Equivalent to `python -m minical.app`
MINICAL_PORT=5132 minical-web
The "whats_next" CLI script shows something like:
2021-05-29 (Sun), 01:01, friend_drinks (in 3 days)
2021-06-03 (Fri), 17:00, some_wedding (in 8 days)
2021-06-06 (Mon), 15:00, dr_foo_appt (in 11 days)
2022-05-17 (Wed), 01:01, some_birthday (in 356 days)
2022-08-01 (Tue), 01:01, award_ceremony (in 432 days)
2023-05-17 (Fri), 01:01, some_birthday (in 722 days)
Building the package
WIP - haven't done this in a long time
# Make an env wherever, outside of project dir,
# to make sure you're not importing files from same dir
python -m venv minical_build_test
source minical_build_test/bin/activate
# This is a tool from pypa
pip install build
# Go back into project dir with the setup.cfg. This command will make a 'dist' folder
python -m build
# Install the thing from the dist folder
pip install file:///home/.../dist/path/to/thing.tar.gz
Running with gunicorn
# If installed
gunicorn -b 127.0.0.1:5132 minical.app:app
# If working with source
gunicorn -b 127.0.0.1:5132 src.minical.app:app
Other features
There are none! No reminders or sharing. You shouldn't be so busy!
Metadata
Release files for minical 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| minical-0.0.2.tar.gz | 9.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| minical-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.0 kB
Release files / minical-0.0.2.tar.gz
| Download URL | minical-0.0.2.tar.gz |
|---|---|
| Size | 9.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fac59a4a1d1241748c86d1118bdda6a2e11d20c0c2d754002aafca00858f7b0d
|
|
BLAKE2b-256 checksum How to use checksums |
cf0ea0785451109a13cc4934989b486aa648363b0705e0bca7fa2c53062621da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.8.10
|
Release files / minical-0.0.2-py3-none-any.whl
| Download URL | minical-0.0.2-py3-none-any.whl |
|---|---|
| Size | 11.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cc34cf9f82a74eeb3580712c5a276dda36392b808fa8159afb74bb173b3021ff
|
|
BLAKE2b-256 checksum How to use checksums |
87ee0f4cedaf4e4b046b65ca5a4a6db6359eb55916c6c342e0beae21d353512d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.8.10
|