Contribute

Roadmap

  • Add more tests
  • Work on packaging
  • Use GitHub pages to build a homepage

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: