There are many ways to contribute to dragonfly and the project would certainly benefit from more contributions.
Reporting bugs/other issues¶
If you come across bugs or other issues with dragonfly, you can open a new issue in the issue tracker.
If the issue is a bug, make sure you describe what you expected to happen as well as what actually happened. Include a full traceback if there was an exception.
Submitting patches/pull requests¶
There are parts of dragonfly that are undocumented as well as, undoubtedly, documented functionality which is poorly explained, out of date or incorrect. If you notice problems with the documentation, you can open a new issue in the issue tracker.
Dragonfly’s documentation is written in the reStructuredText format. ReStructuredText is similar to the Markdown format. If you are unfamiliar with the format, the reStructuredText primer might be a good starting point.
The Sphinx documentation engine and Read the Docs are used to generate documentation from the .txt files in the documentation/ folder. Docstrings in the source code are included in a semi-automatic way through use of the sphinx.ext.autodoc extension.
To build the documentation locally, install Sphinx and any other documentation requirements:
$ cd documentation $ pip install -r requirements.txt
Then run the following command on Windows to build the documentation:
$ make.bat html
Or use the Makefile on other systems:
$ make html
If there were no errors during the build process, open the build/html/index.html file in a web browser. Make changes, rebuild the documentation and reload the doc page(s) in your browser as you go.
Improving spoken language support¶
Dragonfly supports using various languages with speech recognition engines. Language-specific code is located in sub-packages under dragonfly.language and loaded automatically when dragonfly.language is imported.
English is fully supported with mappings from English words to characters,
integers (e.g. for
IntegerRef) and time/date formats.
Other languages such as German and Dutch only have mappings for using
IntegerRef (and similar) elements.