Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/markuszoppelt/portfolio_rs
- Owner: MarkusZoppelt
- License: mit
- Created: 2022-09-18T00:24:49.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-30T19:13:05.000Z (9 days ago)
- Last Synced: 2024-10-30T20:23:56.204Z (9 days ago)
- Topics: cli-app, investment-portfolio, personal-finance
- Language: Rust
- Homepage: https://crates.io/crates/portfolio_rs
- Size: 1.7 MB
- Stars: 25
- Watchers: 2
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
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 performanceIf 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.gpgPro Tip: Use a plugin like [vim-gnupg](https://github.com/jamessan/vim-gnupg)
for editing your data file.