Contributing ============ Thank you for taking your time to contribute to Pyautoupdate. When contributing, please follow the `PSF Code of Conduct `__, a copy of which is included in ``PSFCodeOfConduct.rst``. Github's issues are used for tracking bugs and requesting features, as explained below. Environment Setup ----------------- In addition to the core dependencies listed in :doc:`quickstart`, development also requires the following packages: - ``pytest`` for running the tests - ``coverage.py`` to measure coverage The following packages are optional for development but recommended: - ``pylint`` for local code style checks - ``sphinx`` for building documentation Pyautoupdate uses `pytest `__. To run the unit tests, please run .. code-block:: none pytest . in the root directory of the repo. The config file is ``pytest.ini``. To get coverage measurements, use the wrapper scripts in ``test/scripts`` to get a coverage report for the tests. Filing an Issue --------------- Reporting Bugs ~~~~~~~~~~~~~~ If you run into issues with Pyautoupdate, please ensure that the problem is not with the application that uses Pyautoupdate. If you believe there is a genuine problem with Pyautoupdate that has not been already reported, please file a bug report at https://github.com/rlee287/pyautoupdate/issues including: - Python version - Operating System - Description of the problem - Expected behavior - Actual behavior - Instructions to reliably reproduce the problem **Even if it is a glitch that occurs unreliably, please try to include some instructions.** Requesting Features ~~~~~~~~~~~~~~~~~~~ If you would like Pyautoupdate to have a new feature, please include the following: - A detailed description of the new feature - Why you think the feature would be useful to others Please follow the instructions under `Pull Requests <#pull-requests>`__ if you would like to implement features or fix bugs. Pull Requests ------------- Pull requests can be filed at https://github.com/rlee287/pyautoupdate/pulls. The Pyautoupdate project uses `PullApprove `__ to approve pull requests. Authors of a Pull Request **must** approve it via PullApprove once it is ready for consideration. By approving a Pull Request, the author(s) signify that their contribution satisfies the `Developer Certificate of Origin `__, a copy of which has been included in ``DeveloperCertificateOrigin.txt``. All tests on `Travis CI `__ must pass. If you need to mark some of the tests as ``xfail``, please explain the reason in the Pull Request description. In addition, all code must be simultaneously compatible with both Python 2 and 3. The Travis CI build will help to ensure this. Moreover, please make sure that new features are covered by new tests. Coverage for the project is tracked on `CodeCov `__. When creating a Pull Request, please include the following: - One of the following to identify the purpose of the Pull Request: - An issue number that this Pull Request addresses - A short description of the problem the Pull Request addresses - A description of the implementation of the bug fix/feature If you are fixing a new large issue in your Pull Request, please file an issue concurrently with the Pull Request and link to the issue number in the Pull Request.