Blacksmith for data management

Transform & Load data across databases with a Pythonistic approach applied to SQL.

SQL with Pythonistic powers

Blacksmith exposes a Python / Django-syntax like templating-language when working with SQL files. This is a convenient way to generate SQL dynamically interpolating the template with contextual data and returning the compiled SQL file.

Discover Transformation syntax
{% if order %}
INSERT INTO orders (id, amount, user_id, created_at)
    '{% uuid %}',
    {{ order.amount | floatformat:2 }},
    '{{ }}',

    {% if order.created_at %}
      '{{ order.created_at }}'
    {% else %}
      '{% now "2006-01-02 15:04:05" %}'
    {% endif %}
{% endif %}

Run operations

Execute statements against any SQL database within a transaction for managing analytical operations, such as refreshing views.

Read guide about running operations
Run SQL operations with Blacksmith


SELECTdata and download / version returned rows into CSV and JSON files.

Read guide about running selects
Download data as CSV and JSON with Blacksmith

Running operation is only one of the data
engineering components.

Invincible ETL / ELT

Extract, Transform, and Load any kind of data across any kind of systems with confidence.

Databases operations

Load & Transform data within multiple SQL databases leveraging the native dialect of each one.

Databases migrations

Version, run, rollback, and discard migrations across multiple SQL databases.

Data engineering
delivered at your scale

Blacksmith comes in two Editions to give you the flexibility to operate reliable data engineering solutions at your scale.