Skip to main content

Super simple financial tracking.

Project description

Alt text

Personal Finance Package (FinPack)

Super simple personal finance tracking.

Build balance sheets and cashflow statements.

Chart your net worth, asset allocation, financial independence trajectory and much more.


Demo

Demo gif

Table of Contents


Installation (for development)

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

  1. Fork this repo
  2. Install Git, Python 3.9+ and Poetry
  3. Clone the newly forked repo to your computer
  4. Inside FinPack/ run poetry install

Running Tests and Checking Coverage

Tests are created using unittest but are run with pytest (ensure you follow the Installation (for development) steps before running tests and checking test coverage):

$ poetry run pytest -v --cov

Deployment

This package can be installed with the following command:

pip install finpack

How To Use

  ______ _       _____           _
 |  ____(_)     |  __ \         | |
 | |__   _ _ __ | |__) |_ _  ___| | __
 |  __| | | '_ \|  ___/ _` |/ __| |/ /
 | |    | | | | | |  | (_| | (__|   <
 |_|    |_|_| |_|_|   \__,_|\___|_|\_\

Super simple personal finance tracking/management tools.

Commands:
    init        Generate boilerplate data.csv
    balsheet    Outputs balance sheet to terminal

Usage:
    finpack init [--filepath=filepath] [--sample-dataset] [--overwrite]
    finpack balsheet [--filepath=filepath] [--levels=level] [--date=date]
    finpack (--version | --help | -h)

Options:
    --filepath=filepath         Location of the account list. [default: data.csv]
    --levels=level              How deep of a breakdown on the report [default: 3]
                                    1 Categories
                                    2 Categories + Sub-categories
                                    3 Categories + Sub-categories + accounts
    --overwrite                 Write over existing file
    --date=date                 Custom date to build report (YYYY-MM-DD) [default: today]
    -v --version                Display installed version
    -h --help                   Show available commands

Generating the boilerplate data.csv:

The following will generate data.csv.

finpack init

or

finpack init --filepath=data.csv

Manually adding data to data.csv:

Data can be added manually to this csv file as long as you follow these standards:

  • Duplicate account names are only permitted if account types are different
  • Account types are always lowercase
  • Dates are always formatted YYYY-MM-DD

Account Structure in data.csv:

Types Description
account Determined and configured by user (examples below)
type Pre-determined values (assets, liabilities, incomes, expenses)
category Determined and configured by user (examples below)
sub_category Determined and configured by user (examples below)
description Determined and configured by user, best for supplement account data

Example CSV:

This is an example print out of what finpack init --sample-dataset will output to data.csv

YYYY-MM-DD is set dynamically when using finpack init and will be the current date.

account type category sub_category description YYYY-MM-DD
Checking Account 1 asset Cash and Cash Equivalents Checking Account 1000.00
Checking Account 2 asset Cash and Cash Equivalents Checking Account 2000.00
Savings Account 1 asset Cash and Cash Equivalents Savings Account 5000.00
Retirement Savings Account asset Retirement Accounts 401(k)s 20000.00
123 Main St. asset Property Real Estate 200000.00
123 Main St. liability Loans and Mortgages Mortgages 150000.00
Student Loan 1 liability Loans and Mortgages Student Loans 10000.00
Student Loan 2 liability Loans and Mortgages Student Loans 10000.00

Contributing

Please read CONTRIBUTE for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

See also the list of contributors who participated in this project.

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

finpack-0.2.3.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

finpack-0.2.3-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file finpack-0.2.3.tar.gz.

File metadata

  • Download URL: finpack-0.2.3.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.9.7 Darwin/20.6.0

File hashes

Hashes for finpack-0.2.3.tar.gz
Algorithm Hash digest
SHA256 039fdc2ee6b8b85c92cbd066103f8639a18756f54ae329144cc475183fc4829c
MD5 6e8690474c247f6daaf437c56fd79fd7
BLAKE2b-256 a3b6f469158e001080eaf38bbc1017815a19af5d32257b361d340359608d2dc6

See more details on using hashes here.

File details

Details for the file finpack-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: finpack-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 15.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.9.7 Darwin/20.6.0

File hashes

Hashes for finpack-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7ce15a4d2ebd7aed26ec6428a2b591e9fcd0c5a29a23b291c850a415c3a13129
MD5 b08db9ba8593f0d395d5e8c7905cac2d
BLAKE2b-256 c2872237f74f47c0a50493803e06879a3d062e934b0a693e2efbfb955b5e8708

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page