Contributions are welcome and they are greatly appreciated! Every little bit helps, and credit will always be given.
Below you’ll find our contributing requirements, a step-by-step guideline, and our features roadmap.
-
Search previous issues before making new ones to avoid duplicates.
-
If you are reporting a bug, please include:
-
Your operating system name and version.
-
Any details about your local setup that might be helpful in troubleshooting.
-
Detailed steps to reproduce the bug.
-
-
If you are proposing a feature:
-
Explain in detail how it would work.
-
Keep the scope as narrow as possible, to make it easier to implement.
-
Remember that this is a volunteer-driven project, and that contributions are welcome.
-
-
File an issue to let us know what you’re working on.
-
Fork the repo, develop and test your code changes, and add supporting documentation.
-
Use descriptive comments throughout your code.
-
Add test cases and comment them.
-
Use descriptive commit messages that clearly explain the changes. Reference the original issue in the pull request.
-
Make an individual pull request for each issue.
Clone the repository:
-
$ git clone https://github.com/modzy/sdk-python.git
Setup a virtual environment from the local git directory:
-
$ conda create --name VIRTUAL_ENVIRON_NAME --file requirements_dev.txt -c conda-forge python=3.9
or for non-conda python distros: -
$ python3 -m venv /path/to/VIRTUAL_ENVIRON_NAME
Activate the virtual environment:
-
$ conda activate VIRTUAL_ENVIRON_NAME
or for non-conda python distros there are different commands for Linux vs. Windows.
On Linux use source to activate
-
$ source /path/to/VIRTUAL_ENVIRON_NAME/bin/activate
On Windows run the activate.bat file
-
C:>\path\to\VIRTUAL_ENVIRON_NAME\Scripts\activate.bat
Install dependencies (if not using conda):
-
$ pip3 install -r requirements_dev.txt
Create a branch for your awesome new feature:
-
$ git checkout -b my-awesome-new-feature
Configure the environment variables to easily run all the tests with a single configuration point. Note that the environment variables must be set before opening the terminal or program that you will be running your tests from. Environmental variables do not update on the fly.
You can:
There are 2 environmental variables that the test scripts will need. MODZY_BASE_URL: This variable holds the network address of the modzy installation. Notice the '/api' appeanded to the end of the url. This is mandatory and will cause errors if not present. MODZY_API_KEY: This variable holds a full copy of a modzy API key. Modzy’s role based access controls will cause some of the tests to fail if your key doesn’t have all the roles assigned. ===== Windows
set MODZY_BASE_URL=https://modzy.example.com/api
set MODZY_API_KEY=<your Modzy API key here>
Add and commit your changes:
-
git add .
-
$ git commit "A descriptive message"
Push your branch to GitHub:
-
$ git push origin my-new-awesome-feature
Initiate a Pull Request:
If your PR doesn’t pass all tests due to role based access controls with your key, please provide log information so that we may test the PR under appropriate conditions.
-
Documentation improvement.
-
Comprehensive unit tests.
-
Wider API coverage (custom models, accounting, audit, etc).
-
[Maybe] Add retry logic for possibly transient issues.
-
[Maybe] Consider moving to concrete classes for the API JSON - objects, or else move the ApiObject to a public module.
-
[Maybe] Python 2.7 compatibility.
Use GitHub to report bugs and send feature requests.
Reach out to https://www.modzy.com/support/ for support requests.