Skip to main content

CLI to consolidate and analyze your portfolio of investments

Project description

pyportfolio

PyPI Version GitHub Actions code style: black

Python package with a CLI to consolidate and analyze your investments (currently only supports mutual funds).

Uses casparser to parse the Consolidated Account Statement (CAS) from CAMS/KARVY to provide portfolio insights.

Installation

$ pip install pyportfolio

To install from source:

$ git clone https://github.com/kaushiksk/pyportfolio.git && cd pyportfolio
$ pip install .

Contributing

PRs are welcome. Once you've cloned your forked repo, run the following from the root directory:

$ pip install -r requirements-dev.txt
$ pre-commit install

This will install all the pre-commit hooks that will ensure formatting and linting sanity before each commit.

$ pip install -e . # Installs development version of the package

Usage

$ pyportfolio -f path/to/cas-pdf

The following features are currently supported

  • LTCG Tax Harvesting
  • Portfolio Summary and Break Up

You can also export the portfolio into a dict for your usage.

from pyportfolio import Portfolio

p = Portfolio("<cas-pdf>", "<cas-password>")
p_dict = p.to_dict()

To access schemes, you can use the schemes member of Portfolio or use "schemes" key in the exported dict.

schemes = p.schemes # this is of type List[Scheme]
schemes_list = p_dict["schemes"]

The schemes are instances of the Scheme model.

Resources

  1. CAS from CAMS
  2. CAS from Karvy/Kfintech

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

pyportfolio-1.0.1.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

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

pyportfolio-1.0.1-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyportfolio-1.0.1.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

File hashes

Hashes for pyportfolio-1.0.1.tar.gz
Algorithm Hash digest
SHA256 3b9908fb2012484e3cd81d9f0bd4b8e2a3a366b2f8c9c65f9dd5b88a1b18fced
MD5 b64747e87bba98ce42303fd1577fdb16
BLAKE2b-256 03f674da51e8bef4f119db342ef9aad2bf13cb64bee3bdca4da48e62d021f026

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyportfolio-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 12.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

File hashes

Hashes for pyportfolio-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b40c3725fb6eaab4ac24595e5fd095d311faca4de2ee8de75676d052f3bb2695
MD5 916c66c889c43acd4635d2edca7633ad
BLAKE2b-256 78c347a83221c945760e37e1774116c16b6c7a598455713331c6d683216652eb

See more details on using hashes here.

Supported by

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