extremely basic calendar, with app and cli interfaces, and simple file format
Project description
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!
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 minical-0.0.2.tar.gz.
File metadata
- Download URL: minical-0.0.2.tar.gz
- Upload date:
- Size: 9.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fac59a4a1d1241748c86d1118bdda6a2e11d20c0c2d754002aafca00858f7b0d
|
|
| MD5 |
0210aa7f204ed01a4a162607282d457f
|
|
| BLAKE2b-256 |
cf0ea0785451109a13cc4934989b486aa648363b0705e0bca7fa2c53062621da
|
File details
Details for the file minical-0.0.2-py3-none-any.whl.
File metadata
- Download URL: minical-0.0.2-py3-none-any.whl
- Upload date:
- Size: 11.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc34cf9f82a74eeb3580712c5a276dda36392b808fa8159afb74bb173b3021ff
|
|
| MD5 |
0c36d41c43355946297ffb5ef92cdc44
|
|
| BLAKE2b-256 |
87ee0f4cedaf4e4b046b65ca5a4a6db6359eb55916c6c342e0beae21d353512d
|