Skip to content

Develop

EXDYSA edited this page Jun 8, 2025 · 96 revisions

Development

Tip

To use 3D graphics cards, please ensure current drivers are installed.

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 open Terminal and type:

xcode-select --install

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 Zodiac :

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

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

    Ensure Ollama, LMStudio, Cortex, Llamafile is running your models of choice. Then use this command to open the terminal client:

    zodiac
    

    Furthermore, Zodiac is designed to work on a mobile device using the serve command. An independent session can be opened with the method from the same Wi-Fi network using browser or SSH.


    For nnll :

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

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