Skip to content

Navigation Menu

Sign in
Sign up

Repository files navigation

cryowire

cryowire/app

Web UI for browsing and editing dilution refrigerator wiring configurations.

Website

For Users

1. Create your data repository

Go to cryowire/template and click "Use this template" to create your own data repository on GitHub.

2. Customize templates

In your new repository, edit the files to match your lab:

File What to customize
components.yaml Register the RF/microwave parts in your lab
templates/control_module.yaml Default control line wiring
templates/readout_send_module.yaml Default readout send wiring
templates/readout_return_module.yaml Default readout return wiring

Delete the sample data (your-cryo/ directory) and push.

3. Launch the app

git clone https://github.com/cryowire/app.git
cd app
cp .env.example .env

Edit .env with your repository URL and GitHub token:

REPO_URL=https://github.com/<your-user>/<your-repo>.git
GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

The token is required for the app to push changes back to your repository. Generate one at github.com/settings/tokens with repo scope.

make up

Open http://localhost:3000 and start managing your wiring configurations.

4. Daily workflow

  • New cooldown — Click "New Cooldown" in the UI. Creates <cryo>/<YYYY>/cdNNN/ automatically
  • Edit wiring — Click any line to modify components per stage
  • View diagrams — Wiring diagrams and summary tables update in real-time
  • Git sync — All changes are committed and pushed to your GitHub repository automatically

For Developers

Docker Compose

# Production (built images, named volume)
make up
# Development (hot-reload, local ./data mount)
make seed # Populate sample data (first time only)
make up-dev
# Stop
make down

Local Development (no Docker)

make setup # Install Python + Node dependencies
make seed # Populate sample data
make backend # Terminal 1: API server on :8000
make frontend # Terminal 2: Next.js dev server on :3000

OpenAPI / API Client

make api-schema # Export schema + regenerate frontend client (Orval)

Project Structure

app/
├── src/cryowire_app/ # FastAPI backend
│ ├── api.py # REST API endpoints
│ ├── cli.py # CLI entry point (cryowire-app)
│ └── repo.py # Git data repository manager
├── frontend/ # Next.js frontend
│ ├── src/
│ │ ├── app/ # Pages (App Router)
│ │ ├── components/ # React components
│ │ ├── api/ # Generated API client (Orval)
│ │ └── types/ # TypeScript types
│ ├── Dockerfile # Production multi-stage build
│ └── Dockerfile.dev # Development (hot-reload)
├── templates/ # Bundled YAML templates
├── seed/ # Sample data for local development
├── compose.yaml # Production Docker Compose
├── compose.dev.yaml # Development Docker Compose
├── Dockerfile # Backend container
└── Makefile # Task runner

About

Web UI for browsing and editing dilution refrigerator wiring configurations.

Resources

Code of conduct

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /