coiled
Coiled utils
Installation
Install using pip:
pip install coiled
Or using uv:
uv pip install coiled
Usage
from pdum import coiled
print(coiled.__version__)
Development
This project uses UV for dependency management.
Setup
# Install UV if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install pnpm (required for the widgets workspace)
curl -fsSL https://get.pnpm.io/install.sh | sh -
# Clone the repository
git clone https://github.com/habemus-papadum/coiled.git
cd coiled
# Provision the entire toolchain (uv sync, pnpm install, widget build, pre-commit hooks)
./scripts/setup.sh
Important for Development:
./scripts/setup.shis idempotent—rerun it after pulling dependency changes- Use
uv sync --frozento ensure the lockfile is respected when installing Python deps - The widgets live in
widgets/and are managed with pnpm (see "TypeScript widgets" below)
Running Tests
# Run all tests
uv run pytest
# Run a specific test file
uv run pytest tests/test_example.py
# Run a specific test function
uv run pytest tests/test_example.py::test_version
# Run tests with coverage
uv run pytest --cov=src/pdum/coiled --cov-report=xml --cov-report=term
Code Quality
# Check code with ruff
uv run ruff check .
# Format code with ruff
uv run ruff format .
# Fix auto-fixable issues
uv run ruff check --fix .
TypeScript widgets (pnpm)
# Lint the widget source
pnpm lint
# Type-check only the widgets package
pnpm --filter '@habemus-papadum/coiled-widgets' typecheck
# Build the browser bundle and copy it into the Python package
pnpm --filter '@habemus-papadum/coiled-widgets' build:python
# Run Vitest (or add --coverage)
pnpm --filter '@habemus-papadum/coiled-widgets' test
Building
# Build Python + TypeScript artifacts
./scripts/build.sh
# Or build just the Python distribution artifacts
uv build
Publishing
# Build and publish to PyPI (requires credentials)
./scripts/publish.sh
Automation scripts
./scripts/setup.sh– bootstrap uv, pnpm, widget bundle, and pre-commit hooks./scripts/build.sh– reproduce the release build locally./scripts/pre-release.sh– run the full battery of quality checks./scripts/release.sh– orchestrate the release (creates tags, publishes to PyPI/GitHub)./scripts/test_notebooks.sh– execute demo notebooks (uses./scripts/nb.shunder the hood)./scripts/setup-visual-tests.sh– install Playwright browsers for visual tests
License
MIT License - see LICENSE file for details.
Metadata
Release files for habemus-papadum-coiled 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| habemus_papadum_coiled-0.1.0.tar.gz | 97.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| habemus_papadum_coiled-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 106.3 kB
Release files / habemus_papadum_coiled-0.1.0.tar.gz
| Download URL | habemus_papadum_coiled-0.1.0.tar.gz |
|---|---|
| Size | 97.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f08e13e5658a503c5aba4bc0fa0b54cdb8f428b983fc3c2d798be4ba288d51b6
|
|
BLAKE2b-256 checksum How to use checksums |
132e27c55209eb8cd0af3094116fb604de5554f2f80220b5321c1f66bef276d0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-httpx/0.28.1
|
Release files / habemus_papadum_coiled-0.1.0-py3-none-any.whl
| Download URL | habemus_papadum_coiled-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5ac469228993ce8002b754e0b002c33a55b95717ca6f2e3619f16c5ba3aba85f
|
|
BLAKE2b-256 checksum How to use checksums |
fa69df8c5cc3d306375694ed208bd8c3b51ce0ce98a6f168c19d514dd1f02b46
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-httpx/0.28.1
|