If you have any issue with The Dang, sorry about that, but we will do what we can to fix that. Actually, maybe we already have, so first thing to do is to update The Dang and see if the bug is still there.
If it is (sorry again), check if the problem has not already been reported and if not, just open an issue on GitHub with the following basic information:
- the output of
thedang --version
(something likeThe Dang 3.1 using Python 3.5.0
); - your shell and its version (
bash
,zsh
, Windows PowerShell, etc.); - your system (Debian 7, ArchLinux, Windows, etc.);
- how to reproduce the bug;
- the output of The Dang with
THEDANG_DEBUG=true
exported (typically executeexport THEDANG_DEBUG=true
in your shell before The Dang); - if the bug only appears with a specific application, the output of that application and its version;
- anything else you think is relevant.
It's only with enough information that we can do something to fix the problem.
We gladly accept pull request on the official repository for new rules, new features, bug fixes, etc.
In order to develop locally, there are two options:
- Develop using a local installation of Python 3 and setting up a virtual environment
- Develop using an automated VSCode Dev Container.
Create and activate a Python 3 virtual environment.
Install The Dang
for development:
pip install -r requirements.txt
python setup.py develop
Run code style checks:
flake8
Run unit tests:
pytest
Run unit and functional tests (requires docker):
pytest --enable-functional
For sending package to pypi:
sudo apt-get install pandoc
./release.py
To make local development easier a VSCode Devcontainer is included with this repository. This will allows you to spin up a Docker container with all the necessary prerequisites for this project pre-installed ready to go, no local Python install/setup required.
To use the container you require:
- Docker
- VSCode
- VSCode Remote Development Extension
- [Windows Users Only]: Installation of WSL2 and configuration of Docker to use it
Full notes about installation are here
Assuming you have the prerequisites:
- Open VSCode
- Open command palette (CMD+SHIFT+P (mac) or CTRL+SHIFT+P (windows))
- Select
Remote-Containers: Reopen in Container
. - Container will be built, install all pip requirements and your VSCode will mount into it automagically.
- Your VSCode and container now essentially become a throw away environment.