# Orme
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
## Description
Orme is a command-line interface (CLI) application and it is in early stages of development, it is intended to keep track of personal expenses and debts, in order to be able to have insights about personal financial situation such as, how much is the user expending in different time frames (weeks, months, years), what are the things in which the user expends more its money (food, bills, clothes, etc), as well as what debts the user has, or which of them the user is actually the lender.
Orme is currently changing and the objective is to add graphical information through several charts which help the user have a better view of all the information related to expenses, debts and investments.
## Table of Contents
- [Installation](#installation)
- [Usage](#usage)
- [Contact](#contact)
## Installation
### Prerequisites
- Python 3.x
### Installation Steps
1. Create a virtual environment (optional but recommended since it is an alpha version):
```sh
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
```
2. Install the app directly from TestPyPI:
```sh
pip install --extra-index-url https://testpypi.python.org/pypi orme=={version} # Current tested version 0.1.2.13
```
..
## Usage
Orme has 2 types of registers to be added and both of them have different arguments and options, you can always use the --help option to get information for each command.
```sh
usage: Orme [-h] [-v] {expenses,debts} ...
This program allows the user to manage the expenses, incomes and other financial situations
options:
-h, --help show this help message and exit
-v, --version Gives the version of the package
[commands]:
{expenses,debts}
expenses Executes all operations related to expenses
debts Executes all operations related to debt
```
### Register an expense
To register an expense you can use the following command:
```sh
orme expenses add --value 5000 --description 'I did some shoping at the store' --category 'food' --date '2024-06-11'
```
The `--date` option is optional and if not specified the current date would be selected, note that the date specified must be in ISOfomrat `YYYY-MM-DD`, use this option if the expense you are registering does not happend in the current day. Categories are already define and you can specified a category which is either of these options `{food,home,bills,technologic,travel,clothes,other}`, categories could be parametrize by users and I am analizing that posibility, `--category` is also optional and if not specified the first option `(food)` would be selected.
### Listing expenses
The basic way to list your registered expenses is using the following command:
```sh
orme expenses list
```
This will list your expenses in a paginated way from the most recent date to the most distant one, which means that the expenses will be shown from 10 to 10, to continue the pagination you have to press the `ENTER` key and to stop the pagination you have to press the `q` key, `CTRL + C` can also stop it. You can specified options `(value and/or date)` with the combinations `(<=, =, =>)`, this could end up in a list of expenses that happened in an interval of dates and with a specified value, here are some examples:
#### Listing expenses by date
#### (equal to date)
```sh
orme expenses list -etd '2024-06-11'
```
#### (greater than date)
```sh
orme expenses list -gtd '2024-06-11'
```
#### (less than date)
```sh
orme expenses list -ltd '2024-06-11'
```
#### (between dates)
```sh
orme expenses list -btd '2024-06-11' '2024-06-18'
```
You can replicate this for the `value` option
### Getting total value of expenses
The user can also get the total value of the expenses that happend in different range of dates, orme simplifies some options so the user can specified range dates easily being these options `(today, yesterday, last-week, current-week, last-month, current-month, last-year, current-year)`, specifiyng `between-date` and `date` is also possible if the user want a different range date from the ones provided or the total value for a single date.
#### Getting the total value of expenses
#### (today)
```sh
orme expenses total --today
```
#### (yesterday)
```sh
orme expenses total --yesterday
```
#### (current-month)
```sh
orme expenses total --current-month
```
#### (last-year)
```sh
orme expenses total --last-year
```
#### (custom range dates)
```sh
orme expenses total --between-date '2023-01-12' '2024-05-12'
```
#### (specific date)
```sh
orme expenses total --date '2024-06-12'
```
### updating expenses
You can as well update your expenses specifiyng the `id` and the fields you want to update like this:
```sh
orme expenses update --id {your_expense_id} --{field_to_update} {new_value} #(value, description, date, category)
```
### deleting expenses
To delete expenses you just have to specify the `id`:
```sh
orme expenses delete --id {your_expense_id}
```
### registering debts
For now debts only allows a simple CRUD operation, I have more things in mind to this feature but lets see what the user can do for now starting with a simple insertion. if you type the `help` command you get the following:
```sh
usage: Orme debts add [-h] -v VALUE [-dpr DEPTOR] [-ld LENDER] [-desc DESCRIPTION] [-ir INTEREST_RATE] [--date DATE]
options:
-h, --help show this help message and exit
-v VALUE, --value VALUE
The value of the dept
-dpr DEPTOR, --deptor DEPTOR
The name of the deptor [optional]
-ld LENDER, --lender LENDER
The name of the lender [optional]
-desc DESCRIPTION, --description DESCRIPTION
A short description of the dept [optional]
-ir INTEREST_RATE, --interest-rate INTEREST_RATE
The interest rate monthly of the dept default 0.0
--date DATE Date of start of this particualr debt in isoformat YYYY-MM-DD (not the register date but the
execute one) - default: current day
```
Despite `lender` and `deptor` being optional, I highly recommend you to get well define these fields, here is a simple example:
```sh
orme debts add --value 100000 --deptor 'Esteban' --lender 'Maria' --description 'Por que Maria!' --date '2024-05-01'
```
### Listing debts
Listing debts is pretty much the same as listing expenses, here are some examples:
```sh
orme debts list
```
#### Listing expenses by date
#### (equal to date)
```sh
orme debts list -etd '2024-06-11'
```
#### (greater than date)
```sh
orme debts list -gtd '2024-06-11'
```
It would be the same for updating and deleting debts
### updating debts
```sh
orme expenses update --id {your_expense_id} --{field_to_update} {new_value} #(value, description, date, category)
```
### deleting debts
```sh
orme expenses delete --id {your_expense_id}
```
## Contact
Feel free to contact me if you have some suggestions or feedback
### Email
- carlosdcorrea3@gmail.com
### Linkedin
- https://www.linkedin.com/in/carlos-correa-1ba7861b8/
Raw data
{
"_id": null,
"home_page": null,
"name": "orme",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": "Carlos Correa <carlosdcorrea3@gmail.com>",
"keywords": "financial, manager",
"author": null,
"author_email": "Carlos Correa <carlosdcorrea3@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/d2/9c/650aa308225548897c8ff137922266ff52914e63452052924766b50eab03/orme-0.1.2.13.tar.gz",
"platform": null,
"description": "# Orme\n\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\n## Description\n\nOrme is a command-line interface (CLI) application and it is in early stages of development, it is intended to keep track of personal expenses and debts, in order to be able to have insights about personal financial situation such as, how much is the user expending in different time frames (weeks, months, years), what are the things in which the user expends more its money (food, bills, clothes, etc), as well as what debts the user has, or which of them the user is actually the lender.\n\nOrme is currently changing and the objective is to add graphical information through several charts which help the user have a better view of all the information related to expenses, debts and investments.\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Usage](#usage)\n- [Contact](#contact)\n\n## Installation\n\n### Prerequisites\n\n- Python 3.x\n\n### Installation Steps\n\n1. Create a virtual environment (optional but recommended since it is an alpha version):\n\n ```sh\n python -m venv venv\n source venv/bin/activate # On Windows use `venv\\Scripts\\activate`\n ```\n\n2. Install the app directly from TestPyPI:\n\n ```sh\n pip install --extra-index-url https://testpypi.python.org/pypi orme=={version} # Current tested version 0.1.2.13\n ```\n..\n## Usage\n\nOrme has 2 types of registers to be added and both of them have different arguments and options, you can always use the --help option to get information for each command.\n\n```sh\nusage: Orme [-h] [-v] {expenses,debts} ...\n\nThis program allows the user to manage the expenses, incomes and other financial situations\n\noptions:\n -h, --help show this help message and exit\n -v, --version Gives the version of the package\n\n[commands]:\n {expenses,debts}\n expenses Executes all operations related to expenses\n debts Executes all operations related to debt\n```\n\n### Register an expense\n\nTo register an expense you can use the following command:\n\n```sh\norme expenses add --value 5000 --description 'I did some shoping at the store' --category 'food' --date '2024-06-11'\n```\n\nThe `--date` option is optional and if not specified the current date would be selected, note that the date specified must be in ISOfomrat `YYYY-MM-DD`, use this option if the expense you are registering does not happend in the current day. Categories are already define and you can specified a category which is either of these options `{food,home,bills,technologic,travel,clothes,other}`, categories could be parametrize by users and I am analizing that posibility, `--category` is also optional and if not specified the first option `(food)` would be selected.\n\n### Listing expenses\n\nThe basic way to list your registered expenses is using the following command:\n\n```sh\norme expenses list\n```\n\nThis will list your expenses in a paginated way from the most recent date to the most distant one, which means that the expenses will be shown from 10 to 10, to continue the pagination you have to press the `ENTER` key and to stop the pagination you have to press the `q` key, `CTRL + C` can also stop it. You can specified options `(value and/or date)` with the combinations `(<=, =, =>)`, this could end up in a list of expenses that happened in an interval of dates and with a specified value, here are some examples:\n\n#### Listing expenses by date\n\n#### (equal to date)\n\n```sh\norme expenses list -etd '2024-06-11'\n```\n\n#### (greater than date)\n\n```sh\norme expenses list -gtd '2024-06-11'\n```\n\n#### (less than date)\n\n```sh\norme expenses list -ltd '2024-06-11'\n```\n\n#### (between dates)\n\n```sh\norme expenses list -btd '2024-06-11' '2024-06-18'\n```\n\nYou can replicate this for the `value` option\n\n### Getting total value of expenses\n\nThe user can also get the total value of the expenses that happend in different range of dates, orme simplifies some options so the user can specified range dates easily being these options `(today, yesterday, last-week, current-week, last-month, current-month, last-year, current-year)`, specifiyng `between-date` and `date` is also possible if the user want a different range date from the ones provided or the total value for a single date.\n\n#### Getting the total value of expenses\n\n#### (today)\n\n```sh\norme expenses total --today\n```\n\n#### (yesterday)\n\n```sh\norme expenses total --yesterday\n```\n\n#### (current-month)\n\n```sh\norme expenses total --current-month\n```\n\n#### (last-year)\n\n```sh\norme expenses total --last-year\n```\n\n#### (custom range dates)\n\n```sh\norme expenses total --between-date '2023-01-12' '2024-05-12'\n```\n\n#### (specific date)\n\n```sh\norme expenses total --date '2024-06-12'\n```\n\n### updating expenses\n\nYou can as well update your expenses specifiyng the `id` and the fields you want to update like this:\n\n```sh\norme expenses update --id {your_expense_id} --{field_to_update} {new_value} #(value, description, date, category)\n```\n\n### deleting expenses\n\nTo delete expenses you just have to specify the `id`:\n\n```sh\norme expenses delete --id {your_expense_id}\n```\n\n### registering debts\n\nFor now debts only allows a simple CRUD operation, I have more things in mind to this feature but lets see what the user can do for now starting with a simple insertion. if you type the `help` command you get the following:\n\n```sh\nusage: Orme debts add [-h] -v VALUE [-dpr DEPTOR] [-ld LENDER] [-desc DESCRIPTION] [-ir INTEREST_RATE] [--date DATE]\n\noptions:\n -h, --help show this help message and exit\n -v VALUE, --value VALUE\n The value of the dept\n -dpr DEPTOR, --deptor DEPTOR\n The name of the deptor [optional]\n -ld LENDER, --lender LENDER\n The name of the lender [optional]\n -desc DESCRIPTION, --description DESCRIPTION\n A short description of the dept [optional]\n -ir INTEREST_RATE, --interest-rate INTEREST_RATE\n The interest rate monthly of the dept default 0.0\n --date DATE Date of start of this particualr debt in isoformat YYYY-MM-DD (not the register date but the\n execute one) - default: current day\n```\n\nDespite `lender` and `deptor` being optional, I highly recommend you to get well define these fields, here is a simple example:\n\n```sh\norme debts add --value 100000 --deptor 'Esteban' --lender 'Maria' --description 'Por que Maria!' --date '2024-05-01'\n```\n\n### Listing debts\n\nListing debts is pretty much the same as listing expenses, here are some examples:\n\n```sh\norme debts list\n```\n\n#### Listing expenses by date\n\n#### (equal to date)\n\n```sh\norme debts list -etd '2024-06-11'\n```\n\n#### (greater than date)\n\n```sh\norme debts list -gtd '2024-06-11'\n```\n\nIt would be the same for updating and deleting debts\n\n### updating debts\n\n```sh\norme expenses update --id {your_expense_id} --{field_to_update} {new_value} #(value, description, date, category)\n```\n\n### deleting debts\n\n```sh\norme expenses delete --id {your_expense_id}\n```\n\n## Contact\n\nFeel free to contact me if you have some suggestions or feedback\n\n### Email\n - carlosdcorrea3@gmail.com\n\n### Linkedin\n - https://www.linkedin.com/in/carlos-correa-1ba7861b8/\n",
"bugtrack_url": null,
"license": null,
"summary": "Orme Financial Manager",
"version": "0.1.2.13",
"project_urls": {
"Documentation": "https://github.com/CarlosDCorrea/orme",
"Homepage": "https://github.com/CarlosDCorrea/orme",
"Issues": "https://github.com/CarlosDCorrea/orme/issues",
"Repository": "https://github.com/CarlosDCorrea/orme"
},
"split_keywords": [
"financial",
" manager"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f0eaf20ed88b467c8266aa90af319554c493ef74d2be457b15546e0133e8d33c",
"md5": "609144a613fccab4a73bd5e388c0f948",
"sha256": "055ebc63f81ba43e06696365b787b7ecff1e54c295de8227f7dfcc2f2d79540f"
},
"downloads": -1,
"filename": "orme-0.1.2.13-py3-none-any.whl",
"has_sig": false,
"md5_digest": "609144a613fccab4a73bd5e388c0f948",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 17603,
"upload_time": "2024-06-18T22:21:03",
"upload_time_iso_8601": "2024-06-18T22:21:03.880544Z",
"url": "https://files.pythonhosted.org/packages/f0/ea/f20ed88b467c8266aa90af319554c493ef74d2be457b15546e0133e8d33c/orme-0.1.2.13-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d29c650aa308225548897c8ff137922266ff52914e63452052924766b50eab03",
"md5": "058273acb0303c7d9e2a524f4d56fcc3",
"sha256": "892a5bb9323121a50b6f6e04240b19afc644f6a1c06890f9025c6202f4b59488"
},
"downloads": -1,
"filename": "orme-0.1.2.13.tar.gz",
"has_sig": false,
"md5_digest": "058273acb0303c7d9e2a524f4d56fcc3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 16112,
"upload_time": "2024-06-18T22:21:05",
"upload_time_iso_8601": "2024-06-18T22:21:05.285095Z",
"url": "https://files.pythonhosted.org/packages/d2/9c/650aa308225548897c8ff137922266ff52914e63452052924766b50eab03/orme-0.1.2.13.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-18 22:21:05",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "CarlosDCorrea",
"github_project": "orme",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "backports.tarfile",
"specs": [
[
"==",
"1.1.1"
]
]
},
{
"name": "build",
"specs": [
[
"==",
"1.2.1"
]
]
},
{
"name": "certifi",
"specs": [
[
"==",
"2024.2.2"
]
]
},
{
"name": "charset-normalizer",
"specs": [
[
"==",
"3.3.2"
]
]
},
{
"name": "colorama",
"specs": [
[
"==",
"0.4.6"
]
]
},
{
"name": "docutils",
"specs": [
[
"==",
"0.21.2"
]
]
},
{
"name": "exceptiongroup",
"specs": [
[
"==",
"1.1.3"
]
]
},
{
"name": "idna",
"specs": [
[
"==",
"3.7"
]
]
},
{
"name": "importlib_metadata",
"specs": [
[
"==",
"7.1.0"
]
]
},
{
"name": "iniconfig",
"specs": [
[
"==",
"2.0.0"
]
]
},
{
"name": "jaraco.classes",
"specs": [
[
"==",
"3.4.0"
]
]
},
{
"name": "jaraco.context",
"specs": [
[
"==",
"5.3.0"
]
]
},
{
"name": "jaraco.functools",
"specs": [
[
"==",
"4.0.1"
]
]
},
{
"name": "keyring",
"specs": [
[
"==",
"25.2.1"
]
]
},
{
"name": "markdown-it-py",
"specs": [
[
"==",
"3.0.0"
]
]
},
{
"name": "mdurl",
"specs": [
[
"==",
"0.1.2"
]
]
},
{
"name": "more-itertools",
"specs": [
[
"==",
"10.2.0"
]
]
},
{
"name": "nh3",
"specs": [
[
"==",
"0.2.17"
]
]
},
{
"name": "numpy",
"specs": [
[
"==",
"1.26.1"
]
]
},
{
"name": "packaging",
"specs": [
[
"==",
"23.1"
]
]
},
{
"name": "pandas",
"specs": [
[
"==",
"2.1.2"
]
]
},
{
"name": "pkginfo",
"specs": [
[
"==",
"1.10.0"
]
]
},
{
"name": "pluggy",
"specs": [
[
"==",
"1.3.0"
]
]
},
{
"name": "Pygments",
"specs": [
[
"==",
"2.18.0"
]
]
},
{
"name": "pyproject_hooks",
"specs": [
[
"==",
"1.1.0"
]
]
},
{
"name": "pytest",
"specs": [
[
"==",
"7.4.2"
]
]
},
{
"name": "python-dateutil",
"specs": [
[
"==",
"2.8.2"
]
]
},
{
"name": "python-dotenv",
"specs": [
[
"==",
"1.0.0"
]
]
},
{
"name": "pytz",
"specs": [
[
"==",
"2023.3.post1"
]
]
},
{
"name": "pywin32-ctypes",
"specs": [
[
"==",
"0.2.2"
]
]
},
{
"name": "readme_renderer",
"specs": [
[
"==",
"43.0"
]
]
},
{
"name": "requests",
"specs": [
[
"==",
"2.31.0"
]
]
},
{
"name": "requests-toolbelt",
"specs": [
[
"==",
"1.0.0"
]
]
},
{
"name": "rfc3986",
"specs": [
[
"==",
"2.0.0"
]
]
},
{
"name": "rich",
"specs": [
[
"==",
"13.7.1"
]
]
},
{
"name": "six",
"specs": [
[
"==",
"1.16.0"
]
]
},
{
"name": "tomli",
"specs": [
[
"==",
"2.0.1"
]
]
},
{
"name": "twine",
"specs": [
[
"==",
"5.0.0"
]
]
},
{
"name": "tzdata",
"specs": [
[
"==",
"2023.3"
]
]
},
{
"name": "urllib3",
"specs": [
[
"==",
"2.2.1"
]
]
},
{
"name": "zipp",
"specs": [
[
"==",
"3.18.1"
]
]
}
],
"lcname": "orme"
}