|
# Developer Guide
|
|
|
|
|
|
|
|
SCDV is developed in Python using [Qt for Python](https://wiki.qt.io/Qt_for_Python). The Python version must be the same as the currently supported version of Blender so that the SCDV [Blender add-on](/blender) will function smoothly.
|
|
SCDV is developed in Python using [Qt for Python](https://wiki.qt.io/Qt_for_Python). The Python version must be the same as the currently supported version of Blender so that the SCDV [Blender add-on](/blender) will function smoothly.
|
|
|
|
|
|
[[_TOC_]]
|
|
[[_TOC_]]
|
|
|
|
|
|
## Core Guidelines
|
|
# Core Guidelines
|
|
|
|
|
|
- Python [3.9.2](https://www.python.org/downloads/release/python-392/)
|
|
- Python [3.9.2](https://www.python.org/downloads/release/python-392/)
|
|
- [Black](https://black.readthedocs.io/en/stable/) for code style/formatting
|
|
- [Black](https://black.readthedocs.io/en/stable/) for code style/formatting
|
... | @@ -19,13 +17,13 @@ SCDV is developed in Python using [Qt for Python](https://wiki.qt.io/Qt_for_Pyth |
... | @@ -19,13 +17,13 @@ SCDV is developed in Python using [Qt for Python](https://wiki.qt.io/Qt_for_Pyth |
|
As stated above, SCDV uses [Poetry][] to manage dependencies and requirements. See the `pyproject.toml` file in the repo for what python dependencies are being used in SCDV. During development, however, many changes may actually be done in [scdatatools][]. It's recommended to clone both projects, then use `pip install -e` the local version of scdatatools.
|
|
As stated above, SCDV uses [Poetry][] to manage dependencies and requirements. See the `pyproject.toml` file in the repo for what python dependencies are being used in SCDV. During development, however, many changes may actually be done in [scdatatools][]. It's recommended to clone both projects, then use `pip install -e` the local version of scdatatools.
|
|
|
|
|
|
|
|
|
|
## Developer Quick Start
|
|
# Developer Quick Start
|
|
|
|
|
|
While there are many ways to configure your development environment, the following methods are known to work/repeatable.
|
|
While there are many ways to configure your development environment, the following methods are known to work/repeatable.
|
|
|
|
|
|
### System Dependencies
|
|
## System Dependencies
|
|
|
|
|
|
#### Windows
|
|
### Windows
|
|
|
|
|
|
> All command snippets are assumed to be in Git Bash unless specifically stated otherwise
|
|
> All command snippets are assumed to be in Git Bash unless specifically stated otherwise
|
|
|
|
|
... | @@ -51,7 +49,7 @@ pyenv install 3.9.2 |
... | @@ -51,7 +49,7 @@ pyenv install 3.9.2 |
|
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
|
|
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
|
|
```
|
|
```
|
|
|
|
|
|
#### Linux/OSX
|
|
### Linux/OSX
|
|
|
|
|
|
##### pyenv
|
|
##### pyenv
|
|
|
|
|
... | @@ -74,7 +72,7 @@ curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poet |
... | @@ -74,7 +72,7 @@ curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poet |
|
```
|
|
```
|
|
|
|
|
|
|
|
|
|
### Cloning
|
|
## Cloning
|
|
|
|
|
|
The recommend folder structure is created as follows.
|
|
The recommend folder structure is created as follows.
|
|
|
|
|
... | @@ -102,7 +100,7 @@ poetry run python -m pip install -e ../../frameworks/scdatatools |
... | @@ -102,7 +100,7 @@ poetry run python -m pip install -e ../../frameworks/scdatatools |
|
```
|
|
```
|
|
|
|
|
|
|
|
|
|
## Running
|
|
# Running
|
|
|
|
|
|
From within the `scmodding/tools/scdv/` folder:
|
|
From within the `scmodding/tools/scdv/` folder:
|
|
|
|
|
... | @@ -111,7 +109,7 @@ poetry run python -m scdv |
... | @@ -111,7 +109,7 @@ poetry run python -m scdv |
|
```
|
|
```
|
|
|
|
|
|
|
|
|
|
## PyCharm
|
|
# PyCharm
|
|
|
|
|
|
|
|
|
|
|
|
|
... | |
... | |
... | | ... | |