Moved to uv from poetry

Updated ruff and mypy, accepted all changes
Central exception management and injected the Session.
This removed a lot of duplicated boilerplate code.
Added health check
Updated to Angular 21
This commit is contained in:
2026-02-24 03:08:05 +00:00
parent 770fd0c6dd
commit 1e7476c5d9
148 changed files with 7600 additions and 11635 deletions

138
README.md
View File

@ -1,45 +1,119 @@
## Prettier - to format typescript files
```npx prettier --write src/app/```
# Installation linux
## Eslint - to lint typescript files
```shell script
eslint src/app/
```
Optional to fix the errors as well
```
eslint src/app/ --fix
This project uses **uv** for Python version, dependency and virtual environment management.
---
## 1. Install uv
### 1.1 Install uv (if not already installed)
```zsh
curl -LsSf https://astral.sh/uv/install.sh | sh
```
### Poerty remove environment
```sh
rm -rf `poetry env info -p`
Reload the shell:
```zsh
exec "$SHELL"
```
### Poerty install
```sh
poetry install
Verify:
```zsh
uv --version
```
## 2. Install Python 3.14 using uv
```zsh
uv python install 3.14
```
### Setup python environment
```sh
# Install pyenv to manage python versions
curl https://pyenv.run | bash
Set the local Python version for this project:
# Install pyenv dependencies to build python (Optional)
sudo apt update; sudo apt install make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev curl git \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
```zsh
uv python pin 3.14
```
# Install python 3.13
pyenv install 3.13
Verify:
# Use python in the ~/programming/brewman/brewman directory
cd ~/programming/brewman/brewman
pyenv local 3.13
```zsh
python --version
```
# Tell Poetry to use the pyenv Python
poetry env use python
---
# Or this
eval $(poetry env activate)
## 3. Install project dependencies
### 3.1 Install dependencies
```zsh
uv sync
```
This will:
* Create a local `.venv`
* Install all dependencies defined in `pyproject.toml`
* Generate/update `uv.lock`
* Use Python **3.14**
---
## 4. Activate the environment (optional)
```zsh
source .venv/bin/activate
```
Deactivate:
```zsh
deactivate
```
Or run commands directly:
```zsh
uv run python your_script.py
```
---
## 5. Install nvm
### 5.1 Install nvm (if not already installed)
```bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
```
### 5.2 Configure shell for pyenv
Add the following to `~/.zshrc`:
```zsh
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
```
Reload the shell:
```zsh
exec "$SHELL"
```
Verify:
```zsh
nvm --version
```
---
## Notes
* Do **not** use system-wide pip for this project.
* Do **not** install dependencies manually.
* Always use `uv sync` to install or update dependencies.
* Commit both: `pyproject.toml` and `uv.lock`
* PostgreSQL must be running and properly configured before application startup.