A simple CLI for sending form related mails in the context of Open Data Kit (ODK)
Project description
ODK Mailer
A simple CLI to send Mails for ODK. Built with Typer and packaged with Poetry.
Requirements
- Python 3
- PIP
Setup
Install the cli via pip
pip install odk-mailer
Configuration example
Config location: ~/.odk-mailer/config.json
:
{
"smtp_host": "smtp.freesmtpservers.com",
"smtp_port": "25",
"smtp_user": "optional",
"smtp_pass": "optional",
"odk_host":"https://your.odk-central.host.tld",
}
Usage
Create and run a new mail job
# Create a new mail job with a unique ID
odk-mailer create
# Run the job by ID
odk-mailer run <job-id>
List mail jobs and evaluate them
# Show all jobs
odk-mailer list
# Run all jobs that are ready to be sent
odk-mailer evaluate
CLI Design
Create
Features > commands
create a mail job
- Read a recipients CSV list, validate input
- Define field from available headers to be used for email sending, validate email addresses
- Read message content from stdin
- Support data templating with format
- Read message content from file
- Add reminders for a mail task, using ODK API, http-lib
- Send mail manually or schedule for the future; smtp, python-crontab
list mail jobs
- Show available mail tasks (that are stored in the local db)
delete mail jobs
- delete mail job by id
check connection
- give instant feedback about connectivity to SMTP and API endpoints
Development
Building a Package - Guide: https://typer.tiangolo.com/tutorial/package/#create-your-app
Requirements
- Python 3.10
- Poetry 1.7
# clone the repo and cd into
poetry shell
poetry install
# Run it with
poetry run odk-mailer
Push to PyPi
poetry build
poetry publish
# requires credentials to be setup: poetry config pypi-token.pypi <my-token>
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
odk_mailer-0.4.6.tar.gz
(15.5 kB
view hashes)
Built Distribution
odk_mailer-0.4.6-py3-none-any.whl
(20.4 kB
view hashes)
Close
Hashes for odk_mailer-0.4.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 733046365d2d50bb79d9bcad8e283a004598a3b7d7e2f1ca63d4ad6bf8e88349 |
|
MD5 | 7b82d9900761be6322444c855ee83a0d |
|
BLAKE2b-256 | b123414ec744ec15a95296cd71e117bcd543ff7af87ed689117e90bf6730445f |