schedline
Schedule any job for anyone anywhere — in one line.
A zero-dependency scheduling engine with a terse one-line grammar, an auto-registering store, three-lens conflict detection, and a read-only terminal viewer. Type a thought, it becomes a scheduled job.
$ schedline add 'kani: dropoff Tue,Thu 10:45-11:15 @kindergarten #care'
added: [1] kani: dropoff Tue,Thu 10:45-11:15 @kindergarten #care /personal
$ schedline add 'david: "AWS Arch" Mon 13:40-15:50 @room-204 #uni'
$ schedline add 'david: dentist Mon 14:30-15:30 @clinic #health'
added: [3] david: dentist Mon 14:30-15:30 @clinic #health /personal
⚠ double-booked: [2] david: AWS Arch Mon 13:40-15:50 @room-204 #uni /personal
Install
pip install schedline
The grammar
<who>: <what> <when> [@where] [#tag ...] [/namespace]
| Part | Meaning | Examples |
|---|---|---|
who |
assignee id (auto-registers) | kani |
what |
free text; quote if multi-word | "AWS Arch" |
when |
day-spec and/or time range | Tue,Thu · Mon-Fri · 2026-06-20 · today · tomorrow · 13:40-15:50 |
@where |
location (auto-registers) | @kindergarten |
#tag |
zero or more tags | #care #uni |
/namespace |
bucket (default personal) |
/business |
People, places, and tags auto-register on first use — there is no schema to edit before scheduling a new person or place.
Commands
schedline add "<line>" parse a shorthand line and store it (warns on clashes)
schedline ls [filters] list jobs --ns --who --where --tag --day
schedline agenda [--day D] day-by-day, conflict-flagged
schedline rm <id> delete by id
schedline who | where list known assignees / locations
schedline view read-only curses viewer (calendar / swimlanes / dashboard)
sched is installed as a short alias for schedline.
Conflict detection
Every add checks three lenses (advisory — it warns, never blocks):
- Person double-booked — same assignee, overlapping time.
- Location occupied — same
@place, overlapping time, different people. - Travel gap — same person, back-to-back jobs at different places with less
than
SCHEDLINE_TRAVEL_BUFFERminutes between them (default 30).
Store location
Jobs live in a single JSON file, resolved in this order:
--store <path>$SCHEDLINE_STORE$XDG_DATA_HOME/schedline/jobs.json(default~/.local/share/schedline/jobs.json)
License
MIT
Metadata
Release files for schedline 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| schedline-0.1.0.tar.gz | 14.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| schedline-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.6 kB
Release files / schedline-0.1.0.tar.gz
| Download URL | schedline-0.1.0.tar.gz |
|---|---|
| Size | 14.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dea4b715e3d50ffac6d6f3d5ac6a5983e0080b9751f0c8a1f3f6dc2140beb362
|
|
BLAKE2b-256 checksum How to use checksums |
8a824e3d8b0ea80e65a98fc0c9caa820e6e87f1e8018cd431fb15fc31b264274
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 16, 2026.
Transparency logRelease files / schedline-0.1.0-py3-none-any.whl
| Download URL | schedline-0.1.0-py3-none-any.whl |
|---|---|
| Size | 13.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0f00de8ca9b6b5d8f35e90dad86f4344b83a307de100474c0392f680beab3600
|
|
BLAKE2b-256 checksum How to use checksums |
ca9483c8322e2ed5b6f27aed3d1db2908d4a7fafc94fc583581843dfd1b9afff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 16, 2026.
Transparency log