csvthd


Namecsvthd JSON
Version 0.5.0b0 PyPI version JSON
download
home_pagehttps://gitlab.com/DrTexx/csv-transaction-history-detective/
SummaryCSV Transaction History Detective
upload_time2023-04-28 12:44:39
maintainer
docs_urlNone
authorDrTexx
requires_python>=3.8,<4.0
licenseAGPL-3.0-only
keywords finance csv transactions tax accounting
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![pipeline status](https://gitlab.com/DrTexx/csv-transaction-history-detective/badges/main/pipeline.svg)](https://gitlab.com/DrTexx/csv-transaction-history-detective/-/commits/main)
[![coverage report](https://gitlab.com/DrTexx/csv-transaction-history-detective/badges/main/coverage.svg)](https://gitlab.com/DrTexx/csv-transaction-history-detective/-/commits/main)
[![GitLab issues](https://img.shields.io/gitlab/issues/open/drtexx/csv-transaction-history-detective?logo=gitlab)](https://gitlab.com/DrTexx/csv-transaction-history-detective/-/issues)
[![GitLab merge requests](https://img.shields.io/gitlab/merge-requests/open/drtexx/csv-transaction-history-detective?logo=gitlab)](https://gitlab.com/DrTexx/csv-transaction-history-detective/-/merge_requests)

# CSV Transaction History Detective

[![PyPI Release](https://img.shields.io/pypi/v/csvthd?logo=python)](https://pypi.org/project/csvthd)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/csvthd?logo=Python)](https://pypi.org/project/csvthd)
[![PyPI - License](https://img.shields.io/pypi/l/csvthd?color=orange&logo=Python)](https://pypi.org/project/csvthd)

## Getting started

<!-- TODO: add an example `config.json` file called `config.json.example.json` -->

<!-- TODO: add an example csv file to give more context to why `config.json.example.md` is laid out how it is -->

<!-- TODO: mention in `config.json.template.md` to look at `config.json.example.md` for an example config. -->

1. [Install](https://gitlab.com/DrTexx/csv-transaction-history-detective/#installation) `csvthd`
2. Create your `config.json` file (see [`config.json.template.md`](https://gitlab.com/DrTexx/csv-transaction-history-detective/-/blob/main/config.json.template.md) for a template)
3. See [usage](https://gitlab.com/DrTexx/csv-transaction-history-detective/#usage)

## Installation

```bash
pip install csvthd
```

<!-- TODO: add a "features" section that highlights the capabilities of csvthd in a non-technical way. i.e. filtering/sorting/reporting/etc. options -->

## Usage

### Show help

```bash
csvthd --help
```

### Filter

#### Transaction details

`-i/--include`

Only show transactions that include **all** of the specified strings in their details

- Case insensitive
- Multiple strings supported (each transaction's details must include **all** of the strings specified)

```bash
# only show transactions with details including the word "paypal"
csvthd -i paypal

# only show transactions with details including "paypal" and "steam"
csvthd -i paypal -i steam
```

`-E/--exclude`

Only show transactions that **don't** include **any** of the specified strings in their details

- Case insensitive
- Multiple strings supported (each transaction's details mustn't include **any** of the strings specified)

```bash
# only show transactions without details containing the word "paypal"
csvthd -E paypal

# only show transactions without details containing "paypal" or "chemist warehouse"
csvthd -E paypal -E "chemist warehouse"

# only show transactions with details containing "paypal", but not "steam"
csvthd -i paypal -E steam
```

#### Amount

`-a/--amount`

Only show transactions with amounts under/over/equal to a given value

- Multiple numbers supported (each transaction amount must satisfy **all** conditions specified)

```bash
# only show transactions over $20.00
csvthd -a over 20

# only show transactions under $10.00
csvthd -a under 10

# only show transactions between $20.00 to $30.00
csvthd -a over 20 -a under 30

# only show transactions of exactly $25.00
csvthd -a equal 25
```

#### Date

`-d/--date`

Only show transactions before/after/on a given date.

```bash
# only show transactions after 1 Jan 2022
csvthd -d after 01/01/2022

# only show transactions before 21 Feb 2022
csvthd -d before 21/02/2022

# only show transactions on 10 Apr 2022
csvthd -d on 10/04/2022

# only show transactions from 1 Jan 2022 - 1 Feb 2022
csvthd -d after 01/01/2022 -d before 01/02/2022
```

#### Type

`-t/--transaction-type`

Only show transactions where money is sent/received

```bash
# only show transactions where money is sent
csvthd -t out

# only show transactions where money is received
csvthd -t in

# only show transactions with details containing "paypal" where money received
csvthd -i paypal -t in

# get the sum of all money received with "paypal" in details but not "return"
csvthd -i paypal -t in -E return -S
```

#### Account Name

`-A/--account-name`

Only show transactions from account names that include the provided text.

```bash
# only show transactions where the account name includes "commbank"
csvthd -A commbank

# get the sum of all transactions where the account name includes "paypal"
csvthd -A paypal -S
```

### Sorting

#### Sort by

`-s/--sort-by`

```bash
# list transactions from latest to oldest (default)
csvthd -s date

# list transactions from lowest to highest
csvthd -s amount
```

#### Reverse sorting order

`-r/--reverse-sort`

```bash
# list latest transactions first
csvthd

# list oldest transactions first
csvthd -r

# list smallest transactions first
csvthd -s amount

# list largest transactions first
csvthd -s amount -r
```

### Reports

#### Sum amount

`-S/--sum`

Show the sum of the transaction amounts (after filtering)

```bash
# print the sum of all transactions
csvthd -S

# get the sum of transactions with "paypal" in their details
csvthd -S -i paypal
```

## Development

### Build

```bash
./development-scripts/build.sh
```

## Links

<!-- TODO: add website link -->
- 📖 &nbsp;[Documentation](https://gitlab.com/DrTexx/csv-transaction-history-detective)
- 🐍 &nbsp;[Latest Release](https://pypi.org/project/csvthd)
- 🧰 &nbsp;[Source Code](https://gitlab.com/DrTexx/csv-transaction-history-detective)
- 🐞 &nbsp;[Issue Tracker](https://gitlab.com/DrTexx/csv-transaction-history-detective/-/issues)
- `🐦 Twitter` &nbsp;[@DrTexx](https://twitter.com/DrTexx)
- `📨 Email` &nbsp;[denver.opensource@tutanota.com](mailto:denver.opensource@tutanota.com)


            

Raw data

            {
    "_id": null,
    "home_page": "https://gitlab.com/DrTexx/csv-transaction-history-detective/",
    "name": "csvthd",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8,<4.0",
    "maintainer_email": "",
    "keywords": "finance,csv,transactions,tax,accounting",
    "author": "DrTexx",
    "author_email": "denver.opensource@tutanota.com",
    "download_url": "https://files.pythonhosted.org/packages/a0/86/67860b6f7e141354162fa7d89f5dd58d3f873f91875a527895c5a06d03e6/csvthd-0.5.0b0.tar.gz",
    "platform": null,
    "description": "[![pipeline status](https://gitlab.com/DrTexx/csv-transaction-history-detective/badges/main/pipeline.svg)](https://gitlab.com/DrTexx/csv-transaction-history-detective/-/commits/main)\n[![coverage report](https://gitlab.com/DrTexx/csv-transaction-history-detective/badges/main/coverage.svg)](https://gitlab.com/DrTexx/csv-transaction-history-detective/-/commits/main)\n[![GitLab issues](https://img.shields.io/gitlab/issues/open/drtexx/csv-transaction-history-detective?logo=gitlab)](https://gitlab.com/DrTexx/csv-transaction-history-detective/-/issues)\n[![GitLab merge requests](https://img.shields.io/gitlab/merge-requests/open/drtexx/csv-transaction-history-detective?logo=gitlab)](https://gitlab.com/DrTexx/csv-transaction-history-detective/-/merge_requests)\n\n# CSV Transaction History Detective\n\n[![PyPI Release](https://img.shields.io/pypi/v/csvthd?logo=python)](https://pypi.org/project/csvthd)\n[![PyPI - Downloads](https://img.shields.io/pypi/dm/csvthd?logo=Python)](https://pypi.org/project/csvthd)\n[![PyPI - License](https://img.shields.io/pypi/l/csvthd?color=orange&logo=Python)](https://pypi.org/project/csvthd)\n\n## Getting started\n\n<!-- TODO: add an example `config.json` file called `config.json.example.json` -->\n\n<!-- TODO: add an example csv file to give more context to why `config.json.example.md` is laid out how it is -->\n\n<!-- TODO: mention in `config.json.template.md` to look at `config.json.example.md` for an example config. -->\n\n1. [Install](https://gitlab.com/DrTexx/csv-transaction-history-detective/#installation) `csvthd`\n2. Create your `config.json` file (see [`config.json.template.md`](https://gitlab.com/DrTexx/csv-transaction-history-detective/-/blob/main/config.json.template.md) for a template)\n3. See [usage](https://gitlab.com/DrTexx/csv-transaction-history-detective/#usage)\n\n## Installation\n\n```bash\npip install csvthd\n```\n\n<!-- TODO: add a \"features\" section that highlights the capabilities of csvthd in a non-technical way. i.e. filtering/sorting/reporting/etc. options -->\n\n## Usage\n\n### Show help\n\n```bash\ncsvthd --help\n```\n\n### Filter\n\n#### Transaction details\n\n`-i/--include`\n\nOnly show transactions that include **all** of the specified strings in their details\n\n- Case insensitive\n- Multiple strings supported (each transaction's details must include **all** of the strings specified)\n\n```bash\n# only show transactions with details including the word \"paypal\"\ncsvthd -i paypal\n\n# only show transactions with details including \"paypal\" and \"steam\"\ncsvthd -i paypal -i steam\n```\n\n`-E/--exclude`\n\nOnly show transactions that **don't** include **any** of the specified strings in their details\n\n- Case insensitive\n- Multiple strings supported (each transaction's details mustn't include **any** of the strings specified)\n\n```bash\n# only show transactions without details containing the word \"paypal\"\ncsvthd -E paypal\n\n# only show transactions without details containing \"paypal\" or \"chemist warehouse\"\ncsvthd -E paypal -E \"chemist warehouse\"\n\n# only show transactions with details containing \"paypal\", but not \"steam\"\ncsvthd -i paypal -E steam\n```\n\n#### Amount\n\n`-a/--amount`\n\nOnly show transactions with amounts under/over/equal to a given value\n\n- Multiple numbers supported (each transaction amount must satisfy **all** conditions specified)\n\n```bash\n# only show transactions over $20.00\ncsvthd -a over 20\n\n# only show transactions under $10.00\ncsvthd -a under 10\n\n# only show transactions between $20.00 to $30.00\ncsvthd -a over 20 -a under 30\n\n# only show transactions of exactly $25.00\ncsvthd -a equal 25\n```\n\n#### Date\n\n`-d/--date`\n\nOnly show transactions before/after/on a given date.\n\n```bash\n# only show transactions after 1 Jan 2022\ncsvthd -d after 01/01/2022\n\n# only show transactions before 21 Feb 2022\ncsvthd -d before 21/02/2022\n\n# only show transactions on 10 Apr 2022\ncsvthd -d on 10/04/2022\n\n# only show transactions from 1 Jan 2022 - 1 Feb 2022\ncsvthd -d after 01/01/2022 -d before 01/02/2022\n```\n\n#### Type\n\n`-t/--transaction-type`\n\nOnly show transactions where money is sent/received\n\n```bash\n# only show transactions where money is sent\ncsvthd -t out\n\n# only show transactions where money is received\ncsvthd -t in\n\n# only show transactions with details containing \"paypal\" where money received\ncsvthd -i paypal -t in\n\n# get the sum of all money received with \"paypal\" in details but not \"return\"\ncsvthd -i paypal -t in -E return -S\n```\n\n#### Account Name\n\n`-A/--account-name`\n\nOnly show transactions from account names that include the provided text.\n\n```bash\n# only show transactions where the account name includes \"commbank\"\ncsvthd -A commbank\n\n# get the sum of all transactions where the account name includes \"paypal\"\ncsvthd -A paypal -S\n```\n\n### Sorting\n\n#### Sort by\n\n`-s/--sort-by`\n\n```bash\n# list transactions from latest to oldest (default)\ncsvthd -s date\n\n# list transactions from lowest to highest\ncsvthd -s amount\n```\n\n#### Reverse sorting order\n\n`-r/--reverse-sort`\n\n```bash\n# list latest transactions first\ncsvthd\n\n# list oldest transactions first\ncsvthd -r\n\n# list smallest transactions first\ncsvthd -s amount\n\n# list largest transactions first\ncsvthd -s amount -r\n```\n\n### Reports\n\n#### Sum amount\n\n`-S/--sum`\n\nShow the sum of the transaction amounts (after filtering)\n\n```bash\n# print the sum of all transactions\ncsvthd -S\n\n# get the sum of transactions with \"paypal\" in their details\ncsvthd -S -i paypal\n```\n\n## Development\n\n### Build\n\n```bash\n./development-scripts/build.sh\n```\n\n## Links\n\n<!-- TODO: add website link -->\n- \ud83d\udcd6 &nbsp;[Documentation](https://gitlab.com/DrTexx/csv-transaction-history-detective)\n- \ud83d\udc0d &nbsp;[Latest Release](https://pypi.org/project/csvthd)\n- \ud83e\uddf0 &nbsp;[Source Code](https://gitlab.com/DrTexx/csv-transaction-history-detective)\n- \ud83d\udc1e &nbsp;[Issue Tracker](https://gitlab.com/DrTexx/csv-transaction-history-detective/-/issues)\n- `\ud83d\udc26 Twitter` &nbsp;[@DrTexx](https://twitter.com/DrTexx)\n- `\ud83d\udce8 Email` &nbsp;[denver.opensource@tutanota.com](mailto:denver.opensource@tutanota.com)\n\n",
    "bugtrack_url": null,
    "license": "AGPL-3.0-only",
    "summary": "CSV Transaction History Detective",
    "version": "0.5.0b0",
    "split_keywords": [
        "finance",
        "csv",
        "transactions",
        "tax",
        "accounting"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "553a89ae7113584bee5463430d7bd42ed3e4847ad32ebe03cbeeef1a925a7358",
                "md5": "144188987612676a0e5d4eb82a24af9c",
                "sha256": "7207747697caaa85fb967f0390870bef94cac72aeb6627576a8dd8f988041067"
            },
            "downloads": -1,
            "filename": "csvthd-0.5.0b0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "144188987612676a0e5d4eb82a24af9c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<4.0",
            "size": 9325,
            "upload_time": "2023-04-28T12:44:36",
            "upload_time_iso_8601": "2023-04-28T12:44:36.722270Z",
            "url": "https://files.pythonhosted.org/packages/55/3a/89ae7113584bee5463430d7bd42ed3e4847ad32ebe03cbeeef1a925a7358/csvthd-0.5.0b0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a08667860b6f7e141354162fa7d89f5dd58d3f873f91875a527895c5a06d03e6",
                "md5": "556d2d0eda52f7869c99ab1e3a75fb20",
                "sha256": "f34cb455dfa67b7d52aba5bb5bdf7088efa7b3f36c4f4221b039a59683810b56"
            },
            "downloads": -1,
            "filename": "csvthd-0.5.0b0.tar.gz",
            "has_sig": false,
            "md5_digest": "556d2d0eda52f7869c99ab1e3a75fb20",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<4.0",
            "size": 8517,
            "upload_time": "2023-04-28T12:44:39",
            "upload_time_iso_8601": "2023-04-28T12:44:39.742426Z",
            "url": "https://files.pythonhosted.org/packages/a0/86/67860b6f7e141354162fa7d89f5dd58d3f873f91875a527895c5a06d03e6/csvthd-0.5.0b0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-04-28 12:44:39",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "gitlab_user": "DrTexx",
    "gitlab_project": "csv-transaction-history-detective",
    "lcname": "csvthd"
}
        
Elapsed time: 0.08670s