monopyly


Namemonopyly JSON
Version 1.4.6 PyPI version JSON
download
home_pageNone
SummaryA homemade personal finance manager.
upload_time2024-04-17 06:25:33
maintainerNone
docs_urlNone
authorNone
requires_python<3.11,>=3.10
licenseGNU GPLv3
keywords finance personal finance
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div id="header">
  <h1 id="title">Monopyly</h1>
  <h4 id="tagline"><em>The Money Game</em></h4>
</div>

This is a package designed to help manage personal finances.
The current functionality is fairly limited, with only the ability to track bank account and credit card history.
Eventually the app will provide a full set of features including purchase history, investment profiles, and budgeting.

The app is designed to be run at a small scale.
Information is stored in a local SQLite database and accessed using a frontend served by Flask.
While the development version is hosted on the builtin Flask server, a more robust solution will be adopted if the app moves online.
Despite its small scale, the app can support multiple users on any given instance.


## Installation

The _Monopyly_ app is registered on the [Python Package Index (PyPI)](https://pypi.org/project/monopyly) for easy installation.
To install the app, simply run

```
$ pip install monopyly
```

The package requires a recent version of Python (3.9+).


## Getting started

Once the package is properly installed, run the app from the command line (the default options should be sensible, but you may customize the host and port if necessary):

```
$ monopyly development --browser [--host HOST] [--port PORT]
```

By using the `--browser` option in development mode, this will open to an empty homepage with a welcome message.

<img class="screenshot" src="https://raw.githubusercontent.com/mitchnegus/monopyly/main/monopyly/static/img/about/homepage.png" alt="user homepage" width="800px">

To use the app, register a new profile and then log in using your newly created credentials.
A successful login will return you to the homepage, now with several different feature panels.

<img class="screenshot" src="https://raw.githubusercontent.com/mitchnegus/monopyly/main/monopyly/static/img/about/homepage-user.png" alt="user homepage" width="800px">

Your username should now appear at the top right of the screen, and the 'Log In' button will be replaced with a 'Log Out' button.


## Features

### Bank Accounts

_Monopyly_ provides an accounting system for a user's bank transactions.
Banks can be added from the 'Manage accounts' page, where a user will be able to specify bank information including the bank and account type.
While some account types are preloaded into the _Monopyly_ database (such as checking accounts, savings accounts, and certificates of deposit) each user can add additional custom account types as they need them.

After you have created a bank account, either using a bank that already exists in the _Monopyly_ system or with a new bank, the app will redirect you back to the 'Manage accounts' page.

<img class="screenshot" src="https://raw.githubusercontent.com/mitchnegus/monopyly/main/monopyly/static/img/about/bank-accounts.png" alt="bank accounts" width="800px" />

Once at least one bank account has been added, you can head on back to the account homepage to view balances and add transactions.
On the left side of the page, each bank will have a section in the 'Bank Accounts' box.
By clicking the 'See account summaries' button, you will be transferred to a page showing all of the bank accounts at the given bank, as well as the account balances of each account.

<img class="screenshot" src="https://raw.githubusercontent.com/mitchnegus/monopyly/main/monopyly/static/img/about/bank-account-summaries.png" alt="bank account summaries" width="800px" />

Clicking on any of these accounts will pull up a detailed summary of that account—a page that is also accessible directly from the _Monopyly_ homepage.
This detailed summary will show the current balance, but also a comprehensive set of (recent) transactions on that account.

<img class="screenshot" src="https://raw.githubusercontent.com/mitchnegus/monopyly/main/monopyly/static/img/about/bank-account-details.png" alt="bank account details" width="800px" />

Transactions can be created from either this page or the homepage, specifying the bank account and all transaction details (date, amount, notes, etc.).
Transactions can also be recorded as transfers between banks, such that they are automatically input into the database for both accounts.

Clicking the plus icon next to any listed transaction will bring up an expanded view of the transaction describing the transaction in more detail, as well as a set of buttons for editing the transaction or seeing any other transactions to which this transaction is linked.


### Credit Card Accounts

_Monopyly_ also provides tracking of credit card transactions.
To use this feature, begin by navigating to the 'Manage cards' page (the link can be found under the 'Credit Cards' panel in the middle of the homepage).
From there, the app will allow you to add credit cards and associate each with an account.
If an account does not already exist for the card you are trying to add, a card can be added to a new account.
This account will be associated with a specific bank, and will track all of the cards for that account (cards are ID'd by the last four digits of the credit card number).
Additionally, each account must also be initialized with the date when the account issues statements and the date when those statements are due.

Following the addition of a new credit card, you will be redirected to a page displaying the account details, including all cards for that account.

<img class="screenshot" src="https://raw.githubusercontent.com/mitchnegus/monopyly/main/monopyly/static/img/about/credit-account-details.png" alt="credit account details" width="800px" />

Transactions can be added to each card using the 'Create a new transaction' links found on the 'Credit Cards' homepage panel.
The link under the 'History' heading is a generic option that allows transactions to be created for any credit card in the system.
If the card is already known, however, the 'Create a new transaction' links under the 'CARDS' section will prepopulate the transaction form to contain information for the desired card.

In either case, you will move to a page where you can enter credit card transaction information.
The interface for adding a transaction provides some convenient automatic features.
For example, if the form registers that you're inputting a transaction for a credit card account with only one active card, then the form will infer the card number to save you some typing.
Likewise, given the date of the transaction and a known credit card, the form will infer the date of the statement to which the transaction belongs.
(Of course, you may manually override this inferred statement date if you desire.)

From the transaction form, transactions can be classified using a heirarchical tagging system.
When a transaction is tagged, the app automatically applies the tag to the transaction along with all parent tags of the selected tag.
These tags can generally be seen and managed from the 'Manage transaction tags' link off the app homepage.

Since each transaction may consist of multiple components—each with it's own subtotal, notes, and tags—transactions can be split into subtransactions.
Click the 'Add subtransaction' button on the transaction form to add a subtransaction.

Once the transaction information has been successfully entered and submitted, the transaction will appear on the full transaction history page.

<img class="screenshot" src="https://raw.githubusercontent.com/mitchnegus/monopyly/main/monopyly/static/img/about/credit-transactions.png" alt="transaction history" width="800px" />

Card balances are also visible by visiting the pages for individual statements.
A full history of statements for each card is available off the homepage.
Each statement's page gives the statement's balance, transactions, and due date.

<img class="screenshot" src="https://raw.githubusercontent.com/mitchnegus/monopyly/main/monopyly/static/img/about/statement-details.png" alt="statement details" width="800px" />

Payments can be made directly from a statement's page and can be linked to a bank account in the _Monopyly_ system for simplified tracking.
(Note that even linked transactions must be edited independently, as there are times when a user may wish to have separate values for linked transactions. For example, a credit card payment may be processed on a given date while it is only registered as a bank account transaction several days later.)


## License

This project is licensed under the GNU General Public License, Version 3.
It is fully open-source, and while you are more than welcome to fork, add, modify, etc. it is required that you keep any distributed changes and additions open-source.


## Changes

Changes between versions are tracked in the [changelog](https://github.com/mitchnegus/monopyly/blob/main/CHANGELOG.md).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "monopyly",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.11,>=3.10",
    "maintainer_email": null,
    "keywords": "Finance, Personal Finance",
    "author": null,
    "author_email": "Mitch Negus <mitchnegus57@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/1d/1b/3c4fc54299a9484ea0ea8405069d2c6a54414d3356d7bb00e83b4f7ef0ad/monopyly-1.4.6.tar.gz",
    "platform": null,
    "description": "<div id=\"header\">\n  <h1 id=\"title\">Monopyly</h1>\n  <h4 id=\"tagline\"><em>The Money Game</em></h4>\n</div>\n\nThis is a package designed to help manage personal finances.\nThe current functionality is fairly limited, with only the ability to track bank account and credit card history.\nEventually the app will provide a full set of features including purchase history, investment profiles, and budgeting.\n\nThe app is designed to be run at a small scale.\nInformation is stored in a local SQLite database and accessed using a frontend served by Flask.\nWhile the development version is hosted on the builtin Flask server, a more robust solution will be adopted if the app moves online.\nDespite its small scale, the app can support multiple users on any given instance.\n\n\n## Installation\n\nThe _Monopyly_ app is registered on the [Python Package Index (PyPI)](https://pypi.org/project/monopyly) for easy installation.\nTo install the app, simply run\n\n```\n$ pip install monopyly\n```\n\nThe package requires a recent version of Python (3.9+).\n\n\n## Getting started\n\nOnce the package is properly installed, run the app from the command line (the default options should be sensible, but you may customize the host and port if necessary):\n\n```\n$ monopyly development --browser [--host HOST] [--port PORT]\n```\n\nBy using the `--browser` option in development mode, this will open to an empty homepage with a welcome message.\n\n<img class=\"screenshot\" src=\"https://raw.githubusercontent.com/mitchnegus/monopyly/main/monopyly/static/img/about/homepage.png\" alt=\"user homepage\" width=\"800px\">\n\nTo use the app, register a new profile and then log in using your newly created credentials.\nA successful login will return you to the homepage, now with several different feature panels.\n\n<img class=\"screenshot\" src=\"https://raw.githubusercontent.com/mitchnegus/monopyly/main/monopyly/static/img/about/homepage-user.png\" alt=\"user homepage\" width=\"800px\">\n\nYour username should now appear at the top right of the screen, and the 'Log In' button will be replaced with a 'Log Out' button.\n\n\n## Features\n\n### Bank Accounts\n\n_Monopyly_ provides an accounting system for a user's bank transactions.\nBanks can be added from the 'Manage accounts' page, where a user will be able to specify bank information including the bank and account type.\nWhile some account types are preloaded into the _Monopyly_ database (such as checking accounts, savings accounts, and certificates of deposit) each user can add additional custom account types as they need them.\n\nAfter you have created a bank account, either using a bank that already exists in the _Monopyly_ system or with a new bank, the app will redirect you back to the 'Manage accounts' page.\n\n<img class=\"screenshot\" src=\"https://raw.githubusercontent.com/mitchnegus/monopyly/main/monopyly/static/img/about/bank-accounts.png\" alt=\"bank accounts\" width=\"800px\" />\n\nOnce at least one bank account has been added, you can head on back to the account homepage to view balances and add transactions.\nOn the left side of the page, each bank will have a section in the 'Bank Accounts' box.\nBy clicking the 'See account summaries' button, you will be transferred to a page showing all of the bank accounts at the given bank, as well as the account balances of each account.\n\n<img class=\"screenshot\" src=\"https://raw.githubusercontent.com/mitchnegus/monopyly/main/monopyly/static/img/about/bank-account-summaries.png\" alt=\"bank account summaries\" width=\"800px\" />\n\nClicking on any of these accounts will pull up a detailed summary of that account\u2014a page that is also accessible directly from the _Monopyly_ homepage.\nThis detailed summary will show the current balance, but also a comprehensive set of (recent) transactions on that account.\n\n<img class=\"screenshot\" src=\"https://raw.githubusercontent.com/mitchnegus/monopyly/main/monopyly/static/img/about/bank-account-details.png\" alt=\"bank account details\" width=\"800px\" />\n\nTransactions can be created from either this page or the homepage, specifying the bank account and all transaction details (date, amount, notes, etc.).\nTransactions can also be recorded as transfers between banks, such that they are automatically input into the database for both accounts.\n\nClicking the plus icon next to any listed transaction will bring up an expanded view of the transaction describing the transaction in more detail, as well as a set of buttons for editing the transaction or seeing any other transactions to which this transaction is linked.\n\n\n### Credit Card Accounts\n\n_Monopyly_ also provides tracking of credit card transactions.\nTo use this feature, begin by navigating to the 'Manage cards' page (the link can be found under the 'Credit Cards' panel in the middle of the homepage).\nFrom there, the app will allow you to add credit cards and associate each with an account.\nIf an account does not already exist for the card you are trying to add, a card can be added to a new account.\nThis account will be associated with a specific bank, and will track all of the cards for that account (cards are ID'd by the last four digits of the credit card number).\nAdditionally, each account must also be initialized with the date when the account issues statements and the date when those statements are due.\n\nFollowing the addition of a new credit card, you will be redirected to a page displaying the account details, including all cards for that account.\n\n<img class=\"screenshot\" src=\"https://raw.githubusercontent.com/mitchnegus/monopyly/main/monopyly/static/img/about/credit-account-details.png\" alt=\"credit account details\" width=\"800px\" />\n\nTransactions can be added to each card using the 'Create a new transaction' links found on the 'Credit Cards' homepage panel.\nThe link under the 'History' heading is a generic option that allows transactions to be created for any credit card in the system.\nIf the card is already known, however, the 'Create a new transaction' links under the 'CARDS' section will prepopulate the transaction form to contain information for the desired card.\n\nIn either case, you will move to a page where you can enter credit card transaction information.\nThe interface for adding a transaction provides some convenient automatic features.\nFor example, if the form registers that you're inputting a transaction for a credit card account with only one active card, then the form will infer the card number to save you some typing.\nLikewise, given the date of the transaction and a known credit card, the form will infer the date of the statement to which the transaction belongs.\n(Of course, you may manually override this inferred statement date if you desire.)\n\nFrom the transaction form, transactions can be classified using a heirarchical tagging system.\nWhen a transaction is tagged, the app automatically applies the tag to the transaction along with all parent tags of the selected tag.\nThese tags can generally be seen and managed from the 'Manage transaction tags' link off the app homepage.\n\nSince each transaction may consist of multiple components\u2014each with it's own subtotal, notes, and tags\u2014transactions can be split into subtransactions.\nClick the 'Add subtransaction' button on the transaction form to add a subtransaction.\n\nOnce the transaction information has been successfully entered and submitted, the transaction will appear on the full transaction history page.\n\n<img class=\"screenshot\" src=\"https://raw.githubusercontent.com/mitchnegus/monopyly/main/monopyly/static/img/about/credit-transactions.png\" alt=\"transaction history\" width=\"800px\" />\n\nCard balances are also visible by visiting the pages for individual statements.\nA full history of statements for each card is available off the homepage.\nEach statement's page gives the statement's balance, transactions, and due date.\n\n<img class=\"screenshot\" src=\"https://raw.githubusercontent.com/mitchnegus/monopyly/main/monopyly/static/img/about/statement-details.png\" alt=\"statement details\" width=\"800px\" />\n\nPayments can be made directly from a statement's page and can be linked to a bank account in the _Monopyly_ system for simplified tracking.\n(Note that even linked transactions must be edited independently, as there are times when a user may wish to have separate values for linked transactions. For example, a credit card payment may be processed on a given date while it is only registered as a bank account transaction several days later.)\n\n\n## License\n\nThis project is licensed under the GNU General Public License, Version 3.\nIt is fully open-source, and while you are more than welcome to fork, add, modify, etc. it is required that you keep any distributed changes and additions open-source.\n\n\n## Changes\n\nChanges between versions are tracked in the [changelog](https://github.com/mitchnegus/monopyly/blob/main/CHANGELOG.md).\n",
    "bugtrack_url": null,
    "license": "GNU GPLv3",
    "summary": "A homemade personal finance manager.",
    "version": "1.4.6",
    "project_urls": {
        "Changelog": "https://github.com/mitchnegus/monopyly/blob/main/CHANGELOG.md",
        "Download": "https://pypi.org/project/monopyly",
        "Homepage": "http://monopyly.com",
        "Repository": "https://github.com/mitchnegus/monopyly"
    },
    "split_keywords": [
        "finance",
        " personal finance"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7fdd6153fa9cc1b332fb4013488b3fc2a685675c6a8fcef8497596e7bb3fc8cc",
                "md5": "a55226b3706749ed9169995805524405",
                "sha256": "714cb7b401fec06be4f925c21770fe2b503c745445d8ef55beedcd6c10708bbe"
            },
            "downloads": -1,
            "filename": "monopyly-1.4.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a55226b3706749ed9169995805524405",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.11,>=3.10",
            "size": 3741058,
            "upload_time": "2024-04-17T06:25:30",
            "upload_time_iso_8601": "2024-04-17T06:25:30.284022Z",
            "url": "https://files.pythonhosted.org/packages/7f/dd/6153fa9cc1b332fb4013488b3fc2a685675c6a8fcef8497596e7bb3fc8cc/monopyly-1.4.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1d1b3c4fc54299a9484ea0ea8405069d2c6a54414d3356d7bb00e83b4f7ef0ad",
                "md5": "01fa860fa33a25d809b6685e9a4a2938",
                "sha256": "144aeb7b8b7100d39605a746d999e73265dea173c02390f766ba5aaeb97f9dcd"
            },
            "downloads": -1,
            "filename": "monopyly-1.4.6.tar.gz",
            "has_sig": false,
            "md5_digest": "01fa860fa33a25d809b6685e9a4a2938",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.11,>=3.10",
            "size": 3671862,
            "upload_time": "2024-04-17T06:25:33",
            "upload_time_iso_8601": "2024-04-17T06:25:33.976210Z",
            "url": "https://files.pythonhosted.org/packages/1d/1b/3c4fc54299a9484ea0ea8405069d2c6a54414d3356d7bb00e83b4f7ef0ad/monopyly-1.4.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-17 06:25:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "mitchnegus",
    "github_project": "monopyly",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "monopyly"
}
        
Elapsed time: 0.49946s