Skip to content

Build from Source

github-actions[bot] edited this page Nov 20, 2024 · 6 revisions

csp-adapter-symphony is written in Python. While prebuilt wheels are provided for end users, it is also straightforward to build csp-adapter-symphony from either the Python source distribution or the GitHub repository.

Table of Contents

Make commands

As a convenience, csp-adapter-symphony uses a Makefile for commonly used commands. You can print the main available commands by running make with no arguments

> make

build                          build the library
clean                          clean the repository
fix                            run autofixers
install                        install library
lint                           run lints
test                           run the tests

Prerequisites

csp-adapter-symphony has a few system-level dependencies which you can install from your machine package manager. Other package managers like conda, nix, etc, should also work fine.

Clone

Clone the repo with:

git clone https://github.com/Point72/csp-adapter-symphony.git
cd csp-adapter-symphony

Install Python dependencies

Python build and develop dependencies are specified in the pyproject.toml, but you can manually install them:

make requirements

Note that these dependencies would otherwise be installed normally as part of PEP517 / PEP518.

Build

Build the python project in the usual manner:

make build

Lint and Autoformat

csp-adapter-symphony has linting and auto formatting.

Language Linter Autoformatter Description
Python ruff ruff Style
Markdown mdformat mdformat Style
Markdown codespell Spelling

Python Linting

make lint-py

Python Autoformatting

make fix-py

Documentation Linting

make lint-docs

Documentation Autoformatting

make fix-docs

Testing

csp-adapter-symphony has extensive Python tests. The tests can be run via pytest. First, install the Python development dependencies with

make develop

Python

make test