Introducing dpkit Terminal and TypeScriptSee the announcement

Extending Data Package

Introducing Extension DP (Data Package Extension Template), a GitHub repository template for rapid Data Package extension development.

Evgeny Karev1 min read

figure
The Cardealer DP TypeScript SDK in an editor, with the type checker flagging a number assigned to a string field on a dealer record

Introduction

Extension DP (Data Package Extension Template) is a GitHub repository template for rapid Data Package extension development.

Tip

A domain-specific extension is the way to enrich Data Package’s metadata to meet specific needs of a knowledge domain.

How to create an extension

The steps to create and publish a new Data Package extension are:

  1. Create a new repository from the template
  2. Modify the extension's profile (JSON Schema) and schemas (Table Schema)
  3. Update the user-facing documentation and homepage
  4. The specifications are generated automatically
  5. The documentation portal is generated and published automatically
  6. Python SDK is generated and published automatically
  7. TypeScript SDK is generated and published automatically

Cardealer DP, in practice

At Mycarro, we needed a standardized data exchange format for the automotive industry. To address this, we created Cardealer DP (Car Dealer Data Package), a data exchange format for car dealerships. Having a data model in place and using the Extension DP template, it took around a day to publish the initial version of this extension and its tooling.

The generated TypeScript SDK is shown above: the extension's schemas become real types, so a postcode written as a number is a compile error rather than something a consumer discovers later.

Note

Have your own data exchange in mind? Try it out and let us know what you think!

Special thanks to NLnet for supporting this development!

What we build

Web application development

Data layer through to interface: search, integrations, background jobs, and the infrastructure to keep it running.

Full-stack web applications · Typed APIs · Durable workflows · Container orchestration

Internal tools & back-office systems

The internal tool your industry actually needs — leads, deals, inventory, invoicing, permissions, an audit trail. Built around how you work rather than around a template.

Transactional databases · Identity & access · Typed APIs · Full-stack web applications

Mobile app development

iOS and Android from one codebase, sharing types with your backend so the two cannot drift apart. Through the stores, or over the air.

Mobile & desktop · Typed APIs · Identity & access

Landing pages & marketing sites

Fast, prerendered sites that load instantly and cost almost nothing to run. Content you can edit yourself, in as many languages as you need.

Full-stack web applications · Design systems · Internationalization · Edge platform

Project examples

capturemycarro.app
The Mycarro car search engine as it runs today, searching across its live Portuguese listings.

Mycarrocar marketplace and dealer CRM

A used-car marketplace live in Portugal. Consumer search over listings gathered from across the market, a dealer back office for leads, inventory and invoicing, and a mobile app — built end to end.

we built

under NDA
Work we cannot show
ND

NDASwiss fintech platform MVP

A multiplatform MVP for a regulated financial services platform, designed and built end to end: a contract-first backend, an operations dashboard, and iOS and Android apps generated from the same contract. Delivered.

client · NDA

Get in touch

Tell us what you need built.

We are a small team in Portugal, working London hours. A site, an app, an internal tool, or the platform behind them — start with a sentence about the problem and we will take it from there.

All posts
Get a quote