edays-cli
Command-line client for the eDays leave/absence system. Read your own or your team's calendar, and book or cancel Holiday / Home Office absences without opening the web app.
- Works with any eDays instance — the instance URL, absence types and team roster live in your local config file, nothing is hard-coded.
- Signs in through your organisation's normal SSO in a real browser window; the captured session is reused until it expires.
- JSON output by default (script- and AI-agent-friendly), tables with
--pretty.
Install
uv tool install edays-cli
edays install-browser # one-time: downloads Chromium for the SSO login
or pip install edays-cli. Requires Python 3.11+.
Quick start
edays read # first run creates ~/.edays-cli/config.toml and says so
# edit the config: set [edays] base_url to your eDays address
edays login # sign in via SSO in the browser window
edays --pretty absence-types # list bookable types, then map the ones you use:
edays absence-types --add holiday=123 --add "home-office=Home Office"
edays --pretty team sync # managers: add your direct reports to the roster
edays --pretty read --month 2026-11
edays book holiday 2026-12-22 --to 2026-12-31 --dry-run
edays book home-office 2026-11-05 --day-part pm # half day (afternoon)
Global flags (--pretty, --quiet, --config) go before the subcommand.
| Command | Purpose |
|---|---|
edays install-browser |
One-time Chromium download for login |
edays login |
Browser SSO sign-in; saves the session |
edays whoami |
Profile + entitlement; session check |
edays team |
Configured team roster |
edays team sync / find / add |
Fill the roster from eDays (no manual ID lookup) |
edays absence-types |
List bookable absence types; --add maps kinds for book |
edays read |
Month calendar: absences + public holidays |
edays book KIND DATE |
Book an absence (precheck + confirm); --day-part am|pm for half days |
edays cancel RECORD_ID |
Cancel an absence record |
Documentation
Full installation, configuration and command reference: docs/manual.md.
Development
git clone https://github.com/xdoko01/edays-cli && cd edays-cli
uv run --extra dev pytest # offline unit tests
uv run --extra dev pytest -m integration # live test; needs `edays login` first
Disclaimer
Unofficial tool, not affiliated with or endorsed by eDays. It uses the same internal API as the eDays web application, which may change without notice.
License
MIT
Metadata
Release files for edays-cli 0.3.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 | |
|---|---|---|---|
| edays_cli-0.3.0.tar.gz | 231.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| edays_cli-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 250.7 kB
Release files / edays_cli-0.3.0.tar.gz
| Download URL | edays_cli-0.3.0.tar.gz |
|---|---|
| Size | 231.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f95d04490b09cd1058f91cf43c7105a0db1a3ce5cb4b7617aaad2dd0bef302c1
|
|
BLAKE2b-256 checksum How to use checksums |
d3e320ddc61c568f8caf19dde77ea86adc93f1b1c44009a5c4c8252aba2d4383
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / edays_cli-0.3.0-py3-none-any.whl
| Download URL | edays_cli-0.3.0-py3-none-any.whl |
|---|---|
| Size | 18.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5277a258e5148d36f531286e23fbbc3b1fdc0f5f94498f63b3ec91fcbe8e09d9
|
|
BLAKE2b-256 checksum How to use checksums |
28285087cf98496831bbc0c654b6adba4cdf24d0995f37eaa79127411b878a41
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|