dlt (data load tool)
You fix a labeled issue in an open source Python library that loads data from APIs and files into destinations such as DuckDB and Postgres, and open the pull request against the devel branch.
The guide is the strictest about process of the 7. New contributors work only on issues labeled help wanted or good first issue. They comment with their intended approach and wait for a maintainer to confirm before writing code. Branches are named {category}/{ticket-id}-description and commits follow Conventional Commits. The loop runs make dev first, then make format and make lint, and ends with make test-common.
The DuckDB destination needs no service, so pytest tests/load -k "duckdb" runs a load test on a laptop. To extend the work into your own project, build a small pipeline with dlt first, hit a rough edge, and file the issue yourself.
A merged change to a library in the ingestion layer shows you can read unfamiliar Python and write a test for a loader, and that you got through a review cycle. The README also says new destinations are unlikely to be merged because of their maintenance cost, so aim at bugs and docs, or at source behavior.