Hi, thank you for taking the time to improve Snowflake's Snowpark Python API!
Many questions can be answered by checking our docs or looking for already existing bug reports and enhancement requests on our issue tracker.
Please start by checking these first!
In that case we'd love to hear from you! Please open a new issue to get in touch with us.
We encourage everyone to first open a new issue to discuss any feature work or bug fixes with one of the maintainers. The following should help guide contributors through potential pitfalls.
We require our contributors to sign a CLA, available at https://github.com/snowflakedb/CLA/blob/main/README.md. A Github Actions bot will assist you when you open a pull request.
git clone <YOUR_FORKED_REPO>
cd snowpark-python
-
Create a new Python virtual environment with any Python version that we support. Currently supported version is Python 3.8, Python 3.9, Python 3.10. Support for Python 3.11 is available as a preview feature to all accounts. For example,
conda create --name snowpark-dev python=3.8
-
Activate the new Python virtual environment. For example,
conda activate snowpark-dev
-
Go to the cloned repository root folder.
-
Install the Snowpark API in edit/development mode.
python -m pip install -e ".[development, pandas]"
The
-e
tellspip
to install the library in edit, or development mode.
You can use PyCharm, VS Code, or any other IDE. The following steps assume you use PyCharm, VS Code or any other similar IDE.
Download the newest community version of PyCharm and follow the installation instructions.
Downlaod and install the latest version of VS Code
Open project and browse to the cloned git directory. Then right-click the directory src
in PyCharm
and "Mark Directory as" -> "Source Root". NOTE: VS Code doesn't have "Source Root" so you can skip this step if you use VS Code.
Configure PyCharm interpreter or Configure VS Code interpreter to use the previously created Python virtual environment.
The README under tests folder tells you how to set up to run tests.
If this happens to you do not panic! Any PRs originating from a fork will fail some automated tests. This is because forks do not have access to our repository's secrets. A maintainer will manually review your changes then kick off the rest of our testing suite. Feel free to tag @snowflakedb/snowpark-python-api if you feel like we are taking too long to get to your PR.