Skip to main content

wilco

Server-defined React components for Python backends.

PyPI version Python versions CI Documentation License

Documentation: FastAPI Guide | Django Guide | Flask Guide | Starlette Guide

Features

  • Co-locate components with backend logic — Keep UI components next to the Python code that powers them
  • No frontend build pipeline — Components bundled on-the-fly with esbuild when requested
  • Production-ready — Pre-compile bundles with wilco build for static file serving
  • Full source map support — Debug TypeScript directly in browser devtools
  • Component composition — Components can dynamically load other components
  • Framework agnostic — Works with FastAPI, Django, Flask, Starlette, or any ASGI/WSGI-compatible framework

Quick Start

pip install wilco[fastapi]  # or wilco[django], wilco[flask], wilco[starlette]

Create a component

my_components/
└── greeting/
    ├── __init__.py
    ├── index.tsx
    └── schema.json
// index.tsx
interface GreetingProps {
  name: string;
  formal?: boolean;
}

export default function Greeting({ name, formal = false }: GreetingProps) {
  const message = formal ? `Good day, ${name}.` : `Hey ${name}!`;
  return <p>{message}</p>;
}

Mount the API

from pathlib import Path
from fastapi import FastAPI
from wilco import ComponentRegistry
from wilco.bridges.fastapi import create_router

app = FastAPI()
registry = ComponentRegistry(Path("./my_components"))
app.include_router(create_router(registry), prefix="/api")

Load in React

import { useComponent } from '@wilcojs/react';

function App() {
  const Greeting = useComponent('greeting');
  return <Greeting name="World" />;
}

For component schemas, composition patterns, and framework-specific guides, see the documentation.

API Endpoints

Endpoint Description
GET /api/bundles List available components
GET /api/bundles/{name}.js Get bundled JavaScript
GET /api/bundles/{name}/metadata Get component metadata

Requirements

  • Python 3.10+
  • Node.js (for esbuild bundling)
  • React 19 on the frontend (bundled in the standalone loader)

CLI

wilco serve                        # Start development server (default)
wilco build --output dist/wilco/   # Pre-compile bundles for production
wilco build --output dist/wilco/ --prefix store --no-minify --sourcemap

See the CLI reference for all options.

Development

This project follows strict TDD methodology.

make test    # Run all tests
make docs    # Build documentation
make help    # Show all available commands

License

Makersquad Source License 1.0 — see LICENSE.md for details.

Free for non-commercial use. Commercial use requires a license. Contact licensing@makersquad.fr for inquiries.

Metadata

Release files for wilco 0.5.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wilco 0.5.3
File Size Uploaded Provenance
wilco-0.5.3.tar.gz 4.9 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for wilco 0.5.3
File Interpreter ABI Platform
wilco-0.5.3-py3-none-any.whl Python 3 none any Details

Total release size: 5.0 MB

Release files / wilco-0.5.3.tar.gz

Download URL wilco-0.5.3.tar.gz
Size 4.9 MB
Tags Source
SHA-256 checksum
How to use checksums
4eb4d6e1d34151182cc244e14463d90670369980353579ab3317c60385b49388
BLAKE2b-256 checksum
How to use checksums
2279c55cf297937f3295533516e9b937e80e33d7130e57987eded9c0b13e798a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 30, 2026.

Transparency log

Release files / wilco-0.5.3-py3-none-any.whl

Download URL wilco-0.5.3-py3-none-any.whl
Size 112.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
66eae556ed8917eeea190cb6de7f6f061cbcbf8645465b5d32c821bb81604e5f
BLAKE2b-256 checksum
How to use checksums
74f931ba2c106b9c1a966a8b7f249e8fa63cc3d1fb071374e7ede1cfacf57acd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 30, 2026.

Transparency log

Security for wilco 0.5.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for wilco-0.5.3.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 30, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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