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

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


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.8.0.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

todoist_digest-0.8.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: todoist_digest-0.8.0.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.11.7 Linux/6.5.0-1016-azure

File hashes

Hashes for todoist_digest-0.8.0.tar.gz
Algorithm Hash digest
SHA256 c6d6a8082f0e0022c403f61a6212334145ba54803fa434de9af8f25c28ef8130
MD5 b7233f8acb324ac6a759ce4be5749c81
BLAKE2b-256 d51bb86145b5762a49f277d1af6e7210331ddee762a02e05c0391998f360bd2d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: todoist_digest-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.11.7 Linux/6.5.0-1016-azure

File hashes

Hashes for todoist_digest-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5b56b85a6692a1ad8521339c6b4d80453461d15077f61c5e871cff35634094a0
MD5 66cb9fe91211fb972e4669b7ddfd2429
BLAKE2b-256 83099c9fdcf23760faa509f920a418d07140a5dad89d5525874bcc1b02333fe3

See more details on using hashes here.

Supported by

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