PostgreSQL schema evolution with built-in multi-agent coordination ๐
Project description
Confiture ๐
PostgreSQL schema evolution with built-in multi-agent coordination
Confiture enables teams and AI agents to collaborate on database schema changes safely, with built-in multi-agent coordination and 4 flexible migration strategies for every scenario from local development to zero-downtime production deployments.
Part of the FraiseQL ecosystem - While Confiture works standalone for any PostgreSQL project, it's designed to integrate seamlessly with FraiseQL's GraphQL-first approach.
๐ Part of the FraiseQL Ecosystem
confiture accelerates PostgreSQL schema evolution across the FraiseQL stack:
Server Stack (PostgreSQL + Python/Rust)
| Tool | Purpose | Status | Performance Gain |
|---|---|---|---|
| pg_tviews | Incremental materialized views | Beta | 100-500ร faster |
| jsonb_delta | JSONB surgical updates | Stable | 2-7ร faster |
| pgGit | Database version control | Stable | Git for databases |
| confiture | PostgreSQL migrations | Beta | 300-600ร faster (theoretical) |
| fraiseql | GraphQL framework | Stable | 7-10ร faster |
| fraiseql-data | Seed data generation | Phase 6 | Auto-dependency resolution |
Client Libraries (TypeScript/JavaScript)
| Library | Purpose | Framework Support |
|---|---|---|
| graphql-cascade | Automatic cache invalidation | Apollo, React Query, Relay, URQL |
How confiture fits:
- Build from DDL โ Fresh DB in <1s for fraiseql GraphQL testing
- pgGit automatically tracks confiture migrations
- Manage pg_tviews schema evolution with 4 migration strategies
- fraiseql-data seeds the schema confiture built
Intended workflow:
# Build schema from DDL files
confiture build --env test
# Seed test data
fraiseql-data add tb_user --count 100
# Run GraphQL tests
pytest
Why Confiture?
Safe Multi-Agent Collaboration ๐ค
Working on database schemas with multiple agents or team members? Confiture provides automatic conflict detection:
# Agent 1: Declare intention to modify users table
confiture coordinate register --agent-id alice --tables-affected users
# Agent 2: Before modifying users table, check for conflicts
confiture coordinate check --agent-id bob --tables-affected users
# โ ๏ธ Conflict detected: alice is already working on 'users' table
Benefits:
- ๐ก๏ธ Prevent conflicts before code is written
- ๐๏ธ Visibility into all active schema work
- ๐ Audit trail of coordination decisions
- ๐ค JSON output for CI/CD integration
Perfect for solo developers (optional safety), small teams (avoid surprises), and AI-assisted development (parallel agents).
โ Learn more about Multi-Agent Coordination
The Problem with Migration History
Traditional migration tools (Alembic, Django migrations, Flyway) use migration history replay: every time you build a database, the tool executes every migration file in order. This works, but it's slow and brittle:
- Slow: Fresh database builds take 5-10 minutes (replaying hundreds of operations)
- Brittle: One broken migration breaks everything - your database history is fragile
- Complicated: Developers maintain two things: current schema AND migration history
- Messy: Technical debt accumulates as migrations pile up over months/years
The Confiture Approach
Confiture flips the model: DDL source files are the single source of truth. To build a database:
- Read all
.sqlfiles indb/schema/ - Execute them once (in order)
- Done โ
No migration history to replay. No accumulated technical debt. Just your actual, current schema. Fresh databases in <1 second.
Intended Advantages Over Alembic
| Feature | Confiture | Alembic | Notes |
|---|---|---|---|
| Fresh DB setup | Direct DDL execution | Migration replay | Theoretically faster |
| Zero-downtime migrations | Via FDW (planned) | Not built-in | Not yet production-tested |
| Production data sync | Built-in (with PII anonymization) | Not available | Not yet production-tested |
| Schema diffs | Auto-generated | Manual | Implemented |
| Conceptual simplicity | DDL-first | Migration-first | Different philosophy |
What's Implemented
- โ 4 migration strategies (Build from DDL, ALTER, Production Sync, FDW)
- โ Python + optional Rust extension
- โ PII anonymization strategies
- โ Comprehensive test suite (3,200+ tests)
- โ ๏ธ Not yet used in production - Beta software
Core Features
๐ค Multi-Agent Coordination (NEW!)
Enable safe parallel schema development with automatic conflict detection:
# Register intention before making changes
confiture coordinate register \
--agent-id alice \
--feature-name user_profiles \
--tables-affected users,profiles
# Check status and conflicts
confiture coordinate status --format json
# Complete when done
confiture coordinate complete --intent-id int_abc123
Key capabilities:
- โ Declare intentions before coding
- โ Automatic conflict detection (table, column, timing overlaps)
- โ Audit trail with rich terminal output
- โ JSON output for automation/CI-CD
- โ Performance: <10ms operations, 10K+ intents supported
โ Multi-Agent Coordination Guide | โ Architecture Details
๐ ๏ธ Four Migration Strategies
Choose the right strategy for your use case:
1๏ธโฃ Build from DDL - Execute DDL files directly (<1 second)
confiture build --env production
2๏ธโฃ Incremental Migrations - ALTER-based changes for existing databases
confiture migrate up
3๏ธโฃ Production Data Sync - Copy data with PII anonymization
confiture sync --from production --anonymize users.email
4๏ธโฃ Schema-to-Schema (Zero-Downtime) - Complex migrations via FDW
confiture migrate schema-to-schema --strategy fdw
Quick Start
Installation
pip install fraiseql-confiture
# Or with FraiseQL integration
pip install fraiseql-confiture[fraiseql]
For Solo Developers (Traditional Workflow)
# 1. Initialize project
confiture init
# 2. Write schema DDL files
vim db/schema/10_tables/users.sql
# 3. Build database
confiture build --env local
# 4. Generate and apply migrations
confiture migrate generate --name "add_user_bio"
confiture migrate up
For Teams & Multi-Agent Work (Coordination Workflow)
# 1. Initialize project with coordination database
confiture init
confiture coordinate init --db-url postgresql://localhost/confiture_coord
# 2. Register intention before making changes
confiture coordinate register \
--agent-id alice \
--feature-name user_profiles \
--tables-affected users,profiles \
--schema-changes "ALTER TABLE users ADD COLUMN bio TEXT"
# 3. Check for conflicts (by other agent)
confiture coordinate check \
--agent-id bob \
--tables-affected users
# โ ๏ธ Warning: alice is working on 'users' table
# 4. View active work
confiture coordinate status --format json
# 5. Complete when done
confiture coordinate complete --intent-id int_abc123
โ Multi-Agent Coordination Guide
Project Structure
db/
โโโ schema/ # DDL: CREATE TABLE, views, functions
โ โโโ 00_common/
โ โโโ 10_tables/
โ โโโ 20_views/
โโโ seeds/ # INSERT: Environment-specific test data
โ โโโ common/
โ โโโ development/
โ โโโ test/
โโโ migrations/ # Generated migration files
โโโ environments/ # Environment configurations
โโโ local.yaml
โโโ test.yaml
โโโ production.yaml
Test Migrations Before Applying (Dry-Run)
Analyze migrations without executing them:
# Analyze pending migrations
confiture migrate up --dry-run
# Test in SAVEPOINT (guaranteed rollback)
confiture migrate up --dry-run-execute
# Save analysis to file
confiture migrate up --dry-run --format json --output report.json
# Analyze rollback impact
confiture migrate down --dry-run --steps 2
For more details, see Dry-Run Guide.
Documentation
Getting Started
- Getting Started Guide - First steps with Confiture
- When to Use Coordination? - Solo vs. team vs. multi-agent
Multi-Agent Coordination
- Multi-Agent Coordination Guide - Complete guide to coordination features
- Architecture & Design - Technical architecture details
- Performance Benchmarks - Performance analysis & results
- CI/CD Integration - JSON output for automation
Migration Strategies
Core Strategies:
- Build from DDL - Execute DDL files directly
- Incremental Migrations - ALTER-based changes
- Production Data Sync - Copy and anonymize data
- Zero-Downtime Migrations - Schema-to-schema via FDW
- Migration Decision Tree - Choose the right strategy
Advanced:
- Dry-Run Mode - Test migrations before applying
- Migration Hooks - Execute custom logic before/after migrations
- Anonymization - PII data masking strategies
- Compliance - HIPAA, SOX, PCI-DSS, GDPR
- Integrations - Slack, GitHub Actions, monitoring
API Reference
- CLI Reference - All commands documented
- Configuration - Environment configuration
- Schema Builder API - Building schemas programmatically
- Migrator API - Migration execution
- Syncer API - Production data sync
- Hook API - Migration lifecycle hooks
- Anonymization API - PII data masking
- Linting API - Schema validation rules
Examples
- Examples Overview - Complete examples
- Multi-Agent Workflow - Coordination examples (NEW!)
- Basic Migration - Learn the fundamentals
- FraiseQL Integration - GraphQL workflow
- Zero-Downtime - FDW-based migration
- Production Sync - PII anonymization
Features
๐ค Multi-Agent Coordination (Production-Ready)
- โ Intent registration - Declare changes before implementation
- โ Conflict detection - Automatic overlap detection (table, column, timing)
- โ Status tracking - Real-time visibility into active schema work
- โ Audit trail - Complete history of coordination decisions
- โ JSON output - CI/CD and automation integration
- โ High performance - <10ms operations, 10K+ intents supported
- โ 123 comprehensive tests - All passing, production-ready
๐ ๏ธ Migration System (Implemented)
- โ Build from DDL (Strategy 1) - Execute DDL files directly (<1s)
- โ Incremental migrations (Strategy 2) - ALTER-based changes
- โ Production data sync (Strategy 3) - Copy with PII anonymization
- โ Zero-downtime migrations (Strategy 4) - Schema-to-schema via FDW
๐ง Developer Experience
- โ Optional Rust extension for performance
- โ Schema diff detection with auto-generation
- โ CLI with rich terminal output
- โ Multi-environment configuration
- โ Migration hooks (pre/post execution)
- โ Schema linting with multiple rules
- โ PII anonymization strategies
- โ Dry-run mode for testing migrations
๐ Documentation (Comprehensive)
- โ Coordination guides - Multi-agent workflows, architecture, performance
- โ Migration guides - All 4 strategies documented
- โ API reference - Complete CLI and Python API docs
- โ Integration guides - CI/CD, Slack, GitHub Actions, monitoring
- โ Compliance guides - HIPAA, SOX, PCI-DSS, GDPR
- โ Examples - 5+ complete examples including multi-agent workflows
Comparison
| Feature | Alembic | pgroll | Confiture |
|---|---|---|---|
| Philosophy | Migration replay | Multi-version schema | Build-from-DDL + Coordination |
| Multi-agent coordination | โ No | โ No | โ Built-in |
| Fresh DB setup | Minutes | Minutes | <1 second |
| Zero-downtime | โ No | โ Yes | โ Yes (FDW) |
| Production sync | โ No | โ No | โ Built-in |
| Conflict detection | โ No | โ No | โ Automatic |
| CI/CD integration | Basic | Basic | โ JSON output |
| Language | Python | Go | Python + Rust |
Current Version
v0.3.9 (Latest) - January 27, 2026
โจ What's New in v0.3.9
Migration File Validation & Auto-Fix:
- โ
New
confiture migrate validatecommand with auto-fix - โ
Orphaned migration file detection (missing
.up.sqlsuffix) - โ
Safe auto-fix with
--fix-namingflag - โ
Dry-run preview mode with
--dry-run - โ JSON output for CI/CD integration
- โ Comprehensive "Migration Naming Best Practices" guide (500+ lines)
- โ 8 new tests covering all scenarios
Previous Release - v0.3.8: Multi-Agent Coordination (Production-Ready)
- โ
7 CLI commands (
confiture coordinate register/check/status/complete/abandon/list/conflicts) - โ Automatic conflict detection (table, column, function, constraint, index, timing)
- โ JSON output for CI/CD integration
- โ 123 comprehensive tests (all passing)
- โ Performance: <10ms operations, 10K+ intents supported
- โ Complete documentation (3,500+ lines)
โ ๏ธ Beta Software: While the multi-agent coordination system is production-ready and thoroughly tested, Confiture has not yet been used in production environments. Real-world usage may reveal edge cases. Use with appropriate caution.
What's Implemented
- โ Multi-agent coordination with conflict detection
- โ All 4 migration strategies (Build from DDL, ALTER, Production Sync, FDW)
- โ Comprehensive test suite (3,200+ migration tests, 123 coordination tests)
- โ Complete documentation and guides
- โ Python 3.11, 3.12, 3.13 support
- โ Optional Rust extension
- โ Migration hooks, schema linting, anonymization strategies
What's NOT Validated
- โ Production usage (never deployed to production)
- โ Performance claims (benchmarks only, not real-world workloads)
- โ Edge cases under load (not battle-tested at scale)
- โ Large-scale data migrations (theoretical performance)
Contributing
Contributions welcome! We'd love your help making Confiture even better.
Quick Start:
# Clone repository
git clone https://github.com/fraiseql/confiture.git
cd confiture
# Install dependencies (includes Rust build)
uv sync --all-extras
# Build Rust extension
uv run maturin develop
# Run tests
uv run pytest --cov=confiture
# Format code
uv run ruff format .
# Type checking
uv run mypy python/confiture/
Resources:
- CONTRIBUTING.md - Contributing guidelines
- CLAUDE.md - AI-assisted development guide
- PHASES.md - Detailed roadmap
What to contribute:
- ๐ Bug fixes
- โจ New features
- ๐ Documentation improvements
- ๐ก New examples
- ๐งช Test coverage improvements
Author
Vibe-engineered by Lionel Hamayon ๐
Confiture was crafted with care as the migration tool for the FraiseQL ecosystem, combining the elegance of Python with the performance of Rust, and the sweetness of strawberry jam.
License
MIT License - see LICENSE for details.
Copyright (c) 2025 Lionel Hamayon
Acknowledgments
- Inspired by printoptim_backend's build-from-scratch approach
- Built for FraiseQL GraphQL framework
- Influenced by pgroll, Alembic, and Reshape
- Developed with AI-assisted vibe engineering โจ
FraiseQL Ecosystem
Confiture is part of the FraiseQL family:
Making jam from strawberries, one migration at a time. ๐โ๐ฏ
Vibe-engineered with โค๏ธ by Lionel Hamayon
Documentation โข GitHub โข PyPI
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fraiseql_confiture-0.3.10.tar.gz.
File metadata
- Download URL: fraiseql_confiture-0.3.10.tar.gz
- Upload date:
- Size: 1.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aeadf9de78fe92916a33a277bd666945073e95cf73b72d1598d9c609b1a28c44
|
|
| MD5 |
e26678c97b64ba5b1b60a3cb4b3295b3
|
|
| BLAKE2b-256 |
c3bf0e5c039739c86a720434fe072387db23bd6d317eb3babf71178d378e1d29
|
File details
Details for the file fraiseql_confiture-0.3.10-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: fraiseql_confiture-0.3.10-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 554.4 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
839d264c6b03dfa4b01bd242d76cf886e6b138fe4018f618a293d55d11a609e6
|
|
| MD5 |
5c1730d42a272eb552c47f49743490eb
|
|
| BLAKE2b-256 |
6bd9b34cd657a429f902c6c12518c66586ae000965eb11690f3b6263998cdb06
|
File details
Details for the file fraiseql_confiture-0.3.10-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: fraiseql_confiture-0.3.10-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 554.4 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0d2203a3440625a254d8f7f59640451c463bb784ce3a4dbe591bd07154e69c5
|
|
| MD5 |
ced2772fee2afb21fa84e9fa292952b6
|
|
| BLAKE2b-256 |
bf95ecb0ef346a71b948ea69222d6e2fa0ad069520308960c80911eb4cfc1441
|
File details
Details for the file fraiseql_confiture-0.3.10-cp313-cp313-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: fraiseql_confiture-0.3.10-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 639.5 kB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88a8de87cd7b3da07add07519ec80d73d3bdcb2e9470bed05a08da3f8245ffc3
|
|
| MD5 |
0fabd9e61e08593623ab50479fd77ca4
|
|
| BLAKE2b-256 |
ce02a7f6883d29a6f55e44ba1076204ed7180d83031a5aaad762e5b79af759fc
|
File details
Details for the file fraiseql_confiture-0.3.10-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: fraiseql_confiture-0.3.10-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 602.3 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67bf7abfa629593bed50737957c034aed0b7be392f6685f2822ec767aa106512
|
|
| MD5 |
4e1d2624601f7dd7ffe936d630eabf64
|
|
| BLAKE2b-256 |
f9f4259e7ccb0d706fb91f8cdf8428baa0eb0ae828ea81926599a1c5564abae7
|
File details
Details for the file fraiseql_confiture-0.3.10-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: fraiseql_confiture-0.3.10-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 554.4 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c9457204e1908f72fd7761d9ca309534e2192acf94ec61774c16b60bb3c699b
|
|
| MD5 |
23128b1fc4ed93f8ba531b890a084efd
|
|
| BLAKE2b-256 |
77678ad8e8de314bbfbc800cbcc4da3ba4bfaf095dd09ece4e9fced3f060b894
|
File details
Details for the file fraiseql_confiture-0.3.10-cp312-cp312-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: fraiseql_confiture-0.3.10-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 639.6 kB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cefe8b74a10c130a043517fc7409f6280ebe0d3e9a2a1861c1813e7a185fd329
|
|
| MD5 |
a017f4bd74408ed1f87e2fe42749e8ed
|
|
| BLAKE2b-256 |
286aa396bde219aced2769de0b0432f6043ddce248d67b70e3344781bb4a21c4
|
File details
Details for the file fraiseql_confiture-0.3.10-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: fraiseql_confiture-0.3.10-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 602.2 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a7aa0afaa1283bbf96932e0237184023af98faa877f958e22c2f2eebdfb0857
|
|
| MD5 |
7cf9093cb39a03efafa676d487e60d5b
|
|
| BLAKE2b-256 |
a0a6d0c5ecff0f9611c7bfe84ace3c2e0ae6ed7df486bd70157d505d5e9000ce
|
File details
Details for the file fraiseql_confiture-0.3.10-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: fraiseql_confiture-0.3.10-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 554.2 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e21956ce3ca6fc077a9dccce25c96749a5325f723c97002563abbb18d50e80b5
|
|
| MD5 |
a45a3b8f4a645028675f15436e8a8450
|
|
| BLAKE2b-256 |
74a39014723820249b7f410e1e37fa0500e443292886193383cb962894af30ef
|
File details
Details for the file fraiseql_confiture-0.3.10-cp311-cp311-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: fraiseql_confiture-0.3.10-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 641.1 kB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff903a6a80fe8e29acf2b609ddfde659993bf9eadf563e790dc4d7545479dad5
|
|
| MD5 |
9ce2a26663a23844cb36d425a1bf750e
|
|
| BLAKE2b-256 |
f7ef7cb7c639a4f1171f4e91a6c9b16e8aaa2bd3f2ec109b4122733cbddb98dc
|
File details
Details for the file fraiseql_confiture-0.3.10-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: fraiseql_confiture-0.3.10-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 602.5 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
607eec0c8beaf3b4849c631d6ba1d40b0fe5ed0a804caab3b9a7e5a457866b7f
|
|
| MD5 |
e5f6e0fadd5f39c23db6466c06172a70
|
|
| BLAKE2b-256 |
d9c949f345f0461cb3d2ce8264a131e1da5f815461c2135773bd0f82c6e9f5d1
|