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.1.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.1-py3-none-any.whl (39.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: finuntius-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 25864c525fedec496d0d7a9082c0fc73ebed268ec0d09e287f99579cf25ca628
MD5 f65af1bcc2252fb46c885b687bafa124
BLAKE2b-256 b818acf225a42f14a8ed10e1ed0e605741de8de87add82e71c345cda0de2a5da

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finuntius-1.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 97feb62afe42d0d4c067778547ed5a1dcd7497a90469c9819a291cff6d2fe1fb
MD5 5ac4df1214f68076a30bc7e85a7f48b1
BLAKE2b-256 9d3577b97f99719ff1768607f5b6af281928fd01f16a40de1f9620604a67597b

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 files

1.0.0

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