Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Reason given by maintainers: Project moved to private development

SpecQL: From YAML to Production Backend in Minutes

Version License

20 lines of YAML → 2000+ lines of production PostgreSQL + GraphQL code Build enterprise backends that scale, not boilerplate that breaks.

The Backend Development Crisis

Building production backends takes months and thousands of lines of repetitive code:

  • ❌ PostgreSQL schemas with proper indexing and constraints
  • ❌ Audit trails, soft deletes, multi-tenancy
  • ❌ PL/pgSQL functions with error handling and validation
  • ❌ GraphQL schemas, resolvers, and mutations
  • ❌ TypeScript types, Apollo hooks, and frontend integration
  • ❌ Database migrations, test fixtures, and CI/CD

Result: 97% boilerplate, 3% business logic. Bugs in the boilerplate.

The SpecQL Solution

Define your business domain once. Generate everything else automatically.

Your Input (20 lines)

entity: Contact
schema: crm
fields:
  email: email!              # Auto-validates email format
  company: ref(Company)      # Auto-creates foreign key
  status: enum(lead, qualified, customer)

actions:
  - name: qualify_lead
    steps:
      - validate: status = 'lead'
      - update: Contact SET status = 'qualified'

What You Get (2000+ lines generated)

✅ PostgreSQL DDL with Trinity pattern (pk_*, id, identifier) ✅ Rich type validation with CHECK constraints and indexes ✅ PL/pgSQL functions with error handling and transactions ✅ GraphQL API with auto-discovery and mutations ✅ TypeScript types & Apollo hooks for frontend integration ✅ Database migrations and test fixtures ✅ Multi-tenant support with RLS policies

Who Uses SpecQL?

🚀 Startups & Small Teams

Need a production backend yesterday? Skip 6 months of development.

  • Ship 10x faster: Idea to production in days, not months
  • Focus on product: Not infrastructure
  • Scale confidently: Enterprise patterns built-in

🏢 Enterprise Teams

Modernize legacy systems without breaking compliance.

  • Reverse engineer existing SQL/business logic
  • Multi-tenant architecture for complex orgs
  • Security first: Audit trails, RLS, encryption
  • Migration tools for gradual adoption

🤖 AI-Assisted Development

Structured YAML that AI can reliably understand and generate.

  • Consistent patterns reduce hallucination
  • Rich type system provides semantic context
  • Validation prevents AI-generated bugs

Quick Start (5 Minutes to First Backend)

1. Install SpecQL

pip install specql

2. Define Your First Entity

Create contact.yaml:

entity: Contact
schema: crm
fields:
  email: email!        # Rich type with auto-validation
  first_name: text!
  last_name: text!

actions:
  - name: create_contact
  - name: update_contact

3. Generate Everything

specql generate contact.yaml

4. Deploy & Test

# Generated files appear in db/schema/
createdb myapp
cd db/schema
psql myapp < schema.sql

# Your GraphQL API is ready!
# Check localhost:4000/graphql

That's it! You now have a production PostgreSQL backend with GraphQL API.

What You Get

Core Features (Always Included)

  • ✅ YAML-to-SQL Generation: Business logic → PostgreSQL schema
  • ✅ Trinity Pattern: pk_*/id/identifier for optimal performance
  • ✅ Rich Types: 49 validated types with automatic constraints
  • ✅ Actions: Business logic with validation and error handling
  • ✅ FraiseQL: Auto-generated GraphQL API
  • ✅ Multi-tenant: Schema registry with RLS policies

Optional Features

# For migrating existing codebases
pip install specql[reverse]

# For generating test data
pip install specql[testing]

# For development/contribution
pip install specql[dev]

Documentation

🚀 Just Getting Started?

→ Quick Start Guide - 30 minutes to first production backend

🏢 Migrating Legacy Systems?

→ Migration Guide - Reverse engineering existing codebases

📚 Learning Core Concepts?

→ Core Concepts - Understanding SpecQL's approach

🛠️ Building with SpecQL?

→ Guides - Practical how-tos and examples

📖 Technical Reference?

→ Reference - Complete syntax and API docs

Real Results

Before SpecQL:

  • CRM system: 15 entities × 600 lines = 9,000 lines of repetitive code
  • 3 developers × 8 hours = 24 developer days
  • 6 months development time

After SpecQL:

  • CRM system: 15 entities × 20 lines = 300 lines of YAML
  • 1 developer × 2 hours = 2 developer days
  • 1 week development time

Impact: 96% less code, 92% faster development, zero infrastructure bugs.

Contributing

SpecQL is open source and welcomes contributions! See Contributing Guide.

License

MIT - See LICENSE


Ready to eliminate 99% of backend boilerplate? Start with the Quick Start! 🚀

Release files for specql 0.9.2

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

Source distribution (sdist)

Source distribution for specql 0.9.2
File Size Uploaded
specql-0.9.2.tar.gz 511.0 kB Details

Built distribution (wheel)

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

Total release size: 1.2 MB

Release files / specql-0.9.2.tar.gz

Download URL specql-0.9.2.tar.gz
Size 511.0 kB
Tags Source
SHA-256 checksum
How to use checksums
0f63900bacff9c61f63d8cb1f2285e01fbe579b14fff564da5b0ffcaab01f7d1
BLAKE2b-256 checksum
How to use checksums
68c7cf71785dd42998f173af33cba50884879dbf2e8edccc866efd1fa3eb4420
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 Nov 24, 2025.

Transparency log

Release files / specql-0.9.2-py3-none-any.whl

Download URL specql-0.9.2-py3-none-any.whl
Size 696.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
02e95db670bded2874e2bd49322af00a2a8f2fa912c71f83166c53a3bfaccdc3
BLAKE2b-256 checksum
How to use checksums
abba2e3ec7d7565ca03d0b1d18f729c4854fa44d597716fbff4dae44694ae98c
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 Nov 24, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.9.2 This release

2 release files

0.9.1

2 release files

0.8.8

2 release files

0.8.7

2 release files

0.8.6

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.5.0

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