Files
serena/CONTRIBUTING.md
T
Michael Panchenko 14f626fc3f Readme
2025-04-01 20:52:16 +02:00

1.5 KiB

Contributing to Serena

Serena is under active development. We are just discovering what it can do and where the limitations lie.

Feel free to share your learnings by opening open new issues, feature requests and extensions.

Developer Environment Setup

You can have a local setup via uv or a docker interpreter-based setup. The repository is also configured to seamlessly work within a GitHub Codespace. See the instructions for the various setup scenarios below.

Independently of how the setup was done, the virtual environment can be created and activated via uv (see below), and the various tasks like formatting, testing, and documentation building can be executed using poe. For example, poe format will format the code, including the notebooks. Just run poe to see the available commands.

Python (uv) setup

You can install a virtual environment with the required as follows

  1. Create a new virtual environment: uv venv
  2. Activate the environment:
    • On Linux/Unix/macOS: source .venv/bin/activate
    • On Windows: .venv\Scripts\activate.bat
  3. Install the required packages with all extras: uv pip install --all-extras -r pyproject.toml -e .

Docker setup

Build the docker image with

docker build -t serena .

and run it with the repository mounted as a volume:

docker run -it --rm -v "$(pwd)":/workspace serena

You can also just run bash docker_build_and_run.sh, which will do both things for you.

Note: For the Windows subsystem for Linux (WSL), you may need to adjust the path for the volume.