takahe/CONTRIBUTING.md

66 lines
1.3 KiB
Markdown
Raw Normal View History

2022-11-13 12:57:27 -08:00
# Contributing to Takahē
## Getting Started
Development can be done "bare metal" or with Docker. We'll describe both here.
2022-11-13 12:57:27 -08:00
### Bare Metal
2022-11-13 12:57:27 -08:00
Takahē requires Python 3.10 or above, so you'll need that first. Then, create and
activate a virtual environment:
2022-11-13 12:57:27 -08:00
```shell
$ python3 -m venv .venv
$ . .venv/bin/activate
2022-11-13 12:57:27 -08:00
```
You can install the development requirements:
```shell
$ pip install -r requirements-dev.txt
2022-11-13 12:57:27 -08:00
```
...and enable git commit hooks if you like:
2022-11-13 12:57:27 -08:00
```bash
$ pre-commit install
2022-11-13 12:57:27 -08:00
```
Finally, you can run the tests with PyTest:
2022-11-13 12:57:27 -08:00
```bash
$ pytest
2022-11-13 12:57:27 -08:00
```
### Docker
The docker build process will take care of much of the above, but you just have
to be sure that you're executing it from the project root.
First, you need to build your image:
```shell
$ docker build -f ./docker/Dockerfile -t "takahe:latest" .
```
Then start the `compose` session:
```shell
$ docker compose -f docker/docker-compose.yml up
```
Once your session is up and running, you can run the tests inside your
container:
```shell
$ docker compose -f docker/docker-compose.yml exec web pytest
```
2022-11-13 12:57:27 -08:00
# Code of Conduct
As a contributor, you can help us keep the Takahē community open and inclusive. Takahē
follows the [Django Project Code of Conduct](https://www.djangoproject.com/conduct/).