# Fava Investor
Fava Investor aims to be a comprehensive set of reports, analyses, and tools for
investments, for [Beancount](https://beancount.github.io/) and
[Fava](https://github.com/beancount/fava) (software for
[plain text, double entry bookkeeping](https://plaintextaccounting.org/)). It is developed as a
collection of modules, with each module offering a *Fava plugin, a Beancount library, and
a shell command*.
### Current modules:
- [Visual, tree structured asset allocation by class](https://github.com/redstreet/fava_investor/tree/main/fava_investor/modules/assetalloc_class#readme)
- Asset allocation by account
- [Tax loss harvestor](https://github.com/redstreet/fava_investor/tree/main/fava_investor/modules/tlh#readme)
- [Cash drag analysis](https://github.com/redstreet/fava_investor/tree/main/fava_investor/modules/cashdrag#readme)
- [Summarizer](https://github.com/redstreet/fava_investor/tree/main/fava_investor/modules/summarizer#readme)
- [Gains minimizer](https://github.com/redstreet/fava_investor/blob/main/fava_investor/modules/minimizegains#readme)
### Demo
***Play with the live demo at
[pythonanywhere](http://favainvestor.pythonanywhere.com/example-beancount-file/extension/Investor/)***.
#### Screenshots (dated):
![Screenshot: TLH](./screenshot.png)
![Screenshot: Asset Allocation](./screenshot-assetalloc.png)
### Utilities
Fava Investor ships with `ticker-util`, which is a collection of utilities for:
- downloading information from Yahoo for commodities (tickers), and annotating your
commodity declarations with metadata
- discovering relationships between tickers in your Beancount file, such as equivalent
and substantially identical tickers, and tax loss harvesting partner groups, from a
minimal and incomplete specification
- providing ISIN an other ticker identifying information to your importers
For more, install fava_investor via pip, and then see:
```
ticker-util --help
ticker-util relate --help
```
## Installation
```bash
pip3 install fava-investor
```
Or to install the bleeding edge version from git:
```bash
pip3 install git+https://github.com/redstreet/fava_investor
```
See [#55](https://github.com/redstreet/fava_investor/issues/55) for MacOS installation.
## Running Fava Investor
### Running in Fava:
Add this to your beancount source, and start up fava as usual:
```
2000-01-01 custom "fava-extension" "fava_investor" "{}"
```
You should now see an 'Investor' link in the sidebar in fava. For more on how to
configure the extension, see the included `huge-example.beancount`.
### Running on the Command-Line:
The command line interface (CLI) is accessed using the `investor` command, which has
subcommands for each module. Eg:
```
investor assetalloc-class
investor tlh
investor --help
```
Both the CLI and the utility (`ticker-util`) use [click](https://click.palletsprojects.com/en/8.1.x/).
[See here](https://click.palletsprojects.com/en/8.1.x/shell-completion/#enabling-completion)
to enable shell completion in zsh, bash, or fish, which is highly recommended.
## Problems?
- Monitor the terminal you are running fava from to look for error output from
fava_investor
- Include the error messages you see above when opening bug reports or asking for help
## Contributing
Features, fixes, and improvements welcome. Remember:
- Feel free to send send pull requests. Please include unit tests
- For larger changes or changes that might need discussion, please reach out and discuss
first to save time (open an issue)
- Please squash your commits (reasonably)
- Use [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) for commit messages
Thank you for contributing!
## Related Projects
- [Fava Dashboards](https://github.com/andreasgerstmayr/fava-dashboards)
- [Fava Portfolio Returns](https://github.com/andreasgerstmayr/fava-portfolio-returns)
- [Beangrow](https://github.com/beancount/beangrow)
Raw data
{
"_id": null,
"home_page": "https://github.com/redstreet/fava_investor",
"name": "fava-investor",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "fava beancount accounting investment",
"author": "Red S",
"author_email": "redstreet@users.noreply.github.com",
"download_url": "https://files.pythonhosted.org/packages/30/dd/51c5dc1cd9a7fc84d25b54f55fde8c0365e322b2ce3bbd26605442296f34/fava_investor-0.7.tar.gz",
"platform": null,
"description": "# Fava Investor\n\nFava Investor aims to be a comprehensive set of reports, analyses, and tools for\ninvestments, for [Beancount](https://beancount.github.io/) and\n[Fava](https://github.com/beancount/fava) (software for\n[plain text, double entry bookkeeping](https://plaintextaccounting.org/)). It is developed as a\ncollection of modules, with each module offering a *Fava plugin, a Beancount library, and\na shell command*.\n\n### Current modules:\n- [Visual, tree structured asset allocation by class](https://github.com/redstreet/fava_investor/tree/main/fava_investor/modules/assetalloc_class#readme)\n- Asset allocation by account\n- [Tax loss harvestor](https://github.com/redstreet/fava_investor/tree/main/fava_investor/modules/tlh#readme)\n- [Cash drag analysis](https://github.com/redstreet/fava_investor/tree/main/fava_investor/modules/cashdrag#readme)\n- [Summarizer](https://github.com/redstreet/fava_investor/tree/main/fava_investor/modules/summarizer#readme)\n- [Gains minimizer](https://github.com/redstreet/fava_investor/blob/main/fava_investor/modules/minimizegains#readme)\n\n### Demo\n***Play with the live demo at\n [pythonanywhere](http://favainvestor.pythonanywhere.com/example-beancount-file/extension/Investor/)***.\n\n\n#### Screenshots (dated):\n![Screenshot: TLH](./screenshot.png)\n![Screenshot: Asset Allocation](./screenshot-assetalloc.png)\n\n### Utilities\n\nFava Investor ships with `ticker-util`, which is a collection of utilities for:\n- downloading information from Yahoo for commodities (tickers), and annotating your\n commodity declarations with metadata\n- discovering relationships between tickers in your Beancount file, such as equivalent\n and substantially identical tickers, and tax loss harvesting partner groups, from a\n minimal and incomplete specification\n- providing ISIN an other ticker identifying information to your importers\n\nFor more, install fava_investor via pip, and then see:\n```\nticker-util --help\nticker-util relate --help\n```\n\n\n## Installation\n```bash\npip3 install fava-investor\n```\n\nOr to install the bleeding edge version from git:\n```bash\npip3 install git+https://github.com/redstreet/fava_investor\n```\nSee [#55](https://github.com/redstreet/fava_investor/issues/55) for MacOS installation.\n\n## Running Fava Investor\n### Running in Fava:\nAdd this to your beancount source, and start up fava as usual:\n```\n2000-01-01 custom \"fava-extension\" \"fava_investor\" \"{}\"\n```\n\nYou should now see an 'Investor' link in the sidebar in fava. For more on how to\nconfigure the extension, see the included `huge-example.beancount`.\n\n### Running on the Command-Line:\nThe command line interface (CLI) is accessed using the `investor` command, which has\nsubcommands for each module. Eg:\n\n```\ninvestor assetalloc-class\ninvestor tlh\ninvestor --help\n```\n\nBoth the CLI and the utility (`ticker-util`) use [click](https://click.palletsprojects.com/en/8.1.x/).\n[See here](https://click.palletsprojects.com/en/8.1.x/shell-completion/#enabling-completion)\nto enable shell completion in zsh, bash, or fish, which is highly recommended.\n\n## Problems?\n- Monitor the terminal you are running fava from to look for error output from\n fava_investor\n- Include the error messages you see above when opening bug reports or asking for help\n\n## Contributing\n\nFeatures, fixes, and improvements welcome. Remember:\n- Feel free to send send pull requests. Please include unit tests\n- For larger changes or changes that might need discussion, please reach out and discuss\n first to save time (open an issue) \n- Please squash your commits (reasonably)\n- Use [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) for commit messages\n\nThank you for contributing!\n\n## Related Projects\n- [Fava Dashboards](https://github.com/andreasgerstmayr/fava-dashboards)\n- [Fava Portfolio Returns](https://github.com/andreasgerstmayr/fava-portfolio-returns)\n- [Beangrow](https://github.com/beancount/beangrow)\n",
"bugtrack_url": null,
"license": "GPL-3.0",
"summary": "Fava extension and beancount libraries for investing",
"version": "0.7.0",
"project_urls": {
"Homepage": "https://github.com/redstreet/fava_investor"
},
"split_keywords": [
"fava",
"beancount",
"accounting",
"investment"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b0ebc4f977a37ee0ec6589b55cda51b6f86f7a7ae8a29e00d24d98dee5a32ade",
"md5": "3267757edeb9c558f5df29fd9baa9ed2",
"sha256": "559570ea4c8bca0bebe108584aa6696bea95e577a56b3604cfc613a1820a26aa"
},
"downloads": -1,
"filename": "fava_investor-0.7.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3267757edeb9c558f5df29fd9baa9ed2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 499388,
"upload_time": "2024-04-12T17:23:51",
"upload_time_iso_8601": "2024-04-12T17:23:51.359143Z",
"url": "https://files.pythonhosted.org/packages/b0/eb/c4f977a37ee0ec6589b55cda51b6f86f7a7ae8a29e00d24d98dee5a32ade/fava_investor-0.7.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "30dd51c5dc1cd9a7fc84d25b54f55fde8c0365e322b2ce3bbd26605442296f34",
"md5": "04182efb79c521ff0fe49416296912ae",
"sha256": "88917d165efdd6e68ec9f5f334096646be1957e4b605f6f4e4b4f6b1f5b017b7"
},
"downloads": -1,
"filename": "fava_investor-0.7.tar.gz",
"has_sig": false,
"md5_digest": "04182efb79c521ff0fe49416296912ae",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 652826,
"upload_time": "2024-04-12T17:23:59",
"upload_time_iso_8601": "2024-04-12T17:23:59.352939Z",
"url": "https://files.pythonhosted.org/packages/30/dd/51c5dc1cd9a7fc84d25b54f55fde8c0365e322b2ce3bbd26605442296f34/fava_investor-0.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-12 17:23:59",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "redstreet",
"github_project": "fava_investor",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "Click",
"specs": [
[
">=",
"7.0"
]
]
},
{
"name": "beancount",
"specs": [
[
">=",
"2.3.5"
]
]
},
{
"name": "click_aliases",
"specs": [
[
">=",
"1.0.1"
]
]
},
{
"name": "fava",
"specs": [
[
">=",
"1.27"
]
]
},
{
"name": "importlib_metadata",
"specs": [
[
">=",
"1.5.0"
]
]
},
{
"name": "packaging",
"specs": [
[
">=",
"20.3"
]
]
},
{
"name": "python_dateutil",
"specs": [
[
">=",
"2.8.1"
]
]
},
{
"name": "setuptools",
"specs": [
[
">=",
"65.5.1"
]
]
},
{
"name": "tabulate",
"specs": [
[
">=",
"0.8.9"
]
]
},
{
"name": "yfinance",
"specs": [
[
">=",
"0.1.70"
]
]
}
],
"lcname": "fava-investor"
}