Skip to content

Commit

Permalink
revamp integration contributor guide and clean up other sections (#16757
Browse files Browse the repository at this point in the history
)
  • Loading branch information
zzstoatzz authored Jan 17, 2025
1 parent 07b1cab commit 6b560c8
Show file tree
Hide file tree
Showing 6 changed files with 306 additions and 72 deletions.
74 changes: 62 additions & 12 deletions docs/contribute/contribute-integrations.mdx
Original file line number Diff line number Diff line change
@@ -1,20 +1,70 @@
---
sidebarTitle: Contribute integrations
title: Contribute integrations
sidebarTitle: Contribute to integrations
title: Contribute to integrations
---

Prefect welcomes integration contributions.
Create an integration package for community use by following the steps below.
Prefect welcomes contributions to existing integrations.

## Generate a project
<Tip>
Thinking about making your own integration? Feel free to [create a new discussion](https://github.com/PrefectHQ/prefect/discussions/new?category=ideas) to flesh out your idea with other contributors.
</Tip>

To help you create an integration, use [this GitHub repository](https://github.com/PrefectHQ/prefect-collection-template#quickstart) to bootstrap an integration project.
The repository uses [Cookiecutter](https://cookiecutter.readthedocs.io/) to generate a project structure.
The template includes tools for testing, linting, docs, and building the package.
## Contributing to existing integrations

## List your project in the integrations catalog
All integrations are hosted in the [Prefect GitHub repository](https://github.com/PrefectHQ/prefect) under `src/integrations`.

To list your integration in the Prefect integrations catalog, submit a pull request to the [Prefect GitHub repository](https://github.com/PrefectHQ/prefect).
To contribute to an existing integration, please follow these steps:

<Steps>
<Step title="Fork the repository 🍴">
Fork the [Prefect GitHub repository](https://github.com/PrefectHQ/prefect)
</Step>

<Step title="Clone your fork 👯">
```bash
git clone https://github.com/your-username/prefect.git
```
</Step>

<Step title="Create a new branch 🌲">
```bash
git checkout -b my-new-branch
```
</Step>

<Step title="Set up your environment 📂">
Move to the integration directory and install the dependencies:
```bash
cd src/integrations/my-integration
uv venv --python 3.12
source .venv/bin/activate
uv pip install -e ".[dev]"
```
</Step>

<Step title="Make your changes 👩‍🍳">
Make the necessary changes to the integration code.
</Step>

<Step title="Add tests 🧪">
If you're adding new functionality, please add tests.

You can run the tests with:
```bash
pytest tests
```
</Step>

<Step title="Submit your changes 📨">
```bash
git add .
git commit -m "My new integration"
git push origin my-new-branch
```
</Step>

<Step title="Create a pull request ⏰">
Submit your pull request upstream through the GitHub interface.
</Step>
</Steps>

Add a file to the `docs/integrations/catalog` directory with details about your integration package.
Use the `TEMPLATE.yaml` file in that folder as a guide.
4 changes: 2 additions & 2 deletions docs/mint.json
Original file line number Diff line number Diff line change
Expand Up @@ -116,8 +116,7 @@
"v3/develop/pause-resume",
"v3/develop/cancel",
"v3/develop/inputs",
"v3/develop/runtime-context",
"v3/develop/interact-with-api"
"v3/develop/runtime-context"
],
"version": "v3"
},
Expand Down Expand Up @@ -148,6 +147,7 @@
"v3/develop/settings-ref"
]
},
"v3/develop/interact-with-api",
"v3/develop/test-workflows"
],
"version": "v3"
Expand Down
15 changes: 12 additions & 3 deletions docs/snippets/installation.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
To install Prefect with pip, run:
To install Prefect with `pip`, run:

```bash
<CodeGroup>

```bash pip
pip install -U prefect
```
```

```bash uv
uv pip install -U prefect
```


</CodeGroup>
8 changes: 7 additions & 1 deletion docs/v3/develop/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,10 @@ The **Manage concurrency** section explains how to speed up your workflows and l
- [Limit concurrent task runs](/v3/develop/task-run-limits/) shows how to prevent too many tasks from running simultaneously.
- [Apply concurrency and rate limits](/v3/develop/global-concurrency-limits/) demonstrates how to control concurrency and apply rate limits using Prefect's provided utilities.

Finally, [Test workflows](/v3/develop/test-workflows/) discusses tools for testing workflows.

Explore further customization beyond the core SDK with:

- [Using client methods](/v3/develop/interact-with-api/)


Finally, [testing workflows](/v3/develop/test-workflows/) includes strategies and utilities for testing workflows.
Loading

0 comments on commit 6b560c8

Please sign in to comment.