Metadata-Version: 2.4
Name: meltano.edk
Version: 0.6.0
Summary: A framework for building Meltano extensions
Project-URL: Homepage, https://meltano.com
Project-URL: Repository, https://github.com/meltano/edk
Project-URL: Issue Tracker, https://github.com/meltano/edk/issues
Project-URL: Twitter, https://twitter.com/meltanodata/
Project-URL: Changelog, https://github.com/meltano/edk/blob/main/CHANGELOG.md
Project-URL: Slack, https://meltano.com/slack
Project-URL: Youtube, https://www.youtube.com/meltano
Author: Meltano Team and Contributors
Maintainer: Meltano Team and Contributors
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: Meltano,Meltano EDK,Meltano Extension
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: devtools<1,>=0.9.0
Requires-Dist: pydantic<3,>=2
Requires-Dist: pyyaml<7,>=6
Requires-Dist: structlog<26,>=21
Provides-Extra: docs
Requires-Dist: furo; extra == 'docs'
Requires-Dist: myst-parser; extra == 'docs'
Requires-Dist: sphinx; extra == 'docs'
Requires-Dist: sphinx-autobuild; extra == 'docs'
Requires-Dist: sphinx-copybutton; extra == 'docs'
Description-Content-Type: text/markdown

# Meltano extension developer kit

[![Documentation Status](https://readthedocs.org/projects/meltano-edk/badge/?version=latest)](https://edk.meltano.com/en/latest/?badge=latest) |
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/meltano/edk/main.svg)](https://results.pre-commit.ci/latest/github/meltano/edk/main)

The Meltano extension developer kit is the fastest way to build custom Meltano extensions. If you're looking to build a custom extractor, loader, or tap then the [*SDK*](https://github.com/meltano/singer-sdk) is actually what you're looking for.

## Creating a new extension using the EDK

This repo ships with a [copier](https://copier.readthedocs.io/en/stable/) based template to help developers get and new extension using the [Meltano EDK](https://edk.meltano.com) up and running quickly.

### Prerequisites for using the template

Install copier:

```bash
uv tool install copier
```

### Use copier to initialize a new extension

Start a new EDK project using the supplied template (directly from Github):

```bash
copier copy gh:meltano/edk my-new-extension
```

Install the project dependencies:

```bash
cd my-new-extension
uv sync
```

## Developing extensions using the EDK

For detailed instructions on developing Meltano EDK extensions, see the [Meltano EDK documentation](https://edk.meltano.com) and review the [Work-In-Progress Specification](https://meltano-edk--28.org.readthedocs.build/en/28/specification.html).

For working examples of Meltano EDK extensions, see:

- [dbt-ext](https://github.com/meltano/dbt-ext)
- [cron-ext](https://github.com/meltano/cron-ext)
