How It Works

From Definition to Application in Minutes

DSLcore uses a declarative approach to data management. You describe your data, and we generate everything else.


Step 1: Define Your Schema

Using our simple Domain Schema Language (DSL), describe your data in plain text:

Table: Product
  - id: int (primary key)
  - sku: string (required, unique)
  - name: string (required)
  - price: decimal (min: 0)
  - category: string (values: electronics, clothing, food)
  - in_stock: boolean (default: true)

Table: Supplier
  - id: int (primary key)
  - name: string (required)
  - email: string (required)
  - lead_time_days: int

Table: Inventory
  - id: int (primary key)
  - product_id: int (foreign key -> Product)
  - supplier_id: int (foreign key -> Supplier)
  - quantity: int (required)
  - reorder_point: int
  - last_updated: datetime (default: NOW)

No coding required. The DSL is designed to be readable by anyone who understands their data.


Step 2: Generate Your Application

DSLcore processes your schema and automatically generates:

Database Layer

  • SQLAlchemy models with full type safety
  • Foreign key relationships and constraints
  • Soft delete support (data is never truly lost)
  • Automatic timestamps and audit fields

API Layer

  • RESTful endpoints for every entity
  • Create, Read, Update, Delete operations
  • Pagination and filtering built-in
  • Proper error handling and validation

Web Interface

  • Responsive forms for data entry
  • Table views with sorting and filtering
  • Relationship navigation (click through to related records)
  • Search and lookup capabilities

Step 3: Deploy and Use

Your generated application is a complete, production-ready system:

Browser


Web Interface (HTML/CSS/JS)


Flask Controllers (REST API)


SQLAlchemy Models (Python)


Database (SQLite/PostgreSQL)

Key Features

Relationship Navigation

Click through your data naturally. View a product, see its suppliers. View a supplier, see all their products. DSLcore handles the joins automatically.

Data Integrity

Constraints are enforced at every level:

  • Required fields cannot be empty
  • Unique fields prevent duplicates
  • Foreign keys maintain relationships
  • Value constraints limit options

Soft Delete

When records are “deleted,” they’re marked with a timestamp but retained in the database. Perfect for:

  • Audit requirements
  • Accidental deletion recovery
  • Historical analysis

Multi-Schema Support

Run multiple independent schemas simultaneously:

  • Separate databases per business unit
  • Complete isolation when needed
  • Shared infrastructure when desired

Technical Stack

DSLcore is built on proven, production-ready technology:

  • Backend: Python, Flask, SQLAlchemy
  • Frontend: HTML5, CSS3, HTMX (no JavaScript frameworks)
  • Database: SQLite (development), PostgreSQL (production)
  • Templating: Jinja2 with component isolation

What Makes DSLcore Different?

1. Human-Readable Schemas

Your data model is documentation. Anyone can read and understand the DSL.

2. No Vendor Lock-In

Generated code is yours. Standard Python, standard SQL. Take it anywhere.

3. Instant Iteration

Change your schema, regenerate your application. Evolve as fast as your business.

4. AI-Ready Output

Structured data that modern AI tools can immediately work with.


See It in Action

Ready to see how DSLcore transforms your specific data challenges?

Contact us for a demo tailored to your business needs.

Read about our solutions for common use cases.