Skip to main content

📈 Finuntius

CLI Terminal for real-time financial news via Finnhub API.

PyPI version Python versions GitHub

finuntius --help


Index


What's Finuntius?

Finuntius is a CLI program available in English (default) or Italian that retrieves the latest financial news about a stock using the Finnhub API and displays it in a formatted table directly in the terminal.

Finuntius is privacy-first. It adopts the BYOK (Bring Your Own Key) approach so that the Finnhub key remains exclusively on your local machine.

You can also export the results in JSON or Markdown, which is useful for including them, for example, in reports, analysis scripts, or prompts for LLMs.

Features

  • Search for financial news by ticker or U.S. ISIN (GOOG, AAPL, ...)
  • Color-coded table output in the terminal, via Rich
  • Export to JSON or Markdown, to the screen or to a file (-o)
  • Cascading API key management: CLI flag -k, environment variables, global config, or interactive prompt on first launch
  • Bilingual interface: English / Italian, selectable and persistent
  • Filters by number of results (-l) and history from previous days (-d)
  • Docker image available

Installation

From PyPI

The modern and recommended way to install CLI applications in Python is using pipx, which automatically creates an isolated virtual environment:

pipx install finuntius
finuntius --help

Alternatively, you can use the standard pip (it is recommended that you do this inside a virtual environment to avoid conflicts):

pip install finuntius
finuntius --help

From GitHub

Useful if you want to modify the code or contribute to the project:

git clone https://github.com/g-projectech/finuntius.git
cd finuntius

On Linux / MacOS

python3 -m venv venv
source venv/bin/activate

On Windows:

python -m venv venv
venv\Scripts\activate
pip install -e .

Installing in “editable” mode (-e) also creates the finuntius.egg-info/ folder (which is automatically generated by pip/setuptools and is already excluded in the project's .gitignore file).

With Docker

If you'd rather not install anything locally, the repository includes a ready-to-use Dockerfile:

git clone https://github.com/g-projectech/finuntius.git
cd finuntius

docker build -t finuntius .

Basic usage (the image passes the arguments to finuntius):

docker run --rm -it -e FINNHUB_API_KEY=your_api_key finuntius GOOG

To ensure that the API key and the selected language persist between runs, mount a volume on the configuration folder:

docker run --rm -it \
  -v finuntius_config:/home/finuntius/.config/finuntius \
  finuntius -c  # choose language

docker run --rm -it \
  -v finuntius_config:/home/finuntius/.config/finuntius \
  finuntius GOOG #if the key isn't in the volume, asks and saves it

To save an export file (-o) to a local folder, mount that folder as well:

docker run --rm -it \
  -v finuntius_config:/home/finuntius/.config/finuntius \
  -v "$(pwd)/output:/home/finuntius/output" \
  finuntius GOOG -m -o output/newsGOOG.md

API Key Configuration

finuntius requires a Finnhub API key; the free plan is sufficient. You can create one on Finnhub.io.

The key is searched for, in order of priority:

  1. CLI flag: -k / --api-key
  2. Environment variable FINNHUB_API_KEY (including from a .env file in the current directory)
  3. Global configuration file (~/.config/finuntius/.env, or $XDG_CONFIG_HOME/finuntius/.env if set)
  4. Interactive prompt: if not found in the previous locations, finuntius will prompt you for it and automatically save it to the global configuration file with chmod 600 permissions

Examples of Use

Run the commands to print the news on screen. Use the -j (JSON) or -m (Markdown) flags in combination with -o to export the data—ideal for providing up-to-date context to analysis scripts or LLM prompts.

# default table (without -j or -m)
finuntius GOOG

finuntius AAPL

Command output.

Project Structure

finuntius/
├── assets/                     # screenshot
├── src/
│   └── finuntius/              # source code
│       ├── __init__.py
│       ├── config.py           # API key, language, configuration
│       ├── exporter.py         # export in JSON; Markdown
│       ├── finnhub_fetcher.py  # calls to the Finnhub API
│       ├── formatter.py        # table rendering with Rich
│       ├── main.py             # entry point
│       └── translations.py     # str en/it
├── Dockerfile
├── pyproject.toml
└── LICENSE

Disclaimer

Finuntius is optimized to work with API keys from Finnhub’s free plan. Future versions may use data available through paid API keys.

⚠️ Finuntius is an independent, open-source project and is in no way affiliated with, sponsored by, or endorsed by Finnhub.

License

This project is released under the GNU AGPLv3.


Download files

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

Source Distribution

finuntius-1.0.0.tar.gz (51.4 kB view details)

Uploaded Source

Built Distribution

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

finuntius-1.0.0-py3-none-any.whl (39.7 kB view details)

Uploaded Python 3

File details

Details for the file finuntius-1.0.0.tar.gz.

File metadata

  • Download URL: finuntius-1.0.0.tar.gz
  • Upload date:
  • Size: 51.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.4

File hashes

Hashes for finuntius-1.0.0.tar.gz
Algorithm Hash digest
SHA256 abe415586db17413e14dcb2724a2019a958cacfc2b1b4f3e64d1e0c3add4bd46
MD5 0d15fe92f02a7c0b3bffdf544b7a1b0a
BLAKE2b-256 20c5dffd1dd7d3f9fc87a06de454b4ac60397f24d9822efb16e86101fe9c6a60

See more details on using hashes here.

File details

Details for the file finuntius-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: finuntius-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 39.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.4

File hashes

Hashes for finuntius-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 01737851608f13b563d059b2b7453420b09318f65a3b93232e2fd9623483e282
MD5 885194d17ee13daa47e66939f8046b64
BLAKE2b-256 86ce3fafc23c4199a4c852941e95dc88d15ad034006a4ceb3cc150b836f8eec0

See more details on using hashes here.

Release history Release notifications | RSS feed

1.0.1

2 files

This release

1.0.0 This release

2 files

Supported by

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