mirror of
https://github.com/Akkudoktor-EOS/EOS.git
synced 2025-04-19 08:55:15 +00:00
* Update README/CONTRIBUTING Closes #180 * Remove duplicated files in docs/develop and copy them from project root to there on documentation generation. * Makefile: Use fastapi to start server, set port to 8503
73 lines
1.9 KiB
Markdown
73 lines
1.9 KiB
Markdown
# Contributing to EOS
|
|
|
|
Thanks for taking the time to read this!
|
|
|
|
The `EOS` project is in early development, therefore we encourage contribution in the following ways:
|
|
|
|
## Bug Reports
|
|
|
|
Please report flaws or vulnerabilities in the [GitHub Issue Tracker](https://github.com/Akkudoktor-EOS/EOS/issues) using the corresponding issue template.
|
|
|
|
## Ideas & Features
|
|
|
|
Please first discuss the idea in a [GitHub Discussion](https://github.com/Akkudoktor-EOS/EOS/discussions) or the [Akkudoktor Forum](https://www.akkudoktor.net/forum/diy-energie-optimierungssystem-opensource-projekt/) before opening an issue.
|
|
|
|
There are just too many possibilities and the project would drown in tickets otherwise.
|
|
|
|
## Code Contributions
|
|
|
|
We welcome code contributions and bug fixes via [Pull Requests](https://github.com/Akkudoktor-EOS/EOS/pulls).
|
|
To make collaboration easier, we require pull requests to pass code style and unit tests.
|
|
|
|
|
|
### Setup development environment
|
|
|
|
Setup virtual environment, then activate virtual environment and install development dependencies.
|
|
See also [README.md](README.md).
|
|
|
|
```bash
|
|
python -m venv .venv
|
|
source .venv/bin/activate
|
|
pip install -r requirements-dev.txt
|
|
```
|
|
|
|
Install make to get access to helpful shortcuts (documentation generation, manual formatting, etc.).
|
|
|
|
- On Linux (Ubuntu/Debian):
|
|
|
|
```bash
|
|
sudo apt install make
|
|
```
|
|
|
|
- On MacOS (requires [Homebrew](https://brew.sh)):
|
|
|
|
```zsh
|
|
brew install make
|
|
```
|
|
|
|
The server can be started with `make run`. A full overview of the main shortcuts is given by `make help`.
|
|
|
|
### Code Style
|
|
|
|
Our code style checks use [`pre-commit`](https://pre-commit.com).
|
|
|
|
To run formatting automatically before every commit:
|
|
|
|
```bash
|
|
pre-commit install
|
|
```
|
|
|
|
Or run them manually:
|
|
|
|
```bash
|
|
pre-commit run --all-files
|
|
```
|
|
|
|
### Tests
|
|
|
|
Use `pytest` to run tests locally:
|
|
|
|
```bash
|
|
python -m pytest -vs --cov src --cov-report term-missing tests/
|
|
```
|