Skip to content
Update Developer Guide authored by Brian's avatar Brian
# 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
... ...
......