Skip to content

Build from Source

Tim Paine edited this page Nov 6, 2024 · 1 revision

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

Make commands

As a convenience, ccflow 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

ccflow 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/ccflow.git
cd ccflow

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

ccflow 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

ccflow has extensive Python tests. The tests can be run via pytest. First, install the Python development dependencies with

make develop

Python

make test