- Above all else, be excellent to each other
- File issues or pull requests on this GitHub repo
- Follow standard fork, clone, and virtual environment practices
- Fork a copy onto your account
- Clone the repo onto your system
cd Fontknife
or the name of your fork- Create a virtual environment and activate it
- Update to the latest
pip
withpip install --upgrade pip
pip install -e .[dev,docs]
If running fontknife
emits help text, we're good to go.
TL;DR: Make sure you ran pip install --upgrade pip
Your pip
and setuptools
need be recent enough to support needs to be
recent enough to support PEP-660.
If you run pip --version
, it should be at least version 21.3. If it
isn't, then you might encounter one of the errors below. In both cases,
the solution is the same:
pip install --upgrade pip
If it says it can't parse it or similar, pip install --upgrade pip
.
If you see an error message like the following...
ERROR: File "setup.py" not found. Directory cannot be installed in editable mode: /home/user/Projects/octofont3
(A "pyproject.toml" file was found, but editable mode currently requires a setup.py based build.)
Then pip install --upgrade pip
.
- File an issue
- Discuss as necessary if the work isn't trivial
- In addition to writing code, try to add or update any tests
- Look in the
Fontknife/tests
folder to find them - Run them with either of the following:
pytest tests
- If you have Docker, you can also use one of the following:
- Easy mode:
test_in_docker.sh 3.8
or any Python version other than 3.8 - Hard mode:
docker build
with a--build-arg='PYTHON_VERSION=3.8
- Easy mode:
- Look in the
git push
your code to your fork- Make a pull request
For information on Docker, see DOCKER.md.