Skip to content

Develop

EXDYSA edited this page Jun 8, 2025 · 96 revisions

Development

Tip

Optional: Ensure current drivers are installed for 3D graphics cards

NVIDIA

CUDA Toolkit for gguf support

linux [export CMAKE_ARGS="-DGGML_CUDA=on"] -windows [setx CMAKE_ARGS="-DGGML_CUDA=on"] for OUTETTS support

AMD

ROCm/HIP SDK Windows for gguf support

ROCm SDK Linux for gguf support

linux [export CMAKE_ARGS="-DGGML_HIPBLAS=on"] -windows [setx CMAKE_ARGS="-DGGML_HIPBLAS=on"] for OUTETTS support

INTEL

APPLE

or just open Terminal and type:

xcode-select --install

type export CMAKE_ARGS="-DGGML_METAL=on" for OUTETTS support

  • Our Python tools are set up to use uv. Simply git clone a repo:

    git clone https://github.com/darkshapes/nnll
    cd nnll
    
    git clone https://github.com/darkshapes/zodiac
    cd zodiac
    
    git clone https://github.com/darkshapes/sdbx
    cd sdbx
    
    git clone https://github.com/darkshapes/mir
    cd mir
    

    then:

    uv sync --group dev
    

    You can also try commands from Zodiac, MIR, sdbx or nnll without any installation:

    uvx --from git+https://github.com/darkshapes/zodiac zodiac
    
  • For singularity :

    We use Bun for TypeScript/React projects.

    Clone the repo

    git clone https://github.com/darkshapes/singularity
    

    Then install and open your dev copy:

    cd singularity
    bun install
    bun run dev
    

Pip Setup

  • Install Git (Windows Only)

  • Configure advanced GPU settings (OPTIONAL. Linux, flash-attn, PyTorch compile, etc)

  • Clone your repo(s)

    For sdbx :

    git clone https://github.com/darkshapes/sdbx
    pip install -e "sdbx[dev]"
    sdbx
    ```<hr>
    

    For nnll :

    git clone https://github.com/darkshapes/nnll
     pip install -e "zodiac[dev]"
    

    For mir :

    git clone https://github.com/darkshapes/nnll
     pip install -e "zodiac[dev]"
    

    For Zodiac :

    git clone https://github.com/darkshapes/zodiac.git
    pip install -e "zodiac[dev]"
    

Linux users should ensure libportaudio2 is installed via system package manager. MacOS users should have ffmpeg from factory, use brew to install if not. This doesn't apply to Windows.

Ensure Ollama, LMStudio, Cortex, Llamafile are available for LLMs.

General Development Reference

*  Environment   : uv
*  Logging       : structlog (viztrace on crashes) to `/log` folder
*  Testing       : pytest -vv tests
*  Formatting    : ruff/better align
*  Linting       : ruff/pylint
*  Type Checking : pylance/pyright
*  Spelling      : typos vsc
*  Docstrings    : sphinx

Important

Review the Contributing documentation for more information.

This will help you understand our project's guidelines and what you might enjoy helping with.

Happy Hacking!

Clone this wiki locally