Skip to main content

No project description provided

Project description

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

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

firefly_reports-0.5.1.tar.gz (42.8 kB view details)

Uploaded Source

Built Distribution

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

firefly_reports-0.5.1-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file firefly_reports-0.5.1.tar.gz.

File metadata

  • Download URL: firefly_reports-0.5.1.tar.gz
  • Upload date:
  • Size: 42.8 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for firefly_reports-0.5.1.tar.gz
Algorithm Hash digest
SHA256 19418a83e389343eb08d982421fafdd65b39b5786584776661d44bd0bb324d47
MD5 e86e90fad9400a9d142fa023acb4b049
BLAKE2b-256 38a8ef1b6f5aa1b5a95f88789998a1ceb1ce76ef9f87bed415b57ac6784d580d

See more details on using hashes here.

File details

Details for the file firefly_reports-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: firefly_reports-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 7.3 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for firefly_reports-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ab8eb8a3f41f60b349071fa7bf496df2693d09bb07c76950bbacac6e1f001abd
MD5 71619b878f8922e241deceda855f9058
BLAKE2b-256 f29f0dc31e55212c6b1cd44d19da3f8ae8ecac9dc5d53fb75a903fd2d04f7adb

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