Generate a digest of comments that occured since the last checked in date. Useful for including in an email.
Project description
Todoist Project Digest
Todoist doesn't have a way to generate a digest of all recent comments in a project created by a specific user. This makes it challenging to see what changed and what requires your action if you are collaborating with someone on a project.
This is a simple project which generates a digest of all comments by a particular user on a particular project.
This project was also a good excuse to play around and test some functional programming/data manipulation tooling I've been messing with (funcy, funcy-pipe, and whatever).
Features
- Can send an email digest if auth is provided
- Retrieves comments on completed tasks
- Target projects by ID or name
Usage
Docker
docker pull ghcr.io/iloveitaly/todoist-digest:latest
docker run --env-file .env ghcr.io/iloveitaly/todoist-digest:latest
Want to run a one off execution?
docker run --env-file .env ghcr.io/iloveitaly/todoist-digest:latest todoist-digest --help
Want to inspect the docker container?
docker run -it ghcr.io/iloveitaly/todoist-digest:latest bash
Or, just use the docker compose file.
Locally
Run this locally using:
bin/local-digest-html
Or run directly:
poetry run todoist-digest \
--last-synced "2023-12-04T15:52:48Z" \
--target-user user@gmail.com \
--target-project ProjectName
Or, email yourself the digest:
poetry run todoist-digest \
--last-synced $LAST_SYNC \
--target-user $TARGET_USER \
--target-project $TARGET_PROJECT \
--email-auth $EMAIL_AUTH \
--email-to $EMAIL_TO
Development
Docker Build
This repo uses nixpacks for building a Dockerfile. Why? Because I like trying new things.
Until asdf support is built into nixpacks, you'll have to do something like:
export NIXPACKS_POETRY_VERSION=$(asdf-current-version poetry)
export NIXPACKS_PYTHON_VERSION=$(asdf-current-version python)
(asdf-current-version is a function I have in my shell which returns the current version of a tool)
In order to pass the py + poetry versions properly to nixpacks:
nixpacks build . --name todoist-digest --env NIXPACKS_PYTHON_VERSION --env NIXPACKS_POETRY_VERSION --start-cmd bin/cron-digest
Playground
ipython shell with some helpful variables defined:
./playground.py
Run with ipdb
Open up an exception when there's an exception:
ipdb3 $(which todoist-digest) --last-synced 2023-12-14T13:38:25Z ...
Related
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
Hashes for todoist_digest-0.7.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 661776530bcd227d44f544947fae8c3f216ddd9ba4b98ce0ebfa2b2a0ef1f327 |
|
MD5 | d44541efe0846445ec9428fdaabc4f29 |
|
BLAKE2b-256 | 6d4eb2a1ca155ce61cbf5bd5bb1caf45eff986ae68027ddfbf8d560c31ebc7c8 |