Description of the project here
Project description
Python project template
A simple template of a Python project, with a rigid file structure, and predisposition for unit testing and release on PyPi.
Relevant features
- All your project code into a single main package (
MoneyMate/) - All your project tests into a single test package (
test/) - Unit testing support via
unittest - Automatic testing on all branches via GitHub Actions
- Semi-automatic versioning via Git
- Packaging support via
setuptools - Automatic release on PyPi via GitHub Actions
- Docker image support via
Dockerfile - Automatic release on DockerHub via GitHub Actions
- Support for semi-automatic development environment management via Pyenv
- Automatic dependencies updates via Renovate
- Automatic conversion of
TODOcomments into GitHub issues via thealstr/todo-to-issue-action
Project structure
.
├── src/
│ └── moneymate/
│ ├── __init__.py
│ ├── __main__.py
│ ├── cli.py
│ ├── data/
│ │ ├── __init__.py
│ │ └── database.py
│ ├── models/
│ ├── services/
│ ├── config/
│ └── utils/
├── MoneyMate/
│ ├── __init__.py
│ └── __main__.py
├── tests/
│ ├── unit/
│ │ └── test_data_layer.py
│ ├── integration/
│ └── conftest.py
├── sql/
├── scripts/
├── pyproject.toml
├── README.md
├── LICENSE
├── CHANGELOG.md
├── .github/
│ └── workflows/
│ ├── ci.yml
│ └── release.yml
├── renovate.json
└── .gitignore
artifact/
├─ MoneyMate/
│ ├─ init.py
│ ├─ data_layer/
│ │ ├─ init.py
│ │ ├─ database.py # Low-level DB connection, schema, migration baseline
│ │ ├─ manager.py # Process-wide API manager, orchestrates sub-managers
│ │ ├─ users.py # Registration, login/logout, roles, password mgmt
│ │ ├─ categories.py # CRUD for categories, ownership checks
│ │ ├─ contacts.py # CRUD for contacts
│ │ ├─ expenses.py # CRUD, search, deterministic listing, pagination
│ │ ├─ transactions.py # CRUD, deterministic listing, pagination
│ │ ├─ balances.py # Net balance and per-contact summaries
│ │ ├─ logging_utils.py # Structured logging helpers
│ │ └─ utils.py # Shared utilities, validators
│ │
│ └─ gui/
│ ├─ init.py
│ ├─ app.py # GUI entry-point
│ └─ ... # Views, controllers, assets
│
├─ tests/ # test subdivided by category
│ ├─ data_layer/
│ ├─ gui/
│ ├─ system/
│
├─ .github/
│ └─ workflows/
│
├─ LICENSE
├─ README.md
├─ pyproject.toml
├─ requirements.txt
└─ requirements-dev.txt # Includes pytest (per CI notes)
## Flow Chart (architecture)
```mermaid
flowchart LR
subgraph App["Application / GUI"]
GUI["GUI Components"]
CLI["Scripts / Integrations"]
end
subgraph API["API Manager"]
MGR["DatabaseManager"]
end
subgraph Managers["Entity Managers"]
U["Users"]
C["Categories"]
CO["Contacts"]
E["Expenses"]
T["Transactions"]
B["Balances/Analytics"]
end
subgraph DB["SQLite Database"]
SCHEMA["Versioned Schema + Migrations"]
TABLES["Tables: users, categories, contacts, expenses, transactions, access_logs, ..."]
INDEXES["Indexes + Constraints"]
end
App -->|calls| MGR
MGR --> U & C & CO & E & T & B
U & C & CO & E & T & B -->|validated SQL ops| DB
DB -->|sqlite3.Row| MGR
U -->|audit| TABLES
MGR -->|logging| LOGS["Structured Logging"]
Acknowledgements
- Maintainers and contributors:
License
MIT License. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file moneymate-1.1.3.tar.gz.
File metadata
- Download URL: moneymate-1.1.3.tar.gz
- Upload date:
- Size: 72.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f80ff7107f03d734318aaffa210cd958b45068069c4145db7b6f660b9814ffef
|
|
| MD5 |
cb0a35730acc0f9392ae019810036ee0
|
|
| BLAKE2b-256 |
bc0bb9fac6bc7515fede301c90c037adb6e062cb4f77d3392d9404c69e448c13
|
File details
Details for the file moneymate-1.1.3-py3-none-any.whl.
File metadata
- Download URL: moneymate-1.1.3-py3-none-any.whl
- Upload date:
- Size: 58.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
821ba435cd94e48e35295fe4549f606de25d9ad52fc1f8b2cd79d67fbec1fb92
|
|
| MD5 |
e34063e8661c844dc3e83c51aa379657
|
|
| BLAKE2b-256 |
0d816b545149aad4f53ea4eddd3daa138cba79241b70091e56df52208935c28c
|