# PyGitWeb: Innovative yet simple project hosting

PyGitWeb and its bundled tools allow users to:
- Self-host git repositories (+ associated settings, permissions, and metadata)
- Manage projects and teams; built-in issues and kanban boards
- Assist with info security including code signing and secret scanning

PyGitTools, the dependent package of PyGitWeb, allows users to, without using the web server:
- Script Python workflows with Tasks, Merge Requests, and Hooks within a repositories
- Setup hooks and jobs to run on your machine, including server-side hooks for branch protection
- Use the bundled git terminal app (pgt) to quickly perform git actions

## Installation and Usage

To setup with UV:
```
git clone https://app.pygitweb.com/html/pygitweb; cd pygitweb;
uv sync --all-packages;
uv run uvicorn pygitweb.main:app --host 0.0.0.0 --port 8000
```

## Installation with Docker

(todo)

## Installation for Development

```
uv sync --all-packages --all-groups;
uv run uvicorn pygitweb.main:app --reload --host 0.0.0.0 --port 8000
```

Setting up your pre-commit hooks is recommended, but to manually run pre-commit checks, do:
```
uv run ruff check --fix;
uv run ruff format --preview;
mypy .;
```