Skip to main content

coiled

CI TypeScript Coverage PyPI Python 3.14+ License: MIT Code style: ruff

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.sh is idempotent—rerun it after pulling dependency changes
  • Use uv sync --frozen to 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.sh under 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)

Source distribution for habemus-papadum-coiled 0.1.0
File Size Uploaded
habemus_papadum_coiled-0.1.0.tar.gz 97.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for habemus-papadum-coiled 0.1.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page