This document contains the contribution guidelines for the Zowe Client Python SDK.
Notice that the Python SDK is still in early development stages, meaning that major architectural changes might be made by the development team at any given moment. For this reason, only bug fixes and documentation changes are being accepted as contribution at this moment . This document will be updated as soon as the stable release of the SDK is published (v1.0.0)
This project follows the Git flow branching model.
Consider the following when you interact with pull requests:
- Pull request reviewers should be assigned to a same-team member.
- Pull requests should remain open for at least 24 hours, or until close of the business next business day (accounting for weekends and holidays).
- Anyone can comment on a pull request to request delay on merging or to get questions answered.
The project's test suite can be run with the python test runner, pytest
.
All test and regular dependencies are included here:
pip install -r requirements.txt
Commands for running all unit/integration tests from their respective folder:
pytest tests/unit
pytest tests/integration
More information on pytest's usage can be found here.
In order to run integration tests, you will need to have a mainframe account and team profile configuration files properly set up.
Information on creating team profile configuration files can be found here.
You will also need to update the zowe.config.json file with the neccessary information.
The project's documentation is published on ReadTheDocs.io.
To build the docs from source locally, you need these prerequisites:
- Sphinx - Python Documentation Generator
- Python packages -
pip install -r docs/requirements.txt
Run make html
in the docs directory to generate HTML files in "docs/build/html" that can be previewed in your browser.
Docs are generated from reStructuredText (.rst) files in "docs/source" and Python docstrings in the source code which also use reST markup. A quick reference for reStructuredText markup can be found here.
This project follows the PEP 8 style guide.
This project also uses pydocstyle
, pydoclint
, and pylint
for code linting. Make sure to run them on your code before submitting a pull request.
We recommend using black
and isort
as code formatters. Please format your code using these tools before creating a pull request.