This repository contains the code for my master thesis "Privacy-enabled Agents". It is currently a work in progress and will be updated regularly. If you have any questions or suggestions, feel free to open an issue or a pull request.
- uv is installed: https://docs.astral.sh/uv/getting-started/installation/
- A container runtime is installed:
Create a venv and install the dependencies:
uv sync- Start the docker-compose environment:
docker-compose up -d- Run the application:
uv run main.pyTo stop the docker-compose environment, run:
docker-compose stopuv is used to manage dependencies in this project. The following commands are available:
- Add dependencies
uv add <package>- Remove dependencies
uv remove <package>- Update dependencies
uv lock -U
uv sync- Add development dependencies
uv add --dev <package>- Compile requirements
rm requirements.txt
uv pip compile --universal pyproject.toml -o requirements.txtruff is used for linting and formatting. The following commands are available:
- Lint the code
uv run ruff check --fix- Format the code
uv run ruff formatpre-commit is used to manage pre-commit hooks. The following commands are available:
- Install pre-commit hooks
uv run pre-commit install- Run pre-commit hooks manually
uv run pre-commit run --all-files- Update pre-commit hooks
uv run pre-commit autoupdateThis project uses GitHub Actions to automate linting and formatting using Ruff. The workflow runs on push to the main branch and on pull requests. It performs the following actions:
- Runs Ruff linter with
--fixoption - Runs Ruff formatter
You can see the workflow details in the .github/workflows/ruff.yml file.