- This project targets Python 3.10. You can install it from here.
- For dependency management, we use poetry.
Install it like so (Powershell):
(Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py -UseBasicParsing).Content | python - - Run this command to clone the repository:
git clone -b dev https://github.com/PathOfBuildingCommunity/PathOfBuilding.git
- Afterwards, run this command to install all dependencies:
poetry install
- Code: PEP 8
- Docstrings: PEP 257
- Type hints: PEP 484
- Formatting: black and isort
- Commit message: Follow the Conventional Commits guidelines
- Branch: Pull requests must be created against the
devbranch. It is strongly recommended creating a new branch off ofdevto contain your proposed changes.
Here's a primer on the specifics:
- Class/type names:
CamelCase - Variable/function/module/file names:
snake_case. - Variables with values that do not change during program execution:
UPPER_SNAKE_CASE. These could be literals or enum variants. - Mark module- or class-level implementation details by prepending a single underscore,
like
_variable,_method. - Do not shadow built-ins (even
id,helpand the like). Instead, append a single underscore, likeid_, `help_. - Likewise for reserved keywords (
class_,import_, etc. Please noklass, `clazz or similar!)
In case of contradictions between individual guidelines, black is right.
In the specific case of third-party libraries with divergent style conventions, follow theirs. This is in line with PEP 8.
There is a Discord server, intended for active development on this project. If you are interested in joining, send a private message to Cinnabarit#1341.
- Add a new remote repository and name it upstream.
git remote add upstream https://github.com/PathOfBuildingCommunity/PathOfBuilding.git
- Verify that adding the remote worked.
git remote -v
- Fetch all branches and their commits from upstream.
git fetch upstream
- Check out your local dev branch if you haven't already.
git checkout dev
- Merge all changes from upstream/dev into your local dev branch.
git rebase upstream/dev
- Push your updated branch to GitHub.
git push -f origin dev