For more information on these tools, see the public documentation on
[Python](https://www.python.org/downloads/) or
[Pip](https://pip.pypa.io/en/stable/installing/)
Development can be done on Windows, macOS, and Linux.
## Installation
From the root of your cloned repo, generate a virtual environment with a
specific version of python.
Windows
```bash
python -m venv .env
.env\Scripts\activate.bat
```
Linux / MacOS
```bash
python3 -m venv .env
. ./.env/bin/activate
```
(Optional) If you want to be able to make changes to the osdu-sdk that is used for communication with the OSDU API's then this should also be installed in developer mode. If you omit this step then you will use the published version of the sdk referenced in setup.py
```bash
pip install-e ..\osdu-sdk-python
pip install-r requirements-dev.txt
```
Next install the main cli package in developer mode along with any necessary development packages.
```bash
pip install-e.
pip install-r requirements-dev.txt
```
You should now be able to run the command line.
```bash
osdu
```
## Validation
You can run local validation including testing and linting using the provided scripts.
Windows
```bash
scripts\verify.bat
```
Linux / MacOS
```bash
./scripts/verify
```
The above can take the following optional arguments to just run specific portions of the validation:
* lint
* tests
* format
e.g.
```bash
./scripts/verify lint
```
To run a more fuller validation across all supported python versions run tox.
```bash
tox
```
If needed, configure the paths to the relevant python installations for tox as follows.
```bash
set TOX_DISCOVER=C:\Applications\miniconda3\envs\py39\python.exe
```
## VS Code Extensions
If you are using VS Code, it is recommended you install two extensions