Skip to content

Latest commit

 

History

History
78 lines (51 loc) · 2.04 KB

CONTRIBUTING.md

File metadata and controls

78 lines (51 loc) · 2.04 KB

How to Contribute

These are a few guidelines that contributors need to follow to keep things easy.

Getting Started

  • Create a branch or fork the repository
  • Check out the Developer Guide below for setup instructions
  • Add your functionality or fix a bug
  • Ensure that your changes pass the tests
  • Only refactoring and documentation changes require no new tests.
  • Only pull requests with passing tests will be accepted.

Submitting Changes

  • Push your changes to your branch/fork.
  • Submit a pull request.

Additional Resources


Developer Guide

As a developer, you should be aware of the following:

  • Linting and formatting with ruff and pyright
  • Testing with pytest
  • CI/CD with GitHub Actions

Code Quality

Ruff is used to lint and format the codebase.

Rye

Rye is used for virtual environments, dependency management and packaging. The rye setup is located in the rye field of pyproject.toml.

Unit Testing

Pytest is used for unit testing. The tests are located in the test directory.

Installation and Devtools

Using rye as the package manager, you may run the following commands:

# build virtual environment and install dependencies
rye sync

# lint code
rye run lint

# test code
rye test

# build code
rye build --clean

To run an example, you will need to follow the instructions in the examples/main.py file, then run the following command:

yarn demo

Disclaimer: This project is inspired by many open source SDKs and libraries. Among them are openai-python and box-python-sdk. So, big kudos to the developers behind these projects.