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.
$ pip install pyportfolio
To install from source:
$ git clone https://github.com/kaushiksk/pyportfolio.git && cd pyportfolio
$ pip install .
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
$ 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.