| Name | my-finance-analyzer228 JSON |
| Version |
0.1.0
JSON |
| download |
| home_page | None |
| Summary | A package to analyze financial transactions and generate a report |
| upload_time | 2024-10-24 12:19:05 |
| maintainer | None |
| docs_url | None |
| author | None |
| requires_python | >=3.7 |
| license | MIT |
| keywords |
|
| VCS |
|
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
### Задача 2
Финансовый отдел анализирует доходы и расходы компании по различным категориям. Автоматизация этого процесса позволит сэкономить время и избежать ошибок.
Твоя задача — создать Python-пакет, который будет загружать данные о транзакциях, группировать их по категориям (доходы и расходы) и генерировать отчёт с суммами для каждой категории.
**Функциональность пакета**
Напиши пакет, который:
- Загружает данные о транзакциях из CSV-файла и группирует их по категориям.
- Выводит общий объём транзакций для каждой категории.
- Поддерживает запуск через командную строку с опциями:
- `--input-file` для указания входного файла `.сsv`,
- `--output-file` для указания выходного файла `.txt`.
Пример выходного отчёта:
```text
Доход: 8000 руб.
Расход: 3000 руб.
```
**Сборка пакета и публикация**
Когда код написан и проверен, подготовь пакет к публикации. Опиши файл `pyproject.toml` и укажи в нём:
- метаданные проекта (название, версия, имя автора);
- зависимости (`pandas`);
- инструменты для сборки (`setuptools` и `wheel`).
**Проверка работоспособности**
Установи пакет с PyPI в другой проект и проверь его работоспособность.
Raw data
{
"_id": null,
"home_page": null,
"name": "my-finance-analyzer228",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": null,
"author": null,
"author_email": "Grigory <grig.perev@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/3d/50/851e88917e92132f9d01f79d814739b9b7774b2ea951502401d37c54a088/my_finance_analyzer228-0.1.0.tar.gz",
"platform": null,
"description": "### \u0417\u0430\u0434\u0430\u0447\u0430 2\r\n\r\n\u0424\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u0439 \u043e\u0442\u0434\u0435\u043b \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0434\u043e\u0445\u043e\u0434\u044b \u0438 \u0440\u0430\u0441\u0445\u043e\u0434\u044b \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u043f\u043e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f\u043c. \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u0438 \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043e\u0448\u0438\u0431\u043e\u043a.\r\n\r\n\u0422\u0432\u043e\u044f \u0437\u0430\u0434\u0430\u0447\u0430 \u2014 \u0441\u043e\u0437\u0434\u0430\u0442\u044c Python-\u043f\u0430\u043a\u0435\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u0445, \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u043f\u043e \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f\u043c (\u0434\u043e\u0445\u043e\u0434\u044b \u0438 \u0440\u0430\u0441\u0445\u043e\u0434\u044b) \u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u0447\u0451\u0442 \u0441 \u0441\u0443\u043c\u043c\u0430\u043c\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438.\r\n\r\n**\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043f\u0430\u043a\u0435\u0442\u0430**\r\n\r\n\u041d\u0430\u043f\u0438\u0448\u0438 \u043f\u0430\u043a\u0435\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439:\r\n\r\n- \u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u0445 \u0438\u0437 CSV-\u0444\u0430\u0439\u043b\u0430 \u0438 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u0443\u0435\u0442 \u0438\u0445 \u043f\u043e \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f\u043c.\r\n\r\n- \u0412\u044b\u0432\u043e\u0434\u0438\u0442 \u043e\u0431\u0449\u0438\u0439 \u043e\u0431\u044a\u0451\u043c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438.\r\n\r\n- \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0441 \u043e\u043f\u0446\u0438\u044f\u043c\u0438:\r\n - `--input-file` \u0434\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 `.\u0441sv`,\r\n - `--output-file` \u0434\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 `.txt`.\r\n\r\n\u041f\u0440\u0438\u043c\u0435\u0440 \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043e\u0442\u0447\u0451\u0442\u0430:\r\n\r\n```text\r\n\u0414\u043e\u0445\u043e\u0434: 8000 \u0440\u0443\u0431.\r\n\u0420\u0430\u0441\u0445\u043e\u0434: 3000 \u0440\u0443\u0431.\r\n```\r\n\r\n**\u0421\u0431\u043e\u0440\u043a\u0430 \u043f\u0430\u043a\u0435\u0442\u0430 \u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f**\r\n\r\n\u041a\u043e\u0433\u0434\u0430 \u043a\u043e\u0434 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d, \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u044c \u043f\u0430\u043a\u0435\u0442 \u043a \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438. \u041e\u043f\u0438\u0448\u0438 \u0444\u0430\u0439\u043b `pyproject.toml` \u0438 \u0443\u043a\u0430\u0436\u0438 \u0432 \u043d\u0451\u043c:\r\n - \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 (\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \u0432\u0435\u0440\u0441\u0438\u044f, \u0438\u043c\u044f \u0430\u0432\u0442\u043e\u0440\u0430);\r\n - \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 (`pandas`);\r\n - \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 (`setuptools` \u0438 `wheel`).\r\n\r\n**\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438**\r\n\r\n\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438 \u043f\u0430\u043a\u0435\u0442 \u0441 PyPI \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044c \u0435\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c.\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A package to analyze financial transactions and generate a report",
"version": "0.1.0",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3db00090d5e337a726bfc31219922a353732059a740764fa25e2c07e58c13d0a",
"md5": "8c4b8b285ef83294af7587b0ac7243b6",
"sha256": "71ed64de2c077ec5e4553f1a4c6a219ffe96246c1b8e60bf595502f841c40228"
},
"downloads": -1,
"filename": "my_finance_analyzer228-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8c4b8b285ef83294af7587b0ac7243b6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 3566,
"upload_time": "2024-10-24T12:19:03",
"upload_time_iso_8601": "2024-10-24T12:19:03.660386Z",
"url": "https://files.pythonhosted.org/packages/3d/b0/0090d5e337a726bfc31219922a353732059a740764fa25e2c07e58c13d0a/my_finance_analyzer228-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3d50851e88917e92132f9d01f79d814739b9b7774b2ea951502401d37c54a088",
"md5": "93bafe2a0a26307decab5b4dff03bb11",
"sha256": "33be5cba6166110c4b78f0da0600117324ed416b41fcce3ea2699b998de68e88"
},
"downloads": -1,
"filename": "my_finance_analyzer228-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "93bafe2a0a26307decab5b4dff03bb11",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 2856,
"upload_time": "2024-10-24T12:19:05",
"upload_time_iso_8601": "2024-10-24T12:19:05.434979Z",
"url": "https://files.pythonhosted.org/packages/3d/50/851e88917e92132f9d01f79d814739b9b7774b2ea951502401d37c54a088/my_finance_analyzer228-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-24 12:19:05",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "my-finance-analyzer228"
}