# Crux Python Client
A Python library for interacting with the Crux platform.
The aim of this client is to be a Pythonic way to use the Crux API reliably. It covers core functionality, such as uploading and downloading files, but does not cover all API functionality. It isn’t an SDK.
Python 3.6+ is recommended. Python 2.7 and 3.5 are supported but deprecated, with support planned for removal in early-2020 and mid-2020 respectively.
This library is ALPHA. Breaking changes are expected. Pin to a specific version when using this library, and test upgrades thoroughly.
Source code is available on GitHub at [github.com/cruxinformatics/crux-python](https://github.com/cruxinformatics/crux-python).
Install a recent version of Python, and a Python dependency and virtual environment manager like [pipenv](https://pipenv.readthedocs.io/en/latest/). On macOS run:
brew install python
brew install pipenv
Install crux [from PyPI](https://pypi.org/project/crux/) in a virtual environment, and get a shell in that environment:
mkdir -p crux_example
pipenv install "crux==0.0.16"
## Getting Started
Create a file, like example.py, and use the crux module:
Run the script:
See the [installation](installation.md) and [authentication](authentication.md) documentation for details.
Details on specific topics: