Contribute¶
In this section:
Contributing¶
Contributions are always welcome! Here are a few ways you could contribute:
- Bug fixes
- New tests
- New features
- Testing on different platforms
- Documentation
Support: External links
Development¶
All of the following commands assume you are are starting in the root ArchMap
directory.
System Requirements¶
In addition to the System Requirements for the install, the following packages are required:
- To generate these docs:
- sphinx
- For packaging:
- setuptools
- wheel (optional) - for building wheels
Documentation¶
Sphinx can be used to build a variety of formats.
First, make sure you're in the docs directory:
cd docs/
Make the preferred output:
make html
Open the the index page in your browser:
firefox _build/html/index.html
Testing¶
unittest
is used for testing:
python setup.py test
This will search the tests
directory for tests.
To check your commits before submitting, it is advisable to set up pre-commit first. Install it with:
pip3 install pre-commit
Then install the hooks so that they automatically run before each commit:
pre-commit install
Make sure the hooks are up to date:
pre-commit autoupdate
To run the hooks before a commit use:
pre-commit run --all-files
For further information, have a look at the pre-commit advanced features page
or the .pre-commit-config.yaml
config file to see what is run.
See also:
Packaging¶
ArchMap is currently packaged in two forms.
Arch Linux package¶
Packages are built using the PKGBUILD
and archmap.install
for settings.
To build package using the PKGBUILD:
cd pkgbuild
makepkg PKGBUILD
See also:
Python package¶
Packages are built using setup.py
and setup.cfg
for settings.
To build a source distribution:
python3 setup.py sdist
To build a wheel:
python3 setup.py bdist_wheel
See also: