Installation#

To use ccp you will need python >= 3.9. The ccp application needs python >= 3.10.

Core Library#

You can install the core ccp library with:

pip install ccp-performance

Application#

ccp includes an application for performance tests (ASME PTC 10, straight-through and back-to-back), curves conversion, curves digitizing and performance evaluation of plant data. Install it with one of these extras:

pip install "ccp-performance[desktop]"   # the app in a native window (pywebview)
pip install "ccp-performance[web]"       # the app in your browser

The web extra installs the Django application and its local server; the desktop extra adds pywebview for the native window. On python 3.9 these extras install nothing, and the app will not start.

Start the app with:

ccp-app

ccp-app opens the app in a desktop window, or in your default browser when the window cannot open: pywebview (the desktop extra) is not installed, there is no graphical display or, on Linux, there is no Qt or GTK toolkit for it (install pywebview[qt], or PyGObject and GTK, to get the window there). The ccp-web command gives more control:

ccp-web desktop                # native window (desktop extra; on Linux also Qt/GTK)
ccp-web serve                  # local server, opens the default browser
ccp-web serve --port 8000      # choose the port (by default a free one is picked)
ccp-web serve --no-browser     # only print the URL

ccp-web with no command does the same as ccp-app. Where console scripts are not on the PATH (e.g. a locked environment), use python -m ccp_web, python -m ccp_web serve or python -m ccp_web desktop. The app runs on 127.0.0.1 and prints its URL; stop it with Ctrl+C or by closing the window.

At start the app applies its database migrations and starts its background workers. Your cases, uploaded files and results are kept in your user data directory; set the CCP_DATA_DIR environment variable to keep them somewhere else.

The curves digitizer page also needs the digitize extra and the Tesseract OCR binary:

pip install "ccp-performance[desktop,digitize]"

Streamlit Application#

The previous Streamlit application is still available while the new application is being signed off. Install it with the app extra and start it with ccp-app --streamlit:

pip install "ccp-performance[app]"
ccp-app --streamlit

.ccp files can be opened in both applications.

Development Dependencies#

For development work, clone the repository and install every extra and the development tools with uv:

uv sync --all-extras

See the Contributing guide for details.

AI assistance#

ccp ships with an agent skill — a set of concise compressor-performance recipes in the Agent Skills open standard that teaches AI coding agents how to build states, points and impellers and run performance analyses with ccp. After installing ccp, install the skill with:

ccp-install-skill

This detects the AI coding agents on your machine (Claude Code, GitHub Copilot, Cursor, Codex) and copies the skill to each one’s personal skills directory. Useful variations:

ccp-install-skill --project          # install into the current project (shared with your team)
ccp-install-skill --agent claude     # install for a specific agent only
ccp-install-skill --uninstall        # remove the skill

Once installed, the skill activates automatically whenever you ask your agent about centrifugal compressor performance with ccp — for example, “create an impeller from these test points and convert the curves to the new suction condition”. In Claude Code you can also invoke it explicitly with the /ccp slash command.

The skill is a snapshot of the recipes for the installed ccp version, so re-run ccp-install-skill after upgrading ccp.

While the application is running, AI agents can also work with the case you have open (read and change its inputs, run its calculation) through ccp-web agent; every change they make can be undone from the app. This needs no extra installation. See ccp-web agent --help, or connect an MCP client with ccp-web agent mcp.

REFPROP#

REFPROP is optional. Without it, ccp warns at import and uses CoolProp (HEOS backend) for the gas properties. To use REFPROP, install it and set an environment variable called RPPREFIX pointing to the REFPROP path (on Windows, C:\Users\Public\REFPROP is also found automatically).

If you have not set a RPPREFIX environment variable, you can do the following before importing ccp:

import os
os.environ['RPPREFIX'] = <path/to/REFPROP/folder>

import ccp

For the application, set RPPREFIX before running ccp-app or ccp-web.