Firefly Reports
Generate email reports using Firefly's API. There is a wiki which will have more information.
Firefly
Firefly is a free and open source personal finance manager. Firefly Reports adds the ability to get email reports to help keep track of your spending.
Quickstart
To install, you can use pipx:
$ pipx install firefly_reports
or use uv:
$ uv tool install firefly_reports
If using pip, I would suggest using a virtual environment.
After installing, you can use --help to get the inputs:
Usage: firefly_reports [OPTIONS] CONFIG_FILE
Options:
--start_date [%Y-%m-%d]
--end_date [%Y-%m-%d]
--help Show this message and exit.
By default the start date will be a week from when the program is run and the end date will be the day of the program is run.
Copy example_config.toml to your PC and update the following:
[email]
server = "smtp.gmail.com"
port = 587
starttls = true # Use STARTTLS
authentication = true # Login with username and password
user = "your_email_address@gmail.com"
password = "password"
from = "your_email_address@gmail.com"
to = ["email1@example.com","email2@example.com"]
[firefly]
url = "http://firefly_instance:8085"
access_token = "your_api_access_token_key"
I verified that using Gmail works but haven't checked other email providers. Look at Firefly's documentation to get your access token.
Reports
Currently only one report is supported. This report will include the following:
- Categories (income and expenses).
- Total amount spent between the start and end dates.
- Total amount earned between the start and end dates.
- Total amount spent so far for the calendar year.
- Total amount earned so far for the calendar year.
Development
The recommended way is to use uv:
$ git clone git@github.com:cetyler/firefly_reports.git
$ uv venv --python 3.13
Using Python 3.13
Creating virtualenv at: .venv
Activate with: source .venv/bin/activate
$ source .venv/bin/activate
$ uv sync --dev
Metadata
Release files for firefly_reports 0.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| firefly_reports-0.5.1.tar.gz | 42.8 kB | Without provenance | Details for firefly_reports-0.5.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| firefly_reports-0.5.1-py3-none-any.whl | Python 3 | none | any | Details for firefly_reports-0.5.1-py3-none-any.whl |
Total release size: 50.1 kB
Release files / firefly_reports-0.5.1.tar.gz
| Download URL | firefly_reports-0.5.1.tar.gz |
|---|---|
| Size | 42.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
19418a83e389343eb08d982421fafdd65b39b5786584776661d44bd0bb324d47
|
|
BLAKE2b-256 checksum How to use checksums |
38a8ef1b6f5aa1b5a95f88789998a1ceb1ce76ef9f87bed415b57ac6784d580d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / firefly_reports-0.5.1-py3-none-any.whl
| Download URL | firefly_reports-0.5.1-py3-none-any.whl |
|---|---|
| Size | 7.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ab8eb8a3f41f60b349071fa7bf496df2693d09bb07c76950bbacac6e1f001abd
|
|
BLAKE2b-256 checksum How to use checksums |
f29f0dc31e55212c6b1cd44d19da3f8ae8ecac9dc5d53fb75a903fd2d04f7adb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for firefly_reports 0.5.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.