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:
138
README.md
138
README.md
@ -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.
|
||||
|
||||
Reference in New Issue
Block a user