Introducing dlt 1.0.0: A Production-Ready Python Library for Data Movement
- Marcin Rudolf,
Co-Founder & CTO
We are excited to announce the release of dlt
version 1.0.0, a major milestone marking the library’s maturity and readiness for production use. After months of hard work and development, this update integrates key use cases directly into the core library (code for database syncs, files, the REST API toolkit and an SQLAlchemy destination), making dlt
more powerful than ever.
dlt Adoption
This year dlt
has experienced 9x growth, recently surpassing 1,000 open-source customers in production. dlt
has become widely adopted and trusted by organizations of all sizes, from small businesses to Fortune 1000 companies.
Our library attracts developers who value efficiency, autonomy, and clean engineering. Its open-source code and comprehensive documentation enable teams to self-serve and solve problems independently.
The Evolution of dlt
dlt
began as a tool for handling JSON
documents, but we quickly recognized that there wasn’t a flexible, Python-based data loading solution that met the needs of modern developers. Our vision has since expanded, and with the continuous support of our community, dlt
has evolved into a comprehensive Python library for moving data. It integrates seamlessly with the Modern Data Stack. It works with high-performance Python data libraries like PyArrow, Polars, Ibis, DuckDB, and Delta-RS, efficiently processing industrial-scale data, even in constrained environments like AWS Lambda.
dlt
moves data from databases, file storage, and REST APIs into warehouses, vector databases, local Python objects, and data lakes using open standards. It supports small to medium-scale, interactive workflows, with popular data sources like Python objects, Arrow tables, and Pandas data frames often processed in tools like DuckDB and Polars before being pushed to cloud warehouses like Snowflake and Motherduck.
The Product Principles Behind dlt
From the beginning, a few core principles have guided our development:
dlt
is a library, not a platform. You integratedlt
into your code, not the other way around.- Multiply, don’t add. We prioritize automation to save users time and eliminate repetitive tasks.
- No black boxes. Our open-source code is clean, intuitive, and hackable.
- We do the work so our users do less. This "empathy principle" drives us to minimize the effort required by our users.
These principles shape our mindset :
- We respect the platforms you’ve built, your codebase, and the engineering decisions you’ve made.
- We value the knowledge your team has already acquired and want to help you leverage it.
- We promote autonomy, freedom, and ownership in building your solutions.
- We focus on providing an excellent user experience and resolving any problems swiftly.
The 1.0.0 Release is a Result of These Principles
With the release of 1.0.0
, we’ve reinforced these principles. We’ve brought the code for syncing databases, files, and REST APIs into the core library, added extensive tests, and enhanced the documentation with new tutorials and references to reduce further the time users need to get their data flowing. The 0.5.x
version remains supported for necessary bug fixes, and we’re maintaining versioned documentation. We also took the opportunity to implement our oldest open ticket, a SQLAlchemy destination that supports over 30 databases, including MySQL and SQLite.
We’re excited for you to try out 1.0.0
!
- Be sure to review the breaking changes and deprecations before upgrading.
- Check out the full release notes for more details.