A plain-text task manager and time tracker with pluggable AI parsing (Ollama / OpenAI-compatible / Anthropic).
Project description
jasem
A plain-text task manager and time tracker for your terminal, with pluggable AI parsing. One file, zero dependencies, your data in human-readable Markdown.
Install & run
Needs Python 3.8+.
pipx install jasem # recommended — isolated, puts `jasem` on your PATH
# or
pip install jasem
Then write a task in plain language and see what's due:
$ jasem "pay rent next friday, high priority, finance"
✓ added #1: pay rent
priority=high deadline=2026-06-19 tags=finance
$ jasem today
Due today
☐ 2 [medium] 2026-06-15 (today) call dentist #health
That's the whole loop: write naturally, jasem extracts the deadline, priority, and tags for you.
Features
- Natural-language tasks —
jasem "submit report by friday, work"becomes a title, deadline, priority, and tags. - Views & edits —
jasem list,today,week,overdue,done 3,set 3 deadline tomorrow,rm 3. - Time tracking —
jasem track "1h 30min, code review, work", thenjasem track weekfor per-day totals. - Plain-text storage — everything lives in
~/.jasem/*.md; read, grep, edit, sync, or version-control it however you like. - Pluggable AI, local by default — runs fully offline with Ollama, or point it at any OpenAI-compatible API or Anthropic. If no model is reachable, tasks still save (dates parsed by regex).
Choosing an AI backend
Parsing is the only step that uses a model — pick one with environment variables:
# Local, free, private (default) — just have Ollama running
ollama serve && ollama pull qwen2.5:3b
# Any OpenAI-compatible API (OpenAI, Groq, OpenRouter, LM Studio, …)
export JASEM_PROVIDER=openai JASEM_API_KEY=sk-...
export JASEM_OPENAI_API_BASE=https://openrouter.ai/api/v1 # or OPENAI_BASE_URL
# Anthropic (Claude)
export JASEM_PROVIDER=anthropic JASEM_API_KEY=sk-ant-...
More
Run jasem help for the full command reference, every option, and all
configuration variables.
License
MIT — see LICENSE.
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 jasem-0.3.0.tar.gz.
File metadata
- Download URL: jasem-0.3.0.tar.gz
- Upload date:
- Size: 23.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e389ce252aad1a56d726c0196e2879e98ac03e77eb02ebe2ec70bc85938a2bfb
|
|
| MD5 |
13f8a3c408a9536233ee6208c6f22416
|
|
| BLAKE2b-256 |
191f8ac24fa7b177d16fcdffd9496b8a7264cb0fbc4207e95e30f9bd816ccb5f
|
File details
Details for the file jasem-0.3.0-py3-none-any.whl.
File metadata
- Download URL: jasem-0.3.0-py3-none-any.whl
- Upload date:
- Size: 28.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a9df1d61b6a8c268509c91a27c02e2a13bf8687a717450a4310a33eac07c23f4
|
|
| MD5 |
be0d0e81bfb7804078615424168e9abf
|
|
| BLAKE2b-256 |
ec1b13137e4201919702db662a6c0094e19095770c12edce24acb7abb4340eda
|