# pycse - Python computations in science and engineering
[](https://github.com/jkitchin/pycse/actions/workflows/pycse-tests.yaml)
[](https://codecov.io/gh/jkitchin/pycse)
[](https://pepy.tech/projects/pycse)
[](https://badge.fury.io/py/pycse)
[](https://github.com/jkitchin/pycse/actions/workflows/deploy.yml)
If you want to cite this project, use this doi:10.5281/zenodo.23396321 (pycse 2.12.0). All releases are archived at [zenodo.org/records/591754](https://zenodo.org/records/591754), which always redirects to the latest version; see [CITATION.cff](CITATION.cff) for full metadata.
[](https://doi.org/10.5281/zenodo.23396321)
```bibtex
@software{kitchin_pycse_2026,
author = {John R. Kitchin},
title = {pycse: Python Computations in Science and Engineering},
version = {2.12.0},
year = 2026,
publisher = {Zenodo},
doi = {10.5281/zenodo.23396321},
url = {https://doi.org/10.5281/zenodo.23396321}
}
```
This git repository hosts my notes on using python in scientific and engineering calculations. The aim is to collect examples that span the types of computation/calculations scientists and engineers typically do to demonstrate the utility of python as a computational platform in engineering education.
## Installation
You may want to install the python library with pycse:
```sh
pip install pycse
```
Feeling brave? You can install the cutting edge from GitHub:
```sh
pip install git+https://github.com/jkitchin/pycse
```
## AI agent skill and MCP server
pycse ships an [Agent Skills](https://agentskills.io) skill that teaches coding agents
(Claude Code, Codex, VS Code/Copilot, Gemini CLI, Cursor, OpenCode, ...) how to use pycse,
and an MCP server with design-of-experiments and documentation tools. Install them with
[knowhow](https://github.com/jkitchin/knowhow) (or `npx skills` for the skill):
```sh
uvx knowhow add jkitchin/pycse --skill pycse # this project; add -g for all projects
uvx knowhow add jkitchin/pycse --mcp pycse # MCP server (runs uvx --from "pycse[mcp]" pycse_mcp)
npx skills add jkitchin/pycse --skill pycse
```
The repository is also a Claude Code plugin marketplace:
`/plugin marketplace add jkitchin/pycse` then `/plugin install pycse@pycse`.
If pycse is already installed, `pycse skill install` copies the skill to `~/.claude/skills/pycse`.
## Docker
You can use a Docker image to run everything here. You have to have Docker installed and working on your system.
See [docker/](./docker/) for the setup used.
### Option 1
I provide a `pycse` command-line utility that is installed with the package. Simply run `pycse` in a shell in the directory you want to start Jupyter lab in. When done, type C-c <return> in the shell to quit, and it should be good.
### Option 2
You can manually pull the image:
```sh
docker pull jkitchin/pycse:latest
```
Then, run the [docker/pycse.sh](./docker/pycse.sh) script. This script mounts the current working directory, and takes care of choosing a random port.
## Documentation
See https://kitchingroup.cheme.cmu.edu/pycse/docs/pycse.html for the Python documentation.