<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: MatthausK</title><link>https://news.ycombinator.com/user?id=MatthausK</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 19 Aug 2026 00:55:18 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=MatthausK" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by MatthausK in "A Preview of DuckDB v2.0"]]></title><description><![CDATA[
<p>The CEO/Co-Founder of dltHub/dlt here.<p>For our community DuckDB is the default data warehouse for local development environment. Last month +90,000 users used dlt (and their AI code editor) to load data into DuckDB.<p>Because of our proximity to the DuckDB community we are seeing enterprise DuckDB usage first hand. People imo sleep on the data volumes DuckDB can handle. We see Fortune 100 companies use dlt and DuckDB in production on their Lakehouses in hybrid cloud deployments. I can eg mention Stellantis (Chrysler, Jeep, Peugeot etc) because they talk about it publicly.</p>
]]></description><pubDate>Tue, 18 Aug 2026 03:43:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=49341007</link><dc:creator>MatthausK</dc:creator><comments>https://news.ycombinator.com/item?id=49341007</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49341007</guid></item><item><title><![CDATA[Show HN: Automatically extract data from APIs with dlt and OpenAPI]]></title><description><![CDATA[
<p>Hi Show HN, we are Dave, Marcin, Alena, and Adrian, authors of data load tool (dlt), a Python library that automatically creates datasets from any kind of messy, unstructured data.<p>We launched dlt on HN 7 months ago with a mission to make getting datasets fast and easy. Now dlt helps its users to code around a thousand new data sources each month and to maintain many thousands of live datasets in production.<p>Today we are releasing *dlt-init-openapi,* a Python CLI tool that generates a dlt data pipeline from any OpenAPI spec. It brings the time to create a dataset down to a few minutes.<p><i>Here’s a Colab demo:</i> <a href="https://colab.research.google.com/drive/1MRZvguOTZj1MlkEGzjiso8lQ_wr1MJRI?usp=sharing" rel="nofollow">https://colab.research.google.com/drive/1MRZvguOTZj1MlkEGzji...</a><p>Here’s a video walkthrough: <a href="https://youtu.be/b99qv9je12Q" rel="nofollow">https://youtu.be/b99qv9je12Q</a><p>---<p>In the past you had to analyze REST API endpoints, response data types, pagination styles and write lots of custom Python code to create a dataset. OpenAPI specifications standardized API definitions, making it easier to interact with APIs.
Now, dlt-init-openapi leverages these OpenAPI specs to automate the manual work around dataset creation you had to do before. OpenAPI is a growing standard with almost every API using it, and used by default in frameworks like FastAPI.<p>What can dlt-init-openapi do for you?<p>- It generates Python scripts with dlt pipelines that you can run to pull data from your API into a structured destination of your choice (Parquet files, SQL DBs, Databricks, Snowflake, etc.)<p>- Infers and evolves schema for the endpoints from the actual data!<p>- Discovers pagination style for each endpoint<p>- Finds and unwraps data entities for each endpoint, also for deep, nested JSON responses<p>- Discovers the primary key for each entity<p>- Discovers authentication schema and generates code and config files to pass required credentials<p>- You always have the last say. The generated code is declarative and ready to hack in case we pick the wrong paginator or response entity.<p>The tool and dlt are open source, find the code here: <a href="https://github.com/dlt-hub/dlt-init-openapi">https://github.com/dlt-hub/dlt-init-openapi</a> and here: <a href="https://github.com/dlt-hub/dlt">https://github.com/dlt-hub/dlt</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=40512113">https://news.ycombinator.com/item?id=40512113</a></p>
<p>Points: 7</p>
<p># Comments: 1</p>
]]></description><pubDate>Wed, 29 May 2024 14:00:18 +0000</pubDate><link>https://colab.research.google.com/drive/1MRZvguOTZj1MlkEGzjiso8lQ_wr1MJRI?usp=sharing</link><dc:creator>MatthausK</dc:creator><comments>https://news.ycombinator.com/item?id=40512113</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40512113</guid></item><item><title><![CDATA[New comment by MatthausK in "Show HN: I built an open-source data copy tool called ingestr"]]></title><description><![CDATA[
<p>one of the dltHub founders here - we aim to address this in the coming weeks</p>
]]></description><pubDate>Tue, 27 Feb 2024 21:58:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=39530671</link><dc:creator>MatthausK</dc:creator><comments>https://news.ycombinator.com/item?id=39530671</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39530671</guid></item><item><title><![CDATA[New comment by MatthausK in "Show HN: I built an open-source data copy tool called ingestr"]]></title><description><![CDATA[
<p>one of the dltHub founders here - we aim to address this in the coming weeks</p>
]]></description><pubDate>Tue, 27 Feb 2024 21:58:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=39530665</link><dc:creator>MatthausK</dc:creator><comments>https://news.ycombinator.com/item?id=39530665</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39530665</guid></item><item><title><![CDATA[New comment by MatthausK in "Show HN: Dlt – Python library to automate the creation of datasets"]]></title><description><![CDATA[
<p>Pulling from and into production databases is one of the early favourites from our dlt user base. Some reasons explained here in this MongoDB example (<a href="https://dlthub.com/docs/blog/MongoDB-dlt-Holistics" rel="nofollow noreferrer">https://dlthub.com/docs/blog/MongoDB-dlt-Holistics</a>)</p>
]]></description><pubDate>Wed, 25 Oct 2023 14:58:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=38013526</link><dc:creator>MatthausK</dc:creator><comments>https://news.ycombinator.com/item?id=38013526</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38013526</guid></item><item><title><![CDATA[New comment by MatthausK in "Show HN: Dlt – Python library to automate the creation of datasets"]]></title><description><![CDATA[
<p>We hear a lot about the dlt & AWS Lambda. We have currently one user working on the use case (see our Slack <a href="https://dlthub-community.slack.com/archives/C04DQA7JJN6/p1697550254041179" rel="nofollow noreferrer">https://dlthub-community.slack.com/archives/C04DQA7JJN6/p169...</a>)</p>
]]></description><pubDate>Wed, 25 Oct 2023 14:50:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=38013440</link><dc:creator>MatthausK</dc:creator><comments>https://news.ycombinator.com/item?id=38013440</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38013440</guid></item><item><title><![CDATA[New comment by MatthausK in "Show HN: Dlt – Python library to automate the creation of datasets"]]></title><description><![CDATA[
<p>Thanks for your vote of confidence & support Max!</p>
]]></description><pubDate>Wed, 25 Oct 2023 14:45:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=38013376</link><dc:creator>MatthausK</dc:creator><comments>https://news.ycombinator.com/item?id=38013376</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38013376</guid></item><item><title><![CDATA[New comment by MatthausK in "Show HN: Dlt – Python library to automate the creation of datasets"]]></title><description><![CDATA[
<p>We took at least one immediate practical good piece of advice out of this which is that we should release a conda package and make sure that dlt works in it.</p>
]]></description><pubDate>Wed, 25 Oct 2023 13:14:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=38012431</link><dc:creator>MatthausK</dc:creator><comments>https://news.ycombinator.com/item?id=38012431</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38012431</guid></item><item><title><![CDATA[New comment by MatthausK in "Show HN: Dlt – Python library to automate the creation of datasets"]]></title><description><![CDATA[
<p>1) Yes. We support all the databases and buckets as data sources as well. Some examples:
- get data from any sql database: <a href="https://dlthub.com/docs/dlt-ecosystem/verified-sources/sql_database" rel="nofollow noreferrer">https://dlthub.com/docs/dlt-ecosystem/verified-sources/sql_d...</a> or <a href="https://dlthub.com/docs/getting-started#load-data-from-a-variety-of-sources" rel="nofollow noreferrer">https://dlthub.com/docs/getting-started#load-data-from-a-var...</a>
- do it super quickly with pyarrow: <a href="https://dlthub.com/docs/examples/connector_x_arrow/" rel="nofollow noreferrer">https://dlthub.com/docs/examples/connector_x_arrow/</a>
- get data from any storage bucket:<a href="https://github.com/dlt-hub/verified-sources/tree/master/sources/filesystem">https://github.com/dlt-hub/verified-sources/tree/master/sour...</a>
2) Strictly technical answer: on the code level sources and destinations are different Python objects so the answer is no:) but you as a user rarely deal with them directly when coding</p>
]]></description><pubDate>Wed, 25 Oct 2023 11:10:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=38011537</link><dc:creator>MatthausK</dc:creator><comments>https://news.ycombinator.com/item?id=38011537</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38011537</guid></item><item><title><![CDATA[New comment by MatthausK in "Show HN: Dlt – Python library to automate the creation of datasets"]]></title><description><![CDATA[
<p>You can use pydantic models to define schemas, validate data (we also load instances of the models natively): <a href="https://dlthub.com/docs/general-usage/resource#define-a-schema-with-pydantic" rel="nofollow noreferrer">https://dlthub.com/docs/general-usage/resource#define-a-sche...</a><p>We have a PR (<a href="https://github.com/dlt-hub/dlt/pull/594">https://github.com/dlt-hub/dlt/pull/594</a>) that is about to merge that makes the above  highly configurable, between evolution and hard stopping:
- you will be able to totally freeze schema and reject bad rows
- or accept the data for existing columns but not new columns
- or accept some fields based on rules'</p>
]]></description><pubDate>Wed, 25 Oct 2023 10:14:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=38011214</link><dc:creator>MatthausK</dc:creator><comments>https://news.ycombinator.com/item?id=38011214</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38011214</guid></item><item><title><![CDATA[Show HN: Dlt – Python library to automate the creation of datasets]]></title><description><![CDATA[
<p>Hi HN,<p>We're Anna, Adrian, Marcin and Matt, developers of dlt. dlt is an open source library to automatically create datasets out of messy, unstructured data sources. You can use the library to move data from about anywhere into most of well known SQL and vector stores, data lakes, storage buckets, or local engines like DuckDB. It automates many cumbersome data engineering tasks and can by handled by anyone who knows Python.<p>Here’s our Github: <a href="https://github.com/dlt-hub/dlt">https://github.com/dlt-hub/dlt</a><p>Here’s our Colab demo: <a href="https://colab.research.google.com/drive/1DhaKW0tiSTHDCVmPjM-eoyL47BJ30xmP" rel="nofollow noreferrer">https://colab.research.google.com/drive/1DhaKW0tiSTHDCVmPjM-...</a><p>— — —<p>In the past we wrote hundreds of Python scripts to fit messy data sources into something that you can work with in Python - a database, Pandas frame or just a Python list. We were solving the same problems and making the similar mistakes again and again.<p>This is why we built an easy to use Python library called dlt that will automate most data engineering tasks. It hides the complexities of data loading and automatically generates a structured and clean datasets for immediate querying and sharing.<p>— — —<p>At its core, dlt removes the need to create the dataset schemas, react to changing data, generate append or merge statements, and to move the data in transactional and idempotent manner. Those things are automated and can be declared right in the Python code, just by decorating functions.<p>Add @dlt.resource decorator, give it a few hints, and convert any data into a simple pipeline that creates and updates datasets.<p>dlt gets the details out of your way:<p>1. You do not need to worry about the structure of a database or parquet files<p>dlt will create a nice, typed schema out of your data and will migrate it when the data changes. You can put some data contracts and Pydantic models on top to keep your data clean.<p>2. You do not need to write any INSERT/UPDATE or data copy statements<p>dlt will push the data to DuckDB, Weaviate, storage buckets and many popular SQL stores. It will align the data types, file formats, and identifier names automatically<p>3. You do not need to worry when you need to add new data or update the changes.<p>dlt lets you declare how to load the data, how to increment it and will keep the loading state together so they are always in sync.<p>4. You keep how you develop and test your code<p>Iterate and test quickly on your laptop or in a dev container. Run locally on DuckDB and just swap destination name to go to the cloud - your code, schema and data will stay the same.<p>5. You can work with data on your laptop.<p>Combine dlt with other tools and libraries to process data locally. duckdb, Pandas, Arrow tables and Rust based loading libraries like ConnectorX work nicely with dlt and process data blazingly fast, compared to the cloud.<p>6. You do not need to worry if your pipeline will work when you deploy it.<p>dlt is a minimalistic Python library, requires no backend and works whenever Python works. You can finetune it to work on constrained environments like AWS Lambda or run with Airflow, GitHub Actions or Dagster.<p>dlt has an Apache 2.0 license. We plan to make money by offering organizations a paid control plane, where dlt users can track and policy what every pipeline does, manage schemas and contracts across organization, create data catalogues, and share them with the team members and customers.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=37999527">https://news.ycombinator.com/item?id=37999527</a></p>
<p>Points: 114</p>
<p># Comments: 54</p>
]]></description><pubDate>Tue, 24 Oct 2023 14:20:48 +0000</pubDate><link>https://colab.research.google.com/drive/1DhaKW0tiSTHDCVmPjM-eoyL47BJ30xmP</link><dc:creator>MatthausK</dc:creator><comments>https://news.ycombinator.com/item?id=37999527</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37999527</guid></item></channel></rss>