Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/markuszoppelt/portfolio_rs

A command line tool for managing financial investment portfolios.
https://github.com/markuszoppelt/portfolio_rs

cli-app investment-portfolio personal-finance

Last synced: about 8 hours ago
JSON representation

A command line tool for managing financial investment portfolios.

Awesome Lists containing this project

README

        


portfolio_rs logo

build status badge
clippy analyze status badge

A command line tool for managing financial investment portfolios written in Rust.

> *This project is the modern successor of [finance](https://github.com/MarkusZoppelt/finance).*

## Installation

Install/run via [pkgx](https://pkgx.sh):

pkgx portfolio_rs

You can install portfolio\_rs directly from cargo (via crates.io):

cargo install portfolio_rs

## Usage

### 1. Create your portfolio file
Create a JSON file with your portfolio positions.

Look at the [example data](example_data.json) for the format and data scheme.

### 2. Use the subcommands to gain insight on your portfolio:
Show the current balances of your portfolio:

portfolio_rs balances

Show the current allocation of your portfolio:

portfolio_rs allocation

Show the performance of your portfolio:

portfolio_rs performance

If you need help, try `portfolio_rs help [SUBCOMMAND]` for usage information.

## Demo
![demo](https://raw.githubusercontent.com/MarkusZoppelt/portfolio_rs/main/img/demo.gif)

## Configuration
Upon first run, `portfolio_rs` will create a default `config.yml` file.
The location of the config file depends on the operating system.
Use `portfolio_rs config` to print the config directory.

Probably the most useful entry in the config is `portfolio_file` where you can
set the **absolute** path to a data file that will be used when no data file is
passed as an argument.

## Bonus: GPG Encryption
This tool supports (gpg) encrypted json files.
Decrypted values are never written to disk.

# you will need a valid gpg key in ~/.gnupg/
portfolio_rs [COMMAND] data.json.gpg

Pro Tip: Use a plugin like [vim-gnupg](https://github.com/jamessan/vim-gnupg)
for editing your data file.