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.
[[_TOC_]]
## Core Guidelines
- Python [3.9.2](https://www.python.org/downloads/release/python-392/)
- [Black](https://black.readthedocs.io/en/stable/) for code style/formatting
- Dependencies managed by [Poetry][]
- Release packages built with [briefcase](https://beeware.org/project/projects/tools/briefcase/)
- Supporting Windows, Linux, OSX
> In this early phase of development, Linux and OSX support is not being kept up to date. Even so, always take multi-platform support into account when working on SCDV
## Dependencies
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
### I know what I'm doing quickstart
#### Initial Setup
Recommended setup:
```bash
mkdir -p scmodding/{tools,frameworks}/
cd scmodding
git clone git@gitlab.com:scmodding/tools/scdv.git tools/scdv
git clone git@gitlab.com:scmodding/frameworks/scdatatools.git frameworks/scdatatools
cd tools/scdv
poetry install
poetry run python -m pip install -e ../../frameworks/scdatatools
```
#### Running
```bash
poetry run python -m scdv
```
[Poetry]: https://python-poetry.org/
[scdatatools]: https://gitlab.com/scmodding/frameworks/scdatatools
\ No newline at end of file