Skip to main content

Generate a digest of comments that occured since the last checked in date. Useful for including in an email.

Project description

Release Notes Downloads Python Versions GitHub CI Status License: MIT

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

If you need a tty, you can copy the todoist-digest execution line and run it manually in a shell.

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

Manual API Calls

http --auth-type bearer --auth $TODOIST_API_KEY https://api.todoist.com/rest/v2/projects 'Content-Type: application/json'

Docker Build

This repo uses nixpacks for building a Dockerfile. Why? Because I like trying new things.

Asdf support is built into nixpacks, so it will automatically pick up python and poetry versions.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

todoist_digest-0.10.7.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

todoist_digest-0.10.7-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file todoist_digest-0.10.7.tar.gz.

File metadata

  • Download URL: todoist_digest-0.10.7.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.8.22

File hashes

Hashes for todoist_digest-0.10.7.tar.gz
Algorithm Hash digest
SHA256 259b69f61cb95e45b5f1379edd7b9ec84fac40b1016a527228bd69fe3e88665d
MD5 431bfedde0ac95ab7bd87a5ac5664fb7
BLAKE2b-256 22392415111fd1de96d59a343211d50a0fa6187aca9a97f10160b4f26697c164

See more details on using hashes here.

File details

Details for the file todoist_digest-0.10.7-py3-none-any.whl.

File metadata

File hashes

Hashes for todoist_digest-0.10.7-py3-none-any.whl
Algorithm Hash digest
SHA256 e762b81e99fba9691f7e33e265312e05b4066f9b649ba90b3b6789b16612105e
MD5 2cf9d56da1376ea2b37451a6a7fb90f6
BLAKE2b-256 442fe54da1f951f2c3273ae9ee430a6a799188d4c54909f4c4778af6c5cabf31

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page