Publishing your package
This guide assumes you have already implemented your package and written tests for it. If you haven’t, please refer to the implementation guide and testing guide.
Setup credentials
First, make sure you have a PyPI account:How to create a PyPI Token
How to create a PyPI Token
1
Create account
Go to the PyPI website and create an account
2
Verify email
Verify your email address by clicking the link that PyPI emails to you
3
Enable 2FA
Go to your account settings and click “Generate Recovery Codes” to enable 2FA. To generate an API token, you must have 2FA enabled
4
Generate token
Go to your account settings and generate a new API token
Build and publish
How to publish a package
Helpful guide from
uv on how to build and publish a package to PyPI.Make your integration discoverable
After publishing, open a PR in the LangChain docs repository so your package appears under the integrations tab. Which PR you open depends on eligibility for a hosted guide.Eligibility for hosted guides
LangChain hosts full integration guides in this docs repo only when either:- The package has at least 50,000 monthly downloads on PyPI (or npm for TypeScript), or
- Maintainers mark the integration as featured
List in the download table (default)
Open a PR that adds an entry toscripts/data/integration_external_docs.yaml.
Each entry needs at least:
name: LangChain class or display name (for example,ChatAI21).pypiornpm: Registry package name used for the downloads badge.docs_url: Link for the name column. Prefer partner docs, then the GitHub repo, then the PyPI or npm page.
stream and tool_calling) so the table columns stay accurate. Follow existing entries in the same language and component section.
After merge, the refresh job regenerates the component table snippets so your row appears alongside hosted integrations.
This PR is for listing metadata only. Host your usage docs on your site or GitHub README. Your integration package itself should live in its own repository under your GitHub organization or account, published as a standalone package.
Hosted guide (50K+ or featured)
If your package meets the eligibility criteria, create a documentation page from one of the following templates and open a PR in the docs repo. Depending on the type of integration you have built, you will need to create different types of documentation pages. LangChain provides templates for different types of integrations to help you get started.Chat models
Tools/toolkits
Middleware
Vector stores
langchain repo) under a personal GitHub account, and clone it locally. Create a new branch for your integration. Copy the template and modify it using your favorite markdown text editor. Make sure to refer to and follow the documentation guide when writing your documentation.
If your package was previously listed in integration_external_docs.yaml, remove that YAML entry in the same PR so the table does not show a duplicate row.
Do not set featured: true in frontmatter unless a maintainer asks you to. Featured status is a maintainer decision.
This PR is for documentation only. Your integration package itself should live in its own repository under your GitHub organization or account, published as a standalone package.
If your PR includes AI-generated content, you must follow our acceptable uses of LLMs policy.
Next steps
Congratulations! Your integration is published and listed for the LangChain community.Co-marketing
Get in touch with the LangChain marketing team to explore co-marketing opportunities.
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

