- Install Pizza Delivery Man
- Run
pdm install -G:all
to create a virtual environment and install the dependencies - If you're working on the documentation and need to build it locally, install the extra dependencies with
pdm install -G:docs
- Install pre-commit
- Run
pre-commit install
to install pre-commit hooks
- Fork the Polyfactory repository
- Clone your fork locally with git
- Set up the environment
- Make your changes
- (Optional) Run
pre-commit run --all-files
to run linters and formatters. This step is optional and will be executed automatically by git before you make a commit, but you may want to run it manually in order to apply fixes - Commit your changes to git
- Push the changes to your fork
- Open a pull request. Give the pull request a descriptive title indicating what it changes. If it has a corresponding open issue. For example a pull request that fixes issue
bug: Increased stack size making it impossible to find needle
could be titledfix: Make needles easier to find by applying fire to haystack
Tip
Pull requests and commits all need to follow the Conventional Commit format
The documentation is located in the /docs
directory and is built with ReST and Sphinx. If you're unfamiliar with any of those, ReStructuredText primer and Sphinx quickstart are recommended reads.
We welcome contributions that enhance / improve the appearance and usability of the docs. We use a custom theme that inherits the Shibuya theme, which comes with a lot of options out of the box. If you wish to contribute to the docs style / setup, or static site generation, you should consult the theme docs as a first step.
To run or build the docs locally, you need to first install the required dependencies:
pdm install -G:docs
Then you can serve the documentation with make docs-serve
, or build them with make docs
We welcome contributions that enhance / improve the content of the docs. Feel free to add examples, clarify text, restructure the docs etc., but make sure to follow these guidelines:
- Write text in idiomatic english, using simple language
- Keep examples simple and self contained
- Provide links where applicable
- Use intersphinx wherever possible when referencing external libraries
- Provide diagrams using mermaidjs where applicable and possible
- Increment the version in
pyproject.toml
Note
The version should follow semantic versioning and PEP 440.
- Increment the version in
- Commit and push.
- In GitHub go to the releases tab
- Pick "Draft a new release"
- Give it a title and a tag, both
vX.X.X
- Fill in the release description. You can let GitHub do it for you and then edit as needed.
- Publish the release.
- Go to Actions and approve the workflow
- Check that the workflow runs successfully