Fonty Python Development Policies
This document outlines the operating policies of the Fonty Python project. These policies are outlined to ensure the smooth and happy running of the Fonty Python community.
Project Purpose
Fonty Python has two primary purposes:
- To view arbitrary fonts anywhere on the system.
- To manage installation and removal of those fonts en-masse.
New code and feature enhancements should work to further at least one of these purposes, and should never directly interfere with either one. All contributions are subject to community debate, and discussion about adherence to the stated purposes.
Enhancements that create distinct areas of functionality that do not interfere with these main purposes may be acceptable additions, subject to discussion in the community.
Code Quality
Testing
Where possible, all code should have automated tests in the form of unit tests (unittest) or doctests to ensure non-breaking functionality.
In addition to automated code tests, it is also appropriate for developers to define relevant manual and functional tests. When combined, the test suite should provide a minimum-level of confidence that all declared features work as expected.
Documentation
All features should be clearly described in up-to-date documentation for end-users and developers alike.
All documentation should be written using reStructured Text (reST) markup. This includes docstrings in code, as well as help documents and manuals.
Non-code documentation should be in plain text files and placed under version control in the doc sub-directory of the repository. This allows developers to update or add documentation quickly and painlessly, as well as provides the opportunity for the community to submit patches for documentation in the same way they can for code.
- Epydoc will be used to process code comments and documentation. Generated pages will be available on the website.
- reST conversion utilities will be used to make documentation available in as many formats as possible, including HTML, PDF, and plain text.
- Trac reST macro will be used to automatically pull down documentation files from the repository for display in the Trac wiki.
