diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 03662c5a57..4e8abde0cc 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -4,3 +4,16 @@ # These owners will be the default owners for everything in # the repo. Unless a later match takes precedence, they will be requested for review when someone opens a pull request. * @lnhsingh @katmayb + +# Any file in the `/src/oss` +# and any of its subdirectories. +/src/oss/ @lnhsingh + +# Any file in the `/src/oss/python/integrations` +# and any of its subdirectories. +/src/oss/python/integrations/ @mdrxy + +# Any file in the `/src/langsmith` +# and any of its subdirectories. +/src/langsmith/ @katmayb + diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 4f66b1242a..512ed16247 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -59,6 +59,12 @@ If any code fences like this exist on the code page, then two outputs (one for e For implementation details, see `pipeline/preprocessors/markdown_preprocessor.py`. +## Snippets + +Snippet files in `src/snippets/` are reusable MDX content that can be imported into multiple pages. These snippets undergo special link preprocessing during the build process that converts absolute `/oss/` links to relative paths. + +**Important:** When writing links in snippets, be careful about path segments. Read the docstrings and comments in `pipeline/core/builder.py` method `_process_snippet_markdown_file` (lines 807-872) to understand how snippet link preprocessing works and why certain path structures are required. + ## Style guide In general, follow the [Google Developer Documentation Style Guide](https://developers.google.com/style). You can also access this style guide through the [Vale-compatible implementation](https://github.com/errata-ai/Google). diff --git a/.github/labeler.yml b/.github/labeler.yml index 14c98ef5d1..3ba9eb8589 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -33,13 +33,6 @@ oss: - src/oss/** - src/oss/**/* -# Label for Labs documentation changes -labs: - - changed-files: - - any-glob-to-any-file: - - src/labs/** - - src/labs/**/* - # Label for Python-specific documentation python: - changed-files: diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index fb61e51b68..4f4be31461 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -6,7 +6,7 @@ **Type:** [Replace with: New documentation page / Update existing documentation / Fix typo/bug/link/formatting / Remove outdated content / Other] ## Related issues/PRs - diff --git a/.github/workflows/create-preview-branch.yml b/.github/workflows/create-preview-branch.yml index 2a02777cdc..aedae314f3 100644 --- a/.github/workflows/create-preview-branch.yml +++ b/.github/workflows/create-preview-branch.yml @@ -4,7 +4,7 @@ run-name: Preview by @${{ github.actor }} on: pull_request: - types: [opened, synchronize, reopened] + types: [opened, synchronize, reopened, closed] workflow_dispatch: concurrency: @@ -17,6 +17,63 @@ permissions: actions: read jobs: + cleanup-preview-branches: + # Run only when PR is closed or merged + if: github.event.action == 'closed' + permissions: + contents: write + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v5 + with: + fetch-depth: 0 + + - name: Delete preview branches for this PR + run: | + set -euo pipefail + + PR_STATE="${{ github.event.pull_request.merged && 'merged' || 'closed' }}" + echo "[INFO] Cleaning up preview branches for $PR_STATE PR #${{ github.event.pull_request.number }}" + + # Get the source branch name + SOURCE_BRANCH="${{ github.event.pull_request.head.ref }}" + echo "[INFO] Source branch: $SOURCE_BRANCH" + + # Generate the safe prefix that would have been used for this branch + # This transforms the branch name to match the preview branch naming convention: + # 1. Remove all non-alphanumeric characters (tr -cd '[:alnum:]') + # 2. Take only the first 6 characters (cut -c1-6) + # Example: "feature/my-branch-123" -> "featur" + safe_prefix=$(echo "$SOURCE_BRANCH" | tr -cd '[:alnum:]' | cut -c1-6) + echo "[INFO] Looking for preview branches matching pattern: preview-${safe_prefix}-*" + + # Find and delete all preview branches with this prefix + git fetch origin + BRANCHES=$(git branch -r | grep "origin/preview-${safe_prefix}-" | sed 's|origin/||' || true) + + if [ -z "$BRANCHES" ]; then + echo "[INFO] No preview branches found for this PR" + else + echo "[INFO] Found preview branches to delete:" + echo "$BRANCHES" + + for branch in $BRANCHES; do + # Safety check: ensure branch starts with 'preview-' + if [[ ! "$branch" =~ ^preview- ]]; then + echo "[ERROR] Branch '$branch' does not start with 'preview-'" + echo "[ERROR] Refusing to delete non-preview branch for safety" + exit 1 + fi + + echo "[INFO] Deleting branch: $branch" + git push origin --delete "$branch" || echo "[WARN] Failed to delete $branch (may already be deleted)" + done + + echo "[SUCCESS] Cleanup complete" + fi + create-preview: # This job needs to push a branch, so contents: write here only. permissions: @@ -24,7 +81,8 @@ jobs: runs-on: ubuntu-latest # Skip for PRs from forks - they don't have write access - if: github.event.pull_request.head.repo.full_name == github.repository || github.event_name == 'workflow_dispatch' + # Skip when PR is closed + if: (github.event.pull_request.head.repo.full_name == github.repository || github.event_name == 'workflow_dispatch') && github.event.action != 'closed' # Expose the generated preview branch name for the next job outputs: @@ -175,5 +233,5 @@ jobs: owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, - body: `Preview ID generated: ${preview}` + body: `Mintlify preview ID generated: ${preview}` }); diff --git a/.github/workflows/update-package-downloads.yml b/.github/workflows/update-package-downloads.yml index af38be1ac0..1d7a30b6e1 100644 --- a/.github/workflows/update-package-downloads.yml +++ b/.github/workflows/update-package-downloads.yml @@ -28,13 +28,23 @@ jobs: - name: Update download counts run: | - uv run .github/scripts/packages_yml_get_downloads.py + # Note: Script only updates packages if their downloads_updated_at + # timestamp is older than 24 hours to avoid hammering pepy.tech. + # If run manually within 24 hours of a previous update, no changes + # will be detected and the workflow will exit early. + uv run scripts/packages_yml_get_downloads.py - - name: Upload updated packages.yml as artifact + - name: Generate partner package table + run: | + uv run python pipeline/tools/partner_pkg_table.py + + - name: Upload updated files as artifact uses: actions/upload-artifact@v4 with: name: packages-yml - path: reference/packages.yml + path: | + reference/packages.yml + src/oss/python/integrations/providers/overview.mdx retention-days: 1 commit-downloads: @@ -47,11 +57,11 @@ jobs: steps: - uses: actions/checkout@v5 - - name: Download updated packages.yml + - name: Download updated files uses: actions/download-artifact@v4 with: name: packages-yml - path: reference/ + path: . - name: Create PR with changes env: @@ -61,7 +71,7 @@ jobs: git config --global user.email "github-actions[bot]@users.noreply.github.com" # Check if there are changes - if git diff --quiet reference/packages.yml; then + if git diff --quiet reference/packages.yml src/oss/python/integrations/providers/overview.mdx; then echo "No changes to commit" exit 0 fi @@ -71,11 +81,12 @@ jobs: git checkout -b "$BRANCH_NAME" # Commit changes - git add reference/packages.yml + git add reference/packages.yml src/oss/python/integrations/providers/overview.mdx git commit -m "$(cat <<'EOF' chore: update package download counts 🤖 Automated update of package download statistics from pepy.tech + and regenerated provider overview page Generated with GitHub Actions workflow update-package-downloads.yml EOF @@ -93,6 +104,7 @@ jobs: ## Details - Updates download counts in `reference/packages.yml` + - Regenerates provider overview page at `src/oss/python/integrations/providers/overview.mdx` - Generated by GitHub Actions workflow `update-package-downloads.yml` - Scheduled to run every Sunday at 11:59 PM UTC diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000000..2374e54f0c --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "reference/external/html-docs"] + path = reference/external/html-docs + url = https://github.com/langchain-ai/langchain-api-docs-html.git diff --git a/.markdownlint.json b/.markdownlint.json index 9b3f79b8a5..0e08df3177 100644 --- a/.markdownlint.json +++ b/.markdownlint.json @@ -4,5 +4,6 @@ "MD013": false, "MD025": false, "MD033": false, - "MD041": false + "MD041": false, + "MD051": false } diff --git a/AGENTS.md b/AGENTS.md index 4f66b1242a..512ed16247 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -59,6 +59,12 @@ If any code fences like this exist on the code page, then two outputs (one for e For implementation details, see `pipeline/preprocessors/markdown_preprocessor.py`. +## Snippets + +Snippet files in `src/snippets/` are reusable MDX content that can be imported into multiple pages. These snippets undergo special link preprocessing during the build process that converts absolute `/oss/` links to relative paths. + +**Important:** When writing links in snippets, be careful about path segments. Read the docstrings and comments in `pipeline/core/builder.py` method `_process_snippet_markdown_file` (lines 807-872) to understand how snippet link preprocessing works and why certain path structures are required. + ## Style guide In general, follow the [Google Developer Documentation Style Guide](https://developers.google.com/style). You can also access this style guide through the [Vale-compatible implementation](https://github.com/errata-ai/Google). diff --git a/CLAUDE.md b/CLAUDE.md index 4f66b1242a..c317064255 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,88 +1 @@ -# LangChain's unified documentation overview - -This repository encompasses the comprehensive documentation for LangChain's products and services, hosted on the Mintlify platform. The documentation is divided into sections for each product. This is a shared set of guidelines to ensure consistency and quality across all content. - -## Scope - -**These instructions apply to manually authored documentation only. They do NOT apply to:** - -- Files in `**/reference/**` directories (auto-generated API reference documentation) -- Build artifacts and generated files - -For reference documentation, see `.github/instructions/reference-docs.instructions.md`. - -## Working relationship - -- You can push back on ideas-this can lead to better documentation. Cite sources and explain your reasoning when you do so -- ALWAYS ask for clarification rather than making assumptions -- NEVER lie, guess, or make up information - -## Project context - -- Format: MDX files with YAML frontmatter. Mintlify syntax. -- Config: docs.json for navigation, theme, settings -- Components: Mintlify components - -## Content strategy - -- Document just enough for user success - not too much, not too little -- Prioritize accuracy and usability of information -- Make content evergreen when possible -- Search for existing information before adding new content. Avoid duplication unless it is done for a strategic reason. Reference existing content when possible -- Check existing patterns for consistency -- Start by making the smallest reasonable changes - -## docs.json - -- Refer to the [docs.json schema](https://mintlify.com/docs.json) when building the docs.json file and site navigation -- If adding a new group, ensure the root `index.mdx` is included in the `pages` array like: - -```json -{ - "group": "New group", - "pages": ["new-group/index", "new-group/other-page"] -} -``` - -If the trailing `/index` (no extension included) is omitted, the Mintlify parser will raise a warning even though the site will still build. - -## Frontmatter requirements for pages - -- title: Clear, descriptive, concise page title -- description: Concise summary for SEO/navigation - -## Custom code language fences - -We have implemented custom code language fences for Python and JavaScript/TypeScript. They are used to tag content that is specific to that language. Use either `:::python` or `:::js` to tag content that is specific to that language. Both are closed with the `:::` fence. - -If any code fences like this exist on the code page, then two outputs (one for each language) will be created. For example, if this syntax is on the page in `/concepts/foo.mdx`, two pages will be created at `/python/concepts/foo.mdx` and `/javascript/concepts/foo.mdx`. - -For implementation details, see `pipeline/preprocessors/markdown_preprocessor.py`. - -## Style guide - -In general, follow the [Google Developer Documentation Style Guide](https://developers.google.com/style). You can also access this style guide through the [Vale-compatible implementation](https://github.com/errata-ai/Google). - -- Second-person voice ("you") -- Prerequisites at start of procedural content -- Test all code examples before publishing -- Match style and formatting of existing pages -- Include both basic and advanced use cases -- Language tags on all code blocks -- Alt text on all images -- Root relative paths for internal links -- Correct spelling -- Correct grammar -- Sentence-case for headings -- Ensure American English spelling - -## Do not - -- Do not skip frontmatter on any MDX file -- Do not use absolute URLs for internal links -- Do not review code blocks (denoted by ```), as they are often not full snippets -- Do not include untested code examples -- Do not make assumptions - always ask for clarification -- Do not include localization in relative links (e.g., `/python/` or `/javascript/`) - these are resolved automatically by the build pipeline - -For questions, refer to the Mintlify docs (either via MCP, if available), or at the [Mintlify documentation](https://docs.mintlify.com/docs/introduction). +AGENTS.md diff --git a/README.md b/README.md index d88b53cfce..421f75b669 100644 --- a/README.md +++ b/README.md @@ -3,111 +3,96 @@ 🦜 **Welcome!** This repository contains the documentation build pipeline for LangChain projects. * 🏠 [`docs.langchain.com`](https://docs.langchain.com) is our docs home, centralizing LangChain, LangGraph, LangSmith, and LangChain Labs (Deep Agents, Open SWE, Open Agent Platform). This site is hosted on [Mintlify](https://mintlify.com). -* 🛠️ `reference.langchain.com` is home to the API reference docs for LangChain, LangGraph, LangSmith, and LangChain integration packages (e.g. [`langchain-anthropic`](https://pypi.org/project/langchain-anthropic/), [`langchain-openai`](https://pypi.org/project/langchain-openai/)). These are static sites built from the source code and deployed to [Vercel](https://vercel.com). +* 🛠️ `reference.langchain.com` is home to the API reference docs for LangChain, LangGraph, LangSmith, and LangChain integration packages (e.g., [`langchain-anthropic`](https://pypi.org/project/langchain-anthropic/), [`langchain-openai`](https://pypi.org/project/langchain-openai/)). These are static sites built from the source code and deployed to [Vercel](https://vercel.com). * [`Python reference`](https://reference.langchain.com/python/) * [`JavaScript/TypeScript reference`](https://reference.langchain.com/javascript/) > [!IMPORTANT] > -> * The LangSmith API and [SDK](https://github.com/langchain-ai/langsmith-sdk) references are not yet consolidated to this repo. Visit their documentation: -> * [`HTTP API Reference`](https://api.smith.langchain.com/redoc) -> * [`Python SDK reference`](https://docs.smith.langchain.com/reference/python/reference) -> * [`JavaScript/TypeScript SDK reference`](https://docs.smith.langchain.com/reference/js) +> The LangSmith API and [SDK](https://github.com/langchain-ai/langsmith-sdk) references are not yet fully consolidated to this repo. Visit their documentation: +> * [`HTTP API Reference`](https://api.smith.langchain.com/redoc) +> * [`JavaScript/TypeScript SDK reference`](https://docs.smith.langchain.com/reference/js) --- -## Overview +**Table of contents:** + +- [LangChain Docs](#langchain-docs) + - [Contribute](#contribute) + - [Reference](#reference) + - [Repository structure](#repository-structure) + - [`docs.langchain.com`](#docslangchaincom) + - [`reference.langchain.com`](#referencelangchaincom) + - [File formats](#file-formats) + - [Available commands](#available-commands) + - [Troubleshooting](#troubleshooting) + - [`docs dev` not working / running](#docs-dev-not-working--running) + - [Mintlify `.venv` parsing error](#mintlify-venv-parsing-error) + - [Warning: page doesn't exist](#warning-page-doesnt-exist) + - [General Mintlify errors](#general-mintlify-errors) + +--- + +## Contribute + +To contribute to LangChain documentation, follow the steps outlined in the [contributing guide](https://docs.langchain.com/oss/python/contributing/overview). The contributing guide also explains our documentation types and their writing and quality standards. + +> [!IMPORTANT] +> For contributing to reference docs, see the `README.md` file in the `/reference/python` and `/reference/javascript` directories. + +## Reference + +### Repository structure ```text # --- docs.langchain.com ---------------------------------------------- -build/ # Built docs (do not edit) +build/ # Built docs (DO NOT EDIT) pipeline/ # Build pipeline source code scripts/ # Helper scripts -src/ # Source documentation files (edit these) - labs/ # LangChain Labs docs +src/ # Source documentation files (< EDIT CONTENT HERE) langsmith/ # LangSmith docs - oss/ # LangChain, LangGraph, and integrations docs - docs.json # Mintlify site configuration + oss/ # LangChain, LangGraph, Deep Agents, and integrations docs + docs.json # Mintlify site configuration and navigation tests/ # Test files for the pipeline Makefile # Build targets pyproject.toml # Dependencies # --- reference.langchain.com ----------------------------------------- reference/ # Reference docs build pipelines - dist/ # Build docs (do not edit) + dist/ # Build docs (DO NOT EDIT) javascript/ # JS/TS reference build pipeline python/ # Python reference build pipeline and source package.json # Vercel commands and dependencies vercel.json # Vercel configuration/redirects ``` -### `docs.langchain.com` - -The Mintlify docs pipeline is structured with `.mdx` source files in `/src` and build artifacts in `/build`. Mintlify deploys from the `/build` folder, which is generated by preprocessing logic - never edit `/build` directly. +#### `docs.langchain.com` -Documentation changes follow a PR workflow where all tests must pass before merging. Publishing is handled by the [publish workflow](https://github.com/langchain-ai/docs/actions/workflows/publish.yml) (requires authorization), and [preview branches](https://github.com/langchain-ai/docs/actions/workflows/create-preview-branch.yml) are available for sharing work-in-progress changes with others. See steps below on how to preview locally and begin contributing. - -### `reference.langchain.com` - -Each language has its own build pipeline in `/reference/`. Reference docs are built with a combination of automated docstring extraction and manually written content. Refer to the `README.md` in each folder for details on how to build and contribute. - -Built files are stored in `/reference/dist/{LANGUAGE}`, which is then deployed to Vercel. The build process is triggered automatically on pushes to `main` and can also be triggered manually via the Vercel dashboard. - ---- - -## Contributing - -Before making any changes, we encourage you to read the LangChain [contributing guide](https://docs.langchain.com/oss/python/contributing/documentation) to understand our documentation types and their writing and quality standards. +The Mintlify docs pipeline is structured with `.mdx` source files in `/src` and build artifacts in `/build`. Mintlify deploys from the `/build` folder, which is generated by preprocessing logic. > [!IMPORTANT] -> The following steps refer to the [`docs.langchain.com`](https://docs.langchain.com) Mintlify documentation site. For contributing to reference docs, see the `README.md` file in the `/reference/python` and `/reference/javascript` directories. - -### Set up a local dev environment - -1. Clone this repo. Follow the steps outlined in [IDE_SETUP.md](./IDE_SETUP.md). -2. Install `uv` from (if not already installed) -3. Install `npm` from (if not already installed) -4. Create and activate a virtual environment: - - ```bash - cd docs - uv venv - source .venv/bin/activate - ``` +> Never edit `/build` directly. -5. Install dependencies: +The `/src/docs.json` file is used to configure the Mintlify site navigation and settings. Refer to the [Mintlify documentation](https://www.mintlify.com/docs/organize/navigation) for detailed syntax and component usage. - ```bash - uv sync --all-groups - ``` +Documentation changes follow a PR workflow where all tests must pass before merging. See the [contributing guidelines](/oss/contributing/documentation) for more details. - ```bash - npm i -g mint - ``` +#### `reference.langchain.com` -After install, you'll have access to the `docs` command: - -```bash -docs --help -``` - -Common commands: +Each language has its own build pipeline in `/reference/`. Reference docs are built with a combination of automated docstring extraction and manually written content. Refer to the `README.md` in each folder for details on how to build and contribute. -* `docs dev` - Start development mode with file watching and hot reload -* `docs build` - Build documentation -* `docs migrate ` - Convert MkDocs markdown files to Mintlify format -* `docs migrate-docusaurus ` - Convert Docusaurus markdown files to Mintlify format +Built files are stored in `/reference/dist/{LANGUAGE}`, which is then deployed to Vercel. The build process is triggered automatically on pushes to `main` and can also be triggered manually via the Vercel dashboard. -### Important rules +### File formats -* **Only edit files in `src/`** - The `build/` directory is automatically generated -* **Use Mintlify syntax** - See [Mintlify documentation](https://mintlify.com/docs) for formatting guidelines -* **Test your changes** - Use `docs dev` to preview changes locally with hot reload -* **Use safe Mintlify commands** - Use `make mint-broken-links` instead of `mint broken-links` to check final built documentation +* **Markdown files** (`.md`, `.mdx`) - Standard documentation content +* **Snippets** (`src/snippets/`) - Reusable MDX content that can be imported into multiple pages. **Important:** Snippets undergo special link preprocessing. When writing links in snippets, be careful about path segments. +* **Jupyter notebooks** (`.ipynb`) - Converted to markdown during build, though **these are not recommended for new content!** Your PR will likely be rejected if you attempt to add a Jupyter notebook unless asked to by a maintainer. +* **Assets** - Images and other files are copied to the build directory ### Available commands -#### Make commands +**Make commands:** * `make dev` - Start development mode with file watching and live rebuild * `make build` - Build documentation to `./build` directory @@ -124,7 +109,7 @@ Common commands: * `make lint_md_fix` - Lint and fix markdown files * `make help` - Show all available commands -#### `docs` CLI Tool +**`docs` CLI tool:** The `docs` command (installed as `uv run docs`) provides additional functionality: @@ -153,102 +138,6 @@ These can be used directly using the `Makefile` or via the `docs` CLI tool: * **`docs build`** - Build documentation files * `--watch` - Watch for file changes after building -### File formats - -* **Markdown files** (`.md`, `.mdx`) - Standard documentation content -* **Jupyter notebooks** (`.ipynb`) - Converted to markdown during build, though **these are not recommended for new content!** Your PR will likely be rejected if you attempt to add a Jupyter notebook unless asked to by a maintainer. -* **Assets** - Images and other files are copied to the build directory - -### Documentation syntax - -Our primary docs the [Mintlify](https://mintlify.com/docs) platform for docs generation. Key features include: - -* **Frontmatter** - YAML metadata at the top of files -* **Components** - Special Mintlify components for enhanced formatting -* **Code blocks** - Syntax highlighting and copy functionality -* **Navigation** - Automatic sidebar generation from file structure -* **Code language fences** (only used in `/oss`) - Custom code language fences for Python and Javascript (`:::python` and `:::js`). Both are closed with the `:::` fence. These are used to tag content that is specific to that language and will generate two outputs (one for each language). - -Refer to the [Mintlify documentation](https://mintlify.com/docs) for detailed syntax and component usage. - -### Testing - -Run the test suite to ensure your changes don't break existing functionality: - -```bash -make test -``` - -### Code quality - -Before submitting changes, ensure your code passes formatting and linting checks: - -```bash -# Format code automatically -make format - -# Check for linting issues -make lint - -# Fix markdown issues -make lint_md_fix -``` - -> [!IMPORTANT] -> All pull requests are automatically checked by CI/CD. -> -> The same linting and formatting standards will be enforced, and PRs cannot be merged if these checks fail. - ---- - -## Development workflow - -First, ensure your dev environment is set up as described above and that you have followed the steps in [IDE_SETUP.md](./IDE_SETUP.md) to configure your IDE/editor to automatically apply the correct settings. - -1. **Start development mode:** - - ```bash - docs dev - ``` - - This starts a development server with hot reload at - -2. **Edit files in `src/`:** - * Make changes to markdown files, notebooks, or other documentation - * The build system automatically detects changes and rebuilds affected files - -3. **Preview changes:** - * Changes automatically appear in your browser at - * No manual refresh needed - the page updates automatically when you save files - -4. **Iterate:** - * Continue editing and see changes reflected immediately - * The development server rebuilds only changed files for faster feedback - -### Create a preview build - -When you create or update a PR, a [preview branch/ID](https://github.com/langchain-ai/docs/actions/workflows/create-preview-branch.yml) is automatically generated for you. A comment will be left on the PR with the ID, which you can then use to generate a preview. You can also run this workflow manually if needed. - -1. Copy the preview branch's ID from the comment. -2. In the [Mintlify dashboard](https://dashboard.mintlify.com/langchain-5e9cc07a/langchain-5e9cc07a?section=previews), click **Create preview deployment**. -3. Enter the preview branch's ID. -4. Click **Create deployment**. - A **Manual update** will display in the **Previews** table. -5. Select the preview and click **Visit** to view the preview build. - -To redeploy the preview build, click **Redeploy** on the Mintlify dashboard. - -### Publish to prod - -Once your branch has been merged into `main`, you need to push the changes to `prod` for them to render on the live docs site. Use the [Publish documentation GH action](https://github.com/langchain-ai/docs/actions/workflows/publish.yml): - -1. Go to [Publish documentation](https://github.com/langchain-ai/docs/actions/workflows/publish.yml). -2. Click the **Run workflow** button. -3. Select the **main** branch to deploy. -4. Click **Run workflow**. - ---- - ## Troubleshooting ### `docs dev` not working / running diff --git a/pipeline/core/builder.py b/pipeline/core/builder.py index 5ee7280cf1..3ce10c43cf 100644 --- a/pipeline/core/builder.py +++ b/pipeline/core/builder.py @@ -92,9 +92,6 @@ def build_all(self) -> None: logger.info("Building LangGraph JavaScript version...") self._build_langgraph_version("oss/javascript", "js") - logger.info("Building LangChain Labs content...") - self._build_unversioned_content("labs", "labs") - logger.info("Building LangSmith content...") self._build_unversioned_content("langsmith", "langsmith") @@ -191,12 +188,11 @@ def _add_suggested_edits_link(self, content: str, input_path: Path) -> str: # Create the callout section with Mintlify Callout component source_links_section = ( "\n\n---\n\n" - f'\n' + '\n' f" [Edit the source of this page on GitHub.]({edit_url})\n" "\n" - f'\n' - f" [Connect these docs programmatically](/use-these-docs) to Claude, VSCode, and more via MCP for" - f" real-time answers.\n" + '\n' + " [Connect these docs programmatically](/use-these-docs) to Claude, VSCode, and more via MCP for real-time answers.\n" # noqa: E501 "\n" ) @@ -305,7 +301,7 @@ def build_file(self, file_path: Path) -> None: if relative_path.parts[0] == "oss": self._build_oss_file(file_path, relative_path) # Check if this is unversioned content - elif relative_path.parts[0] in {"labs", "langsmith"}: + elif relative_path.parts[0] == "langsmith": self._build_unversioned_file(file_path, relative_path) # Handle shared files (images, docs.json, etc.) elif self.is_shared_file(file_path): @@ -340,7 +336,7 @@ def _build_oss_file(self, file_path: Path, relative_path: Path) -> None: logger.info("Built JavaScript version: oss/javascript/%s", oss_relative) def _build_unversioned_file(self, file_path: Path, relative_path: Path) -> None: - """Build an unversioned file (langsmith, labs). + """Build an unversioned file (langsmith). Args: file_path: Path to the source file. @@ -581,10 +577,10 @@ def _build_langgraph_version(self, output_dir: str, target_language: str) -> Non ) def _build_unversioned_content(self, source_dir: str, output_dir: str) -> None: - """Build unversioned content (labs/, langsmith/). + """Build unversioned content (langsmith/). Args: - source_dir: Source directory name (e.g., "labs"). + source_dir: Source directory name (e.g., "langsmith"). output_dir: Output directory name (same as source_dir). """ src_path = self.src_dir / source_dir @@ -829,12 +825,18 @@ def _process_snippet_markdown_file( # Convert /oss/ links to relative paths that work from any language context def convert_oss_link(match: re.Match) -> str: - """Convert /oss/ links to language-agnostic relative paths.""" + """Convert /oss/ links to language-agnostic relative paths. + + IMPORTANT: the conversion creates relative paths that resolve from the + parent page's directory. + - /oss/providers/groq → ../providers/groq + """ pre = match.group(1) # Everything before the URL url = match.group(2) # The URL post = match.group(3) # Everything after the URL - # Only convert absolute /oss/ paths that don't contain 'images' or '/oss/python' or '/oss/javascript' + # Only convert absolute /oss/ paths that don't contain 'images' + # or '/oss/python' or '/oss/javascript' if ( url.startswith("/oss/") and "images" not in url diff --git a/pipeline/preprocessors/link_map.py b/pipeline/preprocessors/link_map.py index 454f253903..a669356765 100644 --- a/pipeline/preprocessors/link_map.py +++ b/pipeline/preprocessors/link_map.py @@ -17,74 +17,6 @@ class LinkMap(TypedDict): LINK_MAPS: list[LinkMap] = [ - { - # JS LangGraph reference - "host": "https://langchain-ai.github.io/langgraphjs/", - "scope": "js", - "links": { - "Auth": "reference/classes/sdk_auth.Auth.html", - "StateGraph": "reference/classes/langgraph.StateGraph.html", - "add_conditional_edges": "/reference/classes/langgraph.StateGraph.html#addConditionalEdges", - "add_edge": "reference/classes/langgraph.StateGraph.html#addEdge", - "add_node": "reference/classes/langgraph.StateGraph.html#addNode", - "add_messages": "reference/modules/langgraph.html#addMessages", - "astream_events": "https://v03.api.js.langchain.com/types/_langchain_core.tracers_log_stream.StreamEvent.html", - "BaseCheckpointSaver": "reference/classes/checkpoint.BaseCheckpointSaver.html", - "BaseLoader": "https://v03.api.js.langchain.com/classes/_langchain_core.document_loaders_base.BaseDocumentLoader.html", - "BaseStore": "reference/classes/checkpoint.BaseStore.html", - "BaseStore.put": "reference/classes/checkpoint.BaseStore.html#put", - "BinaryOperatorAggregate": "reference/classes/langgraph.BinaryOperatorAggregate.html", - "client.runs.stream": "reference/classes/sdk_client.RunsClient.html#stream", - "client.runs.wait": "reference/classes/sdk_client.RunsClient.html#wait", - "client.threads.get_history": "reference/classes/sdk_client.ThreadsClient.html#getHistory", - "client.threads.update_state": "reference/classes/sdk_client.ThreadsClient.html#updateState", - "Command": "reference/classes/langgraph.Command.html", - "CompiledStateGraph": "reference/classes/langgraph.CompiledStateGraph.html", - "create_react_agent": "reference/functions/langgraph_prebuilt.createReactAgent.html", - "create_supervisor": "reference/functions/langgraph_supervisor.createSupervisor.html", - "entrypoint": "reference/functions/langgraph.entrypoint.html", - "entrypoint.final": "reference/functions/langgraph.entrypoint.html#final", - "getContextVariable": "https://v03.api.js.langchain.com/functions/_langchain_core.context.getContextVariable.html", - "get_state_history": "reference/classes/langgraph.CompiledStateGraph.html#getStateHistory", - "HumanInterrupt": "reference/interfaces/langgraph_prebuilt.HumanInterrupt.html", - "init_chat_model": "https://v03.api.js.langchain.com/functions/langchain.chat_models_universal.initChatModel.html", - "interrupt": "reference/functions/langgraph.interrupt-2.html", - "CompiledStateGraph.invoke": "reference/classes/langgraph.CompiledStateGraph.html#invoke", - "langgraph.json": "cloud/reference/cli/#configuration-file", - "MemorySaver": "reference/classes/checkpoint.MemorySaver.html", - "messagesStateReducer": "reference/functions/langgraph.messagesStateReducer.html", - "PostgresSaver": "reference/classes/checkpoint_postgres.PostgresSaver.html", - "Pregel": "reference/classes/langgraph.Pregel.html", - "Pregel.stream": "reference/classes/langgraph.Pregel.html#stream", - "pre_model_hook": "reference/functions/langgraph_prebuilt.createReactAgent.html", - "protocol": "reference/interfaces/checkpoint.SerializerProtocol.html", - "Send": "reference/classes/langgraph.Send.html", - "SerializerProtocol": "reference/interfaces/checkpoint.SerializerProtocol.html", - "SqliteSaver": "reference/classes/checkpoint_sqlite.SqliteSaver.html", - "START": "reference/variables/langgraph.START.html", - "CompiledStateGraph.stream": "reference/classes/langgraph.CompiledStateGraph.html#stream", - "task": "reference/functions/langgraph.task.html", - "update_state": "reference/classes/langgraph.CompiledStateGraph.html#updateState", - }, - }, - { - "host": "https://v03.api.js.langchain.com/", - "scope": "js", - "links": { - "AIMessage": "classes/_langchain_core.messages_ai_message.AIMessage.html", - "AIMessageChunk": "classes/_langchain_core.messages_ai_message.AIMessageChunk.html", - "BaseChatModel.invoke": "classes/_langchain_core.language_models_chat_models.BaseChatModel.html#invoke", - "BaseChatModel.stream": "classes/_langchain_core.language_models_chat_models.BaseChatModel.html#stream", - "BaseChatModel.streamEvents": "classes/_langchain_core.language_models_chat_models.BaseChatModel.html#streamEvents", - "BaseChatModel.batch": "classes/_langchain_core.language_models_chat_models.BaseChatModel.html#batch", - "BaseChatModel.bindTools": "classes/langchain.chat_models_universal.ConfigurableModel.html#bindTools", - "Document": "classes/_langchain_core.documents.Document.html", - "initChatModel": "functions/langchain.chat_models_universal.initChatModel.html", - "RunnableConfig": "interfaces/_langchain_core.runnables.RunnableConfig.html", - "Reference": "index.html", - "Embeddings": "classes/_langchain_core.embeddings.Embeddings.html", - }, - }, { "host": "https://reference.langchain.com/python/", "scope": "python", @@ -104,10 +36,11 @@ class LinkMap(TypedDict): "system_prompt": "langchain/agents/#langchain.agents.create_agent(system_prompt)", "AgentState": "langchain/agents/#langchain.agents.AgentState", "ModelRequest": "langchain/middleware/#langchain.agents.middleware.ModelRequest", - "ModelRequest(response_format)": "langchain/middleware/#langchain.agents.middleware.ModelRequest(response_format)", "@dynamic_prompt": "langchain/middleware/#langchain.agents.middleware.dynamic_prompt", + "@before_agent": "langchain/middleware/#langchain.agents.middleware.before_agent", "@before_model": "langchain/middleware/#langchain.agents.middleware.before_model", "@after_model": "langchain/middleware/#langchain.agents.middleware.after_model", + "@after_agent": "langchain/middleware/#langchain.agents.middleware.after_agent", "@wrap_tool_call": "langchain/middleware/#langchain.agents.middleware.wrap_tool_call", "@wrap_model_call": "langchain/middleware/#langchain.agents.middleware.wrap_model_call", # Middleware @@ -116,7 +49,17 @@ class LinkMap(TypedDict): "PIIMiddleware": "langchain/middleware/#langchain.agents.middleware.PIIMiddleware", "SummarizationMiddleware": "langchain/middleware/#langchain.agents.middleware.SummarizationMiddleware", "HumanInTheLoopMiddleware": "langchain/middleware/#langchain.agents.middleware.HumanInTheLoopMiddleware", + "ModelCallLimitMiddleware": "langchain/middleware/#langchain.agents.middleware.ModelCallLimitMiddleware", + "ToolCallLimitMiddleware": "langchain/middleware/#langchain.agents.middleware.ToolCallLimitMiddleware", + "ModelFallbackMiddleware": "langchain/middleware/#langchain.agents.middleware.ModelFallbackMiddleware", + "TodoListMiddleware": "langchain/middleware/#langchain.agents.middleware.TodoListMiddleware", + "LLMToolSelectorMiddleware": "langchain/middleware/#langchain.agents.middleware.LLMToolSelectorMiddleware", + "ToolRetryMiddleware": "langchain/middleware/#langchain.agents.middleware.ToolRetryMiddleware", + "LLMToolEmulator": "langchain/middleware/#langchain.agents.middleware.LLMToolEmulator", + "ContextEditingMiddleware": "langchain/middleware/#langchain.agents.middleware.ContextEditingMiddleware", "ClearToolUsesEdit": "langchain/middleware/#langchain.agents.middleware.ClearToolUsesEdit", + "ContextEdit": "langchain/middleware/#langchain.agents.middleware.ContextEdit", + "InterruptOnConfig": "langchain/middleware/#langchain.agents.middleware.InterruptOnConfig", # Messages "AIMessage": "langchain/messages/#langchain.messages.AIMessage", "AIMessageChunk": "langchain/messages/#langchain.messages.AIMessageChunk", @@ -124,7 +67,9 @@ class LinkMap(TypedDict): "SystemMessage": "langchain/messages/#langchain.messages.SystemMessage", "HumanMessage": "langchain/messages/#langchain.messages.HumanMessage", "trim_messages": "langchain/messages/#langchain.messages.trim_messages", - "UsageMetadata": "langchain/messages/#langchain.messages.AIMessage.usage_metadata", + "UsageMetadata": "langchain/messages/#langchain.messages.UsageMetadata", + "InputTokenDetails": "langchain/messages/#langchain.messages.InputTokenDetails", + "MessageLikeRepresentation": "langchain/messages/#langchain.messages.MessageLikeRepresentation", # Content blocks "BaseMessage": "langchain_core/language_models/#langchain_core.messages.BaseMessage", "BaseMessage(content)": "langchain_core/language_models/#langchain_core.messages.BaseMessage.content", @@ -146,20 +91,40 @@ class LinkMap(TypedDict): # Integrations # langchain-openai "langchain-openai": "integrations/langchain_openai", - "BaseChatOpenAI": "integrations/langchain_openai/BaseChatOpenAI/", - "ChatOpenAI": "integrations/langchain_openai/ChatOpenAI/", - "AzureChatOpenAI": "integrations/langchain_openai/AzureChatOpenAI/", - "OpenAI": "integrations/langchain_openai/OpenAI/", - "AzureOpenAI": "integrations/langchain_openai/AzureOpenAI/", - "OpenAIEmbeddings": "integrations/langchain_openai/OpenAIEmbeddings/", - "AzureOpenAIEmbeddings": "integrations/langchain_openai/AzureOpenAIEmbeddings/", + "BaseChatOpenAI": "integrations/langchain_openai/BaseChatOpenAI", + "ChatOpenAI": "integrations/langchain_openai/ChatOpenAI", + "AzureChatOpenAI": "integrations/langchain_openai/AzureChatOpenAI", + "OpenAI": "integrations/langchain_openai/OpenAI", + "AzureOpenAI": "integrations/langchain_openai/AzureOpenAI", + "OpenAIEmbeddings": "integrations/langchain_openai/OpenAIEmbeddings", + "AzureOpenAIEmbeddings": "integrations/langchain_openai/AzureOpenAIEmbeddings", # langchain-anthropic "langchain-anthropic": "integrations/langchain_anthropic", - "ChatAnthropic": "integrations/langchain_anthropic/ChatAnthropic/", - "AnthropicLLM": "integrations/langchain_anthropic/AnthropicLLM/", + "ChatAnthropic": "integrations/langchain_anthropic/ChatAnthropic", + "AnthropicLLM": "integrations/langchain_anthropic/AnthropicLLM", + "AnthropicPromptCachingMiddleware": "integrations/langchain_anthropic/middleware/#langchain_anthropic.middleware.AnthropicPromptCachingMiddleware", + # langchain-google + "langchain-google": "integrations/langchain_google", + "langchain-google-genai": "integrations/langchain_google_genai", + "ChatGoogleGenerativeAI": "integrations/langchain_google_genai/#langchain_google_genai.ChatGoogleGenerativeAI", + "langchain-google-vertexai": "integrations/langchain_google_vertexai", + "ChatVertexAI": "integrations/langchain_google_vertexai/#langchain_google_vertexai.ChatVertexAI", + "langchain-google-community": "integrations/langchain_google_community/", + # langchain-ollama + "langchain-ollama": "integrations/langchain_ollama", + "ChatOllama": "integrations/langchain_ollama/#langchain_ollama.ChatOllama", + # langchain-xai + "langchain-xai": "integrations/langchain_xai", + "ChatXAI": "integrations/langchain_xai/#langchain_xai.ChatXAI", + # langchain-groq + "langchain-groq": "integrations/langchain_groq", + "ChatGroq": "integrations/langchain_groq/#langchain_groq.ChatGroq", + # langchain-deepseek + "langchain-deepseek": "integrations/langchain_deepseek", + "ChatDeepSeek": "integrations/langchain_deepseek/#langchain_deepseek.ChatDeepSeek", # Models "init_chat_model": "langchain/models/#langchain.chat_models.init_chat_model", - "init_chat_model(model_provider)": "langchain/models/#langchain.chat_models.init_chat_model(model_provider)", + "init_chat_model(model)": "langchain/models/#langchain.chat_models.init_chat_model(model)", "BaseChatModel": "langchain_core/language_models/#langchain_core.language_models.chat_models.BaseChatModel", "BaseChatModel.invoke": "langchain_core/language_models/#langchain_core.language_models.chat_models.BaseChatModel.invoke", "BaseChatModel.stream": "langchain_core/language_models/#langchain_core.language_models.chat_models.BaseChatModel.stream", @@ -192,6 +157,12 @@ class LinkMap(TypedDict): "on_llm_new_token": "langchain_core/callbacks/#langchain_core.callbacks.base.AsyncCallbackHandler.on_llm_new_token", # Rate limiters "InMemoryRateLimiter": "langchain_core/rate_limiters/#langchain_core.rate_limiters.InMemoryRateLimiter", + # LangSmith SDK + "Client": "langsmith/observability/sdk/client/#langsmith.client.Client", + "Client.evaluate": "langsmith/observability/sdk/client/#langsmith.client.Client.evaluate", + "Client.aevaluate": "langsmith/observability/sdk/client/#langsmith.client.Client.aevaluate", + "Client.get_experiment_results": "langsmith/observability/sdk/client/#langsmith.client.Client.get_experiment_results", + "ExperimentResults": "langsmith/observability/sdk/evaluation/#langsmith.evaluation._runner.ExperimentResults", # LangGraph "get_stream_writer": "langgraph/config/#langgraph.config.get_stream_writer", "StateGraph": "langgraph/graphs/#langgraph.graph.state.StateGraph", @@ -226,7 +197,7 @@ class LinkMap(TypedDict): "SqliteSaver": "langgraph/checkpoints/#langgraph.checkpoint.sqlite.SqliteSaver", "JsonPlusSerializer": "langgraph/checkpoints/#langgraph.checkpoint.serde.jsonplus.JsonPlusSerializer", "PostgresSaver": "langgraph/checkpoints/#langgraph.checkpoint.postgres.PostgresSaver", - "create_react_agent": "langgraph/prebuilt/#langgraph.prebuilt.chat_agent_executor.create_react_agent", + "create_react_agent": "langgraph/agents/#langgraph.prebuilt.chat_agent_executor.create_react_agent", "LastValue": "langgraph/channels/#langgraph.channels.LastValue", "START": "langgraph/constants/#langgraph.constants.START", "Pregel": "langgraph/pregel/", @@ -235,11 +206,89 @@ class LinkMap(TypedDict): "Runtime": "langgraph/runtime/#langgraph.runtime.Runtime", "Send": "langgraph/types/#langgraph.types.Send", "Topic": "langgraph/channels/#langgraph.channels.Topic", - # SDK + # LangSmith Deployment SDK + # Main client + "get_client": "langsmith/deployment/sdk/#langgraph_sdk.get_client", + "get_sync_client": "langsmith/deployment/sdk/#langgraph_sdk.get_sync_client", + "LangGraphClient": "langsmith/deployment/sdk/#langgraph_sdk.client.LangGraphClient", + # HTTP clients + "HttpClient": "langsmith/deployment/sdk/#langgraph_sdk.client.HttpClient", + "SyncHttpClient": "langsmith/deployment/sdk/#langgraph_sdk.client.SyncHttpClient", + # Resource clients - Async + "AssistantsClient": "langsmith/deployment/sdk/#langgraph_sdk.client.AssistantsClient", + "AssistantsClient.create": "langsmith/deployment/sdk/#langgraph_sdk.client.AssistantsClient.create", + "AssistantsClient.update": "langsmith/deployment/sdk/#langgraph_sdk.client.AssistantsClient.update", + "ThreadsClient": "langsmith/deployment/sdk/#langgraph_sdk.client.ThreadsClient", + "ThreadsClient.create": "langsmith/deployment/sdk/#langgraph_sdk.client.ThreadsClient.create", + "ThreadsClient.copy": "langsmith/deployment/sdk/#langgraph_sdk.client.ThreadsClient.copy", + "ThreadsClient.search": "langsmith/deployment/sdk/#langgraph_sdk.client.ThreadsClient.search", + "ThreadsClient.get_history": "langsmith/deployment/sdk/#langgraph_sdk.client.ThreadsClient.get_history", + "RunsClient": "langsmith/deployment/sdk/#langgraph_sdk.client.RunsClient", + "RunsClient.stream": "langsmith/deployment/sdk/#langgraph_sdk.client.RunsClient.stream", + "CronClient": "langsmith/deployment/sdk/#langgraph_sdk.client.CronClient", + "StoreClient": "langsmith/deployment/sdk/#langgraph_sdk.client.StoreClient", + # Resource clients - Sync + "SyncAssistantsClient": "langsmith/deployment/sdk/#langgraph_sdk.client.SyncAssistantsClient", + "SyncThreadsClient": "langsmith/deployment/sdk/#langgraph_sdk.client.SyncThreadsClient", + "SyncRunsClient": "langsmith/deployment/sdk/#langgraph_sdk.client.SyncRunsClient", + "SyncCronClient": "langsmith/deployment/sdk/#langgraph_sdk.client.SyncCronClient", + "SyncStoreClient": "langsmith/deployment/sdk/#langgraph_sdk.client.SyncStoreClient", + # Client methods "client.runs.stream": "langsmith/deployment/sdk/#langgraph_sdk.client.RunsClient.stream", "client.runs.wait": "langsmith/deployment/sdk/#langgraph_sdk.client.RunsClient.wait", "client.threads.get_history": "langsmith/deployment/sdk/#langgraph_sdk.client.ThreadsClient.get_history", "client.threads.update_state": "langsmith/deployment/sdk/#langgraph_sdk.client.ThreadsClient.update_state", + # Schema types - Enumerations + "RunStatus": "langsmith/deployment/sdk/#langgraph_sdk.schema.RunStatus", + "ThreadStatus": "langsmith/deployment/sdk/#langgraph_sdk.schema.ThreadStatus", + "StreamMode": "langsmith/deployment/sdk/#langgraph_sdk.schema.StreamMode", + "DisconnectMode": "langsmith/deployment/sdk/#langgraph_sdk.schema.DisconnectMode", + "MultitaskStrategy": "langsmith/deployment/sdk/#langgraph_sdk.schema.MultitaskStrategy", + "OnConflictBehavior": "langsmith/deployment/sdk/#langgraph_sdk.schema.OnConflictBehavior", + # Schema types - Data models + "Assistant": "langsmith/deployment/sdk/#langgraph_sdk.schema.Assistant", + "AssistantVersion": "langsmith/deployment/sdk/#langgraph_sdk.schema.AssistantVersion", + "Thread": "langsmith/deployment/sdk/#langgraph_sdk.schema.Thread", + "Run": "langsmith/deployment/sdk/#langgraph_sdk.schema.Run", + "Cron": "langsmith/deployment/sdk/#langgraph_sdk.schema.Cron", + "Config": "langsmith/deployment/sdk/#langgraph_sdk.schema.Config", + "Checkpoint": "langsmith/deployment/sdk/#langgraph_sdk.schema.Checkpoint", + "GraphSchema": "langsmith/deployment/sdk/#langgraph_sdk.schema.GraphSchema", + "Item": "langsmith/deployment/sdk/#langgraph_sdk.schema.Item", + "SearchItem": "langsmith/deployment/sdk/#langgraph_sdk.schema.SearchItem", + "ThreadState": "langsmith/deployment/sdk/#langgraph_sdk.schema.ThreadState", + # Auth types + "Auth": "langsmith/deployment/sdk/#langgraph_sdk.auth.Auth", + "Auth.authenticate": "langsmith/deployment/sdk/#langgraph_sdk.auth.Auth.authenticate", + "Auth.on": "langsmith/deployment/sdk/#langgraph_sdk.auth.Auth.on", + "AuthContext": "langsmith/deployment/sdk/#langgraph_sdk.auth.types.AuthContext", + "BaseUser": "langsmith/deployment/sdk/#langgraph_sdk.auth.types.BaseUser", + "StudioUser": "langsmith/deployment/sdk/#langgraph_sdk.auth.types.StudioUser", + "MinimalUserDict": "langsmith/deployment/sdk/#langgraph_sdk.auth.types.MinimalUserDict", + "HTTPException": "langsmith/deployment/sdk/#langgraph_sdk.auth.exceptions.HTTPException", + # Auth types - Threads + "ThreadsCreate": "langsmith/deployment/sdk/#langgraph_sdk.auth.types.ThreadsCreate", + "ThreadsRead": "langsmith/deployment/sdk/#langgraph_sdk.auth.types.ThreadsRead", + "ThreadsUpdate": "langsmith/deployment/sdk/#langgraph_sdk.auth.types.ThreadsUpdate", + "ThreadsDelete": "langsmith/deployment/sdk/#langgraph_sdk.auth.types.ThreadsDelete", + "ThreadsSearch": "langsmith/deployment/sdk/#langgraph_sdk.auth.types.ThreadsSearch", + # Auth types - Assistants + "AssistantsCreate": "langsmith/deployment/sdk/#langgraph_sdk.auth.types.AssistantsCreate", + "AssistantsRead": "langsmith/deployment/sdk/#langgraph_sdk.auth.types.AssistantsRead", + "AssistantsUpdate": "langsmith/deployment/sdk/#langgraph_sdk.auth.types.AssistantsUpdate", + "AssistantsDelete": "langsmith/deployment/sdk/#langgraph_sdk.auth.types.AssistantsDelete", + "AssistantsSearch": "langsmith/deployment/sdk/#langgraph_sdk.auth.types.AssistantsSearch", + # Auth types - Runs + "RunsCreate": "langsmith/deployment/sdk/#langgraph_sdk.auth.types.RunsCreate", + # Auth types - Crons + "CronsCreate": "langsmith/deployment/sdk/#langgraph_sdk.auth.types.CronsCreate", + "CronsRead": "langsmith/deployment/sdk/#langgraph_sdk.auth.types.CronsRead", + "CronsUpdate": "langsmith/deployment/sdk/#langgraph_sdk.auth.types.CronsUpdate", + "CronsDelete": "langsmith/deployment/sdk/#langgraph_sdk.auth.types.CronsDelete", + "CronsSearch": "langsmith/deployment/sdk/#langgraph_sdk.auth.types.CronsSearch", + # Schema create types + "RunCreate": "langsmith/deployment/sdk/#langgraph_sdk.schema.RunCreate", + "RunCreateMetadata": "langsmith/deployment/sdk/#langgraph_sdk.schema.RunCreateMetadata", # Functional API "@task": "langgraph/func/#langgraph.func.task", "@entrypoint": "langgraph/func/#langgraph.func.entrypoint", @@ -250,10 +299,81 @@ class LinkMap(TypedDict): "host": "https://reference.langchain.com/javascript/", "scope": "js", "links": { - "Runtime": "interfaces/_langchain_langgraph.index.Runtime.html", + # @langchain/core references + "AIMessage": "classes/_langchain_core.messages.AIMessage.html", + "AIMessageChunk": "classes/_langchain_core.messages.AIMessageChunk.html", + "BaseChatModel.invoke": "classes/_langchain_core.language_models_chat_models.BaseChatModel.html#invoke", + "BaseChatModel.stream": "classes/_langchain_core.language_models_chat_models.BaseChatModel.html#stream", + "BaseChatModel.streamEvents": "classes/_langchain_core.language_models_chat_models.BaseChatModel.html#streamEvents", + "BaseChatModel.batch": "classes/_langchain_core.language_models_chat_models.BaseChatModel.html#batch", + "BaseChatModel.bindTools": "classes/_langchain_core.language_models_chat_models.BaseChatModel.html#bindTools", + "Document": "classes/_langchain_core.documents.Document.html", + "Embeddings": "classes/_langchain_core.embeddings.Embeddings.html", + "initChatModel": "functions/langchain.chat_models_universal.initChatModel.html", + "RunnableConfig": "interfaces/_langchain_core.runnables.RunnableConfig.html", "tool": "functions/_langchain_core.tools.tool.html", - "ToolNode": "classes/langchain.index.ToolNode.html", "UsageMetadata": "types/_langchain_core.messages.UsageMetadata.html", + "BaseLoader": "classes/_langchain_core.document_loaders_base.BaseDocumentLoader.html", + "getContextVariable": "functions/_langchain_core.context.getContextVariable.html", + "astream_events": "classes/_langchain_core.runnables.Runnable.html#streamEvents", + # LangGraph SDK references + "Auth": "classes/_langchain_langgraph-sdk.auth.Auth.html", + "client.runs.stream": "classes/_langchain_langgraph-sdk.client.RunsClient.html#stream", + "client.runs.wait": "classes/_langchain_langgraph-sdk.client.RunsClient.html#wait", + "client.threads.get_history": "classes/_langchain_langgraph-sdk.client.ThreadsClient.html#getHistory", + "client.threads.update_state": "classes/_langchain_langgraph-sdk.client.ThreadsClient.html#updateState", + # LangGraph checkpoint references + "BaseCheckpointSaver": "classes/_langchain_langgraph-checkpoint.BaseCheckpointSaver.html", + "BaseStore": "classes/_langchain_langgraph-checkpoint.BaseStore.html", + "BaseStore.put": "classes/_langchain_langgraph-checkpoint.BaseStore.html#put", + "MemorySaver": "classes/_langchain_langgraph-checkpoint.MemorySaver.html", + "PostgresSaver": "classes/_langchain_langgraph-checkpoint-postgres.index.PostgresSaver.html", + "protocol": "interfaces/_langchain_langgraph-checkpoint.SerializerProtocol.html", + "SerializerProtocol": "interfaces/_langchain_langgraph-checkpoint.SerializerProtocol.html", + "SqliteSaver": "classes/_langchain_langgraph-checkpoint-sqlite.SqliteSaver.html", + # LangGraph core references + "StateGraph": "classes/_langchain_langgraph.index.StateGraph.html", + "add_conditional_edges": "classes/_langchain_langgraph.index.StateGraph.html#addConditionalEdges", + "add_edge": "classes/_langchain_langgraph.index.StateGraph.html#addEdge", + "add_node": "classes/_langchain_langgraph.index.StateGraph.html#addNode", + "add_messages": "functions/_langchain_langgraph.index.messagesStateReducer.html", + "BinaryOperatorAggregate": "classes/_langchain_langgraph.index.BinaryOperatorAggregate.html", + "Command": "classes/_langchain_langgraph.index.Command.html", + "CompiledStateGraph": "classes/_langchain_langgraph.index.CompiledStateGraph.html", + "create_react_agent": "functions/_langchain_langgraph.prebuilt.createReactAgent.html", + "create_supervisor": "functions/_langchain_langgraph-supervisor.createSupervisor.html", + "entrypoint": "functions/_langchain_langgraph.index.entrypoint.html", + "entrypoint.final": "functions/_langchain_langgraph.index.entrypoint.html#final", + "get_state_history": "classes/_langchain_langgraph.pregel.Pregel.html#getStateHistory", + "HumanInterrupt": "interfaces/_langchain_langgraph.prebuilt.HumanInterrupt.html", + "interrupt": "functions/_langchain_langgraph.index.interrupt.html", + "CompiledStateGraph.invoke": "classes/_langchain_langgraph.index.CompiledStateGraph.html#invoke", + "langgraph.json": "cloud/reference/cli/#configuration-file", + "messagesStateReducer": "functions/_langchain_langgraph.index.messagesStateReducer.html", + "Pregel": "classes/_langchain_langgraph.pregel.Pregel.html", + "Pregel.stream": "classes/_langchain_langgraph.pregel.Pregel.html#stream", + "Send": "classes/_langchain_langgraph.index.Send.html", + "START": "variables/_langchain_langgraph.index.START.html", + "CompiledStateGraph.stream": "classes/_langchain_langgraph.index.CompiledStateGraph.html#stream", + "task": "functions/_langchain_langgraph.index.task.html", + "update_state": "classes/_langchain_langgraph.pregel.Pregel.html#updateState", + "Runtime": "interfaces/_langchain_langgraph.index.Runtime.html", + "ToolNode": "classes/_langchain_langgraph.prebuilt.ToolNode.html", + # LangSmith Deployment SDK - JS + "ThreadsClient": "classes/_langchain_langgraph-sdk.client.ThreadsClient.html", + "ThreadsClient.create": "classes/_langchain_langgraph-sdk.client.ThreadsClient.html#create", + "ThreadsClient.copy": "classes/_langchain_langgraph-sdk.client.ThreadsClient.html#copy", + "ThreadsClient.search": "classes/_langchain_langgraph-sdk.client.ThreadsClient.html#search", + "ThreadsClient.getHistory": "classes/_langchain_langgraph-sdk.client.ThreadsClient.html#gethistory", + "AssistantsClient": "classes/_langchain_langgraph-sdk.client.AssistantsClient.html", + "AssistantsClient.create": "classes/_langchain_langgraph-sdk.client.AssistantsClient.html#create", + "AssistantsClient.update": "classes/_langchain_langgraph-sdk.client.AssistantsClient.html#update", + "AssistantsClient.search": "classes/_langchain_langgraph-sdk.client.AssistantsClient.html#search", + "RunsClient": "classes/_langchain_langgraph-sdk.client.RunsClient.html", + "RunsClient.stream": "classes/_langchain_langgraph-sdk.client.RunsClient.html#stream", + "ClearToolUsesEdit": "classes/langchain.index.ClearToolUsesEdit.html", + "ContextEdit": "interfaces/langchain.index.ContextEdit.html", + "toolRetryMiddleware": "functions/langchain.index.toolRetryMiddleware.html", }, }, ] diff --git a/pipeline/tools/partner_pkg_table.py b/pipeline/tools/partner_pkg_table.py index 3192b0108c..15b0a93737 100644 --- a/pipeline/tools/partner_pkg_table.py +++ b/pipeline/tools/partner_pkg_table.py @@ -26,6 +26,7 @@ "langchain-community", "langchain-experimental", "langchain-mcp-adapters", + "langchain-model-profiles", } # Minimum downloads threshold for inclusion (bypassed for highlighted packages) @@ -90,7 +91,7 @@ def _enrich_package(p: dict) -> dict | None: return None # Check if JS package exists (indicating JS support) - p["js_exists"] = bool(p.get("js")) + p["js_exists"] = bool(p.get("js")) and p.get("js") != "n/a" # Determine provider page URL default_provider_page = f"/oss/integrations/providers/{p['name_short']}/" @@ -153,7 +154,13 @@ def _enrich_package(p: dict) -> dict | None: def package_row(p: dict) -> str: """Generate a markdown table row for a package.""" - js = f"[✅](https://www.npmjs.com/package/{p['js']})" if p["js_exists"] else "❌" + js_value = p.get("js") + if js_value and js_value != "n/a": + js = f"[✅](https://www.npmjs.com/package/{js_value})" + elif js_value == "n/a": + js = "N/A" + else: + js = "❌" link = p["provider_page"] title = p["name_title"] provider = f"[{title}]({link})" if link else title @@ -161,14 +168,14 @@ def package_row(p: dict) -> str: f"| {provider} " f"| [`{p['name']}`]({p['package_url']}) " f'| Downloads per month ' # noqa: E501 - f'| PyPI - Latest version ' # noqa: E501 + f'| PyPI - Latest version ' # noqa: E501 f"| {js} |" ) def table() -> str: """Generate the full markdown table for all packages.""" - header = """| Provider | Package API reference | Downloads | Latest version | JS/TS support | + header = """| Provider | Package | Downloads | Latest version | JS/TS support | | :--- | :--- | :--- | :--- | :--- | """ # noqa: E501 return header + "\n".join(package_row(p) for p in PACKAGES_SORTED) @@ -202,8 +209,10 @@ def doc() -> str: [See all providers](/oss/integrations/providers/all_providers) or search for a provider using the search field. +Community integrations can be found in [`langchain-community`](https://github.com/langchain-ai/langchain-community). + - If you'd like to contribute an integration, see [our contributing guide](/oss/contributing). + If you'd like to contribute an integration, see the [contributing guide](/oss/contributing). """ # noqa: E501 diff --git a/pyproject.toml b/pyproject.toml index 4231dbe5fa..0f47c38685 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -89,21 +89,25 @@ ignore = [ [tool.ruff.lint.extend-per-file-ignores] -".github/**/*.py" = [ - # Not a package - "INP001", +".github/**/*.py" = [] + +"pipeline/**/*.py" = [ + "TD002", # Comments are fine + "TD003", # Comments are fine + "FIX002", # Comments are fine + "D103", # Missing docstring in simple function ] + "pipeline/preprocessors/link_map.py" = [ - # Just contains long links - "E501", + "E501", # Line length ] "tests/**/*.py" = [ - # at least this three should be fine in tests: "S101", # asserts allowed in tests... "ARG", # Unused function args -> fixtures nevertheless are functionally relevant... "FBT", # Don't care about booleans as positional arguments in tests, e.g. via @pytest.mark.parametrize() "D104", + # The below are debatable "PLR2004", # Magic value used in comparison, ... "S311", # Standard pseudo-random generators are not suitable for cryptographic purposes @@ -112,24 +116,13 @@ ignore = [ "W293", # Test files may have blank lines with whitespace intentionally ] -"scripts/convert_pip_to_codegroup.py" = [ +"scripts/**/*.py" = [ "INP001", # Not a package -] -"scripts/filter_broken_links.py" = [ - "T201", # print() is expected in a CLI script + "T201", # Print statements "PLW2901", # Overwriting loop variable is intentional - "ANN", # Type annotations not critical for scripts - "FBT002", # Boolean defaults are fine for CLI scripts - "E501", # Long lines in docstrings are ok + "ANN", # Type annotations + "FBT002", # Boolean defaults are fine ] -"pipeline/tools/partner_pkg_table.py" = [ - "TD002", # TODO comments are fine - "TD003", # TODO comments are fine - "FIX002", # TODO comments are fine - "D103", # Missing docstring in simple function -] - - [tool.ruff.lint.pydocstyle] convention = "google" diff --git a/reference/README.md b/reference/README.md index d1aa2900b6..be8aefa579 100644 --- a/reference/README.md +++ b/reference/README.md @@ -5,3 +5,29 @@ Reference documentation is not consolidated into our primary Mintlify website ([ Currently, a Vercel project serves the built HTML from the `dist/language` directories at [`reference.langchain.com/python`](https://reference.langchain.com/python) and [`reference.langchain.com/javascript`](https://reference.langchain.com/javascript). See the [`reference/python/README.md`](./python/README.md) and [`reference/javascript/README.md`](./javascript/README.md) files for more information on how each are built and deployed. + +## v0.3 Python HTML Reference Docs + +The v0.3 Python HTML reference docs are served at `/v0.3/python` and are maintained as a git submodule pointing to the [`langchain-api-docs-html`](https://github.com/langchain-ai/langchain-api-docs-html) repository. + +### Setup + +On first clone or when the submodule is added, initialize it: + +```bash +git submodule update --init --recursive +``` + +### Updating v0.3 Python HTML Reference Docs + +```bash +cd reference/external/html-docs +git pull origin main +cd ../.. +git add external/html-docs +git commit -m "Update v0.3 Python HTML reference docs" +``` + +### Build Process + +The build script (`pnpm build:html-v03`) copies files from `external/html-docs/api_reference_build/html/` to `dist/v0.3/python/` during deployment. diff --git a/reference/external/html-docs b/reference/external/html-docs new file mode 160000 index 0000000000..cbbf216c1b --- /dev/null +++ b/reference/external/html-docs @@ -0,0 +1 @@ +Subproject commit cbbf216c1b2ffa4353c387996898f2e5f0d1b838 diff --git a/reference/javascript/build.ts b/reference/javascript/build.ts index e3f9400660..c913e1349a 100644 --- a/reference/javascript/build.ts +++ b/reference/javascript/build.ts @@ -220,7 +220,7 @@ const SOURCES: Source[] = [ }, { package: "@langchain/langgraph", - path: "libs/langgraph", + path: "libs/langgraph-core", repo: "langchain-ai/langgraphjs", branch: "main", }, @@ -426,7 +426,9 @@ function pullRemote(remote: Remote, latestSha: string) { const target = remotePath(remote); const url = `https://github.com/${remote.repo}/archive/refs/heads/${branch}.tar.gz`; console.info(`Fetching remote tarball ${remote.repo}/${branch}`); - exec(["rm -rf", target]); + if (fs.existsSync(target)) { + fs.rmSync(target, { recursive: true, force: true }); + } exec(["mkdir -p", target]); exec([`curl -L -s`, url, `| tar -xz --strip-components=1 -C`, target]); const shaFile = path.join(target, ".sha"); diff --git a/reference/javascript/pnpm-lock.yaml b/reference/javascript/pnpm-lock.yaml index 84a4a28d98..b10468fa54 100644 --- a/reference/javascript/pnpm-lock.yaml +++ b/reference/javascript/pnpm-lock.yaml @@ -50,158 +50,158 @@ importers: packages: - '@esbuild/aix-ppc64@0.25.10': - resolution: {integrity: sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==} + '@esbuild/aix-ppc64@0.25.12': + resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.25.10': - resolution: {integrity: sha512-LSQa7eDahypv/VO6WKohZGPSJDq5OVOo3UoFR1E4t4Gj1W7zEQMUhI+lo81H+DtB+kP+tDgBp+M4oNCwp6kffg==} + '@esbuild/android-arm64@0.25.12': + resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.25.10': - resolution: {integrity: sha512-dQAxF1dW1C3zpeCDc5KqIYuZ1tgAdRXNoZP7vkBIRtKZPYe2xVr/d3SkirklCHudW1B45tGiUlz2pUWDfbDD4w==} + '@esbuild/android-arm@0.25.12': + resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.25.10': - resolution: {integrity: sha512-MiC9CWdPrfhibcXwr39p9ha1x0lZJ9KaVfvzA0Wxwz9ETX4v5CHfF09bx935nHlhi+MxhA63dKRRQLiVgSUtEg==} + '@esbuild/android-x64@0.25.12': + resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.25.10': - resolution: {integrity: sha512-JC74bdXcQEpW9KkV326WpZZjLguSZ3DfS8wrrvPMHgQOIEIG/sPXEN/V8IssoJhbefLRcRqw6RQH2NnpdprtMA==} + '@esbuild/darwin-arm64@0.25.12': + resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.25.10': - resolution: {integrity: sha512-tguWg1olF6DGqzws97pKZ8G2L7Ig1vjDmGTwcTuYHbuU6TTjJe5FXbgs5C1BBzHbJ2bo1m3WkQDbWO2PvamRcg==} + '@esbuild/darwin-x64@0.25.12': + resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.25.10': - resolution: {integrity: sha512-3ZioSQSg1HT2N05YxeJWYR+Libe3bREVSdWhEEgExWaDtyFbbXWb49QgPvFH8u03vUPX10JhJPcz7s9t9+boWg==} + '@esbuild/freebsd-arm64@0.25.12': + resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.25.10': - resolution: {integrity: sha512-LLgJfHJk014Aa4anGDbh8bmI5Lk+QidDmGzuC2D+vP7mv/GeSN+H39zOf7pN5N8p059FcOfs2bVlrRr4SK9WxA==} + '@esbuild/freebsd-x64@0.25.12': + resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.25.10': - resolution: {integrity: sha512-5luJWN6YKBsawd5f9i4+c+geYiVEw20FVW5x0v1kEMWNq8UctFjDiMATBxLvmmHA4bf7F6hTRaJgtghFr9iziQ==} + '@esbuild/linux-arm64@0.25.12': + resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.25.10': - resolution: {integrity: sha512-oR31GtBTFYCqEBALI9r6WxoU/ZofZl962pouZRTEYECvNF/dtXKku8YXcJkhgK/beU+zedXfIzHijSRapJY3vg==} + '@esbuild/linux-arm@0.25.12': + resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.25.10': - resolution: {integrity: sha512-NrSCx2Kim3EnnWgS4Txn0QGt0Xipoumb6z6sUtl5bOEZIVKhzfyp/Lyw4C1DIYvzeW/5mWYPBFJU3a/8Yr75DQ==} + '@esbuild/linux-ia32@0.25.12': + resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.25.10': - resolution: {integrity: sha512-xoSphrd4AZda8+rUDDfD9J6FUMjrkTz8itpTITM4/xgerAZZcFW7Dv+sun7333IfKxGG8gAq+3NbfEMJfiY+Eg==} + '@esbuild/linux-loong64@0.25.12': + resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.25.10': - resolution: {integrity: sha512-ab6eiuCwoMmYDyTnyptoKkVS3k8fy/1Uvq7Dj5czXI6DF2GqD2ToInBI0SHOp5/X1BdZ26RKc5+qjQNGRBelRA==} + '@esbuild/linux-mips64el@0.25.12': + resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.25.10': - resolution: {integrity: sha512-NLinzzOgZQsGpsTkEbdJTCanwA5/wozN9dSgEl12haXJBzMTpssebuXR42bthOF3z7zXFWH1AmvWunUCkBE4EA==} + '@esbuild/linux-ppc64@0.25.12': + resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.25.10': - resolution: {integrity: sha512-FE557XdZDrtX8NMIeA8LBJX3dC2M8VGXwfrQWU7LB5SLOajfJIxmSdyL/gU1m64Zs9CBKvm4UAuBp5aJ8OgnrA==} + '@esbuild/linux-riscv64@0.25.12': + resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.25.10': - resolution: {integrity: sha512-3BBSbgzuB9ajLoVZk0mGu+EHlBwkusRmeNYdqmznmMc9zGASFjSsxgkNsqmXugpPk00gJ0JNKh/97nxmjctdew==} + '@esbuild/linux-s390x@0.25.12': + resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.25.10': - resolution: {integrity: sha512-QSX81KhFoZGwenVyPoberggdW1nrQZSvfVDAIUXr3WqLRZGZqWk/P4T8p2SP+de2Sr5HPcvjhcJzEiulKgnxtA==} + '@esbuild/linux-x64@0.25.12': + resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.25.10': - resolution: {integrity: sha512-AKQM3gfYfSW8XRk8DdMCzaLUFB15dTrZfnX8WXQoOUpUBQ+NaAFCP1kPS/ykbbGYz7rxn0WS48/81l9hFl3u4A==} + '@esbuild/netbsd-arm64@0.25.12': + resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.25.10': - resolution: {integrity: sha512-7RTytDPGU6fek/hWuN9qQpeGPBZFfB4zZgcz2VK2Z5VpdUxEI8JKYsg3JfO0n/Z1E/6l05n0unDCNc4HnhQGig==} + '@esbuild/netbsd-x64@0.25.12': + resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.25.10': - resolution: {integrity: sha512-5Se0VM9Wtq797YFn+dLimf2Zx6McttsH2olUBsDml+lm0GOCRVebRWUvDtkY4BWYv/3NgzS8b/UM3jQNh5hYyw==} + '@esbuild/openbsd-arm64@0.25.12': + resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.25.10': - resolution: {integrity: sha512-XkA4frq1TLj4bEMB+2HnI0+4RnjbuGZfet2gs/LNs5Hc7D89ZQBHQ0gL2ND6Lzu1+QVkjp3x1gIcPKzRNP8bXw==} + '@esbuild/openbsd-x64@0.25.12': + resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.25.10': - resolution: {integrity: sha512-AVTSBhTX8Y/Fz6OmIVBip9tJzZEUcY8WLh7I59+upa5/GPhh2/aM6bvOMQySspnCCHvFi79kMtdJS1w0DXAeag==} + '@esbuild/openharmony-arm64@0.25.12': + resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] - '@esbuild/sunos-x64@0.25.10': - resolution: {integrity: sha512-fswk3XT0Uf2pGJmOpDB7yknqhVkJQkAQOcW/ccVOtfx05LkbWOaRAtn5SaqXypeKQra1QaEa841PgrSL9ubSPQ==} + '@esbuild/sunos-x64@0.25.12': + resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.25.10': - resolution: {integrity: sha512-ah+9b59KDTSfpaCg6VdJoOQvKjI33nTaQr4UluQwW7aEwZQsbMCfTmfEO4VyewOxx4RaDT/xCy9ra2GPWmO7Kw==} + '@esbuild/win32-arm64@0.25.12': + resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.25.10': - resolution: {integrity: sha512-QHPDbKkrGO8/cz9LKVnJU22HOi4pxZnZhhA2HYHez5Pz4JeffhDjf85E57Oyco163GnzNCVkZK0b/n4Y0UHcSw==} + '@esbuild/win32-ia32@0.25.12': + resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.25.10': - resolution: {integrity: sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw==} + '@esbuild/win32-x64@0.25.12': + resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -445,8 +445,8 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} - esbuild@0.25.10: - resolution: {integrity: sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ==} + esbuild@0.25.12: + resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} engines: {node: '>=18'} hasBin: true @@ -598,8 +598,8 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true json-buffer@3.0.1: @@ -834,82 +834,82 @@ packages: snapshots: - '@esbuild/aix-ppc64@0.25.10': + '@esbuild/aix-ppc64@0.25.12': optional: true - '@esbuild/android-arm64@0.25.10': + '@esbuild/android-arm64@0.25.12': optional: true - '@esbuild/android-arm@0.25.10': + '@esbuild/android-arm@0.25.12': optional: true - '@esbuild/android-x64@0.25.10': + '@esbuild/android-x64@0.25.12': optional: true - '@esbuild/darwin-arm64@0.25.10': + '@esbuild/darwin-arm64@0.25.12': optional: true - '@esbuild/darwin-x64@0.25.10': + '@esbuild/darwin-x64@0.25.12': optional: true - '@esbuild/freebsd-arm64@0.25.10': + '@esbuild/freebsd-arm64@0.25.12': optional: true - '@esbuild/freebsd-x64@0.25.10': + '@esbuild/freebsd-x64@0.25.12': optional: true - '@esbuild/linux-arm64@0.25.10': + '@esbuild/linux-arm64@0.25.12': optional: true - '@esbuild/linux-arm@0.25.10': + '@esbuild/linux-arm@0.25.12': optional: true - '@esbuild/linux-ia32@0.25.10': + '@esbuild/linux-ia32@0.25.12': optional: true - '@esbuild/linux-loong64@0.25.10': + '@esbuild/linux-loong64@0.25.12': optional: true - '@esbuild/linux-mips64el@0.25.10': + '@esbuild/linux-mips64el@0.25.12': optional: true - '@esbuild/linux-ppc64@0.25.10': + '@esbuild/linux-ppc64@0.25.12': optional: true - '@esbuild/linux-riscv64@0.25.10': + '@esbuild/linux-riscv64@0.25.12': optional: true - '@esbuild/linux-s390x@0.25.10': + '@esbuild/linux-s390x@0.25.12': optional: true - '@esbuild/linux-x64@0.25.10': + '@esbuild/linux-x64@0.25.12': optional: true - '@esbuild/netbsd-arm64@0.25.10': + '@esbuild/netbsd-arm64@0.25.12': optional: true - '@esbuild/netbsd-x64@0.25.10': + '@esbuild/netbsd-x64@0.25.12': optional: true - '@esbuild/openbsd-arm64@0.25.10': + '@esbuild/openbsd-arm64@0.25.12': optional: true - '@esbuild/openbsd-x64@0.25.10': + '@esbuild/openbsd-x64@0.25.12': optional: true - '@esbuild/openharmony-arm64@0.25.10': + '@esbuild/openharmony-arm64@0.25.12': optional: true - '@esbuild/sunos-x64@0.25.10': + '@esbuild/sunos-x64@0.25.12': optional: true - '@esbuild/win32-arm64@0.25.10': + '@esbuild/win32-arm64@0.25.12': optional: true - '@esbuild/win32-ia32@0.25.10': + '@esbuild/win32-ia32@0.25.12': optional: true - '@esbuild/win32-x64@0.25.10': + '@esbuild/win32-x64@0.25.12': optional: true '@eslint-community/eslint-utils@4.9.0(eslint@9.36.0)': @@ -941,7 +941,7 @@ snapshots: globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.1 - js-yaml: 4.1.0 + js-yaml: 4.1.1 minimatch: 3.1.2 strip-json-comments: 3.1.1 transitivePeerDependencies: @@ -1185,34 +1185,34 @@ snapshots: entities@4.5.0: {} - esbuild@0.25.10: + esbuild@0.25.12: optionalDependencies: - '@esbuild/aix-ppc64': 0.25.10 - '@esbuild/android-arm': 0.25.10 - '@esbuild/android-arm64': 0.25.10 - '@esbuild/android-x64': 0.25.10 - '@esbuild/darwin-arm64': 0.25.10 - '@esbuild/darwin-x64': 0.25.10 - '@esbuild/freebsd-arm64': 0.25.10 - '@esbuild/freebsd-x64': 0.25.10 - '@esbuild/linux-arm': 0.25.10 - '@esbuild/linux-arm64': 0.25.10 - '@esbuild/linux-ia32': 0.25.10 - '@esbuild/linux-loong64': 0.25.10 - '@esbuild/linux-mips64el': 0.25.10 - '@esbuild/linux-ppc64': 0.25.10 - '@esbuild/linux-riscv64': 0.25.10 - '@esbuild/linux-s390x': 0.25.10 - '@esbuild/linux-x64': 0.25.10 - '@esbuild/netbsd-arm64': 0.25.10 - '@esbuild/netbsd-x64': 0.25.10 - '@esbuild/openbsd-arm64': 0.25.10 - '@esbuild/openbsd-x64': 0.25.10 - '@esbuild/openharmony-arm64': 0.25.10 - '@esbuild/sunos-x64': 0.25.10 - '@esbuild/win32-arm64': 0.25.10 - '@esbuild/win32-ia32': 0.25.10 - '@esbuild/win32-x64': 0.25.10 + '@esbuild/aix-ppc64': 0.25.12 + '@esbuild/android-arm': 0.25.12 + '@esbuild/android-arm64': 0.25.12 + '@esbuild/android-x64': 0.25.12 + '@esbuild/darwin-arm64': 0.25.12 + '@esbuild/darwin-x64': 0.25.12 + '@esbuild/freebsd-arm64': 0.25.12 + '@esbuild/freebsd-x64': 0.25.12 + '@esbuild/linux-arm': 0.25.12 + '@esbuild/linux-arm64': 0.25.12 + '@esbuild/linux-ia32': 0.25.12 + '@esbuild/linux-loong64': 0.25.12 + '@esbuild/linux-mips64el': 0.25.12 + '@esbuild/linux-ppc64': 0.25.12 + '@esbuild/linux-riscv64': 0.25.12 + '@esbuild/linux-s390x': 0.25.12 + '@esbuild/linux-x64': 0.25.12 + '@esbuild/netbsd-arm64': 0.25.12 + '@esbuild/netbsd-x64': 0.25.12 + '@esbuild/openbsd-arm64': 0.25.12 + '@esbuild/openbsd-x64': 0.25.12 + '@esbuild/openharmony-arm64': 0.25.12 + '@esbuild/sunos-x64': 0.25.12 + '@esbuild/win32-arm64': 0.25.12 + '@esbuild/win32-ia32': 0.25.12 + '@esbuild/win32-x64': 0.25.12 escape-string-regexp@4.0.0: {} @@ -1369,7 +1369,7 @@ snapshots: isexe@2.0.0: {} - js-yaml@4.1.0: + js-yaml@4.1.1: dependencies: argparse: 2.0.1 @@ -1519,7 +1519,7 @@ snapshots: tsx@4.20.5: dependencies: - esbuild: 0.25.10 + esbuild: 0.25.12 get-tsconfig: 4.10.1 optionalDependencies: fsevents: 2.3.3 diff --git a/reference/package.json b/reference/package.json index 35414a1073..6d67148dc9 100644 --- a/reference/package.json +++ b/reference/package.json @@ -3,9 +3,10 @@ "private": true, "scripts": { "postinstall": "pnpm -C ./javascript install", - "build": "concurrently \"pnpm build:js\" \"pnpm build:py\"", + "build": "concurrently \"pnpm build:js\" \"pnpm build:py\" \"pnpm build:html-v03\"", "build:js": "pnpm -C ./javascript build", "build:py": "make -C ./python build", + "build:html-v03": "mkdir -p dist/v0.3/python && cp -r external/html-docs/api_reference_build/html/* dist/v0.3/python/", "preview": "vercel dev" }, "packageManager": "pnpm@10.14.0", diff --git a/reference/packages.yml b/reference/packages.yml index bf761946bc..7073114cb2 100644 --- a/reference/packages.yml +++ b/reference/packages.yml @@ -25,8 +25,14 @@ # - js: Optional, the name of the corresponding JS package. Should be the # trailing portion of a NPM url, e.g., `@langchain/tavily` for the # full `https://www.npmjs.com/package/@langchain/tavily` URL. -# - downloads: Automatically calculated -# - downloads_updated_at: Automatically calculated +# Set to "n/a" if the integration is Python-specific and JS support +# is not applicable (will display as "N/A" in partner package table). +# - downloads: Automatically calculated via scripts/packages_yml_get_downloads.py +# - Fetches monthly download counts from pepy.tech +# - To run manually: uv run scripts/packages_yml_get_downloads.py +# - Runs automatically weekly on Sundays at 11:59 PM UTC via GitHub Actions +# workflow: .github/workflows/update-package-downloads.yml +# - downloads_updated_at: Automatically calculated (ISO 8601 timestamp) packages: # monorepo (alphabetical by path) @@ -34,38 +40,44 @@ packages: integration: false repo: langchain-ai/langchain path: libs/cli - downloads: 68000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 75000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-core integration: false repo: langchain-ai/langchain path: libs/core - downloads: 65000000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 72000000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-classic integration: false repo: langchain-ai/langchain path: libs/langchain - downloads: 102000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 3000000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain integration: false repo: langchain-ai/langchain path: libs/langchain_v1 - downloads: 76000000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 92000000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" +- name: langchain-model-profiles + integration: false + repo: langchain-ai/langchain + path: libs/model-profiles + downloads: 2000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-tests integration: false repo: langchain-ai/langchain path: libs/standard-tests - downloads: 353000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 314000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-text-splitters integration: false repo: langchain-ai/langchain path: libs/text-splitters - downloads: 27000000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 29000000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" # monorepo partners (alphabetical by path) - name: langchain-anthropic @@ -74,195 +86,195 @@ packages: repo: langchain-ai/langchain path: libs/partners/anthropic js: "@langchain/anthropic" - downloads: 5000000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 8000000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-chroma highlight: true repo: langchain-ai/langchain path: libs/partners/chroma js: "@langchain/community" - downloads: 925000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 1000000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-deepseek highlight: true repo: langchain-ai/langchain path: libs/partners/deepseek js: "@langchain/deepseek" - downloads: 356000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 411000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-exa repo: langchain-ai/langchain path: libs/partners/exa provider_page: exa_search js: "@langchain/exa" - downloads: 18000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 21000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-fireworks highlight: true repo: langchain-ai/langchain path: libs/partners/fireworks js: "@langchain/community" - downloads: 458000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 824000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-groq highlight: true repo: langchain-ai/langchain path: libs/partners/groq js: "@langchain/groq" - downloads: 1000000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 2000000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-huggingface highlight: true repo: langchain-ai/langchain path: libs/partners/huggingface js: "@langchain/community" - downloads: 925000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 1000000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-mistralai highlight: true repo: langchain-ai/langchain path: libs/partners/mistralai js: "@langchain/mistralai" - downloads: 580000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 667000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-nomic repo: langchain-ai/langchain path: libs/partners/nomic js: "@langchain/nomic" - downloads: 25000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 28000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-ollama highlight: true repo: langchain-ai/langchain path: libs/partners/ollama js: "@langchain/ollama" - downloads: 1000000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 2000000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-openai highlight: true repo: langchain-ai/langchain path: libs/partners/openai js: "@langchain/openai" - downloads: 27000000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 35000000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-perplexity highlight: true repo: langchain-ai/langchain path: libs/partners/perplexity js: "@langchain/community" - downloads: 414000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 525000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-prompty repo: langchain-ai/langchain path: libs/partners/prompty provider_page: microsoft downloads: 4000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-qdrant highlight: true repo: langchain-ai/langchain path: libs/partners/qdrant js: "@langchain/qdrant" - downloads: 285000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 391000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-xai name_title: xAI (Grok) highlight: true repo: langchain-ai/langchain path: libs/partners/xai js: "@langchain/xai" - downloads: 113000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 145000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" # internal langchain-ai org repos (alphabetical by path) - name: langchain-community integration: false repo: langchain-ai/langchain-community path: libs/community - downloads: 30000000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 38000000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-experimental integration: false repo: langchain-ai/langchain-experimental path: libs/experimental - downloads: 2000000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 4000000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-mcp-adapters integration: false repo: langchain-ai/langchain-mcp-adapters - downloads: 989000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 1000000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" # external langchain-ai org repos (alphabetical by path) - name: langchain-ai21 repo: langchain-ai/langchain-ai21 path: libs/ai21 - downloads: 2000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 3000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-aws name_title: AWS highlight: true repo: langchain-ai/langchain-aws path: libs/aws js: "@langchain/aws" - downloads: 6000000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 7000000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-azure-ai highlight: true repo: langchain-ai/langchain-azure path: libs/azure-ai provider_page: azure_ai js: "@langchain/openai" - downloads: 79000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 125000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-azure-dynamic-sessions repo: langchain-ai/langchain-azure path: libs/azure-dynamic-sessions provider_page: microsoft js: "@langchain/azure-dynamic-sessions" - downloads: 31000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 38000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-sqlserver repo: langchain-ai/langchain-azure path: libs/sqlserver provider_page: microsoft downloads: 1000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-cerebras repo: langchain-ai/langchain-cerebras path: libs/cerebras js: "@langchain/cerebras" - downloads: 44000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 51000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-cohere highlight: true repo: langchain-ai/langchain-cohere path: libs/cohere js: "@langchain/cohere" - downloads: 797000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 995000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-astradb name_title: DataStax Astra DB highlight: true repo: langchain-ai/langchain-datastax path: libs/astradb js: "@langchain/community" - downloads: 138000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 136000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-elasticsearch highlight: true repo: langchain-ai/langchain-elastic path: libs/elasticsearch js: "@langchain/community" - downloads: 238000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 293000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-google-community name_title: Google (Community) repo: langchain-ai/langchain-google path: libs/community provider_page: google - downloads: 6000000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 7000000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-google-genai name_title: Google (GenAI) highlight: true @@ -270,8 +282,8 @@ packages: path: libs/genai provider_page: google js: "@langchain/google-genai" - downloads: 5000000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 7000000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-google-vertexai name_title: Google (Vertex AI) highlight: true @@ -279,488 +291,485 @@ packages: path: libs/vertexai provider_page: google js: "@langchain/google-vertexai" - downloads: 25000000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 28000000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-ibm name_title: IBM highlight: true repo: langchain-ai/langchain-ibm path: libs/ibm js: "@langchain/ibm" - downloads: 397000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 505000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-db2 repo: langchain-ai/langchain-ibm path: libs/langchain-db2 provider_page: ibm - downloads: 2000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 3000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-milvus highlight: true repo: langchain-ai/langchain-milvus path: libs/milvus js: "@langchain/community" - downloads: 307000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 370000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-mongodb highlight: true repo: langchain-ai/langchain-mongodb path: libs/langchain-mongodb provider_page: mongodb_atlas js: "@langchain/mongodb" - downloads: 401000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 443000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-neo4j repo: langchain-ai/langchain-neo4j path: libs/neo4j js: "@langchain/community" - downloads: 102000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 127000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-nvidia-ai-endpoints highlight: true repo: langchain-ai/langchain-nvidia path: libs/ai-endpoints provider_page: nvidia - downloads: 307000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 497000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-pinecone highlight: true repo: langchain-ai/langchain-pinecone path: libs/pinecone js: "@langchain/pinecone" - downloads: 596000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 1000000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-postgres highlight: true repo: langchain-ai/langchain-postgres provider_page: pgvector js: "@langchain/community" - downloads: 743000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 863000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-redis highlight: true repo: langchain-ai/langchain-redis path: libs/redis js: "@langchain/redis" - downloads: 89000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 166000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-sema4 repo: langchain-ai/langchain-sema4 path: libs/sema4 provider_page: robocorp - downloads: 197 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 135 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-snowflake repo: langchain-ai/langchain-snowflake path: libs/snowflake - downloads: 1000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 3000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-together highlight: true repo: langchain-ai/langchain-together path: libs/together js: "@langchain/community" - downloads: 139000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 176000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-unstructured repo: langchain-ai/langchain-unstructured path: libs/unstructured js: "@langchain/community" - downloads: 194000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 209000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-upstage repo: langchain-ai/langchain-upstage path: libs/upstage - downloads: 31000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 63000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-weaviate repo: langchain-ai/langchain-weaviate path: libs/weaviate js: "@langchain/weaviate" - downloads: 52000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 60000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" # external repos (not organized) - name: langchain-aimlapi repo: D1m7asis/langchain-aimlapi path: libs/aimlapi - downloads: 292 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 964 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: databricks-langchain name_title: Databricks highlight: true repo: databricks/databricks-ai-bridge path: integrations/langchain js: "@langchain/community" - downloads: 440000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 615000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-couchbase repo: Couchbase-Ecosystem/langchain-couchbase downloads: 2000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-box repo: box-community/langchain-box path: libs/box - downloads: 841 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 947 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-linkup repo: LinkupPlatform/langchain-linkup - downloads: 8000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 15000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-oceanbase repo: oceanbase/langchain-oceanbase - downloads: 208 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 722 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-predictionguard repo: predictionguard/langchain-predictionguard downloads: 3000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-cratedb repo: crate/langchain-cratedb - downloads: 314 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 177 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-modelscope repo: modelscope/langchain-modelscope - downloads: 235 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 130 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-falkordb repo: kingtroga/langchain-falkordb - downloads: 65 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 117 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-dappier repo: DappierAI/langchain-dappier - downloads: 137 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 210 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-pull-md repo: chigwell/langchain-pull-md - downloads: 115 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 100 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-kuzu repo: kuzudb/langchain-kuzu - downloads: 620 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 624 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-docling repo: DS4SD/docling-langchain - downloads: 40000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 46000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-lindorm-integration name_title: Lindorm repo: AlwaysBluer/langchain-lindorm-integration provider_page: lindorm - downloads: 36 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 45 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-hyperbrowser repo: hyperbrowserai/langchain-hyperbrowser - downloads: 3000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 4000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-fmp-data repo: MehdiZare/langchain-fmp-data - downloads: 102 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 142 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: tilores-langchain name_title: Tilores repo: tilotech/tilores-langchain - downloads: 491 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 251 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-pipeshift repo: pipeshift-org/langchain-pipeshift - downloads: 61 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 75 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-sambanova repo: sambanova/langchain-sambanova - downloads: 96000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 99000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-jenkins repo: Amitgb14/langchain_jenkins - downloads: 451 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" -- name: langchain-goodfire - repo: keenanpepper/langchain-goodfire - downloads: 149 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 297 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-nimble repo: Nimbleway/langchain-nimble - downloads: 139 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 169 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-apify repo: apify/langchain-apify - downloads: 7000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 10000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langfair name_title: LangFair repo: cvs-health/langfair - downloads: 1000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 2000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-abso repo: lunary-ai/langchain-abso - downloads: 107 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 147 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-graph-retriever name_title: Graph RAG repo: datastax/graph-rag path: packages/langchain-graph-retriever provider_page: graph_rag - downloads: 103000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 105000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-salesforce repo: colesmcintosh/langchain-salesforce - downloads: 2000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 3000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-discord-shikenso name_title: Discord (Shikenso) repo: Shikenso-Analytics/langchain-discord - downloads: 127 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 167 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-vdms name_title: VDMS repo: IntelLabs/langchain-vdms downloads: 3000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-deeplake repo: activeloopai/langchain-deeplake - downloads: 645 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 660 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-cognee repo: topoteretes/langchain-cognee - downloads: 144 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 202 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-prolog repo: apisani1/langchain-prolog - downloads: 443 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 616 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-permit repo: permitio/langchain-permit - downloads: 224 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 130 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-pymupdf4llm repo: lakinduboteju/langchain-pymupdf4llm - downloads: 17000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 19000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-writer repo: writer/langchain-writer - downloads: 7000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 10000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-taiga name_title: Taiga repo: Shikenso-Analytics/langchain-taiga - downloads: 167 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 209 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-tableau name_title: Tableau repo: Tab-SE/tableau_langchain - downloads: 335 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 438 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: ads4gpts-langchain name_title: ADS4GPTs repo: ADS4GPTs/ads4gpts path: libs/python-sdk/ads4gpts-langchain - downloads: 742 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 1000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-contextual name_title: Contextual AI repo: ContextualAI//langchain-contextual path: langchain-contextual - downloads: 412 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 631 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-valthera name_title: Valthera repo: valthera/langchain-valthera - downloads: 101 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 149 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-opengradient repo: OpenGradient/og-langchain - downloads: 81 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 115 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: goat-sdk-adapter-langchain name_title: GOAT SDK repo: goat-sdk/goat path: python/src/adapters/langchain provider_page: goat - downloads: 286 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 225 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-netmind repo: protagolabs/langchain-netmind - downloads: 53 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 60 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-agentql repo: tinyfish-io/agentql-integrations path: langchain - downloads: 312 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 356 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-xinference repo: TheSongg/langchain-xinference - downloads: 135 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 188 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-tavily highlight: true repo: tavily-ai/langchain-tavily js: "@langchain/tavily" - downloads: 308000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 364000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-zotero-retriever name_title: Zotero repo: TimBMK/langchain-zotero-retriever provider_page: zotero - downloads: 62 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 60 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-naver name_title: Naver repo: NaverCloudPlatform/langchain-naver downloads: 2000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-naver-community name_title: Naver (Community) repo: e7217/langchain-naver-community provider_page: naver - downloads: 726 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 1000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-memgraph repo: memgraph/langchain-memgraph - downloads: 9000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 20000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-vectara repo: vectara/langchain-vectara path: libs/vectara - downloads: 232 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 103 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-oxylabs repo: oxylabs/langchain-oxylabs - downloads: 231 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 364 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-runpod name_title: RunPod repo: runpod/langchain-runpod - downloads: 690 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 1000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-mariadb repo: mariadb-corporation/langchain-mariadb downloads: 3000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-qwq repo: yigit353/langchain-qwq provider_page: alibaba_cloud - downloads: 8000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 13000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-litellm name_title: LiteLLM highlight: true repo: akshay-dongare/langchain-litellm - downloads: 190000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + js: "n/a" + downloads: 166000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-cloudflare repo: cloudflare/langchain-cloudflare path: libs/langchain-cloudflare js: "@langchain/cloudflare" - downloads: 1000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 2000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-ydb repo: ydb-platform/langchain-ydb downloads: 1000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-singlestore name_title: SingleStore repo: singlestore-labs/langchain-singlestore - downloads: 667 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 662 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-galaxia-retriever repo: rrozanski-smabbler/galaxia-langchain provider_page: galaxia - downloads: 92 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 114 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-valyu repo: valyu-network/langchain-valyu - downloads: 608 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 783 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-hana name_title: SAP HANA Cloud repo: SAP/langchain-integration-for-sap-hana-cloud provider_page: sap - downloads: 31000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 26000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-gel repo: geldata/langchain-gel - downloads: 99 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 117 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-brightdata repo: luminati-io/langchain-brightdata - downloads: 2000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 3000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-featherless-ai repo: featherlessai/langchain-featherless-ai - downloads: 94 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 140 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-nebius repo: nebius/langchain-nebius path: libs/nebius - downloads: 937 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 1000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-surrealdb repo: surrealdb/langchain-surrealdb - downloads: 164 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 272 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-greennode repo: greennode-ai/langchain-greennode path: libs/greennode - downloads: 50 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 56 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-tensorlake repo: tensorlakeai/langchain-tensorlake - downloads: 170 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 236 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-gradient - name_title: DigitalOcean Gradient + name_title: DigitalOcean Gradient AI Platform repo: digitalocean/langchain-gradient provider_page: gradientai - downloads: 791 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 338 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-anchorbrowser name_title: Anchor Browser repo: anchorbrowser/langchain-anchorbrowser provider_page: anchor_browser - downloads: 266 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 615 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: toolbox-langchain name_title: MCP Toolbox (Google) highlight: true repo: googleapis/mcp-toolbox-sdk-python path: packages/toolbox-langchain - downloads: 6000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 8000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-scrapeless repo: scrapeless-ai/langchain-scrapeless - downloads: 57 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 63 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-google-bigtable name_title: Bigtable (Google) repo: googleapis/langchain-google-bigtable-python provider_page: google - downloads: 350 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 645 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-oci name_title: Oracle Cloud Infrastructure (OCI) repo: oracle/langchain-oracle - downloads: 2000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 5000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-zeusdb repo: zeusdb/langchain-zeusdb path: libs/zeusdb - downloads: 190 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 422 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-scraperapi repo: scraperapi/langchain-scraperapi - downloads: 405 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 775 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-localai repo: mkhludnev/langchain-localai path: libs/localai downloads: 3000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-scrapegraph repo: ScrapeGraphAI/langchain-scrapegraph - downloads: 945 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 873 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" - name: langchain-voyageai repo: voyage-ai/langchain-voyageai path: libs/voyageai - downloads: 38000 - downloads_updated_at: "2025-10-20T00:06:34.640756+00:00" + downloads: 55000 + downloads_updated_at: "2025-11-10T00:06:22.543193+00:00" diff --git a/reference/pnpm-lock.yaml b/reference/pnpm-lock.yaml index f4fe1e4bc5..4e8c567775 100644 --- a/reference/pnpm-lock.yaml +++ b/reference/pnpm-lock.yaml @@ -756,8 +756,8 @@ packages: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} - glob@10.4.5: - resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + glob@10.5.0: + resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} hasBin: true graceful-fs@4.2.11: @@ -1707,7 +1707,7 @@ snapshots: async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 - glob: 10.4.5 + glob: 10.5.0 graceful-fs: 4.2.11 node-gyp-build: 4.8.4 picomatch: 4.0.3 @@ -2179,7 +2179,7 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@10.4.5: + glob@10.5.0: dependencies: foreground-child: 3.3.1 jackspeak: 3.4.3 diff --git a/reference/python/README.md b/reference/python/README.md index d783f0cb56..9a18fc27fd 100644 --- a/reference/python/README.md +++ b/reference/python/README.md @@ -42,25 +42,16 @@ handlers: This site is currently being migrated from a previous Sphinx-based implementation, so there are still some rough edges to be smoothed out. Here are some known issues and potential improvements: -- [ ] For methods that are from base classes, indicate it is inherited from such and link to the base class -- [ ] Exclude `langchain-classic` pages from search results? - [ ] [Backlinks](https://mkdocstrings.github.io/python/usage/configuration/general/#backlinks) - [ ] [More xref](https://github.com/analog-garage/mkdocstrings-python-xref) - [ ] [Modernize annotations](https://mkdocstrings.github.io/python/usage/configuration/signatures/#modernize_annotations) -- [ ] [Inheritance diagrams](https://mkdocstrings.github.io/python/usage/configuration/general/#show_inheritance_diagram) + - [ ] ??? - [ ] Consider using [inherited docstrings](https://mkdocstrings.github.io/griffe/extensions/official/inherited-docstrings/) - [ ] Fix TOC shadow overflow (started in `reference/python/docs/stylesheets/toc.css`) but was funky -- [ ] Post-processing step to link out to imports from code blocks - - [ ] Maybe there's a plugin? - [ ] Fix `navigation.path` feature/plugin in `mkdocs.yml` not working -- [ ] Set up CI to fail on unexpected Griffe warnings + - [ ] ??? - [ ] "Module last updated" auto-generation for module pages using source file commit timestamps or the MkDocs plugin [git-revision-date-localized](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin) - [ ] Fix search magnifying glass icon color in dark mode -- [ ] Copy page support (need to add a post-processing step to generate markdown files to serve alongside the API reference docs) -- [ ] Language switcher (JS/TS) -- [ ] [Social cards](https://squidfunk.github.io/mkdocs-material/setup/setting-up-social-cards/) -- [ ] [Google Analytics](https://mrkeo.github.io/setup/setting-up-site-analytics) -- [ ] [Versioning?](https://mrkeo.github.io/setup/setting-up-versioning) - [ ] [Show keyboard shortcut in search window](https://github.com/squidfunk/mkdocs-material/issues/2574#issuecomment-821979698) - also add cmd + k to match Mintlify --- @@ -555,3 +546,49 @@ title: Chat models (Classic) ``` --- + +## In-code documentation + +### Language and style + +> [!NOTE] +> Use [Google-style docstrings](https://google.github.io/styleguide/pyguide.html) with complete type hints for all public functions. This documentation is parsed using [Griffe](https://mkdocstrings.github.io/griffe/reference/docstrings/#google-style). + +Follow these standards for all documentation: + +- **Voice**: Use second person ("you") for instructions +- **Tense**: Use active voice and present tense +- **Clarity**: Write clear, direct language for technical audiences +- **Consistency**: Use consistent terminology throughout +- **Conciseness**: Keep sentences concise while providing necessary context + +### Code examples + +> [!WARNING] +> Always test code examples before publishing. Never include real API keys or secrets. + +Requirements for code examples: + +- **Completeness**: Include complete, runnable examples that users can copy and execute without errors +- **Realism**: Use realistic data instead of placeholder values like "foo" or "example" +- **Error handling**: Show proper error handling and edge case management +- **Documentation**: Add explanatory comments for complex logic + +Example of a well-documented function: + +```python +def filter_unknown_users(users: list[str], known_users: set[str]) -> list[str]: + """Filter out users that are not in the known users set. + + Args: + users: List of user identifiers to filter. + known_users: Set of known/valid user identifiers. + + Returns: + List of users that are not in the known_users set. + + Raises: + ValueError: If users list contains invalid identifiers. + """ + return [user for user in users if user not in known_users] +``` diff --git a/reference/python/docs/index.md b/reference/python/docs/index.md index cb6503ef53..3b8e9c0360 100644 --- a/reference/python/docs/index.md +++ b/reference/python/docs/index.md @@ -6,10 +6,6 @@ Welcome to the [LangChain](https://langchain.com) Python reference documentation These pages detail the core interfaces you will use when building applications with LangChain and LangGraph. Each section covers a different part of the ecosystem. Use the navigation header to view documentation for specific packages. -!!! warning "Work in progress" - - This site is a work in progress. If you have any suggestions or find any issues, please [open an issue on GitHub](https://github.com/langchain-ai/docs/issues/new?template=04-reference-docs.yml). - !!! note "Reference docs" This site contains **Python reference documentation**. You can find **conceptual guides, tutorials, and more** in the [main LangChain documentation site](https://docs.langchain.com). diff --git a/reference/python/docs/integrations/index.md b/reference/python/docs/integrations/index.md index 50100c3b33..0a4c25eadb 100644 --- a/reference/python/docs/integrations/index.md +++ b/reference/python/docs/integrations/index.md @@ -8,8 +8,16 @@ Welcome! These pages include reference documentation for all `langchain-*` Pytho To learn more about integrations in LangChain, visit the [Integrations overview](https://docs.langchain.com/oss/python/integrations/providers/overview). -!!! tip "Model Context Protocol (MCP) support" - To use MCP tools within LangChain and LangGraph applications, refer to [`langchain-mcp-adapters`](../langchain_mcp_adapters/index.md). +## Model Context Protocol (MCP) + +LangChain supports the Model Context Protocol (MCP). This lets external tools work with LangChain and LangGraph applications through a standard interface. + +To begin using MCP tools in your project, see the [`langchain-mcp-adapters`](../langchain_mcp_adapters/index.md) documentation. + +!!! tip "Why MCP matters" + MCP allows LangChain apps to connect easily to tools and workflows outside of LangChain. This improves how well they work together and their reliability. + +--- ## Popular providers @@ -37,7 +45,7 @@ To learn more about integrations in LangChain, visit the [Integrations overview] Access Google Gemini models via the Google Gen AI SDK. - [:octicons-arrow-right-24: Reference](./langchain_google_genai.md) + [:octicons-arrow-right-24: Reference](./langchain_google_genai/index.md) - :simple-googlecloud:{ .lg .middle } __`langchain-google-vertexai`__ @@ -45,7 +53,7 @@ To learn more about integrations in LangChain, visit the [Integrations overview] Use Google's Vertex AI model platform. - [:octicons-arrow-right-24: Reference](./langchain_google_vertexai.md) + [:octicons-arrow-right-24: Reference](./langchain_google_vertexai/index.md) - :material-aws:{ .lg .middle } __`langchain-aws`__ @@ -81,10 +89,10 @@ To learn more about integrations in LangChain, visit the [Integrations overview] -Other providers are listed in the section navigation (left sidebar). +Other providers, including `langchain-community`, are listed in the section navigation (left sidebar). -!!! question ""I don't see the integration I'm looking for?"" - LangChain has hundreds of integrations, but not all are documented on this site. If you don't see the integration you're looking for, refer to their [provider page in the LangChain docs](https://docs.langchain.com/oss/python/integrations/providers/all_providers) or check their respective GitHub repository for more information. +!!! question ""I don't see the integration I'm looking for"" + LangChain has hundreds of integrations, but not all are documented on this site. If you don't see the integration you're looking for, refer to their [provider page in the LangChain docs](https://docs.langchain.com/oss/python/integrations/providers/all_providers). Furthermore, many community maintained integrations are available in the [`langchain-community`](./langchain_community/index.md) package. !!! note "Create new integrations" For information on contributing new integrations, see [the guide](https://docs.langchain.com/oss/python/contributing/integrations-langchain). diff --git a/reference/python/docs/integrations/langchain_anthropic/AnthropicLLM.md b/reference/python/docs/integrations/langchain_anthropic/AnthropicLLM.md index b7240c7fa8..bdd1323e16 100644 --- a/reference/python/docs/integrations/langchain_anthropic/AnthropicLLM.md +++ b/reference/python/docs/integrations/langchain_anthropic/AnthropicLLM.md @@ -5,8 +5,6 @@ title: AnthropicLLM (Legacy LLM) # :simple-claude:{ .lg .middle } `AnthropicLLM` (Legacy LLM) !!! warning "Reference docs" - This page contains **reference documentation** for the legacy `AnthropicLLM` LLM. See - [the docs](https://docs.langchain.com/oss/python/integrations/llms/anthropic) - for conceptual guides, tutorials, and examples on using `AnthropicLLM`. + This page contains **reference documentation** for the legacy `AnthropicLLM` LLM. See [the docs](https://docs.langchain.com/oss/python/integrations/llms/anthropic) for conceptual guides, tutorials, and examples on using `AnthropicLLM`. ::: langchain_anthropic.llms.AnthropicLLM diff --git a/reference/python/docs/integrations/langchain_anthropic/ChatAnthropic.md b/reference/python/docs/integrations/langchain_anthropic/ChatAnthropic.md index 9143008ae9..b9748973f0 100644 --- a/reference/python/docs/integrations/langchain_anthropic/ChatAnthropic.md +++ b/reference/python/docs/integrations/langchain_anthropic/ChatAnthropic.md @@ -5,8 +5,6 @@ title: ChatAnthropic # :simple-claude:{ .lg .middle } `ChatAnthropic` !!! warning "Reference docs" - This page contains **reference documentation** for `ChatAnthropic`. See - [the docs](https://docs.langchain.com/oss/python/integrations/chat/anthropic) - for conceptual guides, tutorials, and examples on using `ChatAnthropic`. + This page contains **reference documentation** for `ChatAnthropic`. See [the docs](https://docs.langchain.com/oss/python/integrations/chat/anthropic) for conceptual guides, tutorials, and examples on using `ChatAnthropic`. ::: langchain_anthropic.chat_models.ChatAnthropic diff --git a/reference/python/docs/integrations/langchain_anthropic/index.md b/reference/python/docs/integrations/langchain_anthropic/index.md index e14e9fac42..e86e1a2369 100644 --- a/reference/python/docs/integrations/langchain_anthropic/index.md +++ b/reference/python/docs/integrations/langchain_anthropic/index.md @@ -31,4 +31,12 @@ title: Anthropic [:octicons-arrow-right-24: Reference](./AnthropicLLM.md) +- :material-middleware:{ .lg .middle } __Middleware__ + + --- + + Anthropic-specific middleware for Claude models. + + [:octicons-arrow-right-24: Reference](./middleware.md) + diff --git a/reference/python/docs/integrations/langchain_anthropic/middleware.md b/reference/python/docs/integrations/langchain_anthropic/middleware.md new file mode 100644 index 0000000000..5e9a49ddcf --- /dev/null +++ b/reference/python/docs/integrations/langchain_anthropic/middleware.md @@ -0,0 +1,73 @@ +--- +title: Anthropic Middleware +--- + +!!! warning "Reference docs" + + This page contains **reference documentation** for Anthropic Middleware. See [the docs](https://docs.langchain.com/oss/python/langchain/middleware/built-in#anthropic) for conceptual guides, tutorials, and examples on using Anthropic Middleware. + +## Middleware classes + +Provider-specific middleware for Anthropic's Claude models: + +| CLASS | DESCRIPTION | +| ----- | ----------- | +| [`AnthropicPromptCachingMiddleware`](#langchain_anthropic.middleware.AnthropicPromptCachingMiddleware) | Reduce costs by caching repetitive prompt prefixes | +| [`ClaudeBashToolMiddleware`](#langchain_anthropic.middleware.ClaudeBashToolMiddleware) | Execute Claude's native bash tool with local command execution | +| [`StateClaudeTextEditorMiddleware`](#langchain_anthropic.middleware.StateClaudeTextEditorMiddleware) | Provide Claude's text editor tool for state-based file editing | +| [`FilesystemClaudeTextEditorMiddleware`](#langchain_anthropic.middleware.FilesystemClaudeTextEditorMiddleware) | Provide Claude's text editor tool for filesystem-based file editing | +| [`StateClaudeMemoryMiddleware`](#langchain_anthropic.middleware.StateClaudeMemoryMiddleware) | Provide Claude's memory tool for state-based persistent agent memory | +| [`FilesystemClaudeMemoryMiddleware`](#langchain_anthropic.middleware.FilesystemClaudeMemoryMiddleware) | Provide Claude's memory tool for filesystem-based persistent agent memory | +| [`StateFileSearchMiddleware`](#langchain_anthropic.middleware.StateFileSearchMiddleware) | Search tools for state-based file systems | + + + + + +::: langchain_anthropic.middleware.AnthropicPromptCachingMiddleware + options: + show_bases: false + members: + - __init__ + +::: langchain_anthropic.middleware.ClaudeBashToolMiddleware + options: + show_bases: false + members: + - __init__ + +::: langchain_anthropic.middleware.StateClaudeTextEditorMiddleware + options: + show_bases: false + members: + - __init__ + +::: langchain_anthropic.middleware.FilesystemClaudeTextEditorMiddleware + options: + show_bases: false + members: + - __init__ + +::: langchain_anthropic.middleware.StateClaudeMemoryMiddleware + options: + show_bases: false + members: + - __init__ + +::: langchain_anthropic.middleware.FilesystemClaudeMemoryMiddleware + options: + show_bases: false + members: + - __init__ + +::: langchain_anthropic.middleware.StateFileSearchMiddleware + options: + show_bases: false + members: + - __init__ diff --git a/reference/python/docs/integrations/langchain_astradb.md b/reference/python/docs/integrations/langchain_astradb.md index d6086bd650..490d672020 100644 --- a/reference/python/docs/integrations/langchain_astradb.md +++ b/reference/python/docs/integrations/langchain_astradb.md @@ -8,4 +8,7 @@ title: AstraDB [![PyPI - License](https://img.shields.io/pypi/l/langchain-astradb)](https://opensource.org/licenses/MIT) [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-astradb)](https://pypistats.org/packages/langchain-astradb) +!!! warning "Reference docs" + This page contains **reference documentation** for AstraDB. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/astradb) for conceptual guides, tutorials, and examples on using AstraDB. + ::: langchain_astradb diff --git a/reference/python/docs/integrations/langchain_aws.md b/reference/python/docs/integrations/langchain_aws.md index 16c6499d49..a73fdb0fae 100644 --- a/reference/python/docs/integrations/langchain_aws.md +++ b/reference/python/docs/integrations/langchain_aws.md @@ -11,4 +11,7 @@ title: AWS !!! note This package ref has not yet been fully migrated to v1. +!!! warning "Reference docs" + This page contains **reference documentation** for AWS. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/aws) for conceptual guides, tutorials, and examples on using AWS modules. + ::: langchain_aws diff --git a/reference/python/docs/integrations/langchain_azure/ai/index.md b/reference/python/docs/integrations/langchain_azure/ai/index.md deleted file mode 100644 index 98a56777ca..0000000000 --- a/reference/python/docs/integrations/langchain_azure/ai/index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Azure AI ---- - -# :material-microsoft-azure:{ .lg .middle } `langchain-azure-ai` - -[![PyPI - Version](https://img.shields.io/pypi/v/langchain-azure-ai?label=%20)](https://pypi.org/project/langchain-azure-ai/#history) -[![PyPI - License](https://img.shields.io/pypi/l/langchain-azure-ai)](https://opensource.org/licenses/MIT) -[![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-azure-ai)](https://pypistats.org/packages/langchain-azure-ai) - -Future home to LangChain Azure AI ref. - ---8<-- "wip.md" diff --git a/reference/python/docs/integrations/langchain_azure_ai/index.md b/reference/python/docs/integrations/langchain_azure_ai/index.md new file mode 100644 index 0000000000..8fcdb82df9 --- /dev/null +++ b/reference/python/docs/integrations/langchain_azure_ai/index.md @@ -0,0 +1,27 @@ +--- +title: Azure AI +--- + +# :material-microsoft-azure:{ .lg .middle } `langchain-azure-ai` + +[![PyPI - Version](https://img.shields.io/pypi/v/langchain-azure-ai?label=%20)](https://pypi.org/project/langchain-azure-ai/#history) +[![PyPI - License](https://img.shields.io/pypi/l/langchain-azure-ai)](https://opensource.org/licenses/MIT) +[![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-azure-ai)](https://pypistats.org/packages/langchain-azure-ai) + +!!! warning "Reference docs" + This page contains **reference documentation** for `Azure AI`. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/microsoft) for conceptual guides, tutorials, and examples on using `Azure AI`. + +::: langchain_azure_ai.agents +::: langchain_azure_ai.callbacks.tracers +::: langchain_azure_ai.chat_message_histories +::: langchain_azure_ai.chat_models + options: + members: + - AzureAIChatCompletionsModel +::: langchain_azure_ai.embeddings + options: + members: + - AzureAIEmbeddingsModel +::: langchain_azure_ai.retrievers +::: langchain_azure_ai.tools +::: langchain_azure_ai.vectorstores diff --git a/reference/python/docs/integrations/langchain_azure/dynamic_sessions.md b/reference/python/docs/integrations/langchain_azure_dynamic_sessions/index.md similarity index 74% rename from reference/python/docs/integrations/langchain_azure/dynamic_sessions.md rename to reference/python/docs/integrations/langchain_azure_dynamic_sessions/index.md index 04499127d0..f932c51931 100644 --- a/reference/python/docs/integrations/langchain_azure/dynamic_sessions.md +++ b/reference/python/docs/integrations/langchain_azure_dynamic_sessions/index.md @@ -11,4 +11,7 @@ title: Azure Dynamic Sessions !!! note This package ref has not yet been migrated to v1. It will be updated pending the release of `langchain-azure-dynamic-sessions` v1.0. + + diff --git a/reference/python/docs/integrations/langchain_azure/storage.md b/reference/python/docs/integrations/langchain_azure_storage/index.md similarity index 67% rename from reference/python/docs/integrations/langchain_azure/storage.md rename to reference/python/docs/integrations/langchain_azure_storage/index.md index 1c9338dc75..3f9032e5ef 100644 --- a/reference/python/docs/integrations/langchain_azure/storage.md +++ b/reference/python/docs/integrations/langchain_azure_storage/index.md @@ -8,4 +8,7 @@ title: Azure Storage [![PyPI - License](https://img.shields.io/pypi/l/langchain-azure-storage)](https://opensource.org/licenses/MIT) [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-azure-storage)](https://pypistats.org/packages/langchain-azure-storage) +!!! warning "Reference docs" + This page contains **reference documentation** for `Azure Storage`. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/microsoft) for conceptual guides, tutorials, and examples on using `Azure Storage`. + ::: langchain_azure_storage.document_loaders diff --git a/reference/python/docs/integrations/langchain_chroma.md b/reference/python/docs/integrations/langchain_chroma.md index 977f15c7f3..6fdba59730 100644 --- a/reference/python/docs/integrations/langchain_chroma.md +++ b/reference/python/docs/integrations/langchain_chroma.md @@ -8,7 +8,7 @@ title: Chroma [![PyPI - License](https://img.shields.io/pypi/l/langchain-chroma)](https://opensource.org/licenses/MIT) [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-chroma)](https://pypistats.org/packages/langchain-chroma) -!!! note - This package ref has not yet been fully migrated to v1. +!!! warning "Reference docs" + This page contains **reference documentation** for Chroma. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/chroma) for conceptual guides, tutorials, and examples on using Chroma modules. ::: langchain_chroma diff --git a/reference/python/docs/integrations/langchain_cohere.md b/reference/python/docs/integrations/langchain_cohere.md index 202b4bd82f..241a16a21c 100644 --- a/reference/python/docs/integrations/langchain_cohere.md +++ b/reference/python/docs/integrations/langchain_cohere.md @@ -8,6 +8,7 @@ title: Cohere [![PyPI - License](https://img.shields.io/pypi/l/langchain-cohere)](https://opensource.org/licenses/MIT) [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-cohere)](https://pypistats.org/packages/langchain-cohere) -!!! note - This package ref has not yet been fully migrated to v1. +!!! warning "Reference docs" + This page contains **reference documentation** for Cohere. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/cohere) for conceptual guides, tutorials, and examples on using Cohere modules. +::: langchain_cohere diff --git a/reference/python/docs/integrations/langchain_community/index.md b/reference/python/docs/integrations/langchain_community/index.md new file mode 100644 index 0000000000..feacb3797d --- /dev/null +++ b/reference/python/docs/integrations/langchain_community/index.md @@ -0,0 +1,13 @@ +--- +title: LangChain Community home +--- + +# :fontawesome-solid-people-group:{ .lg .middle } `langchain-community` + +[![PyPI - Version](https://img.shields.io/pypi/v/langchain-community?label=%20)](https://pypi.org/project/langchain-community/#history) +[![PyPI - License](https://img.shields.io/pypi/l/langchain-community)](https://opensource.org/licenses/MIT) +[![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-community)](https://pypistats.org/packages/langchain-community) + +Reference documentation for the [`langchain-community`](https://pypi.org/project/langchain-community/) package. + +--8<-- "wip.md" diff --git a/reference/python/docs/integrations/langchain_db2.md b/reference/python/docs/integrations/langchain_db2.md index 3e2e004430..237f7ad2d8 100644 --- a/reference/python/docs/integrations/langchain_db2.md +++ b/reference/python/docs/integrations/langchain_db2.md @@ -8,5 +8,7 @@ title: Db2 [![PyPI - License](https://img.shields.io/pypi/l/langchain-db2)](https://opensource.org/licenses/MIT) [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-db2)](https://pypistats.org/packages/langchain-db2) -!!! note - This package ref has not yet been fully migrated to v1. +!!! warning "Reference docs" + This page contains **reference documentation** for IBM DB2. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/ibm#db2) for conceptual guides, tutorials, and examples on using DB2 modules. + +::: langchain_db2 diff --git a/reference/python/docs/integrations/langchain_deepseek.md b/reference/python/docs/integrations/langchain_deepseek.md index 2ea81ad640..3f2f0dd529 100644 --- a/reference/python/docs/integrations/langchain_deepseek.md +++ b/reference/python/docs/integrations/langchain_deepseek.md @@ -8,7 +8,7 @@ title: DeepSeek [![PyPI - License](https://img.shields.io/pypi/l/langchain-deepseek)](https://opensource.org/licenses/MIT) [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-deepseek)](https://pypistats.org/packages/langchain-deepseek) -!!! note - This package ref has not yet been fully migrated to v1. +!!! warning "Reference docs" + This page contains **reference documentation** for DeepSeek. See [the docs](https://docs.langchain.com/oss/python/integrations/chat/deepseek) for conceptual guides, tutorials, and examples on using `ChatDeepSeek`. ::: langchain_deepseek diff --git a/reference/python/docs/integrations/langchain_exa.md b/reference/python/docs/integrations/langchain_exa.md index f81b586e84..101fdccc5e 100644 --- a/reference/python/docs/integrations/langchain_exa.md +++ b/reference/python/docs/integrations/langchain_exa.md @@ -8,7 +8,7 @@ title: Exa [![PyPI - License](https://img.shields.io/pypi/l/langchain-exa)](https://opensource.org/licenses/MIT) [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-exa)](https://pypistats.org/packages/langchain-exa) -!!! note - This package ref has not yet been fully migrated to v1. +!!! warning "Reference docs" + This page contains **reference documentation** for Exa. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/exa_search) for conceptual guides, tutorials, and examples on using Exa modules. ::: langchain_exa diff --git a/reference/python/docs/integrations/langchain_fireworks.md b/reference/python/docs/integrations/langchain_fireworks.md index 24d6b5a6df..f1edf21927 100644 --- a/reference/python/docs/integrations/langchain_fireworks.md +++ b/reference/python/docs/integrations/langchain_fireworks.md @@ -8,7 +8,7 @@ title: Fireworks [![PyPI - License](https://img.shields.io/pypi/l/langchain-fireworks)](https://opensource.org/licenses/MIT) [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-fireworks)](https://pypistats.org/packages/langchain-fireworks) -!!! note - This package ref has not yet been fully migrated to v1. +!!! warning "Reference docs" + This page contains **reference documentation** for Fireworks. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/fireworks) for conceptual guides, tutorials, and examples on using Fireworks modules. ::: langchain_fireworks diff --git a/reference/python/docs/integrations/langchain_google/index.md b/reference/python/docs/integrations/langchain_google/index.md new file mode 100644 index 0000000000..46aed6c70b --- /dev/null +++ b/reference/python/docs/integrations/langchain_google/index.md @@ -0,0 +1,42 @@ +--- +title: Google +--- + +# :material-google:{ .lg .middle } Google integrations + +## Modules + +--8<-- "wip.md" + +!!! note "Usage documentation" + Refer to [the docs](https://docs.langchain.com/oss/python/integrations/providers/google) for a high-level guide on how to use each module. These reference pages contain auto-generated API documentation for each module, focusing on the "what" rather than the "how" or "why" (i.e. no end-to-end tutorials or conceptual overviews). + +LangChain's Google integrations include the following packages: + +
+ +- :simple-googlegemini:{ .lg .middle } __Gemini__ + + --- + + `langchain-google-genai` contains integrations for interacting with Google's Gemini API. + + [:octicons-arrow-right-24: Reference](../langchain_google_genai/index.md) + +- :simple-googlecloud:{ .lg .middle } __Vertex AI Platform__ + + --- + + `langchain-google-vertexai` offers integrations for working with Google Cloud's Vertex AI platform. + + [:octicons-arrow-right-24: Reference](../langchain_google_vertexai/index.md) + +- :fontawesome-solid-people-group:{ .lg .middle } __Community__ + + --- + + `langchain-google-community` hosts community-contributed integrations for various Google services not included in their AI offerings. + + [:octicons-arrow-right-24: Reference](../langchain_google_community/index.md) + +
diff --git a/reference/python/docs/integrations/langchain_google_community.md b/reference/python/docs/integrations/langchain_google_community/index.md similarity index 57% rename from reference/python/docs/integrations/langchain_google_community.md rename to reference/python/docs/integrations/langchain_google_community/index.md index 4f4e31b5c7..7885cbb7bc 100644 --- a/reference/python/docs/integrations/langchain_google_community.md +++ b/reference/python/docs/integrations/langchain_google_community/index.md @@ -2,13 +2,13 @@ title: Google (Community) --- -# `langchain-google-community` +# :fontawesome-solid-people-group:{ .lg .middle } `langchain-google-community` [![PyPI - Version](https://img.shields.io/pypi/v/langchain-google-community?label=%20)](https://pypi.org/project/langchain-google-community/#history) [![PyPI - License](https://img.shields.io/pypi/l/langchain-google-community)](https://opensource.org/licenses/MIT) [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-google-community)](https://pypistats.org/packages/langchain-google-community) -!!! note - This package ref has not yet been fully migrated to v1. +!!! warning "Reference docs" + This page contains **reference documentation** for Google Community. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/google) for conceptual guides, tutorials, and examples on using Google Community modules. ::: langchain_google_community diff --git a/reference/python/docs/integrations/langchain_google_genai.md b/reference/python/docs/integrations/langchain_google_genai/index.md similarity index 66% rename from reference/python/docs/integrations/langchain_google_genai.md rename to reference/python/docs/integrations/langchain_google_genai/index.md index 06350935e7..e63c9eefc0 100644 --- a/reference/python/docs/integrations/langchain_google_genai.md +++ b/reference/python/docs/integrations/langchain_google_genai/index.md @@ -8,7 +8,7 @@ title: Google (GenAI) [![PyPI - License](https://img.shields.io/pypi/l/langchain-google-genai)](https://opensource.org/licenses/MIT) [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-google-genai)](https://pypistats.org/packages/langchain-google-genai) -!!! note - This package ref has not yet been fully migrated to v1. +!!! warning "Reference docs" + This page contains **reference documentation** for Google GenAI. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/google) for conceptual guides, tutorials, and examples on using Google GenAI modules. ::: langchain_google_genai diff --git a/reference/python/docs/integrations/langchain_google_vertexai.md b/reference/python/docs/integrations/langchain_google_vertexai/index.md similarity index 66% rename from reference/python/docs/integrations/langchain_google_vertexai.md rename to reference/python/docs/integrations/langchain_google_vertexai/index.md index ee01dcf019..bf24388b89 100644 --- a/reference/python/docs/integrations/langchain_google_vertexai.md +++ b/reference/python/docs/integrations/langchain_google_vertexai/index.md @@ -8,7 +8,7 @@ title: Google (VertexAI) [![PyPI - License](https://img.shields.io/pypi/l/langchain-google-vertexai)](https://opensource.org/licenses/MIT) [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-google-vertexai)](https://pypistats.org/packages/langchain-google-vertexai) -!!! note - This package ref has not yet been fully migrated to v1. +!!! warning "Reference docs" + This page contains **reference documentation** for Google VertexAI. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/google) for conceptual guides, tutorials, and examples on using Google VertexAI modules. ::: langchain_google_vertexai diff --git a/reference/python/docs/integrations/langchain_groq.md b/reference/python/docs/integrations/langchain_groq.md index 25edaf79e2..6b4efb2654 100644 --- a/reference/python/docs/integrations/langchain_groq.md +++ b/reference/python/docs/integrations/langchain_groq.md @@ -8,7 +8,7 @@ title: Groq [![PyPI - License](https://img.shields.io/pypi/l/langchain-groq)](https://opensource.org/licenses/MIT) [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-groq)](https://pypistats.org/packages/langchain-groq) -!!! note - This package ref has not yet been fully migrated to v1. +!!! warning "Reference docs" + This page contains **reference documentation** for Groq. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/groq) for conceptual guides, tutorials, and examples on using Groq modules. ::: langchain_groq diff --git a/reference/python/docs/integrations/langchain_huggingface.md b/reference/python/docs/integrations/langchain_huggingface.md index e883c01135..c754d815fb 100644 --- a/reference/python/docs/integrations/langchain_huggingface.md +++ b/reference/python/docs/integrations/langchain_huggingface.md @@ -8,7 +8,7 @@ title: HuggingFace [![PyPI - License](https://img.shields.io/pypi/l/langchain-huggingface)](https://opensource.org/licenses/MIT) [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-huggingface)](https://pypistats.org/packages/langchain-huggingface) -!!! note - This package ref has not yet been fully migrated to v1. +!!! warning "Reference docs" + This page contains **reference documentation** for Hugging Face. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/huggingface) for conceptual guides, tutorials, and examples on using Hugging Face modules. ::: langchain_huggingface diff --git a/reference/python/docs/integrations/langchain_ibm.md b/reference/python/docs/integrations/langchain_ibm.md deleted file mode 100644 index 02e2ee6de1..0000000000 --- a/reference/python/docs/integrations/langchain_ibm.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: IBM ---- - -# `langchain-ibm` - -[![PyPI - Version](https://img.shields.io/pypi/v/langchain-ibm?label=%20)](https://pypi.org/project/langchain-ibm/#history) -[![PyPI - License](https://img.shields.io/pypi/l/langchain-ibm)](https://opensource.org/licenses/MIT) -[![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-ibm)](https://pypistats.org/packages/langchain-ibm) - -!!! note - This package ref has not yet been fully migrated to v1. - diff --git a/reference/python/docs/integrations/langchain_ibm/ChatWatsonx.md b/reference/python/docs/integrations/langchain_ibm/ChatWatsonx.md new file mode 100644 index 0000000000..717d98278e --- /dev/null +++ b/reference/python/docs/integrations/langchain_ibm/ChatWatsonx.md @@ -0,0 +1,10 @@ +--- +title: ChatWatsonx +--- + +# `ChatWatsonx` + +!!! warning "Reference docs" + This page contains **reference documentation** for `ChatWatsonx`. See [the docs](https://docs.langchain.com/oss/python/integrations/chat/ibm_watsonx) for conceptual guides, tutorials, and examples on using `ChatWatsonx`. + +::: langchain_ibm.chat_models.ChatWatsonx diff --git a/reference/python/docs/integrations/langchain_ibm/WatsonxEmbeddings.md b/reference/python/docs/integrations/langchain_ibm/WatsonxEmbeddings.md new file mode 100644 index 0000000000..58a7ee8a47 --- /dev/null +++ b/reference/python/docs/integrations/langchain_ibm/WatsonxEmbeddings.md @@ -0,0 +1,10 @@ +--- +title: WatsonxEmbeddings +--- + +# `WatsonxEmbeddings` + +!!! warning "Reference docs" + This page contains **reference documentation** for `WatsonxEmbeddings`. See [the docs](https://docs.langchain.com/oss/python/integrations/text_embedding/ibm_watsonx) for conceptual guides, tutorials, and examples on using `WatsonxEmbeddings`. + +::: langchain_ibm.embeddings.WatsonxEmbeddings diff --git a/reference/python/docs/integrations/langchain_ibm/WatsonxLLM.md b/reference/python/docs/integrations/langchain_ibm/WatsonxLLM.md new file mode 100644 index 0000000000..9858e9144c --- /dev/null +++ b/reference/python/docs/integrations/langchain_ibm/WatsonxLLM.md @@ -0,0 +1,10 @@ +--- +title: WatsonxLLM +--- + +# `WatsonxLLM` + +!!! warning "Reference docs" + This page contains **reference documentation** for `WatsonxLLM`. See [the docs](https://docs.langchain.com/oss/python/integrations/llms/ibm_watsonx) for conceptual guides, tutorials, and examples on using `WatsonxLLM`. + +::: langchain_ibm.llms.WatsonxLLM diff --git a/reference/python/docs/integrations/langchain_ibm/WatsonxRerank.md b/reference/python/docs/integrations/langchain_ibm/WatsonxRerank.md new file mode 100644 index 0000000000..94216e0934 --- /dev/null +++ b/reference/python/docs/integrations/langchain_ibm/WatsonxRerank.md @@ -0,0 +1,10 @@ +--- +title: WatsonxRerank +--- + +# `WatsonxRerank` + +!!! warning "Reference docs" + This page contains **reference documentation** for `WatsonxRerank`. See [the docs](https://docs.langchain.com/oss/python/integrations/retrievers/ibm_watsonx_ranker) for conceptual guides, tutorials, and examples on using `WatsonxRerank`. + +::: langchain_ibm.rerank.WatsonxRerank diff --git a/reference/python/docs/integrations/langchain_ibm/WatsonxSQLDatabaseToolkit.md b/reference/python/docs/integrations/langchain_ibm/WatsonxSQLDatabaseToolkit.md new file mode 100644 index 0000000000..1e5c059342 --- /dev/null +++ b/reference/python/docs/integrations/langchain_ibm/WatsonxSQLDatabaseToolkit.md @@ -0,0 +1,10 @@ +--- +title: WatsonxSQLDatabaseToolkit +--- + +# `WatsonxSQLDatabaseToolkit` + +!!! warning "Reference docs" + This page contains **reference documentation** for `WatsonxSQLDatabaseToolkit`. + +::: langchain_ibm.agent_toolkits.sql.toolkit.WatsonxSQLDatabaseToolkit diff --git a/reference/python/docs/integrations/langchain_ibm/WatsonxToolkit.md b/reference/python/docs/integrations/langchain_ibm/WatsonxToolkit.md new file mode 100644 index 0000000000..82f19c566e --- /dev/null +++ b/reference/python/docs/integrations/langchain_ibm/WatsonxToolkit.md @@ -0,0 +1,10 @@ +--- +title: WatsonxToolkit +--- + +# `WatsonxToolkit` + +!!! warning "Reference docs" + This page contains **reference documentation** for `WatsonxToolkit`. See [the docs](https://docs.langchain.com/oss/python/integrations/tools/ibm_watsonx) for conceptual guides, tutorials, and examples on using `WatsonxToolkit`. + +::: langchain_ibm.agent_toolkits.utility.toolkit.WatsonxToolkit diff --git a/reference/python/docs/integrations/langchain_ibm/index.md b/reference/python/docs/integrations/langchain_ibm/index.md new file mode 100644 index 0000000000..55ea6c4921 --- /dev/null +++ b/reference/python/docs/integrations/langchain_ibm/index.md @@ -0,0 +1,66 @@ +--- +title: IBM +--- + +# `langchain-ibm` + +[![PyPI - Version](https://img.shields.io/pypi/v/langchain-ibm?label=%20)](https://pypi.org/project/langchain-ibm/#history) +[![PyPI - License](https://img.shields.io/pypi/l/langchain-ibm)](https://opensource.org/licenses/MIT) +[![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-ibm)](https://pypistats.org/packages/langchain-ibm) + +## Modules + +!!! note "Usage documentation" + Refer to [the docs](https://docs.langchain.com/oss/python/integrations/providers/ibm) for a high-level guide on how to use each module. These reference pages contain auto-generated API documentation for each module, focusing on the "what" rather than the "how" or "why" (i.e. no end-to-end tutorials or conceptual overviews). + +
+ +- :material-message-text:{ .lg .middle } __`ChatWatsonx`__ + + --- + + IBM watsonx.ai chat models. + + [:octicons-arrow-right-24: Reference](./ChatWatsonx.md) + +- :fontawesome-solid-i-cursor:{ .lg .middle } __`WatsonxLLM`__ + + --- + + (Legacy) IBM watsonx.ai text completion models. + + [:octicons-arrow-right-24: Reference](./WatsonxLLM.md) + +- :fontawesome-solid-layer-group:{ .lg .middle } __`WatsonxEmbeddings`__ + + --- + + IBM watsonx.ai embedding models. + + [:octicons-arrow-right-24: Reference](./WatsonxEmbeddings.md) + +- :fontawesome-solid-download:{ .lg .middle } __`WatsonxRerank`__ + + --- + + IBM watsonx.ai document retriever. + + [:octicons-arrow-right-24: Reference](./WatsonxRerank.md) + +- :fontawesome-solid-screwdriver-wrench:{ .lg .middle } __`WatsonxToolkit`__ + + --- + + IBM watsonx.ai toolkit. + + [:octicons-arrow-right-24: Reference](./WatsonxToolkit.md) + +- :fontawesome-solid-screwdriver-wrench:{ .lg .middle } __`WatsonxSQLDatabaseToolkit`__ + + --- + + IBM watsonx.ai SQL database toolkit. + + [:octicons-arrow-right-24: Reference](./WatsonxSQLDatabaseToolkit.md) + +
diff --git a/reference/python/docs/integrations/langchain_milvus.md b/reference/python/docs/integrations/langchain_milvus.md index 82b36dcab7..29aa22c4e1 100644 --- a/reference/python/docs/integrations/langchain_milvus.md +++ b/reference/python/docs/integrations/langchain_milvus.md @@ -8,6 +8,7 @@ title: Milvus [![PyPI - License](https://img.shields.io/pypi/l/langchain-milvus)](https://opensource.org/licenses/MIT) [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-milvus)](https://pypistats.org/packages/langchain-milvus) -!!! note - This package ref has not yet been fully migrated to v1. +!!! warning "Reference docs" + This page contains **reference documentation** for Milvus. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/milvus) for conceptual guides, tutorials, and examples on using Milvus modules. +::: langchain_milvus diff --git a/reference/python/docs/integrations/langchain_mistralai.md b/reference/python/docs/integrations/langchain_mistralai.md index e03ba94766..5e1222f3e4 100644 --- a/reference/python/docs/integrations/langchain_mistralai.md +++ b/reference/python/docs/integrations/langchain_mistralai.md @@ -8,7 +8,7 @@ title: MistralAI [![PyPI - License](https://img.shields.io/pypi/l/langchain-mistralai)](https://opensource.org/licenses/MIT) [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-mistralai)](https://pypistats.org/packages/langchain-mistralai) -!!! note - This package ref has not yet been fully migrated to v1. +!!! warning "Reference docs" + This page contains **reference documentation** for Mistral AI. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/mistralai) for conceptual guides, tutorials, and examples on using Mistral AI modules. ::: langchain_mistralai diff --git a/reference/python/docs/integrations/langchain_neo4j.md b/reference/python/docs/integrations/langchain_neo4j.md index 3a2e5e9abd..3016c2579f 100644 --- a/reference/python/docs/integrations/langchain_neo4j.md +++ b/reference/python/docs/integrations/langchain_neo4j.md @@ -8,5 +8,7 @@ title: Neo4J [![PyPI - License](https://img.shields.io/pypi/l/langchain-neo4j)](https://opensource.org/licenses/MIT) [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-neo4j)](https://pypistats.org/packages/langchain-neo4j) -!!! note - This package ref has not yet been fully migrated to v1. +!!! warning "Reference docs" + This page contains **reference documentation** for Neo4j. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/neo4j) for conceptual guides, tutorials, and examples on using Neo4j modules. + +::: langchain_neo4j diff --git a/reference/python/docs/integrations/langchain_nomic.md b/reference/python/docs/integrations/langchain_nomic.md index cd238ddc2c..9c0cfec6d2 100644 --- a/reference/python/docs/integrations/langchain_nomic.md +++ b/reference/python/docs/integrations/langchain_nomic.md @@ -8,7 +8,7 @@ title: Nomic [![PyPI - License](https://img.shields.io/pypi/l/langchain-nomic)](https://opensource.org/licenses/MIT) [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-nomic)](https://pypistats.org/packages/langchain-nomic) -!!! note - This package ref has not yet been fully migrated to v1. +!!! warning "Reference docs" + This page contains **reference documentation** for Nomic. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/nomic) for conceptual guides, tutorials, and examples on using Nomic modules. ::: langchain_nomic diff --git a/reference/python/docs/integrations/langchain_ollama.md b/reference/python/docs/integrations/langchain_ollama.md index 2c2f07920f..200ef370a2 100644 --- a/reference/python/docs/integrations/langchain_ollama.md +++ b/reference/python/docs/integrations/langchain_ollama.md @@ -8,7 +8,7 @@ title: Ollama [![PyPI - License](https://img.shields.io/pypi/l/langchain-ollama)](https://opensource.org/licenses/MIT) [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-ollama)](https://pypistats.org/packages/langchain-ollama) -!!! note - This package ref has not yet been fully migrated to v1. +!!! warning "Reference docs" + This page contains **reference documentation** for Ollama. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/ollama) for conceptual guides, tutorials, and examples on using Ollama modules. ::: langchain_ollama diff --git a/reference/python/docs/integrations/langchain_openai/AzureChatOpenAI.md b/reference/python/docs/integrations/langchain_openai/AzureChatOpenAI.md index df9831b1dc..0540851882 100644 --- a/reference/python/docs/integrations/langchain_openai/AzureChatOpenAI.md +++ b/reference/python/docs/integrations/langchain_openai/AzureChatOpenAI.md @@ -5,8 +5,6 @@ title: AzureChatOpenAI # :material-microsoft-azure:{ .lg .middle } `AzureChatOpenAI` !!! warning "Reference docs" - This page contains **reference documentation** for `AzureChatOpenAI`. See - [the docs](https://docs.langchain.com/oss/python/integrations/chat/azure_chat_openai) - for conceptual guides, tutorials, and examples on using `AzureChatOpenAI`. + This page contains **reference documentation** for `AzureChatOpenAI`. See [the docs](https://docs.langchain.com/oss/python/integrations/chat/azure_chat_openai) for conceptual guides, tutorials, and examples on using `AzureChatOpenAI`. ::: langchain_openai.chat_models.AzureChatOpenAI diff --git a/reference/python/docs/integrations/langchain_openai/AzureOpenAI.md b/reference/python/docs/integrations/langchain_openai/AzureOpenAI.md index bb8d06f988..eca276fb15 100644 --- a/reference/python/docs/integrations/langchain_openai/AzureOpenAI.md +++ b/reference/python/docs/integrations/langchain_openai/AzureOpenAI.md @@ -5,8 +5,6 @@ title: AzureOpenAI (Legacy LLM) # :material-microsoft-azure:{ .lg .middle } `AzureOpenAI` (Legacy LLM) !!! warning "Reference docs" - This page contains **reference documentation** for the legacy `AzureOpenAI` LLM. See - [the docs](https://docs.langchain.com/oss/python/integrations/llms/azure_openai) - for conceptual guides, tutorials, and examples on using `AzureOpenAI`. + This page contains **reference documentation** for the legacy `AzureOpenAI` LLM. See [the docs](https://docs.langchain.com/oss/python/integrations/llms/azure_openai) for conceptual guides, tutorials, and examples on using `AzureOpenAI`. ::: langchain_openai.llms.AzureOpenAI diff --git a/reference/python/docs/integrations/langchain_openai/AzureOpenAIEmbeddings.md b/reference/python/docs/integrations/langchain_openai/AzureOpenAIEmbeddings.md index 55ca0cfd7d..e80a17834e 100644 --- a/reference/python/docs/integrations/langchain_openai/AzureOpenAIEmbeddings.md +++ b/reference/python/docs/integrations/langchain_openai/AzureOpenAIEmbeddings.md @@ -5,8 +5,6 @@ title: AzureOpenAIEmbeddings # :material-microsoft-azure:{ .lg .middle } `AzureOpenAIEmbeddings` !!! warning "Reference docs" - This page contains **reference documentation** for `AzureOpenAIEmbeddings`. See - [the docs](https://docs.langchain.com/oss/python/integrations/text_embedding/azure_openai) - for conceptual guides, tutorials, and examples on using `AzureOpenAIEmbeddings`. + This page contains **reference documentation** for `AzureOpenAIEmbeddings`. See [the docs](https://docs.langchain.com/oss/python/integrations/text_embedding/azure_openai) for conceptual guides, tutorials, and examples on using `AzureOpenAIEmbeddings`. ::: langchain_openai.embeddings.AzureOpenAIEmbeddings diff --git a/reference/python/docs/integrations/langchain_openai/ChatOpenAI.md b/reference/python/docs/integrations/langchain_openai/ChatOpenAI.md index bba3edd091..58873c1608 100644 --- a/reference/python/docs/integrations/langchain_openai/ChatOpenAI.md +++ b/reference/python/docs/integrations/langchain_openai/ChatOpenAI.md @@ -5,8 +5,6 @@ title: ChatOpenAI # :fontawesome-brands-openai:{ .lg .middle } `ChatOpenAI` !!! warning "Reference docs" - This page contains **reference documentation** for `ChatOpenAI`. See - [the docs](https://docs.langchain.com/oss/python/integrations/chat/openai) - for conceptual guides, tutorials, and examples on using `ChatOpenAI`. + This page contains **reference documentation** for `ChatOpenAI`. See [the docs](https://docs.langchain.com/oss/python/integrations/chat/openai) for conceptual guides, tutorials, and examples on using `ChatOpenAI`. ::: langchain_openai.chat_models.ChatOpenAI diff --git a/reference/python/docs/integrations/langchain_openai/OpenAI.md b/reference/python/docs/integrations/langchain_openai/OpenAI.md index f44281e048..595cacecf8 100644 --- a/reference/python/docs/integrations/langchain_openai/OpenAI.md +++ b/reference/python/docs/integrations/langchain_openai/OpenAI.md @@ -5,8 +5,6 @@ title: OpenAI (Legacy LLM) # :fontawesome-brands-openai:{ .lg .middle } `OpenAI` (Legacy LLM) !!! warning "Reference docs" - This page contains **reference documentation** for the legacy `OpenAI` LLM. See - [the docs](https://docs.langchain.com/oss/python/integrations/llms/openai) - for conceptual guides, tutorials, and examples on using `OpenAI`. + This page contains **reference documentation** for the legacy `OpenAI` LLM. See [the docs](https://docs.langchain.com/oss/python/integrations/llms/openai) for conceptual guides, tutorials, and examples on using `OpenAI`. ::: langchain_openai.llms.OpenAI diff --git a/reference/python/docs/integrations/langchain_openai/OpenAIEmbeddings.md b/reference/python/docs/integrations/langchain_openai/OpenAIEmbeddings.md index 8a692054dd..89f933edff 100644 --- a/reference/python/docs/integrations/langchain_openai/OpenAIEmbeddings.md +++ b/reference/python/docs/integrations/langchain_openai/OpenAIEmbeddings.md @@ -5,8 +5,6 @@ title: OpenAIEmbeddings # :fontawesome-brands-openai:{ .lg .middle } `OpenAIEmbeddings` !!! warning "Reference docs" - This page contains **reference documentation** for `OpenAIEmbeddings`. See - [the docs](https://docs.langchain.com/oss/python/integrations/text_embedding/openai) - for conceptual guides, tutorials, and examples on using `OpenAIEmbeddings`. + This page contains **reference documentation** for `OpenAIEmbeddings`. See [the docs](https://docs.langchain.com/oss/python/integrations/text_embedding/openai) for conceptual guides, tutorials, and examples on using `OpenAIEmbeddings`. ::: langchain_openai.embeddings.OpenAIEmbeddings diff --git a/reference/python/docs/integrations/langchain_openai/index.md b/reference/python/docs/integrations/langchain_openai/index.md index e39d03f880..191d01d58e 100644 --- a/reference/python/docs/integrations/langchain_openai/index.md +++ b/reference/python/docs/integrations/langchain_openai/index.md @@ -31,7 +31,7 @@ title: OpenAI [:octicons-arrow-right-24: Reference](./AzureChatOpenAI.md) -- :material-message-text:{ .lg .middle } __`OpenAI`__ +- :fontawesome-solid-i-cursor:{ .lg .middle } __`OpenAI`__ --- @@ -39,7 +39,7 @@ title: OpenAI [:octicons-arrow-right-24: Reference](./OpenAI.md) -- :material-message-text:{ .lg .middle } __`AzureOpenAI`__ +- :fontawesome-solid-i-cursor:{ .lg .middle } __`AzureOpenAI`__ --- @@ -47,7 +47,7 @@ title: OpenAI [:octicons-arrow-right-24: Reference](./AzureChatOpenAI.md) -- :material-message-text:{ .lg .middle } __`OpenAIEmbeddings`__ +- :fontawesome-solid-layer-group:{ .lg .middle } __`OpenAIEmbeddings`__ --- @@ -55,7 +55,7 @@ title: OpenAI [:octicons-arrow-right-24: Reference](./OpenAIEmbeddings.md) -- :material-message-text:{ .lg .middle } __`OpenAIEmbeddings`__ +- :fontawesome-solid-layer-group:{ .lg .middle } __`AzureOpenAIEmbeddings`__ --- @@ -71,4 +71,12 @@ title: OpenAI [:octicons-arrow-right-24: Reference](./BaseChatOpenAI.md) +- :material-middleware:{ .lg .middle } __Middleware__ + + --- + + OpenAI-specific middleware for moderation and safety. + + [:octicons-arrow-right-24: Reference](./middleware.md) + diff --git a/reference/python/docs/integrations/langchain_openai/middleware.md b/reference/python/docs/integrations/langchain_openai/middleware.md new file mode 100644 index 0000000000..8a981c5b03 --- /dev/null +++ b/reference/python/docs/integrations/langchain_openai/middleware.md @@ -0,0 +1,31 @@ +--- +title: OpenAI Middleware +--- + +!!! warning "Reference docs" + + This page contains **reference documentation** for OpenAI Middleware. See [the docs](https://docs.langchain.com/oss/python/langchain/middleware/built-in#openai) for conceptual guides, tutorials, and examples on using OpenAI Middleware. + +## Middleware classes + +Provider-specific middleware for OpenAI models: + +| CLASS | DESCRIPTION | +| ----- | ----------- | +| [`OpenAIModerationMiddleware`](#langchain_openai.middleware.OpenAIModerationMiddleware) | Moderate agent traffic using OpenAI's moderation endpoint | + + + + + +::: langchain_openai.middleware.OpenAIModerationMiddleware + options: + show_bases: false + members: + - __init__ diff --git a/reference/python/docs/integrations/langchain_perplexity.md b/reference/python/docs/integrations/langchain_perplexity.md index 0357eb8c70..309a4051ce 100644 --- a/reference/python/docs/integrations/langchain_perplexity.md +++ b/reference/python/docs/integrations/langchain_perplexity.md @@ -8,7 +8,7 @@ title: Perplexity [![PyPI - License](https://img.shields.io/pypi/l/langchain-perplexity)](https://opensource.org/licenses/MIT) [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-perplexity)](https://pypistats.org/packages/langchain-perplexity) -!!! note - This package ref has not yet been fully migrated to v1. +!!! warning "Reference docs" + This page contains **reference documentation** for Perplexity. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/perplexity) for conceptual guides, tutorials, and examples on using Perplexity modules. ::: langchain_perplexity diff --git a/reference/python/docs/integrations/langchain_prompty.md b/reference/python/docs/integrations/langchain_prompty.md index 05bea4f108..36445cfcd5 100644 --- a/reference/python/docs/integrations/langchain_prompty.md +++ b/reference/python/docs/integrations/langchain_prompty.md @@ -8,7 +8,7 @@ title: Prompty [![PyPI - License](https://img.shields.io/pypi/l/langchain-prompty)](https://opensource.org/licenses/MIT) [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-prompty)](https://pypistats.org/packages/langchain-prompty) -!!! note - This package ref has not yet been fully migrated to v1. +!!! warning "Reference docs" + This page contains **reference documentation** for Microsoft Prompty. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/microsoft) for conceptual guides, tutorials, and examples on using Prompty modules. ::: langchain_prompty diff --git a/reference/python/docs/integrations/langchain_qdrant.md b/reference/python/docs/integrations/langchain_qdrant.md index 36777f019b..9f7849645b 100644 --- a/reference/python/docs/integrations/langchain_qdrant.md +++ b/reference/python/docs/integrations/langchain_qdrant.md @@ -8,7 +8,7 @@ title: Qdrant [![PyPI - License](https://img.shields.io/pypi/l/langchain-qdrant)](https://opensource.org/licenses/MIT) [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-qdrant)](https://pypistats.org/packages/langchain-qdrant) -!!! note - This package ref has not yet been fully migrated to v1. +!!! warning "Reference docs" + This page contains **reference documentation** for Qdrant. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/qdrant) for conceptual guides, tutorials, and examples on using Qdrant modules. ::: langchain_qdrant diff --git a/reference/python/docs/integrations/langchain_tavily.md b/reference/python/docs/integrations/langchain_tavily.md index 57f3cd3c20..5d7e8bfcb3 100644 --- a/reference/python/docs/integrations/langchain_tavily.md +++ b/reference/python/docs/integrations/langchain_tavily.md @@ -8,7 +8,12 @@ title: Tavily [![PyPI - License](https://img.shields.io/pypi/l/langchain-tavily)](https://opensource.org/licenses/MIT) [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-tavily)](https://pypistats.org/packages/langchain-tavily) -!!! warning +!!! warning "Externally maintained" These docs are built from the [langchain-tavily repo](https://github.com/tavily-ai/langchain-tavily) and have not been verified for accuracy by the LangChain team. + For issues, please open an issue in the [langchain-tavily repo](https://github.com/tavily-ai/langchain-tavily/issues). + +!!! warning "Reference docs" + This page contains **reference documentation** for Tavily. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/tavily) for conceptual guides, tutorials, and examples on using Tavily modules. + ::: langchain_tavily diff --git a/reference/python/docs/integrations/langchain_weaviate.md b/reference/python/docs/integrations/langchain_weaviate.md index 47b07081be..0be4fb00f9 100644 --- a/reference/python/docs/integrations/langchain_weaviate.md +++ b/reference/python/docs/integrations/langchain_weaviate.md @@ -8,5 +8,7 @@ title: Weaviate [![PyPI - License](https://img.shields.io/pypi/l/langchain-weaviate)](https://opensource.org/licenses/MIT) [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-weaviate)](https://pypistats.org/packages/langchain-weaviate) -!!! note - This package ref has not yet been fully migrated to v1. +!!! warning "Reference docs" + This page contains **reference documentation** for Weaviate. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/weaviate) for conceptual guides, tutorials, and examples on using Weaviate modules. + +::: langchain_weaviate diff --git a/reference/python/docs/integrations/langchain_xai.md b/reference/python/docs/integrations/langchain_xai.md index 29fdee124d..218efdf1e3 100644 --- a/reference/python/docs/integrations/langchain_xai.md +++ b/reference/python/docs/integrations/langchain_xai.md @@ -8,7 +8,7 @@ title: xAI [![PyPI - License](https://img.shields.io/pypi/l/langchain-xai)](https://opensource.org/licenses/MIT) [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-xai)](https://pypistats.org/packages/langchain-xai) -!!! note - This package ref has not yet been fully migrated to v1. +!!! warning "Reference docs" + This page contains **reference documentation** for xAI. See [the docs](https://docs.langchain.com/oss/python/integrations/providers/xai) for conceptual guides, tutorials, and examples on using xAI modules. ::: langchain_xai diff --git a/reference/python/docs/langchain/agents.md b/reference/python/docs/langchain/agents.md index 313f80c922..4f48f5af53 100644 --- a/reference/python/docs/langchain/agents.md +++ b/reference/python/docs/langchain/agents.md @@ -1,7 +1,12 @@ +!!! warning "Reference docs" + + This page contains **reference documentation** for Agents. See [the docs](https://docs.langchain.com/oss/python/langchain/agents) for conceptual guides, tutorials, and examples on using Agents. + ::: langchain.agents options: + summary: false group_by_category: false parameter_headings: true members: diff --git a/reference/python/docs/langchain/embeddings.md b/reference/python/docs/langchain/embeddings.md index f4b9ef1b02..00ec2f16a6 100644 --- a/reference/python/docs/langchain/embeddings.md +++ b/reference/python/docs/langchain/embeddings.md @@ -1,7 +1,12 @@ +!!! warning "Reference docs" + + This page contains **reference documentation** for Embeddings. See [the docs](https://docs.langchain.com/oss/python/langchain/retrieval#embedding-models) for conceptual guides, tutorials, and examples on using Embeddings. + ::: langchain.embeddings options: + summary: false group_by_category: false members: - init_embeddings diff --git a/reference/python/docs/langchain/langchain/index.md b/reference/python/docs/langchain/langchain/index.md index 42fe9a21f0..079ab7c2f4 100644 --- a/reference/python/docs/langchain/langchain/index.md +++ b/reference/python/docs/langchain/langchain/index.md @@ -1,3 +1,7 @@ +--- +title: LangChain home +--- + # :simple-langchain:{ .lg .middle } `langchain` [![PyPI - Version](https://img.shields.io/pypi/v/langchain?label=%20)](https://pypi.org/project/langchain/#history) diff --git a/reference/python/docs/langchain/messages.md b/reference/python/docs/langchain/messages.md index c37c0ed604..625547f213 100644 --- a/reference/python/docs/langchain/messages.md +++ b/reference/python/docs/langchain/messages.md @@ -1,3 +1,7 @@ +!!! warning "Reference docs" + + This page contains **reference documentation** for Messages. See [the docs](https://docs.langchain.com/oss/python/langchain/messages) for conceptual guides, tutorials, and examples on using Messages. + ::: langchain.messages options: summary: true @@ -31,5 +35,6 @@ - FileContentBlock - NonStandardContentBlock - trim_messages - - + - UsageMetadata + - InputTokenDetails + - OutputTokenDetails diff --git a/reference/python/docs/langchain/middleware.md b/reference/python/docs/langchain/middleware.md index df1514cca1..53c0c35695 100644 --- a/reference/python/docs/langchain/middleware.md +++ b/reference/python/docs/langchain/middleware.md @@ -1,31 +1,187 @@ - -::: langchain.agents.middleware - options: - summary: - # - classes: true - group_by_category: false - members: - - ContextEditingMiddleware - - HumanInTheLoopMiddleware - - LLMToolSelectorMiddleware - - LLMToolEmulator - - ModelCallLimitMiddleware - - ModelFallbackMiddleware - - PIIMiddleware - - PIIDetectionError - - SummarizationMiddleware - - TodoListMiddleWare - - ToolCallLimitMiddleware - - AgentMiddleware - - AgentState - - ClearToolUsesEdit - - InterruptOnConfig - - ModelRequest - - ModelResponse - - before_model - - after_model - - wrap_model_call - - wrap_tool_call - - dynamic-prompt - - ModelRequest +!!! warning "Reference docs" + + This page contains **reference documentation** for Middleware. See [the docs](https://docs.langchain.com/oss/python/langchain/middleware) for conceptual guides, tutorials, and examples on using Middleware. + +## Middleware classes + +LangChain provides prebuilt middleware for common agent use cases: + +| CLASS | DESCRIPTION | +| ----- | ----------- | +| [`SummarizationMiddleware`](#langchain.agents.middleware.SummarizationMiddleware) | Automatically summarize conversation history when approaching token limits | +| [`HumanInTheLoopMiddleware`](#langchain.agents.middleware.HumanInTheLoopMiddleware) | Pause execution for human approval of tool calls | +| [`ModelCallLimitMiddleware`](#langchain.agents.middleware.ModelCallLimitMiddleware) | Limit the number of model calls to prevent excessive costs | +| [`ToolCallLimitMiddleware`](#langchain.agents.middleware.ToolCallLimitMiddleware) | Control tool execution by limiting call counts | +| [`ModelFallbackMiddleware`](#langchain.agents.middleware.ModelFallbackMiddleware) | Automatically fallback to alternative models when primary fails | +| [`PIIMiddleware`](#langchain.agents.middleware.PIIMiddleware) | Detect and handle Personally Identifiable Information | +| [`TodoListMiddleware`](#langchain.agents.middleware.TodoListMiddleware) | Equip agents with task planning and tracking capabilities | +| [`LLMToolSelectorMiddleware`](#langchain.agents.middleware.LLMToolSelectorMiddleware) | Use an LLM to select relevant tools before calling main model | +| [`ToolRetryMiddleware`](#langchain.agents.middleware.ToolRetryMiddleware) | Automatically retry failed tool calls with exponential backoff | +| [`LLMToolEmulator`](#langchain.agents.middleware.LLMToolEmulator) | Emulate tool execution using LLM for testing purposes | +| [`ContextEditingMiddleware`](#langchain.agents.middleware.ContextEditingMiddleware) | Manage conversation context by trimming or clearing tool uses | +| [`ShellToolMiddleware`](#langchain.agents.middleware.ShellToolMiddleware) | Expose a persistent shell session to agents for command execution | +| [`FilesystemFileSearchMiddleware`](#langchain.agents.middleware.FilesystemFileSearchMiddleware) | Provide Glob and Grep search tools over filesystem files | +| [`AgentMiddleware`](#langchain.agents.middleware.AgentMiddleware) | Base middleware class for creating custom middleware | + +## Decorators + +Create custom middleware using these decorators: + +| DECORATOR | DESCRIPTION | +| --------- | ----------- | +| [`@before_agent`](#langchain.agents.middleware.before_agent) | Execute logic before agent execution starts | +| [`@before_model`](#langchain.agents.middleware.before_model) | Execute logic before each model call | +| [`@after_model`](#langchain.agents.middleware.after_model) | Execute logic after each model receives a response | +| [`@after_agent`](#langchain.agents.middleware.after_agent) | Execute logic after agent execution completes | +| [`@wrap_model_call`](#langchain.agents.middleware.wrap_model_call) | Wrap and intercept model calls | +| [`@wrap_tool_call`](#langchain.agents.middleware.wrap_tool_call) | Wrap and intercept tool calls | +| [`@dynamic_prompt`](#langchain.agents.middleware.dynamic_prompt) | Generate dynamic system prompts based on request context | +| [`@hook_config`](#langchain.agents.middleware.hook_config) | Configure hook behavior (e.g., conditional routing) | + +## Types and utilities + +Core types for building middleware: + +| TYPE | DESCRIPTION | +| ---- | ----------- | +| [`AgentState`](#langchain.agents.middleware.AgentState) | State container for agent execution | +| [`ModelRequest`](#langchain.agents.middleware.ModelRequest) | Request details passed to model calls | +| [`ModelResponse`](#langchain.agents.middleware.ModelResponse) | Response details from model calls | +| [`ClearToolUsesEdit`](#langchain.agents.middleware.ClearToolUsesEdit) | Utility for clearing tool usage history from context | +| [`InterruptOnConfig`](#langchain.agents.middleware.InterruptOnConfig) | Configuration for human-in-the-loop interruptions | + + + +::: langchain.agents.middleware.SummarizationMiddleware + options: + docstring_options: + ignore_init_summary: true + merge_init_into_class: true + filters: ["^__init__$"] + +::: langchain.agents.middleware.HumanInTheLoopMiddleware + options: + docstring_options: + ignore_init_summary: true + merge_init_into_class: true + filters: ["^__init__$"] + +::: langchain.agents.middleware.ModelCallLimitMiddleware + options: + docstring_options: + ignore_init_summary: true + merge_init_into_class: true + filters: ["^(__init__|state_schema)$"] + +::: langchain.agents.middleware.ToolCallLimitMiddleware + options: + docstring_options: + ignore_init_summary: true + merge_init_into_class: true + filters: ["^(__init__|state_schema)$"] + +::: langchain.agents.middleware.ModelFallbackMiddleware + options: + docstring_options: + ignore_init_summary: true + merge_init_into_class: true + filters: ["^__init__$"] + +::: langchain.agents.middleware.PIIMiddleware + options: + docstring_options: + ignore_init_summary: true + merge_init_into_class: true + filters: ["^__init__$"] + +::: langchain.agents.middleware.TodoListMiddleware + options: + docstring_options: + ignore_init_summary: true + merge_init_into_class: true + filters: ["^(__init__|state_schema)$"] + +::: langchain.agents.middleware.LLMToolSelectorMiddleware + options: + docstring_options: + ignore_init_summary: true + merge_init_into_class: true + filters: ["^__init__$"] + +::: langchain.agents.middleware.ToolRetryMiddleware + options: + docstring_options: + ignore_init_summary: true + merge_init_into_class: true + filters: ["^__init__$"] + +::: langchain.agents.middleware.LLMToolEmulator + options: + docstring_options: + ignore_init_summary: true + merge_init_into_class: true + filters: ["^__init__$"] + +::: langchain.agents.middleware.ContextEditingMiddleware + options: + docstring_options: + ignore_init_summary: true + merge_init_into_class: true + filters: ["^__init__$"] + +::: langchain.agents.middleware.ShellToolMiddleware + options: + docstring_options: + ignore_init_summary: true + merge_init_into_class: true + filters: ["^__init__$"] + +::: langchain.agents.middleware.FilesystemFileSearchMiddleware + options: + docstring_options: + ignore_init_summary: true + merge_init_into_class: true + filters: ["^__init__$"] + +::: langchain.agents.middleware.AgentMiddleware + options: + docstring_options: + ignore_init_summary: true + merge_init_into_class: true + filters: ["^__init__$"] + +::: langchain.agents.middleware.before_agent + +::: langchain.agents.middleware.before_model + +::: langchain.agents.middleware.after_model + +::: langchain.agents.middleware.after_agent + +::: langchain.agents.middleware.wrap_model_call + +::: langchain.agents.middleware.wrap_tool_call + +::: langchain.agents.middleware.dynamic_prompt + +::: langchain.agents.middleware.hook_config + +::: langchain.agents.middleware.AgentState + options: + merge_init_into_class: true + +::: langchain.agents.middleware.ModelRequest + options: + merge_init_into_class: true + +::: langchain.agents.middleware.ModelResponse + options: + merge_init_into_class: true + +::: langchain.agents.middleware.ClearToolUsesEdit + options: + merge_init_into_class: true + +::: langchain.agents.middleware.InterruptOnConfig + options: + merge_init_into_class: true diff --git a/reference/python/docs/langchain/models.md b/reference/python/docs/langchain/models.md index d2bce0d223..f8b563ffd0 100644 --- a/reference/python/docs/langchain/models.md +++ b/reference/python/docs/langchain/models.md @@ -1,7 +1,12 @@ # Chat models +!!! warning "Reference docs" + + This page contains **reference documentation** for chat models. See [the docs](https://docs.langchain.com/oss/python/langchain/models) for conceptual guides, tutorials, and examples on using chat models. + ::: langchain.chat_models options: parameter_headings: true + summary: false members: - init_chat_model diff --git a/reference/python/docs/langchain/tools.md b/reference/python/docs/langchain/tools.md index 0049e8be20..e4c90d259d 100644 --- a/reference/python/docs/langchain/tools.md +++ b/reference/python/docs/langchain/tools.md @@ -1,3 +1,7 @@ +!!! warning "Reference docs" + + This page contains **reference documentation** for Tools. See [the docs](https://docs.langchain.com/oss/python/langchain/tools) for conceptual guides, tutorials, and examples on using Tools. + ::: langchain.tools.tool ::: langchain.tools.BaseTool options: diff --git a/reference/python/docs/langchain_classic/index.md b/reference/python/docs/langchain_classic/index.md index 296eff1365..3255d649ef 100644 --- a/reference/python/docs/langchain_classic/index.md +++ b/reference/python/docs/langchain_classic/index.md @@ -1,3 +1,7 @@ +--- +title: LangChain Classic home +--- + # :fontawesome-solid-building-columns:{ .lg .middle } `langchain-classic` [![PyPI - Version](https://img.shields.io/pypi/v/langchain-classic?label=%20)](https://pypi.org/project/langchain-classic/#history) diff --git a/reference/python/docs/langchain_core/documents.md b/reference/python/docs/langchain_core/documents.md index 3bc0b46ad4..4a31106e16 100644 --- a/reference/python/docs/langchain_core/documents.md +++ b/reference/python/docs/langchain_core/documents.md @@ -1,3 +1,6 @@ -::: langchain_core.documents.base.BaseMedia -::: langchain_core.documents.base.Blob +::: langchain_core.documents + options: + members: [] ::: langchain_core.documents.base.Document +::: langchain_core.documents.base.Blob +::: langchain_core.documents.base.BaseMedia diff --git a/reference/python/docs/langchain_core/index.md b/reference/python/docs/langchain_core/index.md index d3b6fdd822..4274eb73f5 100644 --- a/reference/python/docs/langchain_core/index.md +++ b/reference/python/docs/langchain_core/index.md @@ -1,3 +1,7 @@ +--- +title: LangChain Core home +--- + # :material-atom:{ .lg .middle } `langchain-core` [![PyPI - Version](https://img.shields.io/pypi/v/langchain-core?label=%20)](https://pypi.org/project/langchain-core/#history) diff --git a/reference/python/docs/langchain_core/language_models.md b/reference/python/docs/langchain_core/language_models.md index 1d4275bd53..46a59eb11b 100644 --- a/reference/python/docs/langchain_core/language_models.md +++ b/reference/python/docs/langchain_core/language_models.md @@ -1,8 +1,5 @@ ::: langchain_core.language_models - options: - members: [] -::: langchain_core.language_models.chat_models options: parameter_headings: true show_inheritance_diagram: true diff --git a/reference/python/docs/langchain_core/output_parsers.md b/reference/python/docs/langchain_core/output_parsers.md index af0a27ce5a..cebc922cc9 100644 --- a/reference/python/docs/langchain_core/output_parsers.md +++ b/reference/python/docs/langchain_core/output_parsers.md @@ -1,6 +1,14 @@ -::: langchain_core.output_parsers.base.BaseOutputParser -::: langchain_core.output_parsers.json.JsonOutputParser -::: langchain_core.output_parsers.openai_tools.JsonOutputKeyToolsParser -::: langchain_core.output_parsers.openai_tools.JsonOutputToolsParser -::: langchain_core.output_parsers.openai_tools.PydanticToolsParser -::: langchain_core.output_parsers.xml.XMLOutputParser +::: langchain_core.output_parsers + options: + members: + - JsonOutputParser + - JsonOutputKeyToolsParser + - PydanticToolsParser + - XMLOutputParser + - CommaSeparatedListOutputParser +::: langchain_core.output_parsers + options: + show_inheritance_diagram: true + members: + - BaseOutputParser + - BaseLLMOutputParser diff --git a/reference/python/docs/langchain_mcp_adapters/index.md b/reference/python/docs/langchain_mcp_adapters/index.md index c58637446f..1024311f7c 100644 --- a/reference/python/docs/langchain_mcp_adapters/index.md +++ b/reference/python/docs/langchain_mcp_adapters/index.md @@ -1,3 +1,7 @@ +--- +title: MCP Adapters +--- + # :fontawesome-solid-down-left-and-up-right-to-center:{ .lg .middle } `langchain-mcp-adapters` [![PyPI - Version](https://img.shields.io/pypi/v/langchain-mcp-adapters?label=%20)](https://pypi.org/project/langchain-mcp-adapters/#history) diff --git a/reference/python/docs/langchain_model_profiles/index.md b/reference/python/docs/langchain_model_profiles/index.md new file mode 100644 index 0000000000..f716a2c0ff --- /dev/null +++ b/reference/python/docs/langchain_model_profiles/index.md @@ -0,0 +1,17 @@ +--- +title: Model profiles +--- + +# :simple-wikidata:{ .lg .middle } `langchain-model-profiles` + +[![PyPI - Version](https://img.shields.io/pypi/v/langchain-model-profiles?label=%20)](https://pypi.org/project/langchain-model-profiles/#history) +[![PyPI - License](https://img.shields.io/pypi/l/langchain-model-profiles)](https://opensource.org/licenses/MIT) +[![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain-model-profiles)](https://pypistats.org/packages/langchain-model-profiles) + +Reference documentation for the [`langchain-model-profiles`](https://pypi.org/project/langchain-model-profiles/) package. + +!!! danger "Beta package" + + This package is currently in development and the API is subject to change. + +::: langchain_model_profiles diff --git a/reference/python/docs/langchain_tests/index.md b/reference/python/docs/langchain_tests/index.md index 140d9035a8..1b60aaf7e3 100644 --- a/reference/python/docs/langchain_tests/index.md +++ b/reference/python/docs/langchain_tests/index.md @@ -1,3 +1,7 @@ +--- +title: Standard Tests +--- + # :material-test-tube:{ .lg .middle } `langchain-tests` [![PyPI - Version](https://img.shields.io/pypi/v/langchain-tests?label=%20)](https://pypi.org/project/langchain-tests/#history) @@ -16,7 +20,7 @@ To learn how to use these, see the [guide on integrating standard tests](https:/ Test components in isolation and without access to external services. - [:octicons-arrow-right-24: Reference](./unit_tests.md) + [:octicons-arrow-right-24: Reference](./unit_tests/index.md) - :material-lan-connect:{ .lg .middle } __Integration tests__ @@ -24,6 +28,6 @@ To learn how to use these, see the [guide on integrating standard tests](https:/ Test components in combination with external services to ensure end-to-end functionality. - [:octicons-arrow-right-24: Reference](./integration_tests.md) + [:octicons-arrow-right-24: Reference](./integration_tests/index.md) diff --git a/reference/python/docs/langchain_tests/integration_tests.md b/reference/python/docs/langchain_tests/integration_tests.md deleted file mode 100644 index f61e58496d..0000000000 --- a/reference/python/docs/langchain_tests/integration_tests.md +++ /dev/null @@ -1,3 +0,0 @@ -# Integration tests - -::: langchain_tests.integration_tests diff --git a/reference/python/docs/langchain_tests/integration_tests/base.md b/reference/python/docs/langchain_tests/integration_tests/base.md new file mode 100644 index 0000000000..675139512a --- /dev/null +++ b/reference/python/docs/langchain_tests/integration_tests/base.md @@ -0,0 +1,6 @@ +# Base tests + +::: langchain_tests.unit_tests.chat_models.ChatModelTests +::: langchain_tests.unit_tests.embeddings.EmbeddingsTests +::: langchain_tests.unit_tests.tools.ToolsTests +::: langchain_tests.base.BaseStandardTests diff --git a/reference/python/docs/langchain_tests/integration_tests/caches.md b/reference/python/docs/langchain_tests/integration_tests/caches.md new file mode 100644 index 0000000000..632ca25cc8 --- /dev/null +++ b/reference/python/docs/langchain_tests/integration_tests/caches.md @@ -0,0 +1,4 @@ +# Cache integration tests + +::: langchain_tests.integration_tests.SyncCacheTestSuite +::: langchain_tests.integration_tests.AsyncCacheTestSuite diff --git a/reference/python/docs/langchain_tests/integration_tests/chat_models.md b/reference/python/docs/langchain_tests/integration_tests/chat_models.md new file mode 100644 index 0000000000..d0882dc02b --- /dev/null +++ b/reference/python/docs/langchain_tests/integration_tests/chat_models.md @@ -0,0 +1,3 @@ +# Chat model integration tests + +::: langchain_tests.integration_tests.ChatModelIntegrationTests diff --git a/reference/python/docs/langchain_tests/integration_tests/embeddings.md b/reference/python/docs/langchain_tests/integration_tests/embeddings.md new file mode 100644 index 0000000000..d7e6693e7e --- /dev/null +++ b/reference/python/docs/langchain_tests/integration_tests/embeddings.md @@ -0,0 +1,3 @@ +# Embeddings integration tests + +::: langchain_tests.integration_tests.EmbeddingsIntegrationTests diff --git a/reference/python/docs/langchain_tests/integration_tests/index.md b/reference/python/docs/langchain_tests/integration_tests/index.md new file mode 100644 index 0000000000..83e9d16a25 --- /dev/null +++ b/reference/python/docs/langchain_tests/integration_tests/index.md @@ -0,0 +1,15 @@ +# Integration tests + +Integration tests for LangChain components help ensure that your implementations work correctly with the LangChain ecosystem. + +- [Chat models](./chat_models.md) +- [Embeddings](./embeddings.md) +- [Retrievers](./retrievers.md) +- [Tools](./tools.md) +- [Vector stores](./vectorstores.md) +- [Key-value store tests](./kv_stores.md) +- [Cache tests](./caches.md) +- [Base classes](./base.md) + +!!! tip "Docs" + See more details in the [standard tests documentation](https://docs.langchain.com/oss/python/contributing/standard-tests-langchain). diff --git a/reference/python/docs/langchain_tests/integration_tests/kv_stores.md b/reference/python/docs/langchain_tests/integration_tests/kv_stores.md new file mode 100644 index 0000000000..b61ff6f003 --- /dev/null +++ b/reference/python/docs/langchain_tests/integration_tests/kv_stores.md @@ -0,0 +1,4 @@ +# Key-value store integration tests + +::: langchain_tests.integration_tests.BaseStoreSyncTests +::: langchain_tests.integration_tests.BaseStoreAsyncTests diff --git a/reference/python/docs/langchain_tests/integration_tests/retrievers.md b/reference/python/docs/langchain_tests/integration_tests/retrievers.md new file mode 100644 index 0000000000..bc5592a55f --- /dev/null +++ b/reference/python/docs/langchain_tests/integration_tests/retrievers.md @@ -0,0 +1,3 @@ +# Retriever integration tests + +::: langchain_tests.integration_tests.RetrieversIntegrationTests diff --git a/reference/python/docs/langchain_tests/integration_tests/tools.md b/reference/python/docs/langchain_tests/integration_tests/tools.md new file mode 100644 index 0000000000..381d6b8284 --- /dev/null +++ b/reference/python/docs/langchain_tests/integration_tests/tools.md @@ -0,0 +1,3 @@ +# Tool integration tests + +::: langchain_tests.integration_tests.ToolsIntegrationTests diff --git a/reference/python/docs/langchain_tests/integration_tests/vectorstores.md b/reference/python/docs/langchain_tests/integration_tests/vectorstores.md new file mode 100644 index 0000000000..e8c156a40e --- /dev/null +++ b/reference/python/docs/langchain_tests/integration_tests/vectorstores.md @@ -0,0 +1,3 @@ +# Vector store integration tests + +::: langchain_tests.integration_tests.VectorStoreIntegrationTests diff --git a/reference/python/docs/langchain_tests/unit_tests.md b/reference/python/docs/langchain_tests/unit_tests.md deleted file mode 100644 index b302d59d2b..0000000000 --- a/reference/python/docs/langchain_tests/unit_tests.md +++ /dev/null @@ -1,3 +0,0 @@ -# Unit tests - -::: langchain_tests.unit_tests diff --git a/reference/python/docs/langchain_tests/unit_tests/chat_models.md b/reference/python/docs/langchain_tests/unit_tests/chat_models.md new file mode 100644 index 0000000000..cdfce74637 --- /dev/null +++ b/reference/python/docs/langchain_tests/unit_tests/chat_models.md @@ -0,0 +1,3 @@ +# Chat model unit tests + +::: langchain_tests.unit_tests.ChatModelUnitTests diff --git a/reference/python/docs/langchain_tests/unit_tests/embeddings.md b/reference/python/docs/langchain_tests/unit_tests/embeddings.md new file mode 100644 index 0000000000..431b18f6b0 --- /dev/null +++ b/reference/python/docs/langchain_tests/unit_tests/embeddings.md @@ -0,0 +1,3 @@ +# Embeddings unit tests + +::: langchain_tests.unit_tests.EmbeddingsUnitTests diff --git a/reference/python/docs/langchain_tests/unit_tests/index.md b/reference/python/docs/langchain_tests/unit_tests/index.md new file mode 100644 index 0000000000..bcf20f4d86 --- /dev/null +++ b/reference/python/docs/langchain_tests/unit_tests/index.md @@ -0,0 +1,10 @@ +# Unit tests + +Unit tests for LangChain components help ensure that your implementations are correct without requiring external services. + +- [Chat models](./chat_models.md) +- [Embeddings](./embeddings.md) +- [Tools](./tools.md) + +!!! tip "Docs" + See more details in the [standard tests documentation](https://docs.langchain.com/oss/python/contributing/standard-tests-langchain). diff --git a/reference/python/docs/langchain_tests/unit_tests/tools.md b/reference/python/docs/langchain_tests/unit_tests/tools.md new file mode 100644 index 0000000000..b050b6eda7 --- /dev/null +++ b/reference/python/docs/langchain_tests/unit_tests/tools.md @@ -0,0 +1,3 @@ +# Tool unit tests + +::: langchain_tests.unit_tests.ToolsUnitTests diff --git a/reference/python/docs/langchain_text_splitters/index.md b/reference/python/docs/langchain_text_splitters/index.md index b1abc388a8..0a698d75a3 100644 --- a/reference/python/docs/langchain_text_splitters/index.md +++ b/reference/python/docs/langchain_text_splitters/index.md @@ -1,3 +1,7 @@ +--- +title: Text Splitters +--- + # :material-format-text:{ .lg .middle } `langchain-text-splitters` [![PyPI - Version](https://img.shields.io/pypi/v/langchain-text-splitters?label=%20)](https://pypi.org/project/langchain-text-splitters/#history) diff --git a/reference/python/docs/langgraph/supervisor.md b/reference/python/docs/langgraph/supervisor.md index 6c659d1f0e..b53ddfcbf6 100644 --- a/reference/python/docs/langgraph/supervisor.md +++ b/reference/python/docs/langgraph/supervisor.md @@ -1,8 +1,6 @@ # LangGraph Supervisor -Supervisor has not been upgraded to LangChain v1 yet. See [existing docs](https://langchain-ai.github.io/langgraph/reference/supervisor/). - - + - create_forward_message_tool diff --git a/reference/python/docs/langgraph/types.md b/reference/python/docs/langgraph/types.md index 6da8ccac6a..cc8e3dd38d 100644 --- a/reference/python/docs/langgraph/types.md +++ b/reference/python/docs/langgraph/types.md @@ -11,4 +11,5 @@ - StateSnapshot - Send - Command + - Overwrite - interrupt diff --git a/reference/python/docs/langsmith/index.md b/reference/python/docs/langsmith/index.md index 8bac1f1be5..5c8008cc92 100644 --- a/reference/python/docs/langsmith/index.md +++ b/reference/python/docs/langsmith/index.md @@ -7,3 +7,31 @@ hide: Welcome to the LangSmith reference documentation! --8<-- "wip.md" + +
+ +- :material-eye-outline:{ .lg .middle } __Observability & Evaluation__ + + --- + + [:octicons-arrow-right-24: Reference](./observability/sdk/index.md) + +- :material-upload:{ .lg .middle } __Deployment__ + + --- + + [:octicons-arrow-right-24: Reference](./deployment/sdk.md) + +- :material-router-wireless:{ .lg .middle } __Remote Graph__ + + --- + + [:octicons-arrow-right-24: Reference](./deployment/remote_graph.md) + +- :material-api:{ .lg .middle } __LangSmith REST API__ + + --- + + [:octicons-arrow-right-24: Reference](https://api.smith.langchain.com/redoc) + +
diff --git a/reference/python/docs/langsmith/observability/sdk/index.md b/reference/python/docs/langsmith/observability/sdk/index.md index 9a8f285942..94d3094ad3 100644 --- a/reference/python/docs/langsmith/observability/sdk/index.md +++ b/reference/python/docs/langsmith/observability/sdk/index.md @@ -2,9 +2,13 @@ title: LangSmith SDK --- +[![PyPI - Version](https://img.shields.io/pypi/v/langsmith?label=%20)](https://pypi.org/project/langsmith/#history) +[![PyPI - License](https://img.shields.io/pypi/l/langsmith)](https://opensource.org/licenses/MIT) +[![PyPI - Downloads](https://img.shields.io/pepy/dt/langsmith)](https://pypistats.org/packages/langsmith) + Welcome to the LangSmith Python SDK reference docs! These pages detail the core interfaces you will use when building with LangSmith's Observability and Evaluations tools. ---8<-- "wip.md" +For user guides, tutorials, and conceptual overviews, please visit the [LangSmith documentation](https://docs.langchain.com/langsmith/home). ## Quick Reference @@ -13,8 +17,7 @@ Welcome to the LangSmith Python SDK reference docs! These pages detail the core | [`Client`](client.md) | Synchronous client for interacting with the LangSmith API. | | [`AsyncClient`](async_client.md) | Asynchronous client for interacting with the LangSmith API. | | [`traceable`](run_helpers.md) | Wrapper/decorator for tracing any function. | -| [`evaluate`](evaluation.md) | Evaluate a function or model on a dataset. | -| [`RunTree`](run_trees.md) | Tree structure representing a run and its nested runs. | +| [`@pytest.mark.langsmith`](testing.md) | LangSmith `pytest` integration. | | [`wrap_openai`](wrappers.md) | Wrapper for OpenAI client, adds LangSmith tracing. | | [`wrap_anthropic`](wrappers.md) | Wrapper for Anthropic client, adds LangSmith tracing. | diff --git a/reference/python/mkdocs.yml b/reference/python/mkdocs.yml index f216373dcf..5c1895a81f 100644 --- a/reference/python/mkdocs.yml +++ b/reference/python/mkdocs.yml @@ -228,6 +228,7 @@ plugins: # Preload modules before collecting documentation to enable cross-references - langchain - langchain_core + - langgraph - langsmith # Generate objects.inv file for this site to enable cross-referencing from other sites @@ -334,6 +335,14 @@ plugins: # - If not provided, lists all `.md` files recursively in alphabetical order # - If provided, only the listed files will be included, in the specified order # - If a directory is listed, all `.md` files in that directory will be included + +# IMPORTANT: integration packages should be first class citizens in the integrations/ folder +# Mono-repos that have many packages will have a folder/index.md for that mono-repo's README +# +# For example: the `langchain-azure` repo gets a folder `integrations/langchain_azure/` with +# an `index.md` file inside it. Individual packages inside that mono-repo will have top-level +# folders within `integrations/` as well, e.g. `integrations/langchain_azure_ai/` + nav: - Get started: index.md - LangChain: @@ -367,10 +376,25 @@ nav: - Overview: langchain_text_splitters/index.md - langchain-mcp-adapters: - Overview: langchain_mcp_adapters/index.md + - langchain-model-profiles: + - Overview: langchain_model_profiles/index.md - langchain-tests: - langchain_tests/index.md - - Unit tests: langchain_tests/unit_tests.md - - Integration tests: langchain_tests/integration_tests.md + - Unit tests: + - langchain_tests/unit_tests/index.md + - Chat models: langchain_tests/unit_tests/chat_models.md + - Embeddings: langchain_tests/unit_tests/embeddings.md + - Tools: langchain_tests/unit_tests/tools.md + - Integration tests: + - langchain_tests/integration_tests/index.md + - Chat models: langchain_tests/integration_tests/chat_models.md + - Embeddings: langchain_tests/integration_tests/embeddings.md + - Retrievers: langchain_tests/integration_tests/retrievers.md + - Tools: langchain_tests/integration_tests/tools.md + - Vector stores: langchain_tests/integration_tests/vectorstores.md + - Key-value stores: langchain_tests/integration_tests/kv_stores.md + - Caches: langchain_tests/integration_tests/caches.md + - Base: langchain_tests/integration_tests/base.md - langchain-classic: - Overview: langchain_classic/index.md - Agents: langchain_classic/agents.md @@ -410,19 +434,20 @@ nav: - Deep Agents reference: deepagents/index.md - Integrations: - LangChain integrations: integrations/index.md - - All packages: + - Community: integrations/langchain_community/index.md + - Packages: - Anthropic: - integrations/langchain_anthropic/index.md - ChatAnthropic: integrations/langchain_anthropic/ChatAnthropic.md - AnthropicLLM: integrations/langchain_anthropic/AnthropicLLM.md + - Middleware: integrations/langchain_anthropic/middleware.md - AstraDB: integrations/langchain_astradb.md - AWS: integrations/langchain_aws.md - Azure (Microsoft): - integrations/langchain_azure/index.md - - Azure AI: - - integrations/langchain_azure/ai/index.md - - Dynamic Sessions: integrations/langchain_azure/dynamic_sessions.md - - Storage: integrations/langchain_azure/storage.md + - Azure AI: integrations/langchain_azure_ai/index.md + - Dynamic Sessions: integrations/langchain_azure_dynamic_sessions/index.md + - Storage: integrations/langchain_azure_storage/index.md - Cerebras: integrations/langchain_cerebras.md - Chroma: integrations/langchain_chroma.md - Cohere: integrations/langchain_cohere.md @@ -431,12 +456,21 @@ nav: - Elasticsearch: integrations/langchain_elasticsearch.md - Exa: integrations/langchain_exa.md - Fireworks: integrations/langchain_fireworks.md - - Google (Community): integrations/langchain_google_community.md - - Google (GenAI): integrations/langchain_google_genai.md - - Google (VertexAI): integrations/langchain_google_vertexai.md + - Google: + - integrations/langchain_google/index.md + - GenAI (Gemini): integrations/langchain_google_genai/index.md + - VertexAI: integrations/langchain_google_vertexai/index.md + - Google Community: integrations/langchain_google_community/index.md - Groq: integrations/langchain_groq.md - HuggingFace: integrations/langchain_huggingface.md - - IBM: integrations/langchain_ibm.md + - IBM: + - integrations/langchain_ibm/index.md + - ChatWatsonx: integrations/langchain_ibm/ChatWatsonx.md + - WatsonxLLM: integrations/langchain_ibm/WatsonxLLM.md + - WatsonxEmbeddings: integrations/langchain_ibm/WatsonxEmbeddings.md + - WatsonxRerank: integrations/langchain_ibm/WatsonxRerank.md + - WatsonxToolkit: integrations/langchain_ibm/WatsonxToolkit.md + - WatsonxSQLDatabaseToolkit: integrations/langchain_ibm/WatsonxSQLDatabaseToolkit.md - Milvus: integrations/langchain_milvus.md - Mistral AI: integrations/langchain_mistralai.md - MongoDB: https://langchain-mongodb.readthedocs.io/en/latest/index.html @@ -453,6 +487,7 @@ nav: - AzureOpenAI: integrations/langchain_openai/AzureOpenAI.md - OpenAIEmbeddings: integrations/langchain_openai/OpenAIEmbeddings.md - AzureOpenAIEmbeddings: integrations/langchain_openai/AzureOpenAIEmbeddings.md + - Middleware: integrations/langchain_openai/middleware.md - Perplexity: integrations/langchain_perplexity.md - Pinecone: integrations/langchain_pinecone.md - Postgres: integrations/langchain_postgres.md @@ -608,7 +643,7 @@ markdown_extensions: validation: # We are still raising for omitted files because they determine the breadcrumbs # for pages. - absolute_links: warn + absolute_links: ignore unrecognized_links: warn anchors: warn # this is needed to handle headers with anchors for nav diff --git a/reference/python/overrides/main.html b/reference/python/overrides/main.html index 1412dcb9a1..edd4c49398 100644 --- a/reference/python/overrides/main.html +++ b/reference/python/overrides/main.html @@ -11,6 +11,9 @@ 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-MBBX68ST'); + + + {% endblock %} {# {% block announce %} diff --git a/reference/python/pyproject.dev.toml b/reference/python/pyproject.dev.toml index 4155fdf91e..f05184fdb0 100644 --- a/reference/python/pyproject.dev.toml +++ b/reference/python/pyproject.dev.toml @@ -2,7 +2,7 @@ name = "langchain-reference-docs" version = "0.1.0" description = "LangChain API reference documentation" -requires-python = ">=3.13.0,<4.0.0" +requires-python = ">=3.13.0,<3.14.0" readme = "README.md" license = "MIT" dependencies = [ @@ -33,6 +33,7 @@ dependencies = [ "langchain", "langchain-classic", "langchain-tests", + "langchain-model-profiles", "langchain-text-splitters", "langchain-anthropic", "langchain-chroma", @@ -59,15 +60,15 @@ dependencies = [ #"langchain-azure-dynamic-sessions", "langchain-azure-storage", #"langchain-cerebras", - #"langchain-cohere", - #"langchain-db2", + "langchain-cohere", + "langchain-db2", #"langchain-elasticsearch", "langchain-google-community", "langchain-google-genai", "langchain-google-vertexai", - #"langchain-ibm", - #"langchain-milvus", - #"langchain-neo4j", + "langchain-ibm", + "langchain-milvus", + "langchain-neo4j", #"langchain-nvidia-ai-endpoints", #"langchain-pinecone", #"langchain-postgres", @@ -78,7 +79,7 @@ dependencies = [ #"langchain-together", #"langchain-unstructured", #"langchain-upstage", - #"langchain-weaviate", + "langchain-weaviate", "langchain-tavily", "langgraph", "langgraph-prebuilt", @@ -86,7 +87,7 @@ dependencies = [ "langgraph-checkpoint-sqlite", "langgraph-checkpoint-postgres", "langgraph-sdk", - #"langgraph-supervisor", + "langgraph-supervisor", #"langgraph-swarm", "langgraph-checkpoint-aws", "langsmith", @@ -96,6 +97,7 @@ dependencies = [ [tool.uv] package = false +environments = ["platform_python_implementation != 'PyPy'"] override-dependencies = [ "pytest-codspeed>=3.1.0,<4.0.0", # Override git URL sources from langchain-azure-ai and other packages @@ -128,6 +130,7 @@ langchain-core = { path = "../../../langchain/libs/core", editable = true } langchain = { path = "../../../langchain/libs/langchain_v1", editable = true } langchain-classic = { path = "../../../langchain/libs/langchain", editable = true } langchain-tests = { path = "../../../langchain/libs/standard-tests", editable = true } +langchain-model-profiles = { path = "../../../langchain/libs/model-profiles", editable = true } langchain-text-splitters = { path = "../../../langchain/libs/text-splitters", editable = true } ### Partners @@ -205,4 +208,4 @@ langgraph-checkpoint-aws = { path = "../../../langchain-aws/libs/langgraph-check langsmith = { path = "../../../langsmith-sdk/python", editable = true } # Deep Agents -deepagents = { path = "../../../deepagents", editable = true } +deepagents = { path = "../../../deepagents/libs/deepagents", editable = true } diff --git a/reference/python/pyproject.prod.toml b/reference/python/pyproject.prod.toml index 42927bef77..11ed8bfefb 100644 --- a/reference/python/pyproject.prod.toml +++ b/reference/python/pyproject.prod.toml @@ -2,7 +2,7 @@ name = "langchain-reference-docs" version = "0.1.0" description = "LangChain API reference documentation" -requires-python = ">=3.13.0,<4.0.0" +requires-python = ">=3.13.0,<3.14.0" readme = "README.md" license = "MIT" dependencies = [ @@ -33,6 +33,7 @@ dependencies = [ "langchain", "langchain-classic", "langchain-tests", + "langchain-model-profiles", "langchain-text-splitters", "langchain-anthropic", "langchain-chroma", @@ -59,15 +60,15 @@ dependencies = [ #"langchain-azure-dynamic-sessions", "langchain-azure-storage", #"langchain-cerebras", - #"langchain-cohere", - #"langchain-db2", + "langchain-cohere", + "langchain-db2", #"langchain-elasticsearch", "langchain-google-community", "langchain-google-genai", "langchain-google-vertexai", - #"langchain-ibm", - #"langchain-milvus", - #"langchain-neo4j", + "langchain-ibm", + "langchain-milvus", + "langchain-neo4j", #"langchain-nvidia-ai-endpoints", #"langchain-pinecone", #"langchain-postgres", @@ -78,7 +79,7 @@ dependencies = [ #"langchain-together", #"langchain-unstructured", #"langchain-upstage", - #"langchain-weaviate", + "langchain-weaviate", "langchain-tavily", "langgraph", "langgraph-prebuilt", @@ -86,7 +87,7 @@ dependencies = [ "langgraph-checkpoint-sqlite", "langgraph-checkpoint-postgres", "langgraph-sdk", - #"langgraph-supervisor", + "langgraph-supervisor", #"langgraph-swarm", "langgraph-checkpoint-aws", "langsmith", @@ -100,6 +101,8 @@ package = false # This is necessary for CI/CD environments like Vercel where cache and target # directories may be on different filesystems link-mode = "copy" +# Limit resolution to CPython only to avoid PyPy urllib3 conflicts +environments = ["python_version >= '3.13' and platform_python_implementation != 'PyPy'"] override-dependencies = [ "pytest-codspeed>=3.1.0,<4.0.0", ] @@ -114,6 +117,7 @@ langchain-core = { git = "https://github.com/langchain-ai/langchain.git", subdir langchain = { git = "https://github.com/langchain-ai/langchain.git", subdirectory = "libs/langchain_v1" } langchain-classic = { git = "https://github.com/langchain-ai/langchain.git", subdirectory = "libs/langchain" } langchain-tests = { git = "https://github.com/langchain-ai/langchain.git", subdirectory = "libs/standard-tests" } +langchain-model-profiles = { git = "https://github.com/langchain-ai/langchain.git", subdirectory = "libs/model-profiles" } langchain-text-splitters = { git = "https://github.com/langchain-ai/langchain.git", subdirectory = "libs/text-splitters" } ### Partners @@ -191,4 +195,4 @@ langgraph-checkpoint-aws = { git = "https://github.com/langchain-ai/langchain-aw langsmith = { git = "https://github.com/langchain-ai/langsmith-sdk.git", subdirectory = "python" } # Deep Agents -deepagents = { git = "https://github.com/langchain-ai/deepagents.git" } +deepagents = { git = "https://github.com/langchain-ai/deepagents.git", subdirectory = "libs/deepagents" } diff --git a/reference/python/pyproject.toml b/reference/python/pyproject.toml index 42927bef77..11ed8bfefb 100644 --- a/reference/python/pyproject.toml +++ b/reference/python/pyproject.toml @@ -2,7 +2,7 @@ name = "langchain-reference-docs" version = "0.1.0" description = "LangChain API reference documentation" -requires-python = ">=3.13.0,<4.0.0" +requires-python = ">=3.13.0,<3.14.0" readme = "README.md" license = "MIT" dependencies = [ @@ -33,6 +33,7 @@ dependencies = [ "langchain", "langchain-classic", "langchain-tests", + "langchain-model-profiles", "langchain-text-splitters", "langchain-anthropic", "langchain-chroma", @@ -59,15 +60,15 @@ dependencies = [ #"langchain-azure-dynamic-sessions", "langchain-azure-storage", #"langchain-cerebras", - #"langchain-cohere", - #"langchain-db2", + "langchain-cohere", + "langchain-db2", #"langchain-elasticsearch", "langchain-google-community", "langchain-google-genai", "langchain-google-vertexai", - #"langchain-ibm", - #"langchain-milvus", - #"langchain-neo4j", + "langchain-ibm", + "langchain-milvus", + "langchain-neo4j", #"langchain-nvidia-ai-endpoints", #"langchain-pinecone", #"langchain-postgres", @@ -78,7 +79,7 @@ dependencies = [ #"langchain-together", #"langchain-unstructured", #"langchain-upstage", - #"langchain-weaviate", + "langchain-weaviate", "langchain-tavily", "langgraph", "langgraph-prebuilt", @@ -86,7 +87,7 @@ dependencies = [ "langgraph-checkpoint-sqlite", "langgraph-checkpoint-postgres", "langgraph-sdk", - #"langgraph-supervisor", + "langgraph-supervisor", #"langgraph-swarm", "langgraph-checkpoint-aws", "langsmith", @@ -100,6 +101,8 @@ package = false # This is necessary for CI/CD environments like Vercel where cache and target # directories may be on different filesystems link-mode = "copy" +# Limit resolution to CPython only to avoid PyPy urllib3 conflicts +environments = ["python_version >= '3.13' and platform_python_implementation != 'PyPy'"] override-dependencies = [ "pytest-codspeed>=3.1.0,<4.0.0", ] @@ -114,6 +117,7 @@ langchain-core = { git = "https://github.com/langchain-ai/langchain.git", subdir langchain = { git = "https://github.com/langchain-ai/langchain.git", subdirectory = "libs/langchain_v1" } langchain-classic = { git = "https://github.com/langchain-ai/langchain.git", subdirectory = "libs/langchain" } langchain-tests = { git = "https://github.com/langchain-ai/langchain.git", subdirectory = "libs/standard-tests" } +langchain-model-profiles = { git = "https://github.com/langchain-ai/langchain.git", subdirectory = "libs/model-profiles" } langchain-text-splitters = { git = "https://github.com/langchain-ai/langchain.git", subdirectory = "libs/text-splitters" } ### Partners @@ -191,4 +195,4 @@ langgraph-checkpoint-aws = { git = "https://github.com/langchain-ai/langchain-aw langsmith = { git = "https://github.com/langchain-ai/langsmith-sdk.git", subdirectory = "python" } # Deep Agents -deepagents = { git = "https://github.com/langchain-ai/deepagents.git" } +deepagents = { git = "https://github.com/langchain-ai/deepagents.git", subdirectory = "libs/deepagents" } diff --git a/reference/python/uv.lock b/reference/python/uv.lock index a960fff7a1..361691befd 100644 --- a/reference/python/uv.lock +++ b/reference/python/uv.lock @@ -1,16 +1,25 @@ version = 1 revision = 3 -requires-python = ">=3.13.0, <4.0.0" +requires-python = "==3.13.*" resolution-markers = [ - "python_full_version >= '3.14' and platform_python_implementation == 'PyPy'", - "python_full_version >= '3.14' and platform_python_implementation != 'PyPy'", - "python_full_version < '3.14' and platform_python_implementation == 'PyPy'", - "python_full_version < '3.14' and platform_python_implementation != 'PyPy'", + "platform_python_implementation != 'PyPy'", +] +supported-markers = [ + "platform_python_implementation != 'PyPy'", ] [manifest] overrides = [{ name = "pytest-codspeed", specifier = ">=3.1.0,<4.0.0" }] +[[package]] +name = "aiofiles" +version = "24.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0b/03/a88171e277e8caa88a4c77808c20ebb04ba74cc4681bf1e9416c862de237/aiofiles-24.1.0.tar.gz", hash = "sha256:22a075c9e5a3810f0c2e48f3008c94d68c65d763b9b03857924c99e57355166c", size = 30247, upload-time = "2024-06-24T11:02:03.584Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a5/45/30bb92d442636f570cb5651bc661f52b610e2eec3f891a5dc3a4c3667db0/aiofiles-24.1.0-py3-none-any.whl", hash = "sha256:b4ec55f4195e3eb5d7abd1bf7e061763e864dd4954231fb8539a0ef8bb8260e5", size = 15896, upload-time = "2024-06-24T11:02:01.529Z" }, +] + [[package]] name = "aiohappyeyeballs" version = "2.6.1" @@ -22,70 +31,48 @@ wheels = [ [[package]] name = "aiohttp" -version = "3.13.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "aiohappyeyeballs" }, - { name = "aiosignal" }, - { name = "attrs" }, - { name = "frozenlist" }, - { name = "multidict" }, - { name = "propcache" }, - { name = "yarl" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ba/fa/3ae643cd525cf6844d3dc810481e5748107368eb49563c15a5fb9f680750/aiohttp-3.13.1.tar.gz", hash = "sha256:4b7ee9c355015813a6aa085170b96ec22315dabc3d866fd77d147927000e9464", size = 7835344, upload-time = "2025-10-17T14:03:29.337Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/16/6d/d267b132342e1080f4c1bb7e1b4e96b168b3cbce931ec45780bff693ff95/aiohttp-3.13.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:55785a7f8f13df0c9ca30b5243d9909bd59f48b274262a8fe78cee0828306e5d", size = 730727, upload-time = "2025-10-17T14:00:39.681Z" }, - { url = "https://files.pythonhosted.org/packages/92/c8/1cf495bac85cf71b80fad5f6d7693e84894f11b9fe876b64b0a1e7cbf32f/aiohttp-3.13.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4bef5b83296cebb8167707b4f8d06c1805db0af632f7a72d7c5288a84667e7c3", size = 488678, upload-time = "2025-10-17T14:00:41.541Z" }, - { url = "https://files.pythonhosted.org/packages/a8/19/23c6b81cca587ec96943d977a58d11d05a82837022e65cd5502d665a7d11/aiohttp-3.13.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:27af0619c33f9ca52f06069ec05de1a357033449ab101836f431768ecfa63ff5", size = 487637, upload-time = "2025-10-17T14:00:43.527Z" }, - { url = "https://files.pythonhosted.org/packages/48/58/8f9464afb88b3eed145ad7c665293739b3a6f91589694a2bb7e5778cbc72/aiohttp-3.13.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a47fe43229a8efd3764ef7728a5c1158f31cdf2a12151fe99fde81c9ac87019c", size = 1718975, upload-time = "2025-10-17T14:00:45.496Z" }, - { url = "https://files.pythonhosted.org/packages/e1/8b/c3da064ca392b2702f53949fd7c403afa38d9ee10bf52c6ad59a42537103/aiohttp-3.13.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6e68e126de5b46e8b2bee73cab086b5d791e7dc192056916077aa1e2e2b04437", size = 1686905, upload-time = "2025-10-17T14:00:47.707Z" }, - { url = "https://files.pythonhosted.org/packages/0a/a4/9c8a3843ecf526daee6010af1a66eb62579be1531d2d5af48ea6f405ad3c/aiohttp-3.13.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e65ef49dd22514329c55970d39079618a8abf856bae7147913bb774a3ab3c02f", size = 1754907, upload-time = "2025-10-17T14:00:49.702Z" }, - { url = "https://files.pythonhosted.org/packages/a4/80/1f470ed93e06436e3fc2659a9fc329c192fa893fb7ed4e884d399dbfb2a8/aiohttp-3.13.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0e425a7e0511648b3376839dcc9190098671a47f21a36e815b97762eb7d556b0", size = 1857129, upload-time = "2025-10-17T14:00:51.822Z" }, - { url = "https://files.pythonhosted.org/packages/cc/e6/33d305e6cce0a8daeb79c7d8d6547d6e5f27f4e35fa4883fc9c9eb638596/aiohttp-3.13.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:010dc9b7110f055006acd3648d5d5955bb6473b37c3663ec42a1b4cba7413e6b", size = 1738189, upload-time = "2025-10-17T14:00:53.976Z" }, - { url = "https://files.pythonhosted.org/packages/ac/42/8df03367e5a64327fe0c39291080697795430c438fc1139c7cc1831aa1df/aiohttp-3.13.1-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1b5c722d0ca5f57d61066b5dfa96cdb87111e2519156b35c1f8dd17c703bee7a", size = 1553608, upload-time = "2025-10-17T14:00:56.144Z" }, - { url = "https://files.pythonhosted.org/packages/96/17/6d5c73cd862f1cf29fddcbb54aac147037ff70a043a2829d03a379e95742/aiohttp-3.13.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:93029f0e9b77b714904a281b5aa578cdc8aa8ba018d78c04e51e1c3d8471b8ec", size = 1681809, upload-time = "2025-10-17T14:00:58.603Z" }, - { url = "https://files.pythonhosted.org/packages/be/31/8926c8ab18533f6076ce28d2c329a203b58c6861681906e2d73b9c397588/aiohttp-3.13.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:d1824c7d08d8ddfc8cb10c847f696942e5aadbd16fd974dfde8bd2c3c08a9fa1", size = 1711161, upload-time = "2025-10-17T14:01:01.744Z" }, - { url = "https://files.pythonhosted.org/packages/f2/36/2f83e1ca730b1e0a8cf1c8ab9559834c5eec9f5da86e77ac71f0d16b521d/aiohttp-3.13.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:8f47d0ff5b3eb9c1278a2f56ea48fda667da8ebf28bd2cb378b7c453936ce003", size = 1731999, upload-time = "2025-10-17T14:01:04.626Z" }, - { url = "https://files.pythonhosted.org/packages/b9/ec/1f818cc368dfd4d5ab4e9efc8f2f6f283bfc31e1c06d3e848bcc862d4591/aiohttp-3.13.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:8a396b1da9b51ded79806ac3b57a598f84e0769eaa1ba300655d8b5e17b70c7b", size = 1548684, upload-time = "2025-10-17T14:01:06.828Z" }, - { url = "https://files.pythonhosted.org/packages/d3/ad/33d36efd16e4fefee91b09a22a3a0e1b830f65471c3567ac5a8041fac812/aiohttp-3.13.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:d9c52a65f54796e066b5d674e33b53178014752d28bca555c479c2c25ffcec5b", size = 1756676, upload-time = "2025-10-17T14:01:09.517Z" }, - { url = "https://files.pythonhosted.org/packages/3c/c4/4a526d84e77d464437713ca909364988ed2e0cd0cdad2c06cb065ece9e08/aiohttp-3.13.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a89da72d18d6c95a653470b78d8ee5aa3c4b37212004c103403d0776cbea6ff0", size = 1715577, upload-time = "2025-10-17T14:01:11.958Z" }, - { url = "https://files.pythonhosted.org/packages/a2/21/e39638b7d9c7f1362c4113a91870f89287e60a7ea2d037e258b81e8b37d5/aiohttp-3.13.1-cp313-cp313-win32.whl", hash = "sha256:02e0258b7585ddf5d01c79c716ddd674386bfbf3041fbbfe7bdf9c7c32eb4a9b", size = 424468, upload-time = "2025-10-17T14:01:14.344Z" }, - { url = "https://files.pythonhosted.org/packages/cc/00/f3a92c592a845ebb2f47d102a67f35f0925cb854c5e7386f1a3a1fdff2ab/aiohttp-3.13.1-cp313-cp313-win_amd64.whl", hash = "sha256:ef56ffe60e8d97baac123272bde1ab889ee07d3419606fae823c80c2b86c403e", size = 450806, upload-time = "2025-10-17T14:01:16.437Z" }, - { url = "https://files.pythonhosted.org/packages/97/be/0f6c41d2fd0aab0af133c509cabaf5b1d78eab882cb0ceb872e87ceeabf7/aiohttp-3.13.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:77f83b3dc5870a2ea79a0fcfdcc3fc398187ec1675ff61ec2ceccad27ecbd303", size = 733828, upload-time = "2025-10-17T14:01:18.58Z" }, - { url = "https://files.pythonhosted.org/packages/75/14/24e2ac5efa76ae30e05813e0f50737005fd52da8ddffee474d4a5e7f38a6/aiohttp-3.13.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:9cafd2609ebb755e47323306c7666283fbba6cf82b5f19982ea627db907df23a", size = 489320, upload-time = "2025-10-17T14:01:20.644Z" }, - { url = "https://files.pythonhosted.org/packages/da/5a/4cbe599358d05ea7db4869aff44707b57d13f01724d48123dc68b3288d5a/aiohttp-3.13.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:9c489309a2ca548d5f11131cfb4092f61d67954f930bba7e413bcdbbb82d7fae", size = 489899, upload-time = "2025-10-17T14:01:22.638Z" }, - { url = "https://files.pythonhosted.org/packages/67/96/3aec9d9cfc723273d4386328a1e2562cf23629d2f57d137047c49adb2afb/aiohttp-3.13.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:79ac15fe5fdbf3c186aa74b656cd436d9a1e492ba036db8901c75717055a5b1c", size = 1716556, upload-time = "2025-10-17T14:01:25.406Z" }, - { url = "https://files.pythonhosted.org/packages/b9/99/39a3d250595b5c8172843831221fa5662884f63f8005b00b4034f2a7a836/aiohttp-3.13.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:095414be94fce3bc080684b4cd50fb70d439bc4662b2a1984f45f3bf9ede08aa", size = 1665814, upload-time = "2025-10-17T14:01:27.683Z" }, - { url = "https://files.pythonhosted.org/packages/3b/96/8319e7060a85db14a9c178bc7b3cf17fad458db32ba6d2910de3ca71452d/aiohttp-3.13.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c68172e1a2dca65fa1272c85ca72e802d78b67812b22827df01017a15c5089fa", size = 1755767, upload-time = "2025-10-17T14:01:29.914Z" }, - { url = "https://files.pythonhosted.org/packages/1c/c6/0a2b3d886b40aa740fa2294cd34ed46d2e8108696748492be722e23082a7/aiohttp-3.13.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3751f9212bcd119944d4ea9de6a3f0fee288c177b8ca55442a2cdff0c8201eb3", size = 1836591, upload-time = "2025-10-17T14:01:32.28Z" }, - { url = "https://files.pythonhosted.org/packages/fb/34/8ab5904b3331c91a58507234a1e2f662f837e193741609ee5832eb436251/aiohttp-3.13.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8619dca57d98a8353abdc7a1eeb415548952b39d6676def70d9ce76d41a046a9", size = 1714915, upload-time = "2025-10-17T14:01:35.138Z" }, - { url = "https://files.pythonhosted.org/packages/b5/d3/d36077ca5f447649112189074ac6c192a666bf68165b693e48c23b0d008c/aiohttp-3.13.1-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:97795a0cb0a5f8a843759620e9cbd8889f8079551f5dcf1ccd99ed2f056d9632", size = 1546579, upload-time = "2025-10-17T14:01:38.237Z" }, - { url = "https://files.pythonhosted.org/packages/a8/14/dbc426a1bb1305c4fc78ce69323498c9e7c699983366ef676aa5d3f949fa/aiohttp-3.13.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:1060e058da8f9f28a7026cdfca9fc886e45e551a658f6a5c631188f72a3736d2", size = 1680633, upload-time = "2025-10-17T14:01:40.902Z" }, - { url = "https://files.pythonhosted.org/packages/29/83/1e68e519aff9f3ef6d4acb6cdda7b5f592ef5c67c8f095dc0d8e06ce1c3e/aiohttp-3.13.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:f48a2c26333659101ef214907d29a76fe22ad7e912aa1e40aeffdff5e8180977", size = 1678675, upload-time = "2025-10-17T14:01:43.779Z" }, - { url = "https://files.pythonhosted.org/packages/38/b9/7f3e32a81c08b6d29ea15060c377e1f038ad96cd9923a85f30e817afff22/aiohttp-3.13.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:f1dfad638b9c91ff225162b2824db0e99ae2d1abe0dc7272b5919701f0a1e685", size = 1726829, upload-time = "2025-10-17T14:01:46.546Z" }, - { url = "https://files.pythonhosted.org/packages/23/ce/610b1f77525a0a46639aea91377b12348e9f9412cc5ddcb17502aa4681c7/aiohttp-3.13.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:8fa09ab6dd567cb105db4e8ac4d60f377a7a94f67cf669cac79982f626360f32", size = 1542985, upload-time = "2025-10-17T14:01:49.082Z" }, - { url = "https://files.pythonhosted.org/packages/53/39/3ac8dfdad5de38c401846fa071fcd24cb3b88ccfb024854df6cbd9b4a07e/aiohttp-3.13.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:4159fae827f9b5f655538a4f99b7cbc3a2187e5ca2eee82f876ef1da802ccfa9", size = 1741556, upload-time = "2025-10-17T14:01:51.846Z" }, - { url = "https://files.pythonhosted.org/packages/2a/48/b1948b74fea7930b0f29595d1956842324336de200593d49a51a40607fdc/aiohttp-3.13.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ad671118c19e9cfafe81a7a05c294449fe0ebb0d0c6d5bb445cd2190023f5cef", size = 1696175, upload-time = "2025-10-17T14:01:54.232Z" }, - { url = "https://files.pythonhosted.org/packages/96/26/063bba38e4b27b640f56cc89fe83cc3546a7ae162c2e30ca345f0ccdc3d1/aiohttp-3.13.1-cp314-cp314-win32.whl", hash = "sha256:c5c970c148c48cf6acb65224ca3c87a47f74436362dde75c27bc44155ccf7dfc", size = 430254, upload-time = "2025-10-17T14:01:56.451Z" }, - { url = "https://files.pythonhosted.org/packages/88/aa/25fd764384dc4eab714023112d3548a8dd69a058840d61d816ea736097a2/aiohttp-3.13.1-cp314-cp314-win_amd64.whl", hash = "sha256:748a00167b7a88385756fa615417d24081cba7e58c8727d2e28817068b97c18c", size = 456256, upload-time = "2025-10-17T14:01:58.752Z" }, - { url = "https://files.pythonhosted.org/packages/d4/9f/9ba6059de4bad25c71cd88e3da53f93e9618ea369cf875c9f924b1c167e2/aiohttp-3.13.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:390b73e99d7a1f0f658b3f626ba345b76382f3edc65f49d6385e326e777ed00e", size = 765956, upload-time = "2025-10-17T14:02:01.515Z" }, - { url = "https://files.pythonhosted.org/packages/1f/30/b86da68b494447d3060f45c7ebb461347535dab4af9162a9267d9d86ca31/aiohttp-3.13.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:27e83abb330e687e019173d8fc1fd6a1cf471769624cf89b1bb49131198a810a", size = 503206, upload-time = "2025-10-17T14:02:03.818Z" }, - { url = "https://files.pythonhosted.org/packages/c1/21/d27a506552843ff9eeb9fcc2d45f943b09eefdfdf205aab044f4f1f39f6a/aiohttp-3.13.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2b20eed07131adbf3e873e009c2869b16a579b236e9d4b2f211bf174d8bef44a", size = 507719, upload-time = "2025-10-17T14:02:05.947Z" }, - { url = "https://files.pythonhosted.org/packages/58/23/4042230ec7e4edc7ba43d0342b5a3d2fe0222ca046933c4251a35aaf17f5/aiohttp-3.13.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:58fee9ef8477fd69e823b92cfd1f590ee388521b5ff8f97f3497e62ee0656212", size = 1862758, upload-time = "2025-10-17T14:02:08.469Z" }, - { url = "https://files.pythonhosted.org/packages/df/88/525c45bea7cbb9f65df42cadb4ff69f6a0dbf95931b0ff7d1fdc40a1cb5f/aiohttp-3.13.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:1f62608fcb7b3d034d5e9496bea52d94064b7b62b06edba82cd38191336bbeda", size = 1717790, upload-time = "2025-10-17T14:02:11.37Z" }, - { url = "https://files.pythonhosted.org/packages/1d/80/21e9b5eb77df352a5788713f37359b570a793f0473f3a72db2e46df379b9/aiohttp-3.13.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:fdc4d81c3dfc999437f23e36d197e8b557a3f779625cd13efe563a9cfc2ce712", size = 1842088, upload-time = "2025-10-17T14:02:13.872Z" }, - { url = "https://files.pythonhosted.org/packages/d2/bf/d1738f6d63fe8b2a0ad49533911b3347f4953cd001bf3223cb7b61f18dff/aiohttp-3.13.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:601d7ec812f746fd80ff8af38eeb3f196e1bab4a4d39816ccbc94c222d23f1d0", size = 1934292, upload-time = "2025-10-17T14:02:16.624Z" }, - { url = "https://files.pythonhosted.org/packages/04/e6/26cab509b42610ca49573f2fc2867810f72bd6a2070182256c31b14f2e98/aiohttp-3.13.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:47c3f21c469b840d9609089435c0d9918ae89f41289bf7cc4afe5ff7af5458db", size = 1791328, upload-time = "2025-10-17T14:02:19.051Z" }, - { url = "https://files.pythonhosted.org/packages/8a/6d/baf7b462852475c9d045bee8418d9cdf280efb687752b553e82d0c58bcc2/aiohttp-3.13.1-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d6c6cdc0750db88520332d4aaa352221732b0cafe89fd0e42feec7cb1b5dc236", size = 1622663, upload-time = "2025-10-17T14:02:21.397Z" }, - { url = "https://files.pythonhosted.org/packages/c8/48/396a97318af9b5f4ca8b3dc14a67976f71c6400a9609c622f96da341453f/aiohttp-3.13.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:58a12299eeb1fca2414ee2bc345ac69b0f765c20b82c3ab2a75d91310d95a9f6", size = 1787791, upload-time = "2025-10-17T14:02:24.212Z" }, - { url = "https://files.pythonhosted.org/packages/a8/e2/6925f6784134ce3ff3ce1a8502ab366432a3b5605387618c1a939ce778d9/aiohttp-3.13.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:0989cbfc195a4de1bb48f08454ef1cb47424b937e53ed069d08404b9d3c7aea1", size = 1775459, upload-time = "2025-10-17T14:02:26.971Z" }, - { url = "https://files.pythonhosted.org/packages/c3/e3/b372047ba739fc39f199b99290c4cc5578ce5fd125f69168c967dac44021/aiohttp-3.13.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:feb5ee664300e2435e0d1bc3443a98925013dfaf2cae9699c1f3606b88544898", size = 1789250, upload-time = "2025-10-17T14:02:29.686Z" }, - { url = "https://files.pythonhosted.org/packages/02/8c/9f48b93d7d57fc9ef2ad4adace62e4663ea1ce1753806c4872fb36b54c39/aiohttp-3.13.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:58a6f8702da0c3606fb5cf2e669cce0ca681d072fe830968673bb4c69eb89e88", size = 1616139, upload-time = "2025-10-17T14:02:32.151Z" }, - { url = "https://files.pythonhosted.org/packages/5c/c6/c64e39d61aaa33d7de1be5206c0af3ead4b369bf975dac9fdf907a4291c1/aiohttp-3.13.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:a417ceb433b9d280e2368ffea22d4bc6e3e0d894c4bc7768915124d57d0964b6", size = 1815829, upload-time = "2025-10-17T14:02:34.635Z" }, - { url = "https://files.pythonhosted.org/packages/22/75/e19e93965ea675f1151753b409af97a14f1d888588a555e53af1e62b83eb/aiohttp-3.13.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:8ac8854f7b0466c5d6a9ea49249b3f6176013859ac8f4bb2522ad8ed6b94ded2", size = 1760923, upload-time = "2025-10-17T14:02:37.364Z" }, - { url = "https://files.pythonhosted.org/packages/6c/a4/06ed38f1dabd98ea136fd116cba1d02c9b51af5a37d513b6850a9a567d86/aiohttp-3.13.1-cp314-cp314t-win32.whl", hash = "sha256:be697a5aeff42179ed13b332a411e674994bcd406c81642d014ace90bf4bb968", size = 463318, upload-time = "2025-10-17T14:02:39.924Z" }, - { url = "https://files.pythonhosted.org/packages/04/0f/27e4fdde899e1e90e35eeff56b54ed63826435ad6cdb06b09ed312d1b3fa/aiohttp-3.13.1-cp314-cp314t-win_amd64.whl", hash = "sha256:f1d6aa90546a4e8f20c3500cb68ab14679cd91f927fa52970035fd3207dfb3da", size = 496721, upload-time = "2025-10-17T14:02:42.199Z" }, +version = "3.13.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiohappyeyeballs", marker = "platform_python_implementation != 'PyPy'" }, + { name = "aiosignal", marker = "platform_python_implementation != 'PyPy'" }, + { name = "attrs", marker = "platform_python_implementation != 'PyPy'" }, + { name = "frozenlist", marker = "platform_python_implementation != 'PyPy'" }, + { name = "multidict", marker = "platform_python_implementation != 'PyPy'" }, + { name = "propcache", marker = "platform_python_implementation != 'PyPy'" }, + { name = "yarl", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1c/ce/3b83ebba6b3207a7135e5fcaba49706f8a4b6008153b4e30540c982fae26/aiohttp-3.13.2.tar.gz", hash = "sha256:40176a52c186aefef6eb3cad2cdd30cd06e3afbe88fe8ab2af9c0b90f228daca", size = 7837994, upload-time = "2025-10-28T20:59:39.937Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/78/7e90ca79e5aa39f9694dcfd74f4720782d3c6828113bb1f3197f7e7c4a56/aiohttp-3.13.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7519bdc7dfc1940d201651b52bf5e03f5503bda45ad6eacf64dda98be5b2b6be", size = 732139, upload-time = "2025-10-28T20:57:02.455Z" }, + { url = "https://files.pythonhosted.org/packages/db/ed/1f59215ab6853fbaa5c8495fa6cbc39edfc93553426152b75d82a5f32b76/aiohttp-3.13.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:088912a78b4d4f547a1f19c099d5a506df17eacec3c6f4375e2831ec1d995742", size = 490082, upload-time = "2025-10-28T20:57:04.784Z" }, + { url = "https://files.pythonhosted.org/packages/68/7b/fe0fe0f5e05e13629d893c760465173a15ad0039c0a5b0d0040995c8075e/aiohttp-3.13.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5276807b9de9092af38ed23ce120539ab0ac955547b38563a9ba4f5b07b95293", size = 489035, upload-time = "2025-10-28T20:57:06.894Z" }, + { url = "https://files.pythonhosted.org/packages/d2/04/db5279e38471b7ac801d7d36a57d1230feeee130bbe2a74f72731b23c2b1/aiohttp-3.13.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1237c1375eaef0db4dcd7c2559f42e8af7b87ea7d295b118c60c36a6e61cb811", size = 1720387, upload-time = "2025-10-28T20:57:08.685Z" }, + { url = "https://files.pythonhosted.org/packages/31/07/8ea4326bd7dae2bd59828f69d7fdc6e04523caa55e4a70f4a8725a7e4ed2/aiohttp-3.13.2-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:96581619c57419c3d7d78703d5b78c1e5e5fc0172d60f555bdebaced82ded19a", size = 1688314, upload-time = "2025-10-28T20:57:10.693Z" }, + { url = "https://files.pythonhosted.org/packages/48/ab/3d98007b5b87ffd519d065225438cc3b668b2f245572a8cb53da5dd2b1bc/aiohttp-3.13.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a2713a95b47374169409d18103366de1050fe0ea73db358fc7a7acb2880422d4", size = 1756317, upload-time = "2025-10-28T20:57:12.563Z" }, + { url = "https://files.pythonhosted.org/packages/97/3d/801ca172b3d857fafb7b50c7c03f91b72b867a13abca982ed6b3081774ef/aiohttp-3.13.2-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:228a1cd556b3caca590e9511a89444925da87d35219a49ab5da0c36d2d943a6a", size = 1858539, upload-time = "2025-10-28T20:57:14.623Z" }, + { url = "https://files.pythonhosted.org/packages/f7/0d/4764669bdf47bd472899b3d3db91fffbe925c8e3038ec591a2fd2ad6a14d/aiohttp-3.13.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ac6cde5fba8d7d8c6ac963dbb0256a9854e9fafff52fbcc58fdf819357892c3e", size = 1739597, upload-time = "2025-10-28T20:57:16.399Z" }, + { url = "https://files.pythonhosted.org/packages/c4/52/7bd3c6693da58ba16e657eb904a5b6decfc48ecd06e9ac098591653b1566/aiohttp-3.13.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f2bef8237544f4e42878c61cef4e2839fee6346dc60f5739f876a9c50be7fcdb", size = 1555006, upload-time = "2025-10-28T20:57:18.288Z" }, + { url = "https://files.pythonhosted.org/packages/48/30/9586667acec5993b6f41d2ebcf96e97a1255a85f62f3c653110a5de4d346/aiohttp-3.13.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:16f15a4eac3bc2d76c45f7ebdd48a65d41b242eb6c31c2245463b40b34584ded", size = 1683220, upload-time = "2025-10-28T20:57:20.241Z" }, + { url = "https://files.pythonhosted.org/packages/71/01/3afe4c96854cfd7b30d78333852e8e851dceaec1c40fd00fec90c6402dd2/aiohttp-3.13.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:bb7fb776645af5cc58ab804c58d7eba545a97e047254a52ce89c157b5af6cd0b", size = 1712570, upload-time = "2025-10-28T20:57:22.253Z" }, + { url = "https://files.pythonhosted.org/packages/11/2c/22799d8e720f4697a9e66fd9c02479e40a49de3de2f0bbe7f9f78a987808/aiohttp-3.13.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:e1b4951125ec10c70802f2cb09736c895861cd39fd9dcb35107b4dc8ae6220b8", size = 1733407, upload-time = "2025-10-28T20:57:24.37Z" }, + { url = "https://files.pythonhosted.org/packages/34/cb/90f15dd029f07cebbd91f8238a8b363978b530cd128488085b5703683594/aiohttp-3.13.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:550bf765101ae721ee1d37d8095f47b1f220650f85fe1af37a90ce75bab89d04", size = 1550093, upload-time = "2025-10-28T20:57:26.257Z" }, + { url = "https://files.pythonhosted.org/packages/69/46/12dce9be9d3303ecbf4d30ad45a7683dc63d90733c2d9fe512be6716cd40/aiohttp-3.13.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:fe91b87fc295973096251e2d25a811388e7d8adf3bd2b97ef6ae78bc4ac6c476", size = 1758084, upload-time = "2025-10-28T20:57:28.349Z" }, + { url = "https://files.pythonhosted.org/packages/f9/c8/0932b558da0c302ffd639fc6362a313b98fdf235dc417bc2493da8394df7/aiohttp-3.13.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e0c8e31cfcc4592cb200160344b2fb6ae0f9e4effe06c644b5a125d4ae5ebe23", size = 1716987, upload-time = "2025-10-28T20:57:30.233Z" }, + { url = "https://files.pythonhosted.org/packages/5d/8b/f5bd1a75003daed099baec373aed678f2e9b34f2ad40d85baa1368556396/aiohttp-3.13.2-cp313-cp313-win32.whl", hash = "sha256:0740f31a60848d6edb296a0df827473eede90c689b8f9f2a4cdde74889eb2254", size = 425859, upload-time = "2025-10-28T20:57:32.105Z" }, + { url = "https://files.pythonhosted.org/packages/5d/28/a8a9fc6957b2cee8902414e41816b5ab5536ecf43c3b1843c10e82c559b2/aiohttp-3.13.2-cp313-cp313-win_amd64.whl", hash = "sha256:a88d13e7ca367394908f8a276b89d04a3652044612b9a408a0bb22a5ed976a1a", size = 452192, upload-time = "2025-10-28T20:57:34.166Z" }, +] + +[[package]] +name = "aiohttp-retry" +version = "2.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiohttp", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9d/61/ebda4d8e3d8cfa1fd3db0fb428db2dd7461d5742cea35178277ad180b033/aiohttp_retry-2.9.1.tar.gz", hash = "sha256:8eb75e904ed4ee5c2ec242fefe85bf04240f685391c4879d8f541d6028ff01f1", size = 13608, upload-time = "2024-11-06T10:44:54.574Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1a/99/84ba7273339d0f3dfa57901b846489d2e5c2cd731470167757f1935fffbd/aiohttp_retry-2.9.1-py3-none-any.whl", hash = "sha256:66d2759d1921838256a05a3f80ad7e724936f083e35be5abb5e16eed6be6dc54", size = 9981, upload-time = "2024-11-06T10:44:52.917Z" }, ] [[package]] @@ -93,7 +80,7 @@ name = "aiosignal" version = "1.4.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "frozenlist" }, + { name = "frozenlist", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7", size = 25007, upload-time = "2025-07-03T22:54:43.528Z" } wheels = [ @@ -105,7 +92,7 @@ name = "aiosqlite" version = "0.21.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/13/7d/8bca2bf9a247c2c5dfeec1d7a5f40db6518f88d314b8bca9da29670d2671/aiosqlite-0.21.0.tar.gz", hash = "sha256:131bb8056daa3bc875608c631c678cda73922a2d4ba8aec373b19f18c17e7aa3", size = 13454, upload-time = "2025-02-03T07:30:16.235Z" } wheels = [ @@ -123,21 +110,21 @@ wheels = [ [[package]] name = "anthropic" -version = "0.71.0" +version = "0.72.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "anyio" }, - { name = "distro" }, - { name = "docstring-parser" }, - { name = "httpx" }, - { name = "jiter" }, - { name = "pydantic" }, - { name = "sniffio" }, - { name = "typing-extensions" }, + { name = "anyio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "distro", marker = "platform_python_implementation != 'PyPy'" }, + { name = "docstring-parser", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpx", marker = "platform_python_implementation != 'PyPy'" }, + { name = "jiter", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "sniffio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/82/4f/70682b068d897841f43223df82d96ec1d617435a8b759c4a2d901a50158b/anthropic-0.71.0.tar.gz", hash = "sha256:eb8e6fa86d049061b3ef26eb4cbae0174ebbff21affa6de7b3098da857d8de6a", size = 489102, upload-time = "2025-10-16T15:54:40.08Z" } +sdist = { url = "https://files.pythonhosted.org/packages/49/07/61f3ca8e69c5dcdaec31b36b79a53ea21c5b4ca5e93c7df58c71f43bf8d8/anthropic-0.72.0.tar.gz", hash = "sha256:8971fe76dcffc644f74ac3883069beb1527641115ae0d6eb8fa21c1ce4082f7a", size = 493721, upload-time = "2025-10-28T19:13:01.755Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5d/77/073e8ac488f335aec7001952825275582fb8f433737e90f24eeef9d878f6/anthropic-0.71.0-py3-none-any.whl", hash = "sha256:85c5015fcdbdc728390f11b17642a65a4365d03b12b799b18b6cc57e71fdb327", size = 355035, upload-time = "2025-10-16T15:54:38.238Z" }, + { url = "https://files.pythonhosted.org/packages/7b/b7/160d4fb30080395b4143f1d1a4f6c646ba9105561108d2a434b606c03579/anthropic-0.72.0-py3-none-any.whl", hash = "sha256:0e9f5a7582f038cab8efbb4c959e49ef654a56bfc7ba2da51b5a7b8a84de2e4d", size = 357464, upload-time = "2025-10-28T19:13:00.215Z" }, ] [[package]] @@ -145,8 +132,8 @@ name = "anyio" version = "4.11.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "idna" }, - { name = "sniffio" }, + { name = "idna", marker = "platform_python_implementation != 'PyPy'" }, + { name = "sniffio", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/c6/78/7d432127c41b50bccba979505f272c16cbcadcc33645d5fa3a738110ae75/anyio-4.11.0.tar.gz", hash = "sha256:82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4", size = 219094, upload-time = "2025-09-23T09:19:12.58Z" } wheels = [ @@ -158,13 +145,13 @@ name = "astrapy" version = "2.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "deprecation" }, - { name = "h11" }, - { name = "httpx", extra = ["http2"] }, - { name = "pymongo" }, - { name = "toml" }, - { name = "typing-extensions" }, - { name = "uuid6" }, + { name = "deprecation", marker = "platform_python_implementation != 'PyPy'" }, + { name = "h11", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpx", extra = ["http2"], marker = "platform_python_implementation != 'PyPy'" }, + { name = "pymongo", marker = "platform_python_implementation != 'PyPy'" }, + { name = "toml", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, + { name = "uuid6", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/c8/38/4626371b552589ab8adba48859d20d0b9c85aeff8ae95c411b5e3a154ca0/astrapy-2.1.0.tar.gz", hash = "sha256:4c3aac2b54945615a7e63b531087893664734c1bc9df7edaa576879af837069f", size = 1379905, upload-time = "2025-09-24T13:43:15.24Z" } wheels = [ @@ -180,14 +167,26 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl", hash = "sha256:adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373", size = 67615, upload-time = "2025-10-06T13:54:43.17Z" }, ] +[[package]] +name = "authlib" +version = "1.6.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cryptography", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/cd/3f/1d3bbd0bf23bdd99276d4def22f29c27a914067b4cf66f753ff9b8bbd0f3/authlib-1.6.5.tar.gz", hash = "sha256:6aaf9c79b7cc96c900f0b284061691c5d4e61221640a948fe690b556a6d6d10b", size = 164553, upload-time = "2025-10-02T13:36:09.489Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f8/aa/5082412d1ee302e9e7d80b6949bc4d2a8fa1149aaab610c5fc24709605d6/authlib-1.6.5-py2.py3-none-any.whl", hash = "sha256:3e0e0507807f842b02175507bdee8957a1d5707fd4afb17c32fb43fee90b6e3a", size = 243608, upload-time = "2025-10-02T13:36:07.637Z" }, +] + [[package]] name = "azure-ai-agents" version = "1.2.0b6" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "azure-core" }, - { name = "isodate" }, - { name = "typing-extensions" }, + { name = "azure-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "isodate", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/68/32/f4e534dc05dfb714705df56a190d690c5452cd4dd7e936612cb1adddc44f/azure_ai_agents-1.2.0b6.tar.gz", hash = "sha256:d3c10848c3b19dec98a292f8c10cee4ba4aac1050d4faabf9c2e2456b727f528", size = 396865, upload-time = "2025-10-24T18:04:47.877Z" } wheels = [ @@ -199,9 +198,9 @@ name = "azure-ai-inference" version = "1.0.0b9" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "azure-core" }, - { name = "isodate" }, - { name = "typing-extensions" }, + { name = "azure-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "isodate", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/4e/6a/ed85592e5c64e08c291992f58b1a94dab6869f28fb0f40fd753dced73ba6/azure_ai_inference-1.0.0b9.tar.gz", hash = "sha256:1feb496bd84b01ee2691befc04358fa25d7c344d8288e99364438859ad7cd5a4", size = 182408, upload-time = "2025-02-15T00:37:28.464Z" } wheels = [ @@ -210,7 +209,7 @@ wheels = [ [package.optional-dependencies] opentelemetry = [ - { name = "azure-core-tracing-opentelemetry" }, + { name = "azure-core-tracing-opentelemetry", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] @@ -218,11 +217,11 @@ name = "azure-ai-projects" version = "1.0.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "azure-ai-agents" }, - { name = "azure-core" }, - { name = "azure-storage-blob" }, - { name = "isodate" }, - { name = "typing-extensions" }, + { name = "azure-ai-agents", marker = "platform_python_implementation != 'PyPy'" }, + { name = "azure-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "azure-storage-blob", marker = "platform_python_implementation != 'PyPy'" }, + { name = "isodate", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/dd/95/9c04cb5f658c7f856026aa18432e0f0fa254ead2983a3574a0f5558a7234/azure_ai_projects-1.0.0.tar.gz", hash = "sha256:b5f03024ccf0fd543fbe0f5abcc74e45b15eccc1c71ab87fc71c63061d9fd63c", size = 130798, upload-time = "2025-07-31T02:09:27.912Z" } wheels = [ @@ -243,8 +242,8 @@ name = "azure-core" version = "1.36.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "requests" }, - { name = "typing-extensions" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/0a/c4/d4ff3bc3ddf155156460bff340bbe9533f99fac54ddea165f35a8619f162/azure_core-1.36.0.tar.gz", hash = "sha256:22e5605e6d0bf1d229726af56d9e92bc37b6e726b141a18be0b4d424131741b7", size = 351139, upload-time = "2025-10-15T00:33:49.083Z" } wheels = [ @@ -253,7 +252,7 @@ wheels = [ [package.optional-dependencies] aio = [ - { name = "aiohttp" }, + { name = "aiohttp", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] @@ -261,8 +260,8 @@ name = "azure-core-tracing-opentelemetry" version = "1.0.0b12" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "azure-core" }, - { name = "opentelemetry-api" }, + { name = "azure-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "opentelemetry-api", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/5a/7f/5de13a331a5f2919417819cc37dcf7c897018f02f83aa82b733e6629a6a6/azure_core_tracing_opentelemetry-1.0.0b12.tar.gz", hash = "sha256:bb454142440bae11fd9d68c7c1d67ae38a1756ce808c5e4d736730a7b4b04144", size = 26010, upload-time = "2025-03-21T00:18:37.346Z" } wheels = [ @@ -274,8 +273,8 @@ name = "azure-cosmos" version = "4.14.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "azure-core" }, - { name = "typing-extensions" }, + { name = "azure-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/8b/ea/d1818eed2915c4b67d3ddfb67bf661784456c9c4eedd5c7619f08fcef33d/azure_cosmos-4.14.0.tar.gz", hash = "sha256:3cc7ca6a68b87e4da18f9e9b07a4a9bb03ddf015b4ed1f48f7fe140e6d6689b0", size = 2013062, upload-time = "2025-10-13T21:08:49.959Z" } wheels = [ @@ -287,11 +286,11 @@ name = "azure-identity" version = "1.25.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "azure-core" }, - { name = "cryptography" }, - { name = "msal" }, - { name = "msal-extensions" }, - { name = "typing-extensions" }, + { name = "azure-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "cryptography", marker = "platform_python_implementation != 'PyPy'" }, + { name = "msal", marker = "platform_python_implementation != 'PyPy'" }, + { name = "msal-extensions", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/06/8d/1a6c41c28a37eab26dc85ab6c86992c700cd3f4a597d9ed174b0e9c69489/azure_identity-1.25.1.tar.gz", hash = "sha256:87ca8328883de6036443e1c37b40e8dc8fb74898240f61071e09d2e369361456", size = 279826, upload-time = "2025-10-06T20:30:02.194Z" } wheels = [ @@ -303,10 +302,10 @@ name = "azure-search-documents" version = "11.6.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "azure-common" }, - { name = "azure-core" }, - { name = "isodate" }, - { name = "typing-extensions" }, + { name = "azure-common", marker = "platform_python_implementation != 'PyPy'" }, + { name = "azure-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "isodate", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/cf/68/9d59a0bed5fd9581b45444e8abc3ecda97e0466ae0f03affc7cddfb9fa74/azure_search_documents-11.6.0.tar.gz", hash = "sha256:fcc807076ff82024be576ffccb0d0f3261e5c2a112a6666b86ec70bbdb2e1d64", size = 311194, upload-time = "2025-10-09T22:04:03.655Z" } wheels = [ @@ -315,22 +314,22 @@ wheels = [ [[package]] name = "azure-storage-blob" -version = "12.27.0" +version = "12.27.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "azure-core" }, - { name = "cryptography" }, - { name = "isodate" }, - { name = "typing-extensions" }, + { name = "azure-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "cryptography", marker = "platform_python_implementation != 'PyPy'" }, + { name = "isodate", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/02/32/0476f18ac82ef1def115dfabaa53170c5a71605c00b4e66c740b07abae71/azure_storage_blob-12.27.0.tar.gz", hash = "sha256:99e8e2cd2a6a723930c364ea0a0539d28e465bc77cf94ef12813c465dc09cb9a", size = 597402, upload-time = "2025-10-15T13:26:15.718Z" } +sdist = { url = "https://files.pythonhosted.org/packages/36/7c/2fd872e11a88163f208b9c92de273bf64bb22d0eef9048cc6284d128a77a/azure_storage_blob-12.27.1.tar.gz", hash = "sha256:a1596cc4daf5dac9be115fcb5db67245eae894cf40e4248243754261f7b674a6", size = 597579, upload-time = "2025-10-29T12:27:16.185Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b5/55/5c8aec0544007ec8f9ddd0e3b69939a3a41eb6c3897e2454797021753478/azure_storage_blob-12.27.0-py3-none-any.whl", hash = "sha256:b7bef8acb79825f96f2fa24c7535e2924fb3dbc4840a2eebb5f117175bde3657", size = 428916, upload-time = "2025-10-15T13:26:17.607Z" }, + { url = "https://files.pythonhosted.org/packages/3d/9e/1c90a122ea6180e8c72eb7294adc92531b0e08eb3d2324c2ba70d37f4802/azure_storage_blob-12.27.1-py3-none-any.whl", hash = "sha256:65d1e25a4628b7b6acd20ff7902d8da5b4fde8e46e19c8f6d213a3abc3ece272", size = 428954, upload-time = "2025-10-29T12:27:18.072Z" }, ] [package.optional-dependencies] aio = [ - { name = "azure-core", extra = ["aio"] }, + { name = "azure-core", extra = ["aio"], marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] @@ -361,7 +360,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/55/07/f0b3375bf0d06014e9787797e6b7cc02b38ac9ff9726ccfe834d94e9991e/backrefs-5.9-py311-none-any.whl", hash = "sha256:6907635edebbe9b2dc3de3a2befff44d74f30a4562adbb8b36f21252ea19c5cf", size = 392072, upload-time = "2025-06-22T19:34:06.743Z" }, { url = "https://files.pythonhosted.org/packages/9d/12/4f345407259dd60a0997107758ba3f221cf89a9b5a0f8ed5b961aef97253/backrefs-5.9-py312-none-any.whl", hash = "sha256:7fdf9771f63e6028d7fee7e0c497c81abda597ea45d6b8f89e8ad76994f5befa", size = 397947, upload-time = "2025-06-22T19:34:08.172Z" }, { url = "https://files.pythonhosted.org/packages/10/bf/fa31834dc27a7f05e5290eae47c82690edc3a7b37d58f7fb35a1bdbf355b/backrefs-5.9-py313-none-any.whl", hash = "sha256:cc37b19fa219e93ff825ed1fed8879e47b4d89aa7a1884860e2db64ccd7c676b", size = 399843, upload-time = "2025-06-22T19:34:09.68Z" }, - { url = "https://files.pythonhosted.org/packages/fc/24/b29af34b2c9c41645a9f4ff117bae860291780d73880f449e0b5d948c070/backrefs-5.9-py314-none-any.whl", hash = "sha256:df5e169836cc8acb5e440ebae9aad4bf9d15e226d3bad049cf3f6a5c20cc8dc9", size = 411762, upload-time = "2025-06-22T19:34:11.037Z" }, { url = "https://files.pythonhosted.org/packages/41/ff/392bff89415399a979be4a65357a41d92729ae8580a66073d8ec8d810f98/backrefs-5.9-py39-none-any.whl", hash = "sha256:f48ee18f6252b8f5777a22a00a09a85de0ca931658f1dd96d4406a34f3748c60", size = 380265, upload-time = "2025-06-22T19:34:12.405Z" }, ] @@ -386,19 +384,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/10/a6/ffb49d4254ed085e62e3e5dd05982b4393e32fe1e49bb1130186617c29cd/bcrypt-5.0.0-cp313-cp313t-win32.whl", hash = "sha256:9d52ed507c2488eddd6a95bccee4e808d3234fa78dd370e24bac65a21212b861", size = 148498, upload-time = "2025-09-25T19:49:24.134Z" }, { url = "https://files.pythonhosted.org/packages/48/a9/259559edc85258b6d5fc5471a62a3299a6aa37a6611a169756bf4689323c/bcrypt-5.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:f6984a24db30548fd39a44360532898c33528b74aedf81c26cf29c51ee47057e", size = 145853, upload-time = "2025-09-25T19:49:25.702Z" }, { url = "https://files.pythonhosted.org/packages/2d/df/9714173403c7e8b245acf8e4be8876aac64a209d1b392af457c79e60492e/bcrypt-5.0.0-cp313-cp313t-win_arm64.whl", hash = "sha256:9fffdb387abe6aa775af36ef16f55e318dcda4194ddbf82007a6f21da29de8f5", size = 139626, upload-time = "2025-09-25T19:49:26.928Z" }, - { url = "https://files.pythonhosted.org/packages/f8/14/c18006f91816606a4abe294ccc5d1e6f0e42304df5a33710e9e8e95416e1/bcrypt-5.0.0-cp314-cp314t-macosx_10_12_universal2.whl", hash = "sha256:4870a52610537037adb382444fefd3706d96d663ac44cbb2f37e3919dca3d7ef", size = 481862, upload-time = "2025-09-25T19:49:28.365Z" }, - { url = "https://files.pythonhosted.org/packages/67/49/dd074d831f00e589537e07a0725cf0e220d1f0d5d8e85ad5bbff251c45aa/bcrypt-5.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:48f753100931605686f74e27a7b49238122aa761a9aefe9373265b8b7aa43ea4", size = 268544, upload-time = "2025-09-25T19:49:30.39Z" }, - { url = "https://files.pythonhosted.org/packages/f5/91/50ccba088b8c474545b034a1424d05195d9fcbaaf802ab8bfe2be5a4e0d7/bcrypt-5.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f70aadb7a809305226daedf75d90379c397b094755a710d7014b8b117df1ebbf", size = 271787, upload-time = "2025-09-25T19:49:32.144Z" }, - { url = "https://files.pythonhosted.org/packages/aa/e7/d7dba133e02abcda3b52087a7eea8c0d4f64d3e593b4fffc10c31b7061f3/bcrypt-5.0.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:744d3c6b164caa658adcb72cb8cc9ad9b4b75c7db507ab4bc2480474a51989da", size = 269753, upload-time = "2025-09-25T19:49:33.885Z" }, - { url = "https://files.pythonhosted.org/packages/33/fc/5b145673c4b8d01018307b5c2c1fc87a6f5a436f0ad56607aee389de8ee3/bcrypt-5.0.0-cp314-cp314t-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a28bc05039bdf3289d757f49d616ab3efe8cf40d8e8001ccdd621cd4f98f4fc9", size = 289587, upload-time = "2025-09-25T19:49:35.144Z" }, - { url = "https://files.pythonhosted.org/packages/27/d7/1ff22703ec6d4f90e62f1a5654b8867ef96bafb8e8102c2288333e1a6ca6/bcrypt-5.0.0-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:7f277a4b3390ab4bebe597800a90da0edae882c6196d3038a73adf446c4f969f", size = 272178, upload-time = "2025-09-25T19:49:36.793Z" }, - { url = "https://files.pythonhosted.org/packages/c8/88/815b6d558a1e4d40ece04a2f84865b0fef233513bd85fd0e40c294272d62/bcrypt-5.0.0-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:79cfa161eda8d2ddf29acad370356b47f02387153b11d46042e93a0a95127493", size = 269295, upload-time = "2025-09-25T19:49:38.164Z" }, - { url = "https://files.pythonhosted.org/packages/51/8c/e0db387c79ab4931fc89827d37608c31cc57b6edc08ccd2386139028dc0d/bcrypt-5.0.0-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:a5393eae5722bcef046a990b84dff02b954904c36a194f6cfc817d7dca6c6f0b", size = 271700, upload-time = "2025-09-25T19:49:39.917Z" }, - { url = "https://files.pythonhosted.org/packages/06/83/1570edddd150f572dbe9fc00f6203a89fc7d4226821f67328a85c330f239/bcrypt-5.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7f4c94dec1b5ab5d522750cb059bb9409ea8872d4494fd152b53cca99f1ddd8c", size = 334034, upload-time = "2025-09-25T19:49:41.227Z" }, - { url = "https://files.pythonhosted.org/packages/c9/f2/ea64e51a65e56ae7a8a4ec236c2bfbdd4b23008abd50ac33fbb2d1d15424/bcrypt-5.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:0cae4cb350934dfd74c020525eeae0a5f79257e8a201c0c176f4b84fdbf2a4b4", size = 352766, upload-time = "2025-09-25T19:49:43.08Z" }, - { url = "https://files.pythonhosted.org/packages/d7/d4/1a388d21ee66876f27d1a1f41287897d0c0f1712ef97d395d708ba93004c/bcrypt-5.0.0-cp314-cp314t-win32.whl", hash = "sha256:b17366316c654e1ad0306a6858e189fc835eca39f7eb2cafd6aaca8ce0c40a2e", size = 152449, upload-time = "2025-09-25T19:49:44.971Z" }, - { url = "https://files.pythonhosted.org/packages/3f/61/3291c2243ae0229e5bca5d19f4032cecad5dfb05a2557169d3a69dc0ba91/bcrypt-5.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:92864f54fb48b4c718fc92a32825d0e42265a627f956bc0361fe869f1adc3e7d", size = 149310, upload-time = "2025-09-25T19:49:46.162Z" }, - { url = "https://files.pythonhosted.org/packages/3e/89/4b01c52ae0c1a681d4021e5dd3e45b111a8fb47254a274fa9a378d8d834b/bcrypt-5.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:dd19cf5184a90c873009244586396a6a884d591a5323f0e8a5922560718d4993", size = 143761, upload-time = "2025-09-25T19:49:47.345Z" }, { url = "https://files.pythonhosted.org/packages/84/29/6237f151fbfe295fe3e074ecc6d44228faa1e842a81f6d34a02937ee1736/bcrypt-5.0.0-cp38-abi3-macosx_10_12_universal2.whl", hash = "sha256:fc746432b951e92b58317af8e0ca746efe93e66555f1b40888865ef5bf56446b", size = 494553, upload-time = "2025-09-25T19:49:49.006Z" }, { url = "https://files.pythonhosted.org/packages/45/b6/4c1205dde5e464ea3bd88e8742e19f899c16fa8916fb8510a851fae985b5/bcrypt-5.0.0-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:c2388ca94ffee269b6038d48747f4ce8df0ffbea43f31abfa18ac72f0218effb", size = 275009, upload-time = "2025-09-25T19:49:50.581Z" }, { url = "https://files.pythonhosted.org/packages/3b/71/427945e6ead72ccffe77894b2655b695ccf14ae1866cd977e185d606dd2f/bcrypt-5.0.0-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:560ddb6ec730386e7b3b26b8b4c88197aaed924430e7b74666a586ac997249ef", size = 278029, upload-time = "2025-09-25T19:49:52.533Z" }, @@ -436,8 +421,8 @@ name = "beautifulsoup4" version = "4.14.2" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "soupsieve" }, - { name = "typing-extensions" }, + { name = "soupsieve", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/77/e9/df2358efd7659577435e2177bfa69cba6c33216681af51a707193dec162a/beautifulsoup4-4.14.2.tar.gz", hash = "sha256:2a98ab9f944a11acee9cc848508ec28d9228abfd522ef0fad6a02a72e0ded69e", size = 625822, upload-time = "2025-09-29T10:05:42.613Z" } wheels = [ @@ -446,31 +431,30 @@ wheels = [ [[package]] name = "boto3" -version = "1.40.55" +version = "1.40.63" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "botocore" }, - { name = "jmespath" }, - { name = "s3transfer" }, + { name = "botocore", marker = "platform_python_implementation != 'PyPy'" }, + { name = "jmespath", marker = "platform_python_implementation != 'PyPy'" }, + { name = "s3transfer", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/50/d8/a279c054e0c9731172f05b3d118f3ffc9d74806657f84fc0c93c42d1bb5d/boto3-1.40.55.tar.gz", hash = "sha256:27e35b4fa9edd414ce06c1a748bf57cacd8203271847d93fc1053e4a4ec6e1a9", size = 111590, upload-time = "2025-10-17T19:34:56.753Z" } +sdist = { url = "https://files.pythonhosted.org/packages/5d/fb/db063c9600cbe2c52009edd436262c696b18bafaf49835a7f17ba1679a84/boto3-1.40.63.tar.gz", hash = "sha256:3bf4b034900c87a6a9b3b3b44c4aec26e96fc73bff2505f0766224b7295178ce", size = 111541, upload-time = "2025-10-30T19:32:52.081Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/42/8c/559c6145d857ed953536a83f3a94915bbd5d3d2d406db1abf8bf40be7645/boto3-1.40.55-py3-none-any.whl", hash = "sha256:2e30f5a0d49e107b8a5c0c487891afd300bfa410e1d918bf187ae45ac3839332", size = 139322, upload-time = "2025-10-17T19:34:55.028Z" }, + { url = "https://files.pythonhosted.org/packages/c6/d4/d977f678c60e05c19c857ad896f838152dc68e0cc28f0f026e224879d8ca/boto3-1.40.63-py3-none-any.whl", hash = "sha256:f15d4abf1a6283887c336f660cdfc2162a210d2d8f4d98dbcbcef983371c284d", size = 139322, upload-time = "2025-10-30T19:32:49.876Z" }, ] [[package]] name = "botocore" -version = "1.40.55" +version = "1.40.63" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "jmespath" }, - { name = "python-dateutil" }, - { name = "urllib3", version = "1.26.20", source = { registry = "https://pypi.org/simple" }, marker = "platform_python_implementation == 'PyPy'" }, - { name = "urllib3", version = "2.5.0", source = { registry = "https://pypi.org/simple" }, marker = "platform_python_implementation != 'PyPy'" }, + { name = "jmespath", marker = "platform_python_implementation != 'PyPy'" }, + { name = "python-dateutil", marker = "platform_python_implementation != 'PyPy'" }, + { name = "urllib3", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a4/92/dce4842b2e215d213d34b064fcdd13c6a782c43344e77336bcde586e9229/botocore-1.40.55.tar.gz", hash = "sha256:79b6472e2de92b3519d44fc1eec8c5feced7f99a0d10fdea6dc93133426057c1", size = 14446917, upload-time = "2025-10-17T19:34:47.44Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/08/62f4d332dd729d14190073eaf6db63803a5bc2d9b8f1248ae3cbc6c9cb64/botocore-1.40.63.tar.gz", hash = "sha256:0324552c3c800e258cbcb8c22b495a2e2e0260a7408d08016196e46fa0d1b587", size = 14400022, upload-time = "2025-10-30T19:32:40.81Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/21/30/f13bbc36e83b78777ff1abf50a084efcc3336b808e76560d8c5a0c9219e0/botocore-1.40.55-py3-none-any.whl", hash = "sha256:cdc38f7a4ddb30a2cd1cdd4fabde2a5a16e41b5a642292e1c30de5c4e46f5d44", size = 14116107, upload-time = "2025-10-17T19:34:44.398Z" }, + { url = "https://files.pythonhosted.org/packages/45/b0/17c1e8fa8617c588da33f6724909eef56e1745ddfe2f87972d9a8e9e6ca2/botocore-1.40.63-py3-none-any.whl", hash = "sha256:83657b3ee487268fccc9ba022cba572ba657b9ece8cddd1fa241e2c6a49c8c14", size = 14061984, upload-time = "2025-10-30T19:32:36.945Z" }, ] [[package]] @@ -478,7 +462,7 @@ name = "bottleneck" version = "1.6.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "numpy" }, + { name = "numpy", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/14/d8/6d641573e210768816023a64966d66463f2ce9fc9945fa03290c8a18f87c/bottleneck-1.6.0.tar.gz", hash = "sha256:028d46ee4b025ad9ab4d79924113816f825f62b17b87c9e1d0d8ce144a4a0e31", size = 104311, upload-time = "2025-09-08T16:30:38.617Z" } wheels = [ @@ -496,20 +480,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c4/e9/7c87a34a24e339860064f20fac49f6738e94f1717bc8726b9c47705601d8/bottleneck-1.6.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:1adefb89b92aba6de9c6ea871d99bcd29d519f4fb012cc5197917813b4fc2c7f", size = 386384, upload-time = "2025-09-08T16:30:17.012Z" }, { url = "https://files.pythonhosted.org/packages/59/57/db51855e18a47671801180be748939b4c9422a0544849af1919116346b5f/bottleneck-1.6.0-cp313-cp313t-win32.whl", hash = "sha256:64b8690393494074923780f6abdf5f5577d844b9d9689725d1575a936e74e5f0", size = 109448, upload-time = "2025-09-08T16:30:18.076Z" }, { url = "https://files.pythonhosted.org/packages/bd/1e/683c090b624f13a5bf88a0be2241dc301e98b2fb72a45812a7ae6e456cc4/bottleneck-1.6.0-cp313-cp313t-win_amd64.whl", hash = "sha256:cb67247f65dcdf62af947c76c6c8b77d9f0ead442cac0edbaa17850d6da4e48d", size = 115190, upload-time = "2025-09-08T16:30:19.106Z" }, - { url = "https://files.pythonhosted.org/packages/77/e2/eb7c08964a3f3c4719f98795ccd21807ee9dd3071a0f9ad652a5f19196ff/bottleneck-1.6.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:98f1d789042511a0f042b3bdcd2903e8567e956d3aa3be189cce3746daeb8550", size = 100544, upload-time = "2025-09-08T16:30:20.22Z" }, - { url = "https://files.pythonhosted.org/packages/99/ec/c6f3be848f37689f481797ce7d9807d5f69a199d7fc0e46044f9b708c468/bottleneck-1.6.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:1fad24c99e39ad7623fc2a76d37feb26bd32e4dd170885edf4dbf4bfce2199a3", size = 378315, upload-time = "2025-09-08T16:30:21.409Z" }, - { url = "https://files.pythonhosted.org/packages/bf/8f/2d6600836e2ea8f14fcefac592dc83497e5b88d381470c958cb9cdf88706/bottleneck-1.6.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:643e61e50a6f993debc399b495a1609a55b3bd76b057e433e4089505d9f605c7", size = 368978, upload-time = "2025-09-08T16:30:23.458Z" }, - { url = "https://files.pythonhosted.org/packages/9b/b5/bf72b49f5040212873b985feef5050015645e0a02204b591e1d265fc522a/bottleneck-1.6.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fa668efbe4c6b200524ea0ebd537212da9b9801287138016fdf64119d6fcf201", size = 362074, upload-time = "2025-09-08T16:30:24.71Z" }, - { url = "https://files.pythonhosted.org/packages/1d/c8/c4891a0604eb680031390182c6e264247e3a9a8d067d654362245396fadf/bottleneck-1.6.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:9f7dd35262e89e28fedd79d45022394b1fa1aceb61d2e747c6d6842e50546daa", size = 374019, upload-time = "2025-09-08T16:30:26.438Z" }, - { url = "https://files.pythonhosted.org/packages/e6/2d/ed096f8d1b9147e84914045dd89bc64e3c32eee49b862d1e20d573a9ab0d/bottleneck-1.6.0-cp314-cp314-win32.whl", hash = "sha256:bd90bec3c470b7fdfafc2fbdcd7a1c55a4e57b5cdad88d40eea5bc9bab759bf1", size = 110173, upload-time = "2025-09-08T16:30:27.521Z" }, - { url = "https://files.pythonhosted.org/packages/33/70/1414acb6ae378a15063cfb19a0a39d69d1b6baae1120a64d2b069902549b/bottleneck-1.6.0-cp314-cp314-win_amd64.whl", hash = "sha256:b43b6d36a62ffdedc6368cf9a708e4d0a30d98656c2b5f33d88894e1bcfd6857", size = 115899, upload-time = "2025-09-08T16:30:28.524Z" }, - { url = "https://files.pythonhosted.org/packages/4e/ed/4570b5d8c1c85ce3c54963ebc37472231ed54f0b0d8dbb5dde14303f775f/bottleneck-1.6.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:53296707a8e195b5dcaa804b714bd222b5e446bd93cd496008122277eb43fa87", size = 101615, upload-time = "2025-09-08T16:30:29.556Z" }, - { url = "https://files.pythonhosted.org/packages/2d/93/c148faa07ae91f266be1f3fad1fde95aa2449e12937f3f3df2dd720b86e0/bottleneck-1.6.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:d6df19cc48a83efd70f6d6874332aa31c3f5ca06a98b782449064abbd564cf0e", size = 392411, upload-time = "2025-09-08T16:30:31.186Z" }, - { url = "https://files.pythonhosted.org/packages/6e/1c/e6ad221d345a059e7efb2ad1d46a22d9fdae0486faef70555766e1123966/bottleneck-1.6.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96bb3a52cb3c0aadfedce3106f93ab940a49c9d35cd4ed612e031f6deb27e80f", size = 384022, upload-time = "2025-09-08T16:30:32.364Z" }, - { url = "https://files.pythonhosted.org/packages/4f/40/5b15c01eb8c59d59bc84c94d01d3d30797c961f10ec190f53c27e05d62ab/bottleneck-1.6.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d1db9e831b69d5595b12e79aeb04cb02873db35576467c8dd26cdc1ee6b74581", size = 376004, upload-time = "2025-09-08T16:30:33.731Z" }, - { url = "https://files.pythonhosted.org/packages/74/f6/cb228f5949553a5c01d1d5a3c933f0216d78540d9e0bf8dd4343bb449681/bottleneck-1.6.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:4dd7ac619570865fcb7a0e8925df418005f076286ad2c702dd0f447231d7a055", size = 386909, upload-time = "2025-09-08T16:30:34.973Z" }, - { url = "https://files.pythonhosted.org/packages/09/9a/425065c37a67a9120bf53290371579b83d05bf46f3212cce65d8c01d470a/bottleneck-1.6.0-cp314-cp314t-win32.whl", hash = "sha256:7fb694165df95d428fe00b98b9ea7d126ef786c4a4b7d43ae2530248396cadcb", size = 111636, upload-time = "2025-09-08T16:30:36.044Z" }, - { url = "https://files.pythonhosted.org/packages/ad/23/c41006e42909ec5114a8961818412310aa54646d1eae0495dbff3598a095/bottleneck-1.6.0-cp314-cp314t-win_amd64.whl", hash = "sha256:174b80930ce82bd8456c67f1abb28a5975c68db49d254783ce2cb6983b4fea40", size = 117611, upload-time = "2025-09-08T16:30:37.055Z" }, ] [[package]] @@ -526,9 +496,9 @@ name = "build" version = "1.3.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "colorama", marker = "os_name == 'nt'" }, - { name = "packaging" }, - { name = "pyproject-hooks" }, + { name = "colorama", marker = "os_name == 'nt' and platform_python_implementation != 'PyPy'" }, + { name = "packaging", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pyproject-hooks", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/25/1c/23e33405a7c9eac261dff640926b8b5adaed6a6eb3e1767d441ed611d0c0/build-1.3.0.tar.gz", hash = "sha256:698edd0ea270bde950f53aed21f3a0135672206f3911e0176261a31e0e07b397", size = 48544, upload-time = "2025-08-01T21:27:09.268Z" } wheels = [ @@ -549,7 +519,7 @@ name = "cairocffi" version = "1.7.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "cffi" }, + { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/70/c5/1a4dc131459e68a173cbdab5fad6b524f53f9c1ef7861b7698e998b837cc/cairocffi-1.7.1.tar.gz", hash = "sha256:2e48ee864884ec4a3a34bfa8c9ab9999f688286eb714a15a43ec9d068c36557b", size = 88096, upload-time = "2024-06-18T10:56:06.741Z" } wheels = [ @@ -561,11 +531,11 @@ name = "cairosvg" version = "2.8.2" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "cairocffi" }, - { name = "cssselect2" }, - { name = "defusedxml" }, - { name = "pillow" }, - { name = "tinycss2" }, + { name = "cairocffi", marker = "platform_python_implementation != 'PyPy'" }, + { name = "cssselect2", marker = "platform_python_implementation != 'PyPy'" }, + { name = "defusedxml", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pillow", marker = "platform_python_implementation != 'PyPy'" }, + { name = "tinycss2", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/ab/b9/5106168bd43d7cd8b7cc2a2ee465b385f14b63f4c092bb89eee2d48c8e67/cairosvg-2.8.2.tar.gz", hash = "sha256:07cbf4e86317b27a92318a4cac2a4bb37a5e9c1b8a27355d06874b22f85bef9f", size = 8398590, upload-time = "2025-05-15T06:56:32.653Z" } wheels = [ @@ -586,7 +556,7 @@ name = "cffi" version = "2.0.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pycparser", marker = "implementation_name != 'PyPy'" }, + { name = "pycparser", marker = "implementation_name != 'PyPy' and platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz", hash = "sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529", size = 523588, upload-time = "2025-09-08T23:24:04.541Z" } wheels = [ @@ -602,28 +572,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/eb/6d/bf9bda840d5f1dfdbf0feca87fbdb64a918a69bca42cfa0ba7b137c48cb8/cffi-2.0.0-cp313-cp313-win32.whl", hash = "sha256:74a03b9698e198d47562765773b4a8309919089150a0bb17d829ad7b44b60d27", size = 172909, upload-time = "2025-09-08T23:23:14.32Z" }, { url = "https://files.pythonhosted.org/packages/37/18/6519e1ee6f5a1e579e04b9ddb6f1676c17368a7aba48299c3759bbc3c8b3/cffi-2.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:19f705ada2530c1167abacb171925dd886168931e0a7b78f5bffcae5c6b5be75", size = 183402, upload-time = "2025-09-08T23:23:15.535Z" }, { url = "https://files.pythonhosted.org/packages/cb/0e/02ceeec9a7d6ee63bb596121c2c8e9b3a9e150936f4fbef6ca1943e6137c/cffi-2.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:256f80b80ca3853f90c21b23ee78cd008713787b1b1e93eae9f3d6a7134abd91", size = 177780, upload-time = "2025-09-08T23:23:16.761Z" }, - { url = "https://files.pythonhosted.org/packages/92/c4/3ce07396253a83250ee98564f8d7e9789fab8e58858f35d07a9a2c78de9f/cffi-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5", size = 185320, upload-time = "2025-09-08T23:23:18.087Z" }, - { url = "https://files.pythonhosted.org/packages/59/dd/27e9fa567a23931c838c6b02d0764611c62290062a6d4e8ff7863daf9730/cffi-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13", size = 181487, upload-time = "2025-09-08T23:23:19.622Z" }, - { url = "https://files.pythonhosted.org/packages/d6/43/0e822876f87ea8a4ef95442c3d766a06a51fc5298823f884ef87aaad168c/cffi-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b", size = 220049, upload-time = "2025-09-08T23:23:20.853Z" }, - { url = "https://files.pythonhosted.org/packages/b4/89/76799151d9c2d2d1ead63c2429da9ea9d7aac304603de0c6e8764e6e8e70/cffi-2.0.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c", size = 207793, upload-time = "2025-09-08T23:23:22.08Z" }, - { url = "https://files.pythonhosted.org/packages/bb/dd/3465b14bb9e24ee24cb88c9e3730f6de63111fffe513492bf8c808a3547e/cffi-2.0.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef", size = 206300, upload-time = "2025-09-08T23:23:23.314Z" }, - { url = "https://files.pythonhosted.org/packages/47/d9/d83e293854571c877a92da46fdec39158f8d7e68da75bf73581225d28e90/cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775", size = 219244, upload-time = "2025-09-08T23:23:24.541Z" }, - { url = "https://files.pythonhosted.org/packages/2b/0f/1f177e3683aead2bb00f7679a16451d302c436b5cbf2505f0ea8146ef59e/cffi-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205", size = 222828, upload-time = "2025-09-08T23:23:26.143Z" }, - { url = "https://files.pythonhosted.org/packages/c6/0f/cafacebd4b040e3119dcb32fed8bdef8dfe94da653155f9d0b9dc660166e/cffi-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1", size = 220926, upload-time = "2025-09-08T23:23:27.873Z" }, - { url = "https://files.pythonhosted.org/packages/3e/aa/df335faa45b395396fcbc03de2dfcab242cd61a9900e914fe682a59170b1/cffi-2.0.0-cp314-cp314-win32.whl", hash = "sha256:087067fa8953339c723661eda6b54bc98c5625757ea62e95eb4898ad5e776e9f", size = 175328, upload-time = "2025-09-08T23:23:44.61Z" }, - { url = "https://files.pythonhosted.org/packages/bb/92/882c2d30831744296ce713f0feb4c1cd30f346ef747b530b5318715cc367/cffi-2.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:203a48d1fb583fc7d78a4c6655692963b860a417c0528492a6bc21f1aaefab25", size = 185650, upload-time = "2025-09-08T23:23:45.848Z" }, - { url = "https://files.pythonhosted.org/packages/9f/2c/98ece204b9d35a7366b5b2c6539c350313ca13932143e79dc133ba757104/cffi-2.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:dbd5c7a25a7cb98f5ca55d258b103a2054f859a46ae11aaf23134f9cc0d356ad", size = 180687, upload-time = "2025-09-08T23:23:47.105Z" }, - { url = "https://files.pythonhosted.org/packages/3e/61/c768e4d548bfa607abcda77423448df8c471f25dbe64fb2ef6d555eae006/cffi-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9", size = 188773, upload-time = "2025-09-08T23:23:29.347Z" }, - { url = "https://files.pythonhosted.org/packages/2c/ea/5f76bce7cf6fcd0ab1a1058b5af899bfbef198bea4d5686da88471ea0336/cffi-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d", size = 185013, upload-time = "2025-09-08T23:23:30.63Z" }, - { url = "https://files.pythonhosted.org/packages/be/b4/c56878d0d1755cf9caa54ba71e5d049479c52f9e4afc230f06822162ab2f/cffi-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c", size = 221593, upload-time = "2025-09-08T23:23:31.91Z" }, - { url = "https://files.pythonhosted.org/packages/e0/0d/eb704606dfe8033e7128df5e90fee946bbcb64a04fcdaa97321309004000/cffi-2.0.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8", size = 209354, upload-time = "2025-09-08T23:23:33.214Z" }, - { url = "https://files.pythonhosted.org/packages/d8/19/3c435d727b368ca475fb8742ab97c9cb13a0de600ce86f62eab7fa3eea60/cffi-2.0.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc", size = 208480, upload-time = "2025-09-08T23:23:34.495Z" }, - { url = "https://files.pythonhosted.org/packages/d0/44/681604464ed9541673e486521497406fadcc15b5217c3e326b061696899a/cffi-2.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592", size = 221584, upload-time = "2025-09-08T23:23:36.096Z" }, - { url = "https://files.pythonhosted.org/packages/25/8e/342a504ff018a2825d395d44d63a767dd8ebc927ebda557fecdaca3ac33a/cffi-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512", size = 224443, upload-time = "2025-09-08T23:23:37.328Z" }, - { url = "https://files.pythonhosted.org/packages/e1/5e/b666bacbbc60fbf415ba9988324a132c9a7a0448a9a8f125074671c0f2c3/cffi-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4", size = 223437, upload-time = "2025-09-08T23:23:38.945Z" }, - { url = "https://files.pythonhosted.org/packages/a0/1d/ec1a60bd1a10daa292d3cd6bb0b359a81607154fb8165f3ec95fe003b85c/cffi-2.0.0-cp314-cp314t-win32.whl", hash = "sha256:1fc9ea04857caf665289b7a75923f2c6ed559b8298a1b8c49e59f7dd95c8481e", size = 180487, upload-time = "2025-09-08T23:23:40.423Z" }, - { url = "https://files.pythonhosted.org/packages/bf/41/4c1168c74fac325c0c8156f04b6749c8b6a8f405bbf91413ba088359f60d/cffi-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d68b6cef7827e8641e8ef16f4494edda8b36104d79773a334beaa1e3521430f6", size = 191726, upload-time = "2025-09-08T23:23:41.742Z" }, - { url = "https://files.pythonhosted.org/packages/ae/3a/dbeec9d1ee0844c679f6bb5d6ad4e9f198b1224f4e7a32825f47f6192b0c/cffi-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9", size = 184195, upload-time = "2025-09-08T23:23:43.004Z" }, ] [[package]] @@ -648,65 +596,49 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/89/66/c7a9e1b7429be72123441bfdbaf2bc13faab3f90b933f664db506dea5915/charset_normalizer-3.4.4-cp313-cp313-win32.whl", hash = "sha256:9b35f4c90079ff2e2edc5b26c0c77925e5d2d255c42c74fdb70fb49b172726ac", size = 99404, upload-time = "2025-10-14T04:41:29.95Z" }, { url = "https://files.pythonhosted.org/packages/c4/26/b9924fa27db384bdcd97ab83b4f0a8058d96ad9626ead570674d5e737d90/charset_normalizer-3.4.4-cp313-cp313-win_amd64.whl", hash = "sha256:b435cba5f4f750aa6c0a0d92c541fb79f69a387c91e61f1795227e4ed9cece14", size = 107092, upload-time = "2025-10-14T04:41:31.188Z" }, { url = "https://files.pythonhosted.org/packages/af/8f/3ed4bfa0c0c72a7ca17f0380cd9e4dd842b09f664e780c13cff1dcf2ef1b/charset_normalizer-3.4.4-cp313-cp313-win_arm64.whl", hash = "sha256:542d2cee80be6f80247095cc36c418f7bddd14f4a6de45af91dfad36d817bba2", size = 100408, upload-time = "2025-10-14T04:41:32.624Z" }, - { url = "https://files.pythonhosted.org/packages/2a/35/7051599bd493e62411d6ede36fd5af83a38f37c4767b92884df7301db25d/charset_normalizer-3.4.4-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:da3326d9e65ef63a817ecbcc0df6e94463713b754fe293eaa03da99befb9a5bd", size = 207746, upload-time = "2025-10-14T04:41:33.773Z" }, - { url = "https://files.pythonhosted.org/packages/10/9a/97c8d48ef10d6cd4fcead2415523221624bf58bcf68a802721a6bc807c8f/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8af65f14dc14a79b924524b1e7fffe304517b2bff5a58bf64f30b98bbc5079eb", size = 147889, upload-time = "2025-10-14T04:41:34.897Z" }, - { url = "https://files.pythonhosted.org/packages/10/bf/979224a919a1b606c82bd2c5fa49b5c6d5727aa47b4312bb27b1734f53cd/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74664978bb272435107de04e36db5a9735e78232b85b77d45cfb38f758efd33e", size = 143641, upload-time = "2025-10-14T04:41:36.116Z" }, - { url = "https://files.pythonhosted.org/packages/ba/33/0ad65587441fc730dc7bd90e9716b30b4702dc7b617e6ba4997dc8651495/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:752944c7ffbfdd10c074dc58ec2d5a8a4cd9493b314d367c14d24c17684ddd14", size = 160779, upload-time = "2025-10-14T04:41:37.229Z" }, - { url = "https://files.pythonhosted.org/packages/67/ed/331d6b249259ee71ddea93f6f2f0a56cfebd46938bde6fcc6f7b9a3d0e09/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d1f13550535ad8cff21b8d757a3257963e951d96e20ec82ab44bc64aeb62a191", size = 159035, upload-time = "2025-10-14T04:41:38.368Z" }, - { url = "https://files.pythonhosted.org/packages/67/ff/f6b948ca32e4f2a4576aa129d8bed61f2e0543bf9f5f2b7fc3758ed005c9/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838", size = 152542, upload-time = "2025-10-14T04:41:39.862Z" }, - { url = "https://files.pythonhosted.org/packages/16/85/276033dcbcc369eb176594de22728541a925b2632f9716428c851b149e83/charset_normalizer-3.4.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cb6254dc36b47a990e59e1068afacdcd02958bdcce30bb50cc1700a8b9d624a6", size = 149524, upload-time = "2025-10-14T04:41:41.319Z" }, - { url = "https://files.pythonhosted.org/packages/9e/f2/6a2a1f722b6aba37050e626530a46a68f74e63683947a8acff92569f979a/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c8ae8a0f02f57a6e61203a31428fa1d677cbe50c93622b4149d5c0f319c1d19e", size = 150395, upload-time = "2025-10-14T04:41:42.539Z" }, - { url = "https://files.pythonhosted.org/packages/60/bb/2186cb2f2bbaea6338cad15ce23a67f9b0672929744381e28b0592676824/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:47cc91b2f4dd2833fddaedd2893006b0106129d4b94fdb6af1f4ce5a9965577c", size = 143680, upload-time = "2025-10-14T04:41:43.661Z" }, - { url = "https://files.pythonhosted.org/packages/7d/a5/bf6f13b772fbb2a90360eb620d52ed8f796f3c5caee8398c3b2eb7b1c60d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:82004af6c302b5d3ab2cfc4cc5f29db16123b1a8417f2e25f9066f91d4411090", size = 162045, upload-time = "2025-10-14T04:41:44.821Z" }, - { url = "https://files.pythonhosted.org/packages/df/c5/d1be898bf0dc3ef9030c3825e5d3b83f2c528d207d246cbabe245966808d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:2b7d8f6c26245217bd2ad053761201e9f9680f8ce52f0fcd8d0755aeae5b2152", size = 149687, upload-time = "2025-10-14T04:41:46.442Z" }, - { url = "https://files.pythonhosted.org/packages/a5/42/90c1f7b9341eef50c8a1cb3f098ac43b0508413f33affd762855f67a410e/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:799a7a5e4fb2d5898c60b640fd4981d6a25f1c11790935a44ce38c54e985f828", size = 160014, upload-time = "2025-10-14T04:41:47.631Z" }, - { url = "https://files.pythonhosted.org/packages/76/be/4d3ee471e8145d12795ab655ece37baed0929462a86e72372fd25859047c/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:99ae2cffebb06e6c22bdc25801d7b30f503cc87dbd283479e7b606f70aff57ec", size = 154044, upload-time = "2025-10-14T04:41:48.81Z" }, - { url = "https://files.pythonhosted.org/packages/b0/6f/8f7af07237c34a1defe7defc565a9bc1807762f672c0fde711a4b22bf9c0/charset_normalizer-3.4.4-cp314-cp314-win32.whl", hash = "sha256:f9d332f8c2a2fcbffe1378594431458ddbef721c1769d78e2cbc06280d8155f9", size = 99940, upload-time = "2025-10-14T04:41:49.946Z" }, - { url = "https://files.pythonhosted.org/packages/4b/51/8ade005e5ca5b0d80fb4aff72a3775b325bdc3d27408c8113811a7cbe640/charset_normalizer-3.4.4-cp314-cp314-win_amd64.whl", hash = "sha256:8a6562c3700cce886c5be75ade4a5db4214fda19fede41d9792d100288d8f94c", size = 107104, upload-time = "2025-10-14T04:41:51.051Z" }, - { url = "https://files.pythonhosted.org/packages/da/5f/6b8f83a55bb8278772c5ae54a577f3099025f9ade59d0136ac24a0df4bde/charset_normalizer-3.4.4-cp314-cp314-win_arm64.whl", hash = "sha256:de00632ca48df9daf77a2c65a484531649261ec9f25489917f09e455cb09ddb2", size = 100743, upload-time = "2025-10-14T04:41:52.122Z" }, { url = "https://files.pythonhosted.org/packages/0a/4c/925909008ed5a988ccbb72dcc897407e5d6d3bd72410d69e051fc0c14647/charset_normalizer-3.4.4-py3-none-any.whl", hash = "sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f", size = 53402, upload-time = "2025-10-14T04:42:31.76Z" }, ] [[package]] name = "chromadb" -version = "1.2.0" +version = "1.3.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "bcrypt" }, - { name = "build" }, - { name = "grpcio" }, - { name = "httpx" }, - { name = "importlib-resources" }, - { name = "jsonschema" }, - { name = "kubernetes" }, - { name = "mmh3" }, - { name = "numpy" }, - { name = "onnxruntime" }, - { name = "opentelemetry-api" }, - { name = "opentelemetry-exporter-otlp-proto-grpc" }, - { name = "opentelemetry-sdk" }, - { name = "orjson" }, - { name = "overrides" }, - { name = "posthog" }, - { name = "pybase64" }, - { name = "pydantic" }, - { name = "pypika" }, - { name = "pyyaml" }, - { name = "rich" }, - { name = "tenacity" }, - { name = "tokenizers" }, - { name = "tqdm" }, - { name = "typer" }, - { name = "typing-extensions" }, - { name = "uvicorn", extra = ["standard"] }, -] -sdist = { url = "https://files.pythonhosted.org/packages/61/f9/e6fd5f67ad1b5cb4b7f8487bd4d8990ee04cc39fa83179910668fa74ff75/chromadb-1.2.0.tar.gz", hash = "sha256:e096b07e54f5dfd439428f99a096d97f0e03197df14a70e01f94ff5b0941b86d", size = 1806114, upload-time = "2025-10-18T01:59:11.161Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/38/08/241a4f5618638ee529c0490f687aa60a6b1cc8f45de2fe4dbe6e2adfd30b/chromadb-1.2.0-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:a3f85d80cd302d9a5b059927dc5b3ed74abe8ca732f994814355a49a52d5745e", size = 19660779, upload-time = "2025-10-18T01:59:08.679Z" }, - { url = "https://files.pythonhosted.org/packages/a1/7c/fe2a26b32bbf63966b3dc8e3618fe573eb4fb08eb1ffb5e7cb35687f9d94/chromadb-1.2.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:9ef2e26b46e6cc1ef611b46be2f8228bc6b813913c0b920476105a24afcf83a6", size = 18723619, upload-time = "2025-10-18T01:59:05.683Z" }, - { url = "https://files.pythonhosted.org/packages/b0/4c/d5062cbba93263dc1bec61dd1ca94b9ee1b12903343a6228ea211fec48c4/chromadb-1.2.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aea7760c55da03ce1a4c0c5abdfeaf4df6dd4271d8abe5c0e41784175ab859eb", size = 19292219, upload-time = "2025-10-18T01:59:00.178Z" }, - { url = "https://files.pythonhosted.org/packages/d7/e9/6642829ba2f62394130f680e6ff1629f9f4afed43d3a3aff204a31ddd1cb/chromadb-1.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3188723df19c1aef50a5d982f97a4dfdedaabfe8bb53d60658790da007ae18d8", size = 20370753, upload-time = "2025-10-18T01:59:02.981Z" }, - { url = "https://files.pythonhosted.org/packages/ff/4a/42b7e55b5ca10153e1a328744d5764914c03e7b77940ac3cb84bfd199cc6/chromadb-1.2.0-cp39-abi3-win_amd64.whl", hash = "sha256:64aa68941defe8e91badd8049f4c578949c01bd6b91a4d67ca468055d8b37856", size = 20285403, upload-time = "2025-10-18T01:59:13.38Z" }, + { name = "bcrypt", marker = "platform_python_implementation != 'PyPy'" }, + { name = "build", marker = "platform_python_implementation != 'PyPy'" }, + { name = "grpcio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpx", marker = "platform_python_implementation != 'PyPy'" }, + { name = "importlib-resources", marker = "platform_python_implementation != 'PyPy'" }, + { name = "jsonschema", marker = "platform_python_implementation != 'PyPy'" }, + { name = "kubernetes", marker = "platform_python_implementation != 'PyPy'" }, + { name = "mmh3", marker = "platform_python_implementation != 'PyPy'" }, + { name = "numpy", marker = "platform_python_implementation != 'PyPy'" }, + { name = "onnxruntime", marker = "platform_python_implementation != 'PyPy'" }, + { name = "opentelemetry-api", marker = "platform_python_implementation != 'PyPy'" }, + { name = "opentelemetry-exporter-otlp-proto-grpc", marker = "platform_python_implementation != 'PyPy'" }, + { name = "opentelemetry-sdk", marker = "platform_python_implementation != 'PyPy'" }, + { name = "orjson", marker = "platform_python_implementation != 'PyPy'" }, + { name = "overrides", marker = "platform_python_implementation != 'PyPy'" }, + { name = "posthog", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pybase64", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pypika", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pyyaml", marker = "platform_python_implementation != 'PyPy'" }, + { name = "rich", marker = "platform_python_implementation != 'PyPy'" }, + { name = "tenacity", marker = "platform_python_implementation != 'PyPy'" }, + { name = "tokenizers", marker = "platform_python_implementation != 'PyPy'" }, + { name = "tqdm", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typer", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, + { name = "uvicorn", extra = ["standard"], marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/50/b0/28fbd8985412ea903b0c43a0a50d2b49598242cadc38cac787637ed00973/chromadb-1.3.0.tar.gz", hash = "sha256:9fa223504e07477d019e7efd9e121ead89f9a177940bffabd31d5e473e4afafc", size = 1904155, upload-time = "2025-10-29T03:07:16.642Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/80/bf/274f0922e72a3fc9180278e10b2d80763e35139d0b16b11c5f271cc0479c/chromadb-1.3.0-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:7996c5f389b5b63cbfec55dcd5982bddb8ceff6bb1de35cdf8daf7bff9a3ce3f", size = 20063503, upload-time = "2025-10-29T03:07:13.863Z" }, + { url = "https://files.pythonhosted.org/packages/3c/e4/4f4613f426ce1e4a96c2586478a67c91923f093e926560b3181ad51e80b7/chromadb-1.3.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:a6d301c9ef3e3ac52dccbfd544589142f5a2c6b746d035ac9b7c59440c6835ce", size = 19152851, upload-time = "2025-10-29T03:07:10.874Z" }, + { url = "https://files.pythonhosted.org/packages/5c/49/842e7bc60bd81e8fdec239999c4c05eece8fac283253c2feaca378571356/chromadb-1.3.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3199ccd8730560baa7b25a33993d2a3acb8791d5c935f98873f4cfcc2e2ac85b", size = 19717704, upload-time = "2025-10-29T03:07:05.268Z" }, + { url = "https://files.pythonhosted.org/packages/f5/e1/ca0e8fc1146718e41b5afb27dfdf9cc999900b5890814ffb3940a108030b/chromadb-1.3.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:720ec8e4edcd6fba56a7743569b46ed4ceaeb2050fc0000b674f17033d746ed4", size = 20828998, upload-time = "2025-10-29T03:07:08.074Z" }, + { url = "https://files.pythonhosted.org/packages/14/8e/1d52110b7f33d42b0d655f3ef2d6a4f6a10fe8229f0a4728a37e8e055eb8/chromadb-1.3.0-cp39-abi3-win_amd64.whl", hash = "sha256:b153b8d3293fe182f5937309f70ad9cd3c5c45171464cf6c9dbb2d70b7f0d4ba", size = 20802636, upload-time = "2025-10-29T03:07:18.741Z" }, ] [[package]] @@ -714,13 +646,33 @@ name = "click" version = "8.3.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "colorama", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/46/61/de6cd827efad202d7057d93e0fed9294b96952e188f7384832791c7b2254/click-8.3.0.tar.gz", hash = "sha256:e7b8232224eba16f4ebe410c25ced9f7875cb5f3263ffc93cc3e8da705e229c4", size = 276943, upload-time = "2025-09-18T17:32:23.696Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/db/d3/9dcc0f5797f070ec8edf30fbadfb200e71d9db6b84d211e3b2085a7589a0/click-8.3.0-py3-none-any.whl", hash = "sha256:9b9f285302c6e3064f4330c05f05b81945b2a39544279343e6e7c5f27a9baddc", size = 107295, upload-time = "2025-09-18T17:32:22.42Z" }, ] +[[package]] +name = "cohere" +version = "5.20.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "fastavro", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpx", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpx-sse", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, + { name = "tokenizers", marker = "platform_python_implementation != 'PyPy'" }, + { name = "types-requests", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b5/fe/0e5dcfa9d111b82de4f3c7d83fbc92f478d229c8a004cc63c321fe44bb42/cohere-5.20.0.tar.gz", hash = "sha256:fb5ad5afa47447dd7eb090ad29bdb3a8181b0e758a3b03ba6ed8ca48d68d11a7", size = 168600, upload-time = "2025-10-24T20:24:05.903Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/69/5c/e312678fb4dff827c748980ec18918307d25e39ce006c84f7c6b32bc5641/cohere-5.20.0-py3-none-any.whl", hash = "sha256:a95f17ed22be3f978363703beb6008b55000ce0e85124ddb976fa5b688014fea", size = 303306, upload-time = "2025-10-24T20:24:04.237Z" }, +] + [[package]] name = "colorama" version = "0.4.6" @@ -735,7 +687,7 @@ name = "coloredlogs" version = "15.0.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "humanfriendly" }, + { name = "humanfriendly", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/cc/c7/eed8f27100517e8c0e6b923d5f0845d0cb99763da6fdee00478f91db7325/coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0", size = 278520, upload-time = "2021-06-11T10:22:45.202Z" } wheels = [ @@ -766,21 +718,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/96/92/8a6a9525893325fc057a01f654d7efc2c64b9de90413adcf605a85744ff4/cryptography-46.0.3-cp311-abi3-win32.whl", hash = "sha256:f260d0d41e9b4da1ed1e0f1ce571f97fe370b152ab18778e9e8f67d6af432018", size = 3055988, upload-time = "2025-10-15T23:17:14.65Z" }, { url = "https://files.pythonhosted.org/packages/7e/bf/80fbf45253ea585a1e492a6a17efcb93467701fa79e71550a430c5e60df0/cryptography-46.0.3-cp311-abi3-win_amd64.whl", hash = "sha256:a9a3008438615669153eb86b26b61e09993921ebdd75385ddd748702c5adfddb", size = 3514451, upload-time = "2025-10-15T23:17:16.142Z" }, { url = "https://files.pythonhosted.org/packages/2e/af/9b302da4c87b0beb9db4e756386a7c6c5b8003cd0e742277888d352ae91d/cryptography-46.0.3-cp311-abi3-win_arm64.whl", hash = "sha256:5d7f93296ee28f68447397bf5198428c9aeeab45705a55d53a6343455dcb2c3c", size = 2928007, upload-time = "2025-10-15T23:17:18.04Z" }, - { url = "https://files.pythonhosted.org/packages/f5/e2/a510aa736755bffa9d2f75029c229111a1d02f8ecd5de03078f4c18d91a3/cryptography-46.0.3-cp314-cp314t-macosx_10_9_universal2.whl", hash = "sha256:00a5e7e87938e5ff9ff5447ab086a5706a957137e6e433841e9d24f38a065217", size = 7158012, upload-time = "2025-10-15T23:17:19.982Z" }, - { url = "https://files.pythonhosted.org/packages/73/dc/9aa866fbdbb95b02e7f9d086f1fccfeebf8953509b87e3f28fff927ff8a0/cryptography-46.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:c8daeb2d2174beb4575b77482320303f3d39b8e81153da4f0fb08eb5fe86a6c5", size = 4288728, upload-time = "2025-10-15T23:17:21.527Z" }, - { url = "https://files.pythonhosted.org/packages/c5/fd/bc1daf8230eaa075184cbbf5f8cd00ba9db4fd32d63fb83da4671b72ed8a/cryptography-46.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:39b6755623145ad5eff1dab323f4eae2a32a77a7abef2c5089a04a3d04366715", size = 4435078, upload-time = "2025-10-15T23:17:23.042Z" }, - { url = "https://files.pythonhosted.org/packages/82/98/d3bd5407ce4c60017f8ff9e63ffee4200ab3e23fe05b765cab805a7db008/cryptography-46.0.3-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:db391fa7c66df6762ee3f00c95a89e6d428f4d60e7abc8328f4fe155b5ac6e54", size = 4293460, upload-time = "2025-10-15T23:17:24.885Z" }, - { url = "https://files.pythonhosted.org/packages/26/e9/e23e7900983c2b8af7a08098db406cf989d7f09caea7897e347598d4cd5b/cryptography-46.0.3-cp314-cp314t-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:78a97cf6a8839a48c49271cdcbd5cf37ca2c1d6b7fdd86cc864f302b5e9bf459", size = 3995237, upload-time = "2025-10-15T23:17:26.449Z" }, - { url = "https://files.pythonhosted.org/packages/91/15/af68c509d4a138cfe299d0d7ddb14afba15233223ebd933b4bbdbc7155d3/cryptography-46.0.3-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:dfb781ff7eaa91a6f7fd41776ec37c5853c795d3b358d4896fdbb5df168af422", size = 4967344, upload-time = "2025-10-15T23:17:28.06Z" }, - { url = "https://files.pythonhosted.org/packages/ca/e3/8643d077c53868b681af077edf6b3cb58288b5423610f21c62aadcbe99f4/cryptography-46.0.3-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:6f61efb26e76c45c4a227835ddeae96d83624fb0d29eb5df5b96e14ed1a0afb7", size = 4466564, upload-time = "2025-10-15T23:17:29.665Z" }, - { url = "https://files.pythonhosted.org/packages/0e/43/c1e8726fa59c236ff477ff2b5dc071e54b21e5a1e51aa2cee1676f1c986f/cryptography-46.0.3-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:23b1a8f26e43f47ceb6d6a43115f33a5a37d57df4ea0ca295b780ae8546e8044", size = 4292415, upload-time = "2025-10-15T23:17:31.686Z" }, - { url = "https://files.pythonhosted.org/packages/42/f9/2f8fefdb1aee8a8e3256a0568cffc4e6d517b256a2fe97a029b3f1b9fe7e/cryptography-46.0.3-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:b419ae593c86b87014b9be7396b385491ad7f320bde96826d0dd174459e54665", size = 4931457, upload-time = "2025-10-15T23:17:33.478Z" }, - { url = "https://files.pythonhosted.org/packages/79/30/9b54127a9a778ccd6d27c3da7563e9f2d341826075ceab89ae3b41bf5be2/cryptography-46.0.3-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:50fc3343ac490c6b08c0cf0d704e881d0d660be923fd3076db3e932007e726e3", size = 4466074, upload-time = "2025-10-15T23:17:35.158Z" }, - { url = "https://files.pythonhosted.org/packages/ac/68/b4f4a10928e26c941b1b6a179143af9f4d27d88fe84a6a3c53592d2e76bf/cryptography-46.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:22d7e97932f511d6b0b04f2bfd818d73dcd5928db509460aaf48384778eb6d20", size = 4420569, upload-time = "2025-10-15T23:17:37.188Z" }, - { url = "https://files.pythonhosted.org/packages/a3/49/3746dab4c0d1979888f125226357d3262a6dd40e114ac29e3d2abdf1ec55/cryptography-46.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:d55f3dffadd674514ad19451161118fd010988540cee43d8bc20675e775925de", size = 4681941, upload-time = "2025-10-15T23:17:39.236Z" }, - { url = "https://files.pythonhosted.org/packages/fd/30/27654c1dbaf7e4a3531fa1fc77986d04aefa4d6d78259a62c9dc13d7ad36/cryptography-46.0.3-cp314-cp314t-win32.whl", hash = "sha256:8a6e050cb6164d3f830453754094c086ff2d0b2f3a897a1d9820f6139a1f0914", size = 3022339, upload-time = "2025-10-15T23:17:40.888Z" }, - { url = "https://files.pythonhosted.org/packages/f6/30/640f34ccd4d2a1bc88367b54b926b781b5a018d65f404d409aba76a84b1c/cryptography-46.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:760f83faa07f8b64e9c33fc963d790a2edb24efb479e3520c14a45741cd9b2db", size = 3494315, upload-time = "2025-10-15T23:17:42.769Z" }, - { url = "https://files.pythonhosted.org/packages/ba/8b/88cc7e3bd0a8e7b861f26981f7b820e1f46aa9d26cc482d0feba0ecb4919/cryptography-46.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:516ea134e703e9fe26bcd1277a4b59ad30586ea90c365a87781d7887a646fe21", size = 2919331, upload-time = "2025-10-15T23:17:44.468Z" }, { url = "https://files.pythonhosted.org/packages/fd/23/45fe7f376a7df8daf6da3556603b36f53475a99ce4faacb6ba2cf3d82021/cryptography-46.0.3-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:cb3d760a6117f621261d662bccc8ef5bc32ca673e037c83fbe565324f5c46936", size = 7218248, upload-time = "2025-10-15T23:17:46.294Z" }, { url = "https://files.pythonhosted.org/packages/27/32/b68d27471372737054cbd34c84981f9edbc24fe67ca225d389799614e27f/cryptography-46.0.3-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4b7387121ac7d15e550f5cb4a43aef2559ed759c35df7336c402bb8275ac9683", size = 4294089, upload-time = "2025-10-15T23:17:48.269Z" }, { url = "https://files.pythonhosted.org/packages/26/42/fa8389d4478368743e24e61eea78846a0006caffaf72ea24a15159215a14/cryptography-46.0.3-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:15ab9b093e8f09daab0f2159bb7e47532596075139dd74365da52ecc9cb46c5d", size = 4440029, upload-time = "2025-10-15T23:17:49.837Z" }, @@ -809,8 +746,8 @@ name = "cssselect2" version = "0.8.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "tinycss2" }, - { name = "webencodings" }, + { name = "tinycss2", marker = "platform_python_implementation != 'PyPy'" }, + { name = "webencodings", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/9f/86/fd7f58fc498b3166f3a7e8e0cddb6e620fe1da35b02248b1bd59e95dbaaa/cssselect2-0.8.0.tar.gz", hash = "sha256:7674ffb954a3b46162392aee2a3a0aedb2e14ecf99fcc28644900f4e6e3e9d3a", size = 35716, upload-time = "2025-03-05T14:46:07.988Z" } wheels = [ @@ -818,26 +755,105 @@ wheels = [ ] [[package]] -name = "dataclasses-json" -version = "0.6.7" +name = "daytona" +version = "0.115.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiofiles", marker = "platform_python_implementation != 'PyPy'" }, + { name = "daytona-api-client", marker = "platform_python_implementation != 'PyPy'" }, + { name = "daytona-api-client-async", marker = "platform_python_implementation != 'PyPy'" }, + { name = "daytona-toolbox-api-client", marker = "platform_python_implementation != 'PyPy'" }, + { name = "daytona-toolbox-api-client-async", marker = "platform_python_implementation != 'PyPy'" }, + { name = "deprecated", marker = "platform_python_implementation != 'PyPy'" }, + { name = "environs", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpx", marker = "platform_python_implementation != 'PyPy'" }, + { name = "multipart", marker = "platform_python_implementation != 'PyPy'" }, + { name = "obstore", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "toml", marker = "platform_python_implementation != 'PyPy'" }, + { name = "websockets", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ce/d0/47e174a65dbc4cebb2c8b5f520f58aeaa3907543ef1fd326ca4ee432cfb4/daytona-0.115.0.tar.gz", hash = "sha256:133252ecb240287cc795eb59be21fcdccb6155f6218a378ec81427f93238ecc3", size = 109392, upload-time = "2025-11-14T13:39:56.03Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/f1/28664761c56e8d761702344efe2d7576b838e7c6c58678e1f255121b96e0/daytona-0.115.0-py3-none-any.whl", hash = "sha256:f2bd070ad90c9aa4399cb3d136b3717ef71040d38d83eb7126e7bdc350901a3f", size = 135635, upload-time = "2025-11-14T13:39:54.349Z" }, +] + +[[package]] +name = "daytona-api-client" +version = "0.115.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "marshmallow" }, - { name = "typing-inspect" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "python-dateutil", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, + { name = "urllib3", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/64/a4/f71d9cf3a5ac257c993b5ca3f93df5f7fb395c725e7f1e6479d2514173c3/dataclasses_json-0.6.7.tar.gz", hash = "sha256:b6b3e528266ea45b9535223bc53ca645f5208833c29229e847b3f26a1cc55fc0", size = 32227, upload-time = "2024-06-09T16:20:19.103Z" } +sdist = { url = "https://files.pythonhosted.org/packages/19/f6/bcded8faf8cfb8c954aaa4aa8e7913ecca6e041e19bac32cb31387056a5b/daytona_api_client-0.115.0.tar.gz", hash = "sha256:b9c1a1e29950e8e0e3aaf358d94e72d6efbe349999eeb991b64c62cb3de7d0fd", size = 122809, upload-time = "2025-11-14T13:02:29.329Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c3/be/d0d44e092656fe7a06b55e6103cbce807cdbdee17884a5367c68c9860853/dataclasses_json-0.6.7-py3-none-any.whl", hash = "sha256:0dbf33f26c8d5305befd61b39d2b3414e8a407bedc2834dea9b8d642666fb40a", size = 28686, upload-time = "2024-06-09T16:20:16.715Z" }, + { url = "https://files.pythonhosted.org/packages/95/bd/75c79867093d53e8f3ac2ba958edfcc47a660ba3acc4491eabbbb89a8d36/daytona_api_client-0.115.0-py3-none-any.whl", hash = "sha256:23ea338655428e5b4de1d36911f412797164f60c99539904d55c8505e2e73a5a", size = 364153, upload-time = "2025-11-14T13:02:27.839Z" }, +] + +[[package]] +name = "daytona-api-client-async" +version = "0.115.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiohttp", marker = "platform_python_implementation != 'PyPy'" }, + { name = "aiohttp-retry", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "python-dateutil", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, + { name = "urllib3", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f6/38/92575a5f46708b0866e84f5d9ef4cfc41e71f7b12aa9f6e0a183ce7847a3/daytona_api_client_async-0.115.0.tar.gz", hash = "sha256:dfa778dff65d7639660e3e942c41c6be1c57eceacb5b8f20b4ec656864acb0f6", size = 123682, upload-time = "2025-11-14T13:02:43.21Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/be/8910c7092694ec18e0f7581b8b7d7aa29bfd3be157b05afa3d2ca49dbdea/daytona_api_client_async-0.115.0-py3-none-any.whl", hash = "sha256:8d9c4e029bd52cd5e3f90e55dab0702b5c2afdd8376ccf59e14035fc4f427a04", size = 369106, upload-time = "2025-11-14T13:02:42.083Z" }, +] + +[[package]] +name = "daytona-toolbox-api-client" +version = "0.115.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "python-dateutil", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, + { name = "urllib3", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/29/a2/adf01fe11fb6d33fcb272baf16508640301d3772489f9b26c0049b9804c3/daytona_toolbox_api_client-0.115.0.tar.gz", hash = "sha256:0c71f11ba5635992ba34f73760c5be4fd930c16f2338cc0e416da88bfb4c2349", size = 58824, upload-time = "2025-11-14T13:02:19.903Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dc/22/e7a8c3c374b0885677a0285d9a3c0a7514d18c70600f5cecaf94f6eb0094/daytona_toolbox_api_client-0.115.0-py3-none-any.whl", hash = "sha256:229003bc47d0c4e82b623bb9c6cdd2967088d890c1bf19d2f5c48e719b875ae0", size = 156812, upload-time = "2025-11-14T13:02:18.916Z" }, +] + +[[package]] +name = "daytona-toolbox-api-client-async" +version = "0.115.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiohttp", marker = "platform_python_implementation != 'PyPy'" }, + { name = "aiohttp-retry", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "python-dateutil", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, + { name = "urllib3", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8b/e7/93dfbdbb6c444f71c42640df419bb7447ae5f28418d716b799777c670605/daytona_toolbox_api_client_async-0.115.0.tar.gz", hash = "sha256:2286c05ecebcbb7ed423c726b1d2ec3898d96383c329ee42453727c247a76c22", size = 55880, upload-time = "2025-11-14T13:02:48.08Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/de/b1/27183b26ba87e10a347f0c4bdf4499ef439479d4ba8acdc20746c28dadb7/daytona_toolbox_api_client_async-0.115.0-py3-none-any.whl", hash = "sha256:ff505829164dbd1a523e15cf0d4714950ab9e33b53a02f62eea627f167f7163e", size = 158012, upload-time = "2025-11-14T13:02:46.951Z" }, ] [[package]] name = "deepagents" -version = "0.1.4" -source = { git = "https://github.com/langchain-ai/deepagents.git#65718a8a219c3d67c8e9542ab052866ce3cd367f" } +version = "0.2.7" +source = { git = "https://github.com/langchain-ai/deepagents.git?subdirectory=libs%2Fdeepagents#338787bbb186004b0d1f0a8333274e3e34f8d61e" } dependencies = [ - { name = "langchain" }, - { name = "langchain-anthropic" }, - { name = "langchain-core" }, + { name = "daytona", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-anthropic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "runloop-api-client", marker = "platform_python_implementation != 'PyPy'" }, + { name = "tavily", marker = "platform_python_implementation != 'PyPy'" }, + { name = "wcmatch", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] @@ -849,12 +865,24 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", size = 25604, upload-time = "2021-03-08T10:59:24.45Z" }, ] +[[package]] +name = "deprecated" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wrapt", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/49/85/12f0a49a7c4ffb70572b6c2ef13c90c88fd190debda93b23f026b25f9634/deprecated-1.3.1.tar.gz", hash = "sha256:b1b50e0ff0c1fddaa5708a2c6b0a6588bb09b892825ab2b214ac9ea9d92a5223", size = 2932523, upload-time = "2025-10-30T08:19:02.757Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/d0/205d54408c08b13550c733c4b85429e7ead111c7f0014309637425520a9a/deprecated-1.3.1-py2.py3-none-any.whl", hash = "sha256:597bfef186b6f60181535a29fbe44865ce137a5079f295b479886c82729d5f3f", size = 11298, upload-time = "2025-10-30T08:19:00.758Z" }, +] + [[package]] name = "deprecation" version = "2.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "packaging" }, + { name = "packaging", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/5a/d3/8ae2869247df154b64c1884d7346d412fed0c49df84db635aab2d1c40e62/deprecation-2.1.0.tar.gz", hash = "sha256:72b3bde64e5d778694b0cf68178aed03d15e15477116add3fb773e581f9518ff", size = 173788, upload-time = "2020-04-20T14:23:38.738Z" } wheels = [ @@ -897,24 +925,56 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b0/0d/9feae160378a3553fa9a339b0e9c1a048e147a4127210e286ef18b730f03/durationpy-0.10-py3-none-any.whl", hash = "sha256:3b41e1b601234296b4fb368338fdcd3e13e0b4fb5b67345948f4f2bf9868b286", size = 3922, upload-time = "2025-05-17T13:52:36.463Z" }, ] +[[package]] +name = "environs" +version = "14.5.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "marshmallow", marker = "platform_python_implementation != 'PyPy'" }, + { name = "python-dotenv", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/aa/75/06801d5beeb398ed3903167af9376bb81c4ac41c44a53d45193065ebb1a8/environs-14.5.0.tar.gz", hash = "sha256:f7b8f6fcf3301bc674bc9c03e39b5986d116126ffb96764efd34c339ed9464ee", size = 35426, upload-time = "2025-11-02T21:30:36.78Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d3/f3/6961beb9a1e77d01dee1dd48f00fb3064429c8abcfa26aa863eb7cb2b6dd/environs-14.5.0-py3-none-any.whl", hash = "sha256:1abd3e3a5721fb09797438d6c902bc2f35d4580dfaffe68b8ee588b67b504e13", size = 17202, upload-time = "2025-11-02T21:30:35.186Z" }, +] + [[package]] name = "exa-py" version = "1.16.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "httpcore" }, - { name = "httpx" }, - { name = "openai" }, - { name = "pydantic" }, - { name = "python-dotenv" }, - { name = "requests" }, - { name = "typing-extensions" }, + { name = "httpcore", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpx", marker = "platform_python_implementation != 'PyPy'" }, + { name = "openai", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "python-dotenv", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/77/15/abbe4361f42416c1741d252821bdfffe0e1ad9b39655b04db417b79b0d55/exa_py-1.16.1.tar.gz", hash = "sha256:3cb371b8efd321881a8217070f16afdac5afbaa9229177f80d5c427e1a6dbd59", size = 41364, upload-time = "2025-10-09T21:09:08.23Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/95/28/5b871e0ac1b76e560f75226f70897cb3e7cb66022cfb58507d0e7d6217ca/exa_py-1.16.1-py3-none-any.whl", hash = "sha256:3b323ed32725b72110720306ea12da09161cfa9c8ac64797a9c0b66869741f27", size = 56631, upload-time = "2025-10-09T21:09:07.099Z" }, ] +[[package]] +name = "fastavro" +version = "1.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/65/8b/fa2d3287fd2267be6261d0177c6809a7fa12c5600ddb33490c8dc29e77b2/fastavro-1.12.1.tar.gz", hash = "sha256:2f285be49e45bc047ab2f6bed040bb349da85db3f3c87880e4b92595ea093b2b", size = 1025661, upload-time = "2025-10-10T15:40:55.41Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bb/57/26d5efef9182392d5ac9f253953c856ccb66e4c549fd3176a1e94efb05c9/fastavro-1.12.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:78df838351e4dff9edd10a1c41d1324131ffecbadefb9c297d612ef5363c049a", size = 1000599, upload-time = "2025-10-10T15:41:36.554Z" }, + { url = "https://files.pythonhosted.org/packages/33/cb/8ab55b21d018178eb126007a56bde14fd01c0afc11d20b5f2624fe01e698/fastavro-1.12.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:780476c23175d2ae457c52f45b9ffa9d504593499a36cd3c1929662bf5b7b14b", size = 3335933, upload-time = "2025-10-10T15:41:39.07Z" }, + { url = "https://files.pythonhosted.org/packages/fe/03/9c94ec9bf873eb1ffb0aa694f4e71940154e6e9728ddfdc46046d7e8ced4/fastavro-1.12.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0714b285160fcd515eb0455540f40dd6dac93bdeacdb03f24e8eac3d8aa51f8d", size = 3402066, upload-time = "2025-10-10T15:41:41.608Z" }, + { url = "https://files.pythonhosted.org/packages/75/c8/cb472347c5a584ccb8777a649ebb28278fccea39d005fc7df19996f41df8/fastavro-1.12.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a8bc2dcec5843d499f2489bfe0747999108f78c5b29295d877379f1972a3d41a", size = 3240038, upload-time = "2025-10-10T15:41:43.743Z" }, + { url = "https://files.pythonhosted.org/packages/e1/77/569ce9474c40304b3a09e109494e020462b83e405545b78069ddba5f614e/fastavro-1.12.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3b1921ac35f3d89090a5816b626cf46e67dbecf3f054131f84d56b4e70496f45", size = 3369398, upload-time = "2025-10-10T15:41:45.719Z" }, + { url = "https://files.pythonhosted.org/packages/4a/1f/9589e35e9ea68035385db7bdbf500d36b8891db474063fb1ccc8215ee37c/fastavro-1.12.1-cp313-cp313-win_amd64.whl", hash = "sha256:5aa777b8ee595b50aa084104cd70670bf25a7bbb9fd8bb5d07524b0785ee1699", size = 444220, upload-time = "2025-10-10T15:41:47.39Z" }, + { url = "https://files.pythonhosted.org/packages/6c/d2/78435fe737df94bd8db2234b2100f5453737cffd29adee2504a2b013de84/fastavro-1.12.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:c3d67c47f177e486640404a56f2f50b165fe892cc343ac3a34673b80cc7f1dd6", size = 1086611, upload-time = "2025-10-10T15:41:48.818Z" }, + { url = "https://files.pythonhosted.org/packages/b6/be/428f99b10157230ddac77ec8cc167005b29e2bd5cbe228345192bb645f30/fastavro-1.12.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5217f773492bac43dae15ff2931432bce2d7a80be7039685a78d3fab7df910bd", size = 3541001, upload-time = "2025-10-10T15:41:50.871Z" }, + { url = "https://files.pythonhosted.org/packages/16/08/a2eea4f20b85897740efe44887e1ac08f30dfa4bfc3de8962bdcbb21a5a1/fastavro-1.12.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:469fecb25cba07f2e1bfa4c8d008477cd6b5b34a59d48715e1b1a73f6160097d", size = 3432217, upload-time = "2025-10-10T15:41:53.149Z" }, + { url = "https://files.pythonhosted.org/packages/87/bb/b4c620b9eb6e9838c7f7e4b7be0762834443adf9daeb252a214e9ad3178c/fastavro-1.12.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d71c8aa841ef65cfab709a22bb887955f42934bced3ddb571e98fdbdade4c609", size = 3366742, upload-time = "2025-10-10T15:41:55.237Z" }, + { url = "https://files.pythonhosted.org/packages/3d/d1/e69534ccdd5368350646fea7d93be39e5f77c614cca825c990bd9ca58f67/fastavro-1.12.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:b81fc04e85dfccf7c028e0580c606e33aa8472370b767ef058aae2c674a90746", size = 3383743, upload-time = "2025-10-10T15:41:57.68Z" }, +] + [[package]] name = "filelock" version = "3.20.0" @@ -938,11 +998,11 @@ name = "fireworks-ai" version = "0.15.15" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "httpx" }, - { name = "httpx-sse" }, - { name = "httpx-ws" }, - { name = "pillow" }, - { name = "pydantic" }, + { name = "httpx", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpx-sse", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpx-ws", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pillow", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/20/5b/7ed59473cd8420a44d11d15594b00c3395e9af726f7c5a632171b02ffdc8/fireworks_ai-0.15.15.tar.gz", hash = "sha256:d558e02df06844cb33344d33ecfb1c619a5e82d2ec4d8f51a0a45b7de5d3f4a0", size = 91475, upload-time = "2025-06-20T21:11:27.957Z" } wheels = [ @@ -996,48 +1056,16 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/fd/00/04ca1c3a7a124b6de4f8a9a17cc2fcad138b4608e7a3fc5877804b8715d7/frozenlist-1.8.0-cp313-cp313t-win32.whl", hash = "sha256:0f96534f8bfebc1a394209427d0f8a63d343c9779cda6fc25e8e121b5fd8555b", size = 43492, upload-time = "2025-10-06T05:37:04.915Z" }, { url = "https://files.pythonhosted.org/packages/59/5e/c69f733a86a94ab10f68e496dc6b7e8bc078ebb415281d5698313e3af3a1/frozenlist-1.8.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5d63a068f978fc69421fb0e6eb91a9603187527c86b7cd3f534a5b77a592b888", size = 48034, upload-time = "2025-10-06T05:37:06.343Z" }, { url = "https://files.pythonhosted.org/packages/16/6c/be9d79775d8abe79b05fa6d23da99ad6e7763a1d080fbae7290b286093fd/frozenlist-1.8.0-cp313-cp313t-win_arm64.whl", hash = "sha256:bf0a7e10b077bf5fb9380ad3ae8ce20ef919a6ad93b4552896419ac7e1d8e042", size = 41749, upload-time = "2025-10-06T05:37:07.431Z" }, - { url = "https://files.pythonhosted.org/packages/f1/c8/85da824b7e7b9b6e7f7705b2ecaf9591ba6f79c1177f324c2735e41d36a2/frozenlist-1.8.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:cee686f1f4cadeb2136007ddedd0aaf928ab95216e7691c63e50a8ec066336d0", size = 86127, upload-time = "2025-10-06T05:37:08.438Z" }, - { url = "https://files.pythonhosted.org/packages/8e/e8/a1185e236ec66c20afd72399522f142c3724c785789255202d27ae992818/frozenlist-1.8.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:119fb2a1bd47307e899c2fac7f28e85b9a543864df47aa7ec9d3c1b4545f096f", size = 49698, upload-time = "2025-10-06T05:37:09.48Z" }, - { url = "https://files.pythonhosted.org/packages/a1/93/72b1736d68f03fda5fdf0f2180fb6caaae3894f1b854d006ac61ecc727ee/frozenlist-1.8.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4970ece02dbc8c3a92fcc5228e36a3e933a01a999f7094ff7c23fbd2beeaa67c", size = 49749, upload-time = "2025-10-06T05:37:10.569Z" }, - { url = "https://files.pythonhosted.org/packages/a7/b2/fabede9fafd976b991e9f1b9c8c873ed86f202889b864756f240ce6dd855/frozenlist-1.8.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:cba69cb73723c3f329622e34bdbf5ce1f80c21c290ff04256cff1cd3c2036ed2", size = 231298, upload-time = "2025-10-06T05:37:11.993Z" }, - { url = "https://files.pythonhosted.org/packages/3a/3b/d9b1e0b0eed36e70477ffb8360c49c85c8ca8ef9700a4e6711f39a6e8b45/frozenlist-1.8.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:778a11b15673f6f1df23d9586f83c4846c471a8af693a22e066508b77d201ec8", size = 232015, upload-time = "2025-10-06T05:37:13.194Z" }, - { url = "https://files.pythonhosted.org/packages/dc/94/be719d2766c1138148564a3960fc2c06eb688da592bdc25adcf856101be7/frozenlist-1.8.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0325024fe97f94c41c08872db482cf8ac4800d80e79222c6b0b7b162d5b13686", size = 225038, upload-time = "2025-10-06T05:37:14.577Z" }, - { url = "https://files.pythonhosted.org/packages/e4/09/6712b6c5465f083f52f50cf74167b92d4ea2f50e46a9eea0523d658454ae/frozenlist-1.8.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:97260ff46b207a82a7567b581ab4190bd4dfa09f4db8a8b49d1a958f6aa4940e", size = 240130, upload-time = "2025-10-06T05:37:15.781Z" }, - { url = "https://files.pythonhosted.org/packages/f8/d4/cd065cdcf21550b54f3ce6a22e143ac9e4836ca42a0de1022da8498eac89/frozenlist-1.8.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:54b2077180eb7f83dd52c40b2750d0a9f175e06a42e3213ce047219de902717a", size = 242845, upload-time = "2025-10-06T05:37:17.037Z" }, - { url = "https://files.pythonhosted.org/packages/62/c3/f57a5c8c70cd1ead3d5d5f776f89d33110b1addae0ab010ad774d9a44fb9/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:2f05983daecab868a31e1da44462873306d3cbfd76d1f0b5b69c473d21dbb128", size = 229131, upload-time = "2025-10-06T05:37:18.221Z" }, - { url = "https://files.pythonhosted.org/packages/6c/52/232476fe9cb64f0742f3fde2b7d26c1dac18b6d62071c74d4ded55e0ef94/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:33f48f51a446114bc5d251fb2954ab0164d5be02ad3382abcbfe07e2531d650f", size = 240542, upload-time = "2025-10-06T05:37:19.771Z" }, - { url = "https://files.pythonhosted.org/packages/5f/85/07bf3f5d0fb5414aee5f47d33c6f5c77bfe49aac680bfece33d4fdf6a246/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:154e55ec0655291b5dd1b8731c637ecdb50975a2ae70c606d100750a540082f7", size = 237308, upload-time = "2025-10-06T05:37:20.969Z" }, - { url = "https://files.pythonhosted.org/packages/11/99/ae3a33d5befd41ac0ca2cc7fd3aa707c9c324de2e89db0e0f45db9a64c26/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:4314debad13beb564b708b4a496020e5306c7333fa9a3ab90374169a20ffab30", size = 238210, upload-time = "2025-10-06T05:37:22.252Z" }, - { url = "https://files.pythonhosted.org/packages/b2/60/b1d2da22f4970e7a155f0adde9b1435712ece01b3cd45ba63702aea33938/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:073f8bf8becba60aa931eb3bc420b217bb7d5b8f4750e6f8b3be7f3da85d38b7", size = 231972, upload-time = "2025-10-06T05:37:23.5Z" }, - { url = "https://files.pythonhosted.org/packages/3f/ab/945b2f32de889993b9c9133216c068b7fcf257d8595a0ac420ac8677cab0/frozenlist-1.8.0-cp314-cp314-win32.whl", hash = "sha256:bac9c42ba2ac65ddc115d930c78d24ab8d4f465fd3fc473cdedfccadb9429806", size = 40536, upload-time = "2025-10-06T05:37:25.581Z" }, - { url = "https://files.pythonhosted.org/packages/59/ad/9caa9b9c836d9ad6f067157a531ac48b7d36499f5036d4141ce78c230b1b/frozenlist-1.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:3e0761f4d1a44f1d1a47996511752cf3dcec5bbdd9cc2b4fe595caf97754b7a0", size = 44330, upload-time = "2025-10-06T05:37:26.928Z" }, - { url = "https://files.pythonhosted.org/packages/82/13/e6950121764f2676f43534c555249f57030150260aee9dcf7d64efda11dd/frozenlist-1.8.0-cp314-cp314-win_arm64.whl", hash = "sha256:d1eaff1d00c7751b7c6662e9c5ba6eb2c17a2306ba5e2a37f24ddf3cc953402b", size = 40627, upload-time = "2025-10-06T05:37:28.075Z" }, - { url = "https://files.pythonhosted.org/packages/c0/c7/43200656ecc4e02d3f8bc248df68256cd9572b3f0017f0a0c4e93440ae23/frozenlist-1.8.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:d3bb933317c52d7ea5004a1c442eef86f426886fba134ef8cf4226ea6ee1821d", size = 89238, upload-time = "2025-10-06T05:37:29.373Z" }, - { url = "https://files.pythonhosted.org/packages/d1/29/55c5f0689b9c0fb765055629f472c0de484dcaf0acee2f7707266ae3583c/frozenlist-1.8.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:8009897cdef112072f93a0efdce29cd819e717fd2f649ee3016efd3cd885a7ed", size = 50738, upload-time = "2025-10-06T05:37:30.792Z" }, - { url = "https://files.pythonhosted.org/packages/ba/7d/b7282a445956506fa11da8c2db7d276adcbf2b17d8bb8407a47685263f90/frozenlist-1.8.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2c5dcbbc55383e5883246d11fd179782a9d07a986c40f49abe89ddf865913930", size = 51739, upload-time = "2025-10-06T05:37:32.127Z" }, - { url = "https://files.pythonhosted.org/packages/62/1c/3d8622e60d0b767a5510d1d3cf21065b9db874696a51ea6d7a43180a259c/frozenlist-1.8.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:39ecbc32f1390387d2aa4f5a995e465e9e2f79ba3adcac92d68e3e0afae6657c", size = 284186, upload-time = "2025-10-06T05:37:33.21Z" }, - { url = "https://files.pythonhosted.org/packages/2d/14/aa36d5f85a89679a85a1d44cd7a6657e0b1c75f61e7cad987b203d2daca8/frozenlist-1.8.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92db2bf818d5cc8d9c1f1fc56b897662e24ea5adb36ad1f1d82875bd64e03c24", size = 292196, upload-time = "2025-10-06T05:37:36.107Z" }, - { url = "https://files.pythonhosted.org/packages/05/23/6bde59eb55abd407d34f77d39a5126fb7b4f109a3f611d3929f14b700c66/frozenlist-1.8.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2dc43a022e555de94c3b68a4ef0b11c4f747d12c024a520c7101709a2144fb37", size = 273830, upload-time = "2025-10-06T05:37:37.663Z" }, - { url = "https://files.pythonhosted.org/packages/d2/3f/22cff331bfad7a8afa616289000ba793347fcd7bc275f3b28ecea2a27909/frozenlist-1.8.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cb89a7f2de3602cfed448095bab3f178399646ab7c61454315089787df07733a", size = 294289, upload-time = "2025-10-06T05:37:39.261Z" }, - { url = "https://files.pythonhosted.org/packages/a4/89/5b057c799de4838b6c69aa82b79705f2027615e01be996d2486a69ca99c4/frozenlist-1.8.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:33139dc858c580ea50e7e60a1b0ea003efa1fd42e6ec7fdbad78fff65fad2fd2", size = 300318, upload-time = "2025-10-06T05:37:43.213Z" }, - { url = "https://files.pythonhosted.org/packages/30/de/2c22ab3eb2a8af6d69dc799e48455813bab3690c760de58e1bf43b36da3e/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:168c0969a329b416119507ba30b9ea13688fafffac1b7822802537569a1cb0ef", size = 282814, upload-time = "2025-10-06T05:37:45.337Z" }, - { url = "https://files.pythonhosted.org/packages/59/f7/970141a6a8dbd7f556d94977858cfb36fa9b66e0892c6dd780d2219d8cd8/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:28bd570e8e189d7f7b001966435f9dac6718324b5be2990ac496cf1ea9ddb7fe", size = 291762, upload-time = "2025-10-06T05:37:46.657Z" }, - { url = "https://files.pythonhosted.org/packages/c1/15/ca1adae83a719f82df9116d66f5bb28bb95557b3951903d39135620ef157/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b2a095d45c5d46e5e79ba1e5b9cb787f541a8dee0433836cea4b96a2c439dcd8", size = 289470, upload-time = "2025-10-06T05:37:47.946Z" }, - { url = "https://files.pythonhosted.org/packages/ac/83/dca6dc53bf657d371fbc88ddeb21b79891e747189c5de990b9dfff2ccba1/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:eab8145831a0d56ec9c4139b6c3e594c7a83c2c8be25d5bcf2d86136a532287a", size = 289042, upload-time = "2025-10-06T05:37:49.499Z" }, - { url = "https://files.pythonhosted.org/packages/96/52/abddd34ca99be142f354398700536c5bd315880ed0a213812bc491cff5e4/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:974b28cf63cc99dfb2188d8d222bc6843656188164848c4f679e63dae4b0708e", size = 283148, upload-time = "2025-10-06T05:37:50.745Z" }, - { url = "https://files.pythonhosted.org/packages/af/d3/76bd4ed4317e7119c2b7f57c3f6934aba26d277acc6309f873341640e21f/frozenlist-1.8.0-cp314-cp314t-win32.whl", hash = "sha256:342c97bf697ac5480c0a7ec73cd700ecfa5a8a40ac923bd035484616efecc2df", size = 44676, upload-time = "2025-10-06T05:37:52.222Z" }, - { url = "https://files.pythonhosted.org/packages/89/76/c615883b7b521ead2944bb3480398cbb07e12b7b4e4d073d3752eb721558/frozenlist-1.8.0-cp314-cp314t-win_amd64.whl", hash = "sha256:06be8f67f39c8b1dc671f5d83aaefd3358ae5cdcf8314552c57e7ed3e6475bdd", size = 49451, upload-time = "2025-10-06T05:37:53.425Z" }, - { url = "https://files.pythonhosted.org/packages/e0/a3/5982da14e113d07b325230f95060e2169f5311b1017ea8af2a29b374c289/frozenlist-1.8.0-cp314-cp314t-win_arm64.whl", hash = "sha256:102e6314ca4da683dca92e3b1355490fed5f313b768500084fbe6371fddfdb79", size = 42507, upload-time = "2025-10-06T05:37:54.513Z" }, { url = "https://files.pythonhosted.org/packages/9a/9a/e35b4a917281c0b8419d4207f4334c8e8c5dbf4f3f5f9ada73958d937dcc/frozenlist-1.8.0-py3-none-any.whl", hash = "sha256:0c18a16eab41e82c295618a77502e17b195883241c563b00f0aa5106fc4eaa0d", size = 13409, upload-time = "2025-10-06T05:38:16.721Z" }, ] [[package]] name = "fsspec" -version = "2025.9.0" +version = "2024.12.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/de/e0/bab50af11c2d75c9c4a2a26a5254573c0bd97cea152254401510950486fa/fsspec-2025.9.0.tar.gz", hash = "sha256:19fd429483d25d28b65ec68f9f4adc16c17ea2c7c7bf54ec61360d478fb19c19", size = 304847, upload-time = "2025-09-02T19:10:49.215Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/11/de70dee31455c546fbc88301971ec03c328f3d1138cfba14263f651e9551/fsspec-2024.12.0.tar.gz", hash = "sha256:670700c977ed2fb51e0d9f9253177ed20cbde4a3e5c0283cc5385b5870c8533f", size = 291600, upload-time = "2024-12-19T19:57:30.333Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/47/71/70db47e4f6ce3e5c37a607355f80da8860a33226be640226ac52cb05ef2e/fsspec-2025.9.0-py3-none-any.whl", hash = "sha256:530dc2a2af60a414a832059574df4a6e10cce927f6f4a78209390fe38955cfb7", size = 199289, upload-time = "2025-09-02T19:10:47.708Z" }, + { url = "https://files.pythonhosted.org/packages/de/86/5486b0188d08aa643e127774a99bac51ffa6cf343e3deb0583956dca5b22/fsspec-2024.12.0-py3-none-any.whl", hash = "sha256:b520aed47ad9804237ff878b504267a3b0b441e97508bd6d2d8774e3db85cee2", size = 183862, upload-time = "2024-12-19T19:57:28.258Z" }, ] [[package]] @@ -1045,7 +1073,7 @@ name = "ghp-import" version = "2.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "python-dateutil" }, + { name = "python-dateutil", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/d9/29/d40217cbe2f6b1359e00c6c307bb3fc876ba74068cbab3dde77f03ca0dc4/ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343", size = 10943, upload-time = "2022-05-02T15:47:16.11Z" } wheels = [ @@ -1057,7 +1085,7 @@ name = "gitdb" version = "4.0.12" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "smmap" }, + { name = "smmap", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/72/94/63b0fc47eb32792c7ba1fe1b694daec9a63620db1e313033d18140c2320a/gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571", size = 394684, upload-time = "2025-01-02T07:20:46.413Z" } wheels = [ @@ -1069,7 +1097,7 @@ name = "gitpython" version = "3.1.45" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "gitdb" }, + { name = "gitdb", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/9a/c8/dd58967d119baab745caec2f9d853297cec1989ec1d63f677d3880632b88/gitpython-3.1.45.tar.gz", hash = "sha256:85b0ee964ceddf211c41b9f27a49086010a190fd8132a24e21f362a4b36a791c", size = 215076, upload-time = "2025-07-24T03:45:54.871Z" } wheels = [ @@ -1078,107 +1106,107 @@ wheels = [ [[package]] name = "google-ai-generativelanguage" -version = "0.8.0" +version = "0.9.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "google-api-core", extra = ["grpc"] }, - { name = "google-auth" }, - { name = "grpcio" }, - { name = "proto-plus" }, - { name = "protobuf" }, + { name = "google-api-core", extra = ["grpc"], marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-auth", marker = "platform_python_implementation != 'PyPy'" }, + { name = "grpcio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "proto-plus", marker = "platform_python_implementation != 'PyPy'" }, + { name = "protobuf", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/4d/6d/ca1bbc7f29a55386900caf20f7efb84d0d744a5b4634129ab73ecf71c369/google_ai_generativelanguage-0.8.0.tar.gz", hash = "sha256:6d26671dd968c72117c3a8e3a96fa458f4a9f6ec69d7a416d6eed79269aecc68", size = 1479592, upload-time = "2025-10-17T02:33:23.332Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ad/7e/67fdc46187541ead599e77f259d915f129c2f49568ebf5cadb322130712b/google_ai_generativelanguage-0.9.0.tar.gz", hash = "sha256:2524748f413917446febc8e0879dc0d4f026a064f89f17c42b81bea77ab76c84", size = 1481662, upload-time = "2025-10-20T14:56:23.123Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/eb/dd/9f7c93d934c6de6e4bca5149acf32ed3804e551807fa5e0362a6bfad6860/google_ai_generativelanguage-0.8.0-py3-none-any.whl", hash = "sha256:2b182a983bdb0625a2e670aa684ee29066e2437c97356c8f494a675239f853e0", size = 1398913, upload-time = "2025-10-17T02:30:20.11Z" }, + { url = "https://files.pythonhosted.org/packages/5d/91/c2d39ad5d77813afadb0f0b8789d882d15c191710b6b6f7cb158376342ff/google_ai_generativelanguage-0.9.0-py3-none-any.whl", hash = "sha256:59f61e54cb341e602073098389876594c4d12e458617727558bb2628a86f3eb2", size = 1401288, upload-time = "2025-10-20T14:52:58.403Z" }, ] [[package]] name = "google-api-core" -version = "2.26.0" +version = "2.28.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "google-auth" }, - { name = "googleapis-common-protos" }, - { name = "proto-plus" }, - { name = "protobuf" }, - { name = "requests" }, + { name = "google-auth", marker = "platform_python_implementation != 'PyPy'" }, + { name = "googleapis-common-protos", marker = "platform_python_implementation != 'PyPy'" }, + { name = "proto-plus", marker = "platform_python_implementation != 'PyPy'" }, + { name = "protobuf", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/32/ea/e7b6ac3c7b557b728c2d0181010548cbbdd338e9002513420c5a354fa8df/google_api_core-2.26.0.tar.gz", hash = "sha256:e6e6d78bd6cf757f4aee41dcc85b07f485fbb069d5daa3afb126defba1e91a62", size = 166369, upload-time = "2025-10-08T21:37:38.39Z" } +sdist = { url = "https://files.pythonhosted.org/packages/61/da/83d7043169ac2c8c7469f0e375610d78ae2160134bf1b80634c482fa079c/google_api_core-2.28.1.tar.gz", hash = "sha256:2b405df02d68e68ce0fbc138559e6036559e685159d148ae5861013dc201baf8", size = 176759, upload-time = "2025-10-28T21:34:51.529Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/77/ad/f73cf9fe9bd95918502b270e3ddb8764e4c900b3bbd7782b90c56fac14bb/google_api_core-2.26.0-py3-none-any.whl", hash = "sha256:2b204bd0da2c81f918e3582c48458e24c11771f987f6258e6e227212af78f3ed", size = 162505, upload-time = "2025-10-08T21:37:36.651Z" }, + { url = "https://files.pythonhosted.org/packages/ed/d4/90197b416cb61cefd316964fd9e7bd8324bcbafabf40eef14a9f20b81974/google_api_core-2.28.1-py3-none-any.whl", hash = "sha256:4021b0f8ceb77a6fb4de6fde4502cecab45062e66ff4f2895169e0b35bc9466c", size = 173706, upload-time = "2025-10-28T21:34:50.151Z" }, ] [package.optional-dependencies] grpc = [ - { name = "grpcio" }, - { name = "grpcio-status" }, + { name = "grpcio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "grpcio-status", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "google-api-python-client" -version = "2.185.0" +version = "2.186.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "google-api-core" }, - { name = "google-auth" }, - { name = "google-auth-httplib2" }, - { name = "httplib2" }, - { name = "uritemplate" }, + { name = "google-api-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-auth", marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-auth-httplib2", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httplib2", marker = "platform_python_implementation != 'PyPy'" }, + { name = "uritemplate", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/8e/5a/6f9b49d67ea91376305fdb8bbf2877c746d756e45fd8fb7d2e32d6dad19b/google_api_python_client-2.185.0.tar.gz", hash = "sha256:aa1b338e4bb0f141c2df26743f6b46b11f38705aacd775b61971cbc51da089c3", size = 13885609, upload-time = "2025-10-17T15:00:35.623Z" } +sdist = { url = "https://files.pythonhosted.org/packages/47/cf/d167fec8be9e65768133be83a8d182350195840e14d1c203565383834614/google_api_python_client-2.186.0.tar.gz", hash = "sha256:01b8ff446adbc10f495188400a9f7c3e88e5e75741663a25822f41e788475333", size = 13937230, upload-time = "2025-10-30T22:13:20.971Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fa/28/be3b17bd6a190c8c2ec9e4fb65d43e6ecd7b7a1bb19ccc1d9ab4f687a58c/google_api_python_client-2.185.0-py3-none-any.whl", hash = "sha256:00fe173a4b346d2397fbe0d37ac15368170dfbed91a0395a66ef2558e22b93fc", size = 14453595, upload-time = "2025-10-17T15:00:33.176Z" }, + { url = "https://files.pythonhosted.org/packages/21/5a/b00b944eb9cd0f2e39daf3bcce006cb503a89532f507e87e038e04bbea8c/google_api_python_client-2.186.0-py3-none-any.whl", hash = "sha256:2ea4beba93e193d3a632c7bf865b6ccace42b0017269a964566e39b7e1f3cf79", size = 14507868, upload-time = "2025-10-30T22:13:18.426Z" }, ] [[package]] name = "google-auth" -version = "2.41.1" +version = "2.42.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "cachetools" }, - { name = "pyasn1-modules" }, - { name = "rsa" }, + { name = "cachetools", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pyasn1-modules", marker = "platform_python_implementation != 'PyPy'" }, + { name = "rsa", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a8/af/5129ce5b2f9688d2fa49b463e544972a7c82b0fdb50980dafee92e121d9f/google_auth-2.41.1.tar.gz", hash = "sha256:b76b7b1f9e61f0cb7e88870d14f6a94aeef248959ef6992670efee37709cbfd2", size = 292284, upload-time = "2025-09-30T22:51:26.363Z" } +sdist = { url = "https://files.pythonhosted.org/packages/25/6b/22a77135757c3a7854c9f008ffed6bf4e8851616d77faf13147e9ab5aae6/google_auth-2.42.1.tar.gz", hash = "sha256:30178b7a21aa50bffbdc1ffcb34ff770a2f65c712170ecd5446c4bef4dc2b94e", size = 295541, upload-time = "2025-10-30T16:42:19.381Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/be/a4/7319a2a8add4cc352be9e3efeff5e2aacee917c85ca2fa1647e29089983c/google_auth-2.41.1-py2.py3-none-any.whl", hash = "sha256:754843be95575b9a19c604a848a41be03f7f2afd8c019f716dc1f51ee41c639d", size = 221302, upload-time = "2025-09-30T22:51:24.212Z" }, + { url = "https://files.pythonhosted.org/packages/92/05/adeb6c495aec4f9d93f9e2fc29eeef6e14d452bba11d15bdb874ce1d5b10/google_auth-2.42.1-py2.py3-none-any.whl", hash = "sha256:eb73d71c91fc95dbd221a2eb87477c278a355e7367a35c0d84e6b0e5f9b4ad11", size = 222550, upload-time = "2025-10-30T16:42:17.878Z" }, ] [[package]] name = "google-auth-httplib2" -version = "0.2.0" +version = "0.2.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "google-auth" }, - { name = "httplib2" }, + { name = "google-auth", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httplib2", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/56/be/217a598a818567b28e859ff087f347475c807a5649296fb5a817c58dacef/google-auth-httplib2-0.2.0.tar.gz", hash = "sha256:38aa7badf48f974f1eb9861794e9c0cb2a0511a4ec0679b1f886d108f5640e05", size = 10842, upload-time = "2023-12-12T17:40:30.722Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e0/83/7ef576d1c7ccea214e7b001e69c006bc75e058a3a1f2ab810167204b698b/google_auth_httplib2-0.2.1.tar.gz", hash = "sha256:5ef03be3927423c87fb69607b42df23a444e434ddb2555b73b3679793187b7de", size = 11086, upload-time = "2025-10-30T21:13:16.569Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/be/8a/fe34d2f3f9470a27b01c9e76226965863f153d5fbe276f83608562e49c04/google_auth_httplib2-0.2.0-py2.py3-none-any.whl", hash = "sha256:b65a0a2123300dd71281a7bf6e64d65a0759287df52729bdd1ae2e47dc311a3d", size = 9253, upload-time = "2023-12-12T17:40:13.055Z" }, + { url = "https://files.pythonhosted.org/packages/44/a7/ca23dd006255f70e2bc469d3f9f0c82ea455335bfd682ad4d677adc435de/google_auth_httplib2-0.2.1-py3-none-any.whl", hash = "sha256:1be94c611db91c01f9703e7f62b0a59bbd5587a95571c7b6fade510d648bc08b", size = 9525, upload-time = "2025-10-30T21:13:15.758Z" }, ] [[package]] name = "google-cloud-aiplatform" -version = "1.121.0" +version = "1.124.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "docstring-parser" }, - { name = "google-api-core", extra = ["grpc"] }, - { name = "google-auth" }, - { name = "google-cloud-bigquery" }, - { name = "google-cloud-resource-manager" }, - { name = "google-cloud-storage" }, - { name = "google-genai" }, - { name = "packaging" }, - { name = "proto-plus" }, - { name = "protobuf" }, - { name = "pydantic" }, - { name = "shapely" }, - { name = "typing-extensions" }, + { name = "docstring-parser", marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-api-core", extra = ["grpc"], marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-auth", marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-cloud-bigquery", marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-cloud-resource-manager", marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-cloud-storage", marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-genai", marker = "platform_python_implementation != 'PyPy'" }, + { name = "packaging", marker = "platform_python_implementation != 'PyPy'" }, + { name = "proto-plus", marker = "platform_python_implementation != 'PyPy'" }, + { name = "protobuf", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "shapely", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b1/86/d1bad9a342122f0f5913cd8b7758ab340aac3f579cffb800d294da605a7c/google_cloud_aiplatform-1.121.0.tar.gz", hash = "sha256:65710396238fa461dbea9b2af9ed23f95458d70d9684e75519c7c9c1601ff308", size = 9705200, upload-time = "2025-10-15T20:27:59.262Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d7/ad/a3da0cbb78a933544ef2ca3db3da242a2217a52d823beb3ea129995c00df/google_cloud_aiplatform-1.124.0.tar.gz", hash = "sha256:cf565f2ce3dac19c6502a65d89c89760000fde1d531be54949c6232ba2a168fd", size = 9755170, upload-time = "2025-10-30T19:59:22.057Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/bd/f6/806b39f86f912133a3071ffa9ff99801a12868216069e26c83a48943116b/google_cloud_aiplatform-1.121.0-py2.py3-none-any.whl", hash = "sha256:1e7105dfd17963207e966550c9544264508efdfded29cf4924c5b86ff4a22efd", size = 8067568, upload-time = "2025-10-15T20:27:54.842Z" }, + { url = "https://files.pythonhosted.org/packages/c5/46/c20db72a9389c5b6595c2c3fed9abe2b05d3658fe2c07657f7324623cb63/google_cloud_aiplatform-1.124.0-py2.py3-none-any.whl", hash = "sha256:047685f0ee0ab7346ba7d437904357077e3362b32a951c5038a9ac789c5f9148", size = 8112493, upload-time = "2025-10-30T19:59:19.42Z" }, ] [[package]] @@ -1186,13 +1214,13 @@ name = "google-cloud-bigquery" version = "3.38.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "google-api-core", extra = ["grpc"] }, - { name = "google-auth" }, - { name = "google-cloud-core" }, - { name = "google-resumable-media" }, - { name = "packaging" }, - { name = "python-dateutil" }, - { name = "requests" }, + { name = "google-api-core", extra = ["grpc"], marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-auth", marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-cloud-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-resumable-media", marker = "platform_python_implementation != 'PyPy'" }, + { name = "packaging", marker = "platform_python_implementation != 'PyPy'" }, + { name = "python-dateutil", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/07/b2/a17e40afcf9487e3d17db5e36728ffe75c8d5671c46f419d7b6528a5728a/google_cloud_bigquery-3.38.0.tar.gz", hash = "sha256:8afcb7116f5eac849097a344eb8bfda78b7cfaae128e60e019193dd483873520", size = 503666, upload-time = "2025-09-17T20:33:33.47Z" } wheels = [ @@ -1201,46 +1229,48 @@ wheels = [ [[package]] name = "google-cloud-core" -version = "2.4.3" +version = "2.5.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "google-api-core" }, - { name = "google-auth" }, + { name = "google-api-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-auth", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d6/b8/2b53838d2acd6ec6168fd284a990c76695e84c65deee79c9f3a4276f6b4f/google_cloud_core-2.4.3.tar.gz", hash = "sha256:1fab62d7102844b278fe6dead3af32408b1df3eb06f5c7e8634cbd40edc4da53", size = 35861, upload-time = "2025-03-10T21:05:38.948Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a6/03/ef0bc99d0e0faf4fdbe67ac445e18cdaa74824fd93cd069e7bb6548cb52d/google_cloud_core-2.5.0.tar.gz", hash = "sha256:7c1b7ef5c92311717bd05301aa1a91ffbc565673d3b0b4163a52d8413a186963", size = 36027, upload-time = "2025-10-29T23:17:39.513Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/40/86/bda7241a8da2d28a754aad2ba0f6776e35b67e37c36ae0c45d49370f1014/google_cloud_core-2.4.3-py2.py3-none-any.whl", hash = "sha256:5130f9f4c14b4fafdff75c79448f9495cfade0d8775facf1b09c3bf67e027f6e", size = 29348, upload-time = "2025-03-10T21:05:37.785Z" }, + { url = "https://files.pythonhosted.org/packages/89/20/bfa472e327c8edee00f04beecc80baeddd2ab33ee0e86fd7654da49d45e9/google_cloud_core-2.5.0-py3-none-any.whl", hash = "sha256:67d977b41ae6c7211ee830c7912e41003ea8194bff15ae7d72fd6f51e57acabc", size = 29469, upload-time = "2025-10-29T23:17:38.548Z" }, ] [[package]] name = "google-cloud-modelarmor" -version = "0.2.8" +version = "0.3.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "google-api-core", extra = ["grpc"] }, - { name = "google-auth" }, - { name = "proto-plus" }, - { name = "protobuf" }, + { name = "google-api-core", extra = ["grpc"], marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-auth", marker = "platform_python_implementation != 'PyPy'" }, + { name = "grpcio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "proto-plus", marker = "platform_python_implementation != 'PyPy'" }, + { name = "protobuf", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/58/ab/414e0dc60331d19dde1c751f13829e732d3e1349ea9bdcc8fb9b375b7b6b/google_cloud_modelarmor-0.2.8.tar.gz", hash = "sha256:8e06edb0c0d063509733c9612a85142b42897d31b548cca76b4f4d5323b7aae5", size = 152573, upload-time = "2025-08-06T11:52:17.877Z" } +sdist = { url = "https://files.pythonhosted.org/packages/95/91/b7d05ebec528f6f217a1a5374c1965f7521a61b12c57982aee3468d62484/google_cloud_modelarmor-0.3.0.tar.gz", hash = "sha256:1373f354f391ae51a9e970b25688018de4943e3aaf5cfab1dce498433f40784a", size = 152915, upload-time = "2025-10-20T14:56:32.235Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/71/1b/5b572a5d35342c19b24ea80268367aeba237c9ea842b96a078889ad90812/google_cloud_modelarmor-0.2.8-py3-none-any.whl", hash = "sha256:4141ce1437f15f20a758c8d53e0ecaa91e60b5045dc66d94a8f4076b588c194b", size = 133777, upload-time = "2025-08-06T11:51:51.069Z" }, + { url = "https://files.pythonhosted.org/packages/f4/72/b819cc7e41806a97a6bf35b2d65a2e36d6df025e67e5c5db1fe827674fac/google_cloud_modelarmor-0.3.0-py3-none-any.whl", hash = "sha256:806fa3f65bcb22c6c2fa4519557e80bdbbed2ad4b452c89bfad6778d112b9933", size = 134151, upload-time = "2025-10-20T14:53:11.035Z" }, ] [[package]] name = "google-cloud-resource-manager" -version = "1.14.2" +version = "1.15.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "google-api-core", extra = ["grpc"] }, - { name = "google-auth" }, - { name = "grpc-google-iam-v1" }, - { name = "proto-plus" }, - { name = "protobuf" }, + { name = "google-api-core", extra = ["grpc"], marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-auth", marker = "platform_python_implementation != 'PyPy'" }, + { name = "grpc-google-iam-v1", marker = "platform_python_implementation != 'PyPy'" }, + { name = "grpcio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "proto-plus", marker = "platform_python_implementation != 'PyPy'" }, + { name = "protobuf", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/6e/ca/a4648f5038cb94af4b3942815942a03aa9398f9fb0bef55b3f1585b9940d/google_cloud_resource_manager-1.14.2.tar.gz", hash = "sha256:962e2d904c550d7bac48372607904ff7bb3277e3bb4a36d80cc9a37e28e6eb74", size = 446370, upload-time = "2025-03-17T11:35:56.343Z" } +sdist = { url = "https://files.pythonhosted.org/packages/fc/19/b95d0e8814ce42522e434cdd85c0cb6236d874d9adf6685fc8e6d1fda9d1/google_cloud_resource_manager-1.15.0.tar.gz", hash = "sha256:3d0b78c3daa713f956d24e525b35e9e9a76d597c438837171304d431084cedaf", size = 449227, upload-time = "2025-10-20T14:57:01.108Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b1/ea/a92631c358da377af34d3a9682c97af83185c2d66363d5939ab4a1169a7f/google_cloud_resource_manager-1.14.2-py3-none-any.whl", hash = "sha256:d0fa954dedd1d2b8e13feae9099c01b8aac515b648e612834f9942d2795a9900", size = 394344, upload-time = "2025-03-17T11:35:54.722Z" }, + { url = "https://files.pythonhosted.org/packages/8c/93/5aef41a5f146ad4559dd7040ae5fa8e7ddcab4dfadbef6cb4b66d775e690/google_cloud_resource_manager-1.15.0-py3-none-any.whl", hash = "sha256:0ccde5db644b269ddfdf7b407a2c7b60bdbf459f8e666344a5285601d00c7f6d", size = 397151, upload-time = "2025-10-20T14:53:45.409Z" }, ] [[package]] @@ -1248,12 +1278,12 @@ name = "google-cloud-storage" version = "2.19.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "google-api-core" }, - { name = "google-auth" }, - { name = "google-cloud-core" }, - { name = "google-crc32c" }, - { name = "google-resumable-media" }, - { name = "requests" }, + { name = "google-api-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-auth", marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-cloud-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-crc32c", marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-resumable-media", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/36/76/4d965702e96bb67976e755bed9828fa50306dca003dbee08b67f41dd265e/google_cloud_storage-2.19.0.tar.gz", hash = "sha256:cd05e9e7191ba6cb68934d8eb76054d9be4562aa89dbc4236feee4d7d51342b2", size = 5535488, upload-time = "2024-12-05T01:35:06.49Z" } wheels = [ @@ -1277,21 +1307,21 @@ wheels = [ [[package]] name = "google-genai" -version = "1.45.0" +version = "1.47.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "anyio" }, - { name = "google-auth" }, - { name = "httpx" }, - { name = "pydantic" }, - { name = "requests" }, - { name = "tenacity" }, - { name = "typing-extensions" }, - { name = "websockets" }, + { name = "anyio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-auth", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpx", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, + { name = "tenacity", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, + { name = "websockets", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/91/77/776b92f6f7cf7d7d3bc77b44a323605ae0f94f807cf9a4977c90d296b6b4/google_genai-1.45.0.tar.gz", hash = "sha256:96ec32ae99a30b5a1b54cb874b577ec6e41b5d5b808bf0f10ed4620e867f9386", size = 238198, upload-time = "2025-10-15T23:03:07.713Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9f/97/784fba9bc6c41263ff90cb9063eadfdd755dde79cfa5a8d0e397b067dcf9/google_genai-1.47.0.tar.gz", hash = "sha256:ecece00d0a04e6739ea76cc8dad82ec9593d9380aaabef078990e60574e5bf59", size = 241471, upload-time = "2025-10-29T22:01:02.88Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/11/8f/922116dabe3d0312f08903d324db6ac9d406832cf57707550bc61151d91b/google_genai-1.45.0-py3-none-any.whl", hash = "sha256:e755295063e5fd5a4c44acff782a569e37fa8f76a6c75d0ede3375c70d916b7f", size = 238495, upload-time = "2025-10-15T23:03:05.926Z" }, + { url = "https://files.pythonhosted.org/packages/89/ef/e080e8d67c270ea320956bb911a9359664fc46d3b87d1f029decd33e5c4c/google_genai-1.47.0-py3-none-any.whl", hash = "sha256:e3851237556cbdec96007d8028b4b1f2425cdc5c099a8dc36b72a57e42821b60", size = 241506, upload-time = "2025-10-29T22:01:00.982Z" }, ] [[package]] @@ -1299,7 +1329,7 @@ name = "google-resumable-media" version = "2.7.2" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "google-crc32c" }, + { name = "google-crc32c", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/58/5a/0efdc02665dca14e0837b62c8a1a93132c264bd02054a15abb2218afe0ae/google_resumable_media-2.7.2.tar.gz", hash = "sha256:5280aed4629f2b60b847b0d42f9857fd4935c11af266744df33d8074cae92fe0", size = 2163099, upload-time = "2024-08-07T22:20:38.555Z" } wheels = [ @@ -1308,19 +1338,19 @@ wheels = [ [[package]] name = "googleapis-common-protos" -version = "1.70.0" +version = "1.71.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "protobuf" }, + { name = "protobuf", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/39/24/33db22342cf4a2ea27c9955e6713140fedd51e8b141b5ce5260897020f1a/googleapis_common_protos-1.70.0.tar.gz", hash = "sha256:0e1b44e0ea153e6594f9f394fef15193a68aaaea2d843f83e2742717ca753257", size = 145903, upload-time = "2025-04-14T10:17:02.924Z" } +sdist = { url = "https://files.pythonhosted.org/packages/30/43/b25abe02db2911397819003029bef768f68a974f2ece483e6084d1a5f754/googleapis_common_protos-1.71.0.tar.gz", hash = "sha256:1aec01e574e29da63c80ba9f7bbf1ccfaacf1da877f23609fe236ca7c72a2e2e", size = 146454, upload-time = "2025-10-20T14:58:08.732Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/86/f1/62a193f0227cf15a920390abe675f386dec35f7ae3ffe6da582d3ade42c7/googleapis_common_protos-1.70.0-py3-none-any.whl", hash = "sha256:b8bfcca8c25a2bb253e0e0b0adaf8c00773e5e6af6fd92397576680b807e0fd8", size = 294530, upload-time = "2025-04-14T10:17:01.271Z" }, + { url = "https://files.pythonhosted.org/packages/25/e8/eba9fece11d57a71e3e22ea672742c8f3cf23b35730c9e96db768b295216/googleapis_common_protos-1.71.0-py3-none-any.whl", hash = "sha256:59034a1d849dc4d18971997a72ac56246570afdd17f9369a0ff68218d50ab78c", size = 294576, upload-time = "2025-10-20T14:56:21.295Z" }, ] [package.optional-dependencies] grpc = [ - { name = "grpcio" }, + { name = "grpcio", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] @@ -1337,14 +1367,9 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ee/43/3cecdc0349359e1a527cbf2e3e28e5f8f06d3343aaf82ca13437a9aa290f/greenlet-3.2.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:23768528f2911bcd7e475210822ffb5254ed10d71f4028387e5a99b4c6699671", size = 610497, upload-time = "2025-08-07T13:18:31.636Z" }, { url = "https://files.pythonhosted.org/packages/b8/19/06b6cf5d604e2c382a6f31cafafd6f33d5dea706f4db7bdab184bad2b21d/greenlet-3.2.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:00fadb3fedccc447f517ee0d3fd8fe49eae949e1cd0f6a611818f4f6fb7dc83b", size = 1121662, upload-time = "2025-08-07T13:42:41.117Z" }, { url = "https://files.pythonhosted.org/packages/a2/15/0d5e4e1a66fab130d98168fe984c509249c833c1a3c16806b90f253ce7b9/greenlet-3.2.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:d25c5091190f2dc0eaa3f950252122edbbadbb682aa7b1ef2f8af0f8c0afefae", size = 1149210, upload-time = "2025-08-07T13:18:24.072Z" }, + { url = "https://files.pythonhosted.org/packages/1c/53/f9c440463b3057485b8594d7a638bed53ba531165ef0ca0e6c364b5cc807/greenlet-3.2.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6e343822feb58ac4d0a1211bd9399de2b3a04963ddeec21530fc426cc121f19b", size = 1564759, upload-time = "2025-11-04T12:42:19.395Z" }, + { url = "https://files.pythonhosted.org/packages/47/e4/3bb4240abdd0a8d23f4f88adec746a3099f0d86bfedb623f063b2e3b4df0/greenlet-3.2.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ca7f6f1f2649b89ce02f6f229d7c19f680a6238af656f61e0115b24857917929", size = 1634288, upload-time = "2025-11-04T12:42:21.174Z" }, { url = "https://files.pythonhosted.org/packages/0b/55/2321e43595e6801e105fcfdee02b34c0f996eb71e6ddffca6b10b7e1d771/greenlet-3.2.4-cp313-cp313-win_amd64.whl", hash = "sha256:554b03b6e73aaabec3745364d6239e9e012d64c68ccd0b8430c64ccc14939a8b", size = 299685, upload-time = "2025-08-07T13:24:38.824Z" }, - { url = "https://files.pythonhosted.org/packages/22/5c/85273fd7cc388285632b0498dbbab97596e04b154933dfe0f3e68156c68c/greenlet-3.2.4-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:49a30d5fda2507ae77be16479bdb62a660fa51b1eb4928b524975b3bde77b3c0", size = 273586, upload-time = "2025-08-07T13:16:08.004Z" }, - { url = "https://files.pythonhosted.org/packages/d1/75/10aeeaa3da9332c2e761e4c50d4c3556c21113ee3f0afa2cf5769946f7a3/greenlet-3.2.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:299fd615cd8fc86267b47597123e3f43ad79c9d8a22bebdce535e53550763e2f", size = 686346, upload-time = "2025-08-07T13:42:59.944Z" }, - { url = "https://files.pythonhosted.org/packages/c0/aa/687d6b12ffb505a4447567d1f3abea23bd20e73a5bed63871178e0831b7a/greenlet-3.2.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:c17b6b34111ea72fc5a4e4beec9711d2226285f0386ea83477cbb97c30a3f3a5", size = 699218, upload-time = "2025-08-07T13:45:30.969Z" }, - { url = "https://files.pythonhosted.org/packages/dc/8b/29aae55436521f1d6f8ff4e12fb676f3400de7fcf27fccd1d4d17fd8fecd/greenlet-3.2.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b4a1870c51720687af7fa3e7cda6d08d801dae660f75a76f3845b642b4da6ee1", size = 694659, upload-time = "2025-08-07T13:53:17.759Z" }, - { url = "https://files.pythonhosted.org/packages/92/2e/ea25914b1ebfde93b6fc4ff46d6864564fba59024e928bdc7de475affc25/greenlet-3.2.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:061dc4cf2c34852b052a8620d40f36324554bc192be474b9e9770e8c042fd735", size = 695355, upload-time = "2025-08-07T13:18:34.517Z" }, - { url = "https://files.pythonhosted.org/packages/72/60/fc56c62046ec17f6b0d3060564562c64c862948c9d4bc8aa807cf5bd74f4/greenlet-3.2.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:44358b9bf66c8576a9f57a590d5f5d6e72fa4228b763d0e43fee6d3b06d3a337", size = 657512, upload-time = "2025-08-07T13:18:33.969Z" }, - { url = "https://files.pythonhosted.org/packages/e3/a5/6ddab2b4c112be95601c13428db1d8b6608a8b6039816f2ba09c346c08fc/greenlet-3.2.4-cp314-cp314-win_amd64.whl", hash = "sha256:e37ab26028f12dbb0ff65f29a8d3d44a765c61e729647bf2ddfbbed621726f01", size = 303425, upload-time = "2025-08-07T13:32:27.59Z" }, ] [[package]] @@ -1352,7 +1377,7 @@ name = "griffe" version = "1.14.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "colorama" }, + { name = "colorama", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/ec/d7/6c09dd7ce4c7837e4cdb11dce980cb45ae3cd87677298dc3b781b6bce7d3/griffe-1.14.0.tar.gz", hash = "sha256:9d2a15c1eca966d68e00517de5d69dd1bc5c9f2335ef6c1775362ba5b8651a13", size = 424684, upload-time = "2025-09-05T15:02:29.167Z" } wheels = [ @@ -1364,7 +1389,7 @@ name = "griffe-inherited-docstrings" version = "1.1.2" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "griffe" }, + { name = "griffe", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/28/02/36d9929bb8ad929941b27117aba4d850b8a9f2c12f982e2b59ab4bc4d80b/griffe_inherited_docstrings-1.1.2.tar.gz", hash = "sha256:0a489ac4bb6093a7789d014b23083b4cbb1ab139f0b8dd878c8f3a4f8e892624", size = 27541, upload-time = "2025-09-05T15:17:13.081Z" } wheels = [ @@ -1376,7 +1401,7 @@ name = "griffe-warnings-deprecated" version = "1.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "griffe" }, + { name = "griffe", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/7e/0e/f034e1714eb2c694d6196c75f77a02f9c69d19f9961c4804a016397bf3e5/griffe_warnings_deprecated-1.1.0.tar.gz", hash = "sha256:7bf21de327d59c66c7ce08d0166aa4292ce0577ff113de5878f428d102b6f7c5", size = 33260, upload-time = "2024-12-10T21:02:18.395Z" } wheels = [ @@ -1385,19 +1410,19 @@ wheels = [ [[package]] name = "groq" -version = "0.32.0" +version = "0.33.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "anyio" }, - { name = "distro" }, - { name = "httpx" }, - { name = "pydantic" }, - { name = "sniffio" }, - { name = "typing-extensions" }, + { name = "anyio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "distro", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpx", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "sniffio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/4d/8c/ed52c15fac63f577dd996367dd5d5133cba3e67e844df21800342461b916/groq-0.32.0.tar.gz", hash = "sha256:fb1ade61f47a06d1a1c1dc0fab690d269b799ebd57ad1dd867efaeaa7adeb2af", size = 141541, upload-time = "2025-09-27T23:01:34.617Z" } +sdist = { url = "https://files.pythonhosted.org/packages/eb/51/b85f8100078a4802340e8325af2bfa357e3e8d367f11ee8fd83dc3441523/groq-0.33.0.tar.gz", hash = "sha256:5342158026a1f6bf58653d774696f47ef1d763c401e20f9dbc9598337859523a", size = 142470, upload-time = "2025-10-21T01:38:49.913Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9d/08/24d62fccb01c4e86c59ba79073af7e5c8ab643846823c2fa3e957bde4b58/groq-0.32.0-py3-none-any.whl", hash = "sha256:0ed0be290042f8826f851f3a1defaac4f979dcfce86ec4a0681a23af00ec800b", size = 135387, upload-time = "2025-09-27T23:01:33.223Z" }, + { url = "https://files.pythonhosted.org/packages/99/91/5ecd95278f6f1793bccd9ffa0b6db0d8eb71acda9be9dd0668b162fc2986/groq-0.33.0-py3-none-any.whl", hash = "sha256:ed8c33e55872dea3c7a087741af0c36c2a1a6699a24a34f6cada53e502d3ad75", size = 135782, upload-time = "2025-10-21T01:38:48.855Z" }, ] [[package]] @@ -1405,9 +1430,9 @@ name = "grpc-google-iam-v1" version = "0.14.3" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "googleapis-common-protos", extra = ["grpc"] }, - { name = "grpcio" }, - { name = "protobuf" }, + { name = "googleapis-common-protos", extra = ["grpc"], marker = "platform_python_implementation != 'PyPy'" }, + { name = "grpcio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "protobuf", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/76/1e/1011451679a983f2f5c6771a1682542ecb027776762ad031fd0d7129164b/grpc_google_iam_v1-0.14.3.tar.gz", hash = "sha256:879ac4ef33136c5491a6300e27575a9ec760f6cdf9a2518798c1b8977a5dc389", size = 23745, upload-time = "2025-10-15T21:14:53.318Z" } wheels = [ @@ -1416,47 +1441,37 @@ wheels = [ [[package]] name = "grpcio" -version = "1.75.1" +version = "1.76.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9d/f7/8963848164c7604efb3a3e6ee457fdb3a469653e19002bd24742473254f8/grpcio-1.75.1.tar.gz", hash = "sha256:3e81d89ece99b9ace23a6916880baca613c03a799925afb2857887efa8b1b3d2", size = 12731327, upload-time = "2025-09-26T09:03:36.887Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b6/e0/318c1ce3ae5a17894d5791e87aea147587c9e702f24122cc7a5c8bbaeeb1/grpcio-1.76.0.tar.gz", hash = "sha256:7be78388d6da1a25c0d5ec506523db58b18be22d9c37d8d3a32c08be4987bd73", size = 12785182, upload-time = "2025-10-21T16:23:12.106Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/46/74/bac4ab9f7722164afdf263ae31ba97b8174c667153510322a5eba4194c32/grpcio-1.75.1-cp313-cp313-linux_armv7l.whl", hash = "sha256:3bed22e750d91d53d9e31e0af35a7b0b51367e974e14a4ff229db5b207647884", size = 5672779, upload-time = "2025-09-26T09:02:19.11Z" }, - { url = "https://files.pythonhosted.org/packages/a6/52/d0483cfa667cddaa294e3ab88fd2c2a6e9dc1a1928c0e5911e2e54bd5b50/grpcio-1.75.1-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:5b8f381eadcd6ecaa143a21e9e80a26424c76a0a9b3d546febe6648f3a36a5ac", size = 11470623, upload-time = "2025-09-26T09:02:22.117Z" }, - { url = "https://files.pythonhosted.org/packages/cf/e4/d1954dce2972e32384db6a30273275e8c8ea5a44b80347f9055589333b3f/grpcio-1.75.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5bf4001d3293e3414d0cf99ff9b1139106e57c3a66dfff0c5f60b2a6286ec133", size = 6248838, upload-time = "2025-09-26T09:02:26.426Z" }, - { url = "https://files.pythonhosted.org/packages/06/43/073363bf63826ba8077c335d797a8d026f129dc0912b69c42feaf8f0cd26/grpcio-1.75.1-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:9f82ff474103e26351dacfe8d50214e7c9322960d8d07ba7fa1d05ff981c8b2d", size = 6922663, upload-time = "2025-09-26T09:02:28.724Z" }, - { url = "https://files.pythonhosted.org/packages/c2/6f/076ac0df6c359117676cacfa8a377e2abcecec6a6599a15a672d331f6680/grpcio-1.75.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0ee119f4f88d9f75414217823d21d75bfe0e6ed40135b0cbbfc6376bc9f7757d", size = 6436149, upload-time = "2025-09-26T09:02:30.971Z" }, - { url = "https://files.pythonhosted.org/packages/6b/27/1d08824f1d573fcb1fa35ede40d6020e68a04391709939e1c6f4193b445f/grpcio-1.75.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:664eecc3abe6d916fa6cf8dd6b778e62fb264a70f3430a3180995bf2da935446", size = 7067989, upload-time = "2025-09-26T09:02:33.233Z" }, - { url = "https://files.pythonhosted.org/packages/c6/98/98594cf97b8713feb06a8cb04eeef60b4757e3e2fb91aa0d9161da769843/grpcio-1.75.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:c32193fa08b2fbebf08fe08e84f8a0aad32d87c3ad42999c65e9449871b1c66e", size = 8010717, upload-time = "2025-09-26T09:02:36.011Z" }, - { url = "https://files.pythonhosted.org/packages/8c/7e/bb80b1bba03c12158f9254762cdf5cced4a9bc2e8ed51ed335915a5a06ef/grpcio-1.75.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5cebe13088b9254f6e615bcf1da9131d46cfa4e88039454aca9cb65f639bd3bc", size = 7463822, upload-time = "2025-09-26T09:02:38.26Z" }, - { url = "https://files.pythonhosted.org/packages/23/1c/1ea57fdc06927eb5640f6750c697f596f26183573069189eeaf6ef86ba2d/grpcio-1.75.1-cp313-cp313-win32.whl", hash = "sha256:4b4c678e7ed50f8ae8b8dbad15a865ee73ce12668b6aaf411bf3258b5bc3f970", size = 3938490, upload-time = "2025-09-26T09:02:40.268Z" }, - { url = "https://files.pythonhosted.org/packages/4b/24/fbb8ff1ccadfbf78ad2401c41aceaf02b0d782c084530d8871ddd69a2d49/grpcio-1.75.1-cp313-cp313-win_amd64.whl", hash = "sha256:5573f51e3f296a1bcf71e7a690c092845fb223072120f4bdb7a5b48e111def66", size = 4642538, upload-time = "2025-09-26T09:02:42.519Z" }, - { url = "https://files.pythonhosted.org/packages/f2/1b/9a0a5cecd24302b9fdbcd55d15ed6267e5f3d5b898ff9ac8cbe17ee76129/grpcio-1.75.1-cp314-cp314-linux_armv7l.whl", hash = "sha256:c05da79068dd96723793bffc8d0e64c45f316248417515f28d22204d9dae51c7", size = 5673319, upload-time = "2025-09-26T09:02:44.742Z" }, - { url = "https://files.pythonhosted.org/packages/c6/ec/9d6959429a83fbf5df8549c591a8a52bb313976f6646b79852c4884e3225/grpcio-1.75.1-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:06373a94fd16ec287116a825161dca179a0402d0c60674ceeec8c9fba344fe66", size = 11480347, upload-time = "2025-09-26T09:02:47.539Z" }, - { url = "https://files.pythonhosted.org/packages/09/7a/26da709e42c4565c3d7bf999a9569da96243ce34a8271a968dee810a7cf1/grpcio-1.75.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4484f4b7287bdaa7a5b3980f3c7224c3c622669405d20f69549f5fb956ad0421", size = 6254706, upload-time = "2025-09-26T09:02:50.4Z" }, - { url = "https://files.pythonhosted.org/packages/f1/08/dcb26a319d3725f199c97e671d904d84ee5680de57d74c566a991cfab632/grpcio-1.75.1-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:2720c239c1180eee69f7883c1d4c83fc1a495a2535b5fa322887c70bf02b16e8", size = 6922501, upload-time = "2025-09-26T09:02:52.711Z" }, - { url = "https://files.pythonhosted.org/packages/78/66/044d412c98408a5e23cb348845979a2d17a2e2b6c3c34c1ec91b920f49d0/grpcio-1.75.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:07a554fa31c668cf0e7a188678ceeca3cb8fead29bbe455352e712ec33ca701c", size = 6437492, upload-time = "2025-09-26T09:02:55.542Z" }, - { url = "https://files.pythonhosted.org/packages/4e/9d/5e3e362815152aa1afd8b26ea613effa005962f9da0eec6e0e4527e7a7d1/grpcio-1.75.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:3e71a2105210366bfc398eef7f57a664df99194f3520edb88b9c3a7e46ee0d64", size = 7081061, upload-time = "2025-09-26T09:02:58.261Z" }, - { url = "https://files.pythonhosted.org/packages/1e/1a/46615682a19e100f46e31ddba9ebc297c5a5ab9ddb47b35443ffadb8776c/grpcio-1.75.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:8679aa8a5b67976776d3c6b0521e99d1c34db8a312a12bcfd78a7085cb9b604e", size = 8010849, upload-time = "2025-09-26T09:03:00.548Z" }, - { url = "https://files.pythonhosted.org/packages/67/8e/3204b94ac30b0f675ab1c06540ab5578660dc8b690db71854d3116f20d00/grpcio-1.75.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:aad1c774f4ebf0696a7f148a56d39a3432550612597331792528895258966dc0", size = 7464478, upload-time = "2025-09-26T09:03:03.096Z" }, - { url = "https://files.pythonhosted.org/packages/b7/97/2d90652b213863b2cf466d9c1260ca7e7b67a16780431b3eb1d0420e3d5b/grpcio-1.75.1-cp314-cp314-win32.whl", hash = "sha256:62ce42d9994446b307649cb2a23335fa8e927f7ab2cbf5fcb844d6acb4d85f9c", size = 4012672, upload-time = "2025-09-26T09:03:05.477Z" }, - { url = "https://files.pythonhosted.org/packages/f9/df/e2e6e9fc1c985cd1a59e6996a05647c720fe8a03b92f5ec2d60d366c531e/grpcio-1.75.1-cp314-cp314-win_amd64.whl", hash = "sha256:f86e92275710bea3000cb79feca1762dc0ad3b27830dd1a74e82ab321d4ee464", size = 4772475, upload-time = "2025-09-26T09:03:07.661Z" }, + { url = "https://files.pythonhosted.org/packages/fc/ed/71467ab770effc9e8cef5f2e7388beb2be26ed642d567697bb103a790c72/grpcio-1.76.0-cp313-cp313-linux_armv7l.whl", hash = "sha256:26ef06c73eb53267c2b319f43e6634c7556ea37672029241a056629af27c10e2", size = 5807716, upload-time = "2025-10-21T16:21:48.475Z" }, + { url = "https://files.pythonhosted.org/packages/2c/85/c6ed56f9817fab03fa8a111ca91469941fb514e3e3ce6d793cb8f1e1347b/grpcio-1.76.0-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:45e0111e73f43f735d70786557dc38141185072d7ff8dc1829d6a77ac1471468", size = 11821522, upload-time = "2025-10-21T16:21:51.142Z" }, + { url = "https://files.pythonhosted.org/packages/ac/31/2b8a235ab40c39cbc141ef647f8a6eb7b0028f023015a4842933bc0d6831/grpcio-1.76.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:83d57312a58dcfe2a3a0f9d1389b299438909a02db60e2f2ea2ae2d8034909d3", size = 6362558, upload-time = "2025-10-21T16:21:54.213Z" }, + { url = "https://files.pythonhosted.org/packages/bd/64/9784eab483358e08847498ee56faf8ff6ea8e0a4592568d9f68edc97e9e9/grpcio-1.76.0-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:3e2a27c89eb9ac3d81ec8835e12414d73536c6e620355d65102503064a4ed6eb", size = 7049990, upload-time = "2025-10-21T16:21:56.476Z" }, + { url = "https://files.pythonhosted.org/packages/2b/94/8c12319a6369434e7a184b987e8e9f3b49a114c489b8315f029e24de4837/grpcio-1.76.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:61f69297cba3950a524f61c7c8ee12e55c486cb5f7db47ff9dcee33da6f0d3ae", size = 6575387, upload-time = "2025-10-21T16:21:59.051Z" }, + { url = "https://files.pythonhosted.org/packages/15/0f/f12c32b03f731f4a6242f771f63039df182c8b8e2cf8075b245b409259d4/grpcio-1.76.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6a15c17af8839b6801d554263c546c69c4d7718ad4321e3166175b37eaacca77", size = 7166668, upload-time = "2025-10-21T16:22:02.049Z" }, + { url = "https://files.pythonhosted.org/packages/ff/2d/3ec9ce0c2b1d92dd59d1c3264aaec9f0f7c817d6e8ac683b97198a36ed5a/grpcio-1.76.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:25a18e9810fbc7e7f03ec2516addc116a957f8cbb8cbc95ccc80faa072743d03", size = 8124928, upload-time = "2025-10-21T16:22:04.984Z" }, + { url = "https://files.pythonhosted.org/packages/1a/74/fd3317be5672f4856bcdd1a9e7b5e17554692d3db9a3b273879dc02d657d/grpcio-1.76.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:931091142fd8cc14edccc0845a79248bc155425eee9a98b2db2ea4f00a235a42", size = 7589983, upload-time = "2025-10-21T16:22:07.881Z" }, + { url = "https://files.pythonhosted.org/packages/45/bb/ca038cf420f405971f19821c8c15bcbc875505f6ffadafe9ffd77871dc4c/grpcio-1.76.0-cp313-cp313-win32.whl", hash = "sha256:5e8571632780e08526f118f74170ad8d50fb0a48c23a746bef2a6ebade3abd6f", size = 3984727, upload-time = "2025-10-21T16:22:10.032Z" }, + { url = "https://files.pythonhosted.org/packages/41/80/84087dc56437ced7cdd4b13d7875e7439a52a261e3ab4e06488ba6173b0a/grpcio-1.76.0-cp313-cp313-win_amd64.whl", hash = "sha256:f9f7bd5faab55f47231ad8dba7787866b69f5e93bc306e3915606779bbfb4ba8", size = 4702799, upload-time = "2025-10-21T16:22:12.709Z" }, ] [[package]] name = "grpcio-status" -version = "1.75.1" +version = "1.76.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "googleapis-common-protos" }, - { name = "grpcio" }, - { name = "protobuf" }, + { name = "googleapis-common-protos", marker = "platform_python_implementation != 'PyPy'" }, + { name = "grpcio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "protobuf", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/74/5b/1ce0e3eedcdc08b4739b3da5836f31142ec8bee1a9ae0ad8dc0dc39a14bf/grpcio_status-1.75.1.tar.gz", hash = "sha256:8162afa21833a2085c91089cc395ad880fac1378a1d60233d976649ed724cbf8", size = 13671, upload-time = "2025-09-26T09:13:16.412Z" } +sdist = { url = "https://files.pythonhosted.org/packages/3f/46/e9f19d5be65e8423f886813a2a9d0056ba94757b0c5007aa59aed1a961fa/grpcio_status-1.76.0.tar.gz", hash = "sha256:25fcbfec74c15d1a1cb5da3fab8ee9672852dc16a5a9eeb5baf7d7a9952943cd", size = 13679, upload-time = "2025-10-21T16:28:52.545Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d8/ad/6f414bb0b36eee20d93af6907256f208ffcda992ae6d3d7b6a778afe31e6/grpcio_status-1.75.1-py3-none-any.whl", hash = "sha256:f681b301be26dcf7abf5c765d4a22e4098765e1a65cbdfa3efca384edf8e4e3c", size = 14428, upload-time = "2025-09-26T09:12:55.516Z" }, + { url = "https://files.pythonhosted.org/packages/8c/cc/27ba60ad5a5f2067963e6a858743500df408eb5855e98be778eaef8c9b02/grpcio_status-1.76.0-py3-none-any.whl", hash = "sha256:380568794055a8efbbd8871162df92012e0228a5f6dffaf57f2a00c534103b18", size = 14425, upload-time = "2025-10-21T16:28:40.853Z" }, ] [[package]] @@ -1473,8 +1488,8 @@ name = "h2" version = "4.3.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "hpack" }, - { name = "hyperframe" }, + { name = "hpack", marker = "platform_python_implementation != 'PyPy'" }, + { name = "hyperframe", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/1d/17/afa56379f94ad0fe8defd37d6eb3f89a25404ffc71d4d848893d270325fc/h2-4.3.0.tar.gz", hash = "sha256:6c59efe4323fa18b47a632221a1888bd7fde6249819beda254aeca909f221bf1", size = 2152026, upload-time = "2025-08-23T18:12:19.778Z" } wheels = [ @@ -1483,17 +1498,24 @@ wheels = [ [[package]] name = "hf-xet" -version = "1.1.10" +version = "1.2.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/74/31/feeddfce1748c4a233ec1aa5b7396161c07ae1aa9b7bdbc9a72c3c7dd768/hf_xet-1.1.10.tar.gz", hash = "sha256:408aef343800a2102374a883f283ff29068055c111f003ff840733d3b715bb97", size = 487910, upload-time = "2025-09-12T20:10:27.12Z" } +sdist = { url = "https://files.pythonhosted.org/packages/5e/6e/0f11bacf08a67f7fb5ee09740f2ca54163863b07b70d579356e9222ce5d8/hf_xet-1.2.0.tar.gz", hash = "sha256:a8c27070ca547293b6890c4bf389f713f80e8c478631432962bb7f4bc0bd7d7f", size = 506020, upload-time = "2025-10-24T19:04:32.129Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f7/a2/343e6d05de96908366bdc0081f2d8607d61200be2ac802769c4284cc65bd/hf_xet-1.1.10-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:686083aca1a6669bc85c21c0563551cbcdaa5cf7876a91f3d074a030b577231d", size = 2761466, upload-time = "2025-09-12T20:10:22.836Z" }, - { url = "https://files.pythonhosted.org/packages/31/f9/6215f948ac8f17566ee27af6430ea72045e0418ce757260248b483f4183b/hf_xet-1.1.10-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:71081925383b66b24eedff3013f8e6bbd41215c3338be4b94ba75fd75b21513b", size = 2623807, upload-time = "2025-09-12T20:10:21.118Z" }, - { url = "https://files.pythonhosted.org/packages/15/07/86397573efefff941e100367bbda0b21496ffcdb34db7ab51912994c32a2/hf_xet-1.1.10-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b6bceb6361c80c1cc42b5a7b4e3efd90e64630bcf11224dcac50ef30a47e435", size = 3186960, upload-time = "2025-09-12T20:10:19.336Z" }, - { url = "https://files.pythonhosted.org/packages/01/a7/0b2e242b918cc30e1f91980f3c4b026ff2eedaf1e2ad96933bca164b2869/hf_xet-1.1.10-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:eae7c1fc8a664e54753ffc235e11427ca61f4b0477d757cc4eb9ae374b69f09c", size = 3087167, upload-time = "2025-09-12T20:10:17.255Z" }, - { url = "https://files.pythonhosted.org/packages/4a/25/3e32ab61cc7145b11eee9d745988e2f0f4fafda81b25980eebf97d8cff15/hf_xet-1.1.10-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:0a0005fd08f002180f7a12d4e13b22be277725bc23ed0529f8add5c7a6309c06", size = 3248612, upload-time = "2025-09-12T20:10:24.093Z" }, - { url = "https://files.pythonhosted.org/packages/2c/3d/ab7109e607ed321afaa690f557a9ada6d6d164ec852fd6bf9979665dc3d6/hf_xet-1.1.10-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f900481cf6e362a6c549c61ff77468bd59d6dd082f3170a36acfef2eb6a6793f", size = 3353360, upload-time = "2025-09-12T20:10:25.563Z" }, - { url = "https://files.pythonhosted.org/packages/ee/0e/471f0a21db36e71a2f1752767ad77e92d8cde24e974e03d662931b1305ec/hf_xet-1.1.10-cp37-abi3-win_amd64.whl", hash = "sha256:5f54b19cc347c13235ae7ee98b330c26dd65ef1df47e5316ffb1e87713ca7045", size = 2804691, upload-time = "2025-09-12T20:10:28.433Z" }, + { url = "https://files.pythonhosted.org/packages/9e/a5/85ef910a0aa034a2abcfadc360ab5ac6f6bc4e9112349bd40ca97551cff0/hf_xet-1.2.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:ceeefcd1b7aed4956ae8499e2199607765fbd1c60510752003b6cc0b8413b649", size = 2861870, upload-time = "2025-10-24T19:04:11.422Z" }, + { url = "https://files.pythonhosted.org/packages/ea/40/e2e0a7eb9a51fe8828ba2d47fe22a7e74914ea8a0db68a18c3aa7449c767/hf_xet-1.2.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b70218dd548e9840224df5638fdc94bd033552963cfa97f9170829381179c813", size = 2717584, upload-time = "2025-10-24T19:04:09.586Z" }, + { url = "https://files.pythonhosted.org/packages/a5/7d/daf7f8bc4594fdd59a8a596f9e3886133fdc68e675292218a5e4c1b7e834/hf_xet-1.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d40b18769bb9a8bc82a9ede575ce1a44c75eb80e7375a01d76259089529b5dc", size = 3315004, upload-time = "2025-10-24T19:04:00.314Z" }, + { url = "https://files.pythonhosted.org/packages/b1/ba/45ea2f605fbf6d81c8b21e4d970b168b18a53515923010c312c06cd83164/hf_xet-1.2.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:cd3a6027d59cfb60177c12d6424e31f4b5ff13d8e3a1247b3a584bf8977e6df5", size = 3222636, upload-time = "2025-10-24T19:03:58.111Z" }, + { url = "https://files.pythonhosted.org/packages/4a/1d/04513e3cab8f29ab8c109d309ddd21a2705afab9d52f2ba1151e0c14f086/hf_xet-1.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6de1fc44f58f6dd937956c8d304d8c2dea264c80680bcfa61ca4a15e7b76780f", size = 3408448, upload-time = "2025-10-24T19:04:20.951Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7c/60a2756d7feec7387db3a1176c632357632fbe7849fce576c5559d4520c7/hf_xet-1.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f182f264ed2acd566c514e45da9f2119110e48a87a327ca271027904c70c5832", size = 3503401, upload-time = "2025-10-24T19:04:22.549Z" }, + { url = "https://files.pythonhosted.org/packages/4e/64/48fffbd67fb418ab07451e4ce641a70de1c40c10a13e25325e24858ebe5a/hf_xet-1.2.0-cp313-cp313t-win_amd64.whl", hash = "sha256:293a7a3787e5c95d7be1857358a9130694a9c6021de3f27fa233f37267174382", size = 2900866, upload-time = "2025-10-24T19:04:33.461Z" }, + { url = "https://files.pythonhosted.org/packages/96/2d/22338486473df5923a9ab7107d375dbef9173c338ebef5098ef593d2b560/hf_xet-1.2.0-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:46740d4ac024a7ca9b22bebf77460ff43332868b661186a8e46c227fdae01848", size = 2866099, upload-time = "2025-10-24T19:04:15.366Z" }, + { url = "https://files.pythonhosted.org/packages/7f/8c/c5becfa53234299bc2210ba314eaaae36c2875e0045809b82e40a9544f0c/hf_xet-1.2.0-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:27df617a076420d8845bea087f59303da8be17ed7ec0cd7ee3b9b9f579dff0e4", size = 2722178, upload-time = "2025-10-24T19:04:13.695Z" }, + { url = "https://files.pythonhosted.org/packages/9a/92/cf3ab0b652b082e66876d08da57fcc6fa2f0e6c70dfbbafbd470bb73eb47/hf_xet-1.2.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3651fd5bfe0281951b988c0facbe726aa5e347b103a675f49a3fa8144c7968fd", size = 3320214, upload-time = "2025-10-24T19:04:03.596Z" }, + { url = "https://files.pythonhosted.org/packages/46/92/3f7ec4a1b6a65bf45b059b6d4a5d38988f63e193056de2f420137e3c3244/hf_xet-1.2.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:d06fa97c8562fb3ee7a378dd9b51e343bc5bc8190254202c9771029152f5e08c", size = 3229054, upload-time = "2025-10-24T19:04:01.949Z" }, + { url = "https://files.pythonhosted.org/packages/0b/dd/7ac658d54b9fb7999a0ccb07ad863b413cbaf5cf172f48ebcd9497ec7263/hf_xet-1.2.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:4c1428c9ae73ec0939410ec73023c4f842927f39db09b063b9482dac5a3bb737", size = 3413812, upload-time = "2025-10-24T19:04:24.585Z" }, + { url = "https://files.pythonhosted.org/packages/92/68/89ac4e5b12a9ff6286a12174c8538a5930e2ed662091dd2572bbe0a18c8a/hf_xet-1.2.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a55558084c16b09b5ed32ab9ed38421e2d87cf3f1f89815764d1177081b99865", size = 3508920, upload-time = "2025-10-24T19:04:26.927Z" }, + { url = "https://files.pythonhosted.org/packages/cb/44/870d44b30e1dcfb6a65932e3e1506c103a8a5aea9103c337e7a53180322c/hf_xet-1.2.0-cp37-abi3-win_amd64.whl", hash = "sha256:e6584a52253f72c9f52f9e549d5895ca7a471608495c4ecaa6cc73dba2b24d69", size = 2905735, upload-time = "2025-10-24T19:04:35.928Z" }, ] [[package]] @@ -1518,8 +1540,8 @@ name = "httpcore" version = "1.0.9" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "certifi" }, - { name = "h11" }, + { name = "certifi", marker = "platform_python_implementation != 'PyPy'" }, + { name = "h11", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 85484, upload-time = "2025-04-24T22:06:22.219Z" } wheels = [ @@ -1531,7 +1553,7 @@ name = "httplib2" version = "0.31.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pyparsing" }, + { name = "pyparsing", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/52/77/6653db69c1f7ecfe5e3f9726fdadc981794656fcd7d98c4209fecfea9993/httplib2-0.31.0.tar.gz", hash = "sha256:ac7ab497c50975147d4f7b1ade44becc7df2f8954d42b38b3d69c515f531135c", size = 250759, upload-time = "2025-09-11T12:16:03.403Z" } wheels = [ @@ -1551,13 +1573,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/32/4d/9dd616c38da088e3f436e9a616e1d0cc66544b8cdac405cc4e81c8679fc7/httptools-0.7.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:44c8f4347d4b31269c8a9205d8a5ee2df5322b09bbbd30f8f862185bb6b05346", size = 455517, upload-time = "2025-10-10T03:54:51.066Z" }, { url = "https://files.pythonhosted.org/packages/1d/3a/a6c595c310b7df958e739aae88724e24f9246a514d909547778d776799be/httptools-0.7.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:465275d76db4d554918aba40bf1cbebe324670f3dfc979eaffaa5d108e2ed650", size = 458337, upload-time = "2025-10-10T03:54:52.196Z" }, { url = "https://files.pythonhosted.org/packages/fd/82/88e8d6d2c51edc1cc391b6e044c6c435b6aebe97b1abc33db1b0b24cd582/httptools-0.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:322d00c2068d125bd570f7bf78b2d367dad02b919d8581d7476d8b75b294e3e6", size = 85743, upload-time = "2025-10-10T03:54:53.448Z" }, - { url = "https://files.pythonhosted.org/packages/34/50/9d095fcbb6de2d523e027a2f304d4551855c2f46e0b82befd718b8b20056/httptools-0.7.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:c08fe65728b8d70b6923ce31e3956f859d5e1e8548e6f22ec520a962c6757270", size = 203619, upload-time = "2025-10-10T03:54:54.321Z" }, - { url = "https://files.pythonhosted.org/packages/07/f0/89720dc5139ae54b03f861b5e2c55a37dba9a5da7d51e1e824a1f343627f/httptools-0.7.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:7aea2e3c3953521c3c51106ee11487a910d45586e351202474d45472db7d72d3", size = 108714, upload-time = "2025-10-10T03:54:55.163Z" }, - { url = "https://files.pythonhosted.org/packages/b3/cb/eea88506f191fb552c11787c23f9a405f4c7b0c5799bf73f2249cd4f5228/httptools-0.7.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:0e68b8582f4ea9166be62926077a3334064d422cf08ab87d8b74664f8e9058e1", size = 472909, upload-time = "2025-10-10T03:54:56.056Z" }, - { url = "https://files.pythonhosted.org/packages/e0/4a/a548bdfae6369c0d078bab5769f7b66f17f1bfaa6fa28f81d6be6959066b/httptools-0.7.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:df091cf961a3be783d6aebae963cc9b71e00d57fa6f149025075217bc6a55a7b", size = 470831, upload-time = "2025-10-10T03:54:57.219Z" }, - { url = "https://files.pythonhosted.org/packages/4d/31/14df99e1c43bd132eec921c2e7e11cda7852f65619bc0fc5bdc2d0cb126c/httptools-0.7.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f084813239e1eb403ddacd06a30de3d3e09a9b76e7894dcda2b22f8a726e9c60", size = 452631, upload-time = "2025-10-10T03:54:58.219Z" }, - { url = "https://files.pythonhosted.org/packages/22/d2/b7e131f7be8d854d48cb6d048113c30f9a46dca0c9a8b08fcb3fcd588cdc/httptools-0.7.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:7347714368fb2b335e9063bc2b96f2f87a9ceffcd9758ac295f8bbcd3ffbc0ca", size = 452910, upload-time = "2025-10-10T03:54:59.366Z" }, - { url = "https://files.pythonhosted.org/packages/53/cf/878f3b91e4e6e011eff6d1fa9ca39f7eb17d19c9d7971b04873734112f30/httptools-0.7.1-cp314-cp314-win_amd64.whl", hash = "sha256:cfabda2a5bb85aa2a904ce06d974a3f30fb36cc63d7feaddec05d2050acede96", size = 88205, upload-time = "2025-10-10T03:55:00.389Z" }, ] [[package]] @@ -1565,10 +1580,10 @@ name = "httpx" version = "0.28.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "anyio" }, - { name = "certifi" }, - { name = "httpcore" }, - { name = "idna" }, + { name = "anyio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "certifi", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpcore", marker = "platform_python_implementation != 'PyPy'" }, + { name = "idna", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" } wheels = [ @@ -1577,50 +1592,50 @@ wheels = [ [package.optional-dependencies] http2 = [ - { name = "h2" }, + { name = "h2", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "httpx-sse" -version = "0.4.3" +version = "0.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0f/4c/751061ffa58615a32c31b2d82e8482be8dd4a89154f003147acee90f2be9/httpx_sse-0.4.3.tar.gz", hash = "sha256:9b1ed0127459a66014aec3c56bebd93da3c1bc8bb6618c8082039a44889a755d", size = 15943, upload-time = "2025-10-10T21:48:22.271Z" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/60/8f4281fa9bbf3c8034fd54c0e7412e66edbab6bc74c4996bd616f8d0406e/httpx-sse-0.4.0.tar.gz", hash = "sha256:1e81a3a3070ce322add1d3529ed42eb5f70817f45ed6ec915ab753f961139721", size = 12624, upload-time = "2023-12-22T08:01:21.083Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d2/fd/6668e5aec43ab844de6fc74927e155a3b37bf40d7c3790e49fc0406b6578/httpx_sse-0.4.3-py3-none-any.whl", hash = "sha256:0ac1c9fe3c0afad2e0ebb25a934a59f4c7823b60792691f779fad2c5568830fc", size = 8960, upload-time = "2025-10-10T21:48:21.158Z" }, + { url = "https://files.pythonhosted.org/packages/e1/9b/a181f281f65d776426002f330c31849b86b31fc9d848db62e16f03ff739f/httpx_sse-0.4.0-py3-none-any.whl", hash = "sha256:f329af6eae57eaa2bdfd962b42524764af68075ea87370a2de920af5341e318f", size = 7819, upload-time = "2023-12-22T08:01:19.89Z" }, ] [[package]] name = "httpx-ws" -version = "0.8.0" +version = "0.8.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "anyio" }, - { name = "httpcore" }, - { name = "httpx" }, - { name = "wsproto" }, + { name = "anyio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpcore", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpx", marker = "platform_python_implementation != 'PyPy'" }, + { name = "wsproto", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c0/dc/d7941f8a598e636779c1f34daa3fd88849b36d440dd3522ceba90915abc6/httpx_ws-0.8.0.tar.gz", hash = "sha256:a4dbe99509751d9498ead8564a455e0e8d27501560e19864d249b8b9766b24ad", size = 25488, upload-time = "2025-09-20T14:23:40.69Z" } +sdist = { url = "https://files.pythonhosted.org/packages/bb/3d/93a17bc7d769f8b47facc9c8e2cb5435b04185c1ebfdf49f2c7485f892b6/httpx_ws-0.8.1.tar.gz", hash = "sha256:fdc8f471980d572f371d113a50710bbf397245048e9a542606af0bba2b956ab5", size = 105819, upload-time = "2025-10-28T07:31:42.298Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/08/65/36bec7fe24c61e7e700a5e08210e8f10cf1cf78eb75491316125c958ca76/httpx_ws-0.8.0-py3-none-any.whl", hash = "sha256:42f650a63c5d9b4940e0375e4bee001b644620e06c87d192692ce6015e17f8e2", size = 14986, upload-time = "2025-09-20T14:23:41.409Z" }, + { url = "https://files.pythonhosted.org/packages/69/b5/22a5a5b3e0497ec5ddc612474c0b50583bddd543eedc8f7da6eebc032c3d/httpx_ws-0.8.1-py3-none-any.whl", hash = "sha256:edef4173336a49e5cdec9e47ab8ffc896ef36c48a4b43a36c8daf93beeb9955c", size = 15311, upload-time = "2025-10-28T07:31:40.908Z" }, ] [[package]] name = "huggingface-hub" -version = "0.35.3" +version = "0.36.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "filelock" }, - { name = "fsspec" }, - { name = "hf-xet", marker = "platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'arm64' or platform_machine == 'x86_64'" }, - { name = "packaging" }, - { name = "pyyaml" }, - { name = "requests" }, - { name = "tqdm" }, - { name = "typing-extensions" }, + { name = "filelock", marker = "platform_python_implementation != 'PyPy'" }, + { name = "fsspec", marker = "platform_python_implementation != 'PyPy'" }, + { name = "hf-xet", marker = "(platform_machine == 'aarch64' and platform_python_implementation != 'PyPy') or (platform_machine == 'amd64' and platform_python_implementation != 'PyPy') or (platform_machine == 'arm64' and platform_python_implementation != 'PyPy') or (platform_machine == 'x86_64' and platform_python_implementation != 'PyPy')" }, + { name = "packaging", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pyyaml", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, + { name = "tqdm", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/10/7e/a0a97de7c73671863ca6b3f61fa12518caf35db37825e43d63a70956738c/huggingface_hub-0.35.3.tar.gz", hash = "sha256:350932eaa5cc6a4747efae85126ee220e4ef1b54e29d31c3b45c5612ddf0b32a", size = 461798, upload-time = "2025-09-29T14:29:58.625Z" } +sdist = { url = "https://files.pythonhosted.org/packages/98/63/4910c5fa9128fdadf6a9c5ac138e8b1b6cee4ca44bf7915bbfbce4e355ee/huggingface_hub-0.36.0.tar.gz", hash = "sha256:47b3f0e2539c39bf5cde015d63b72ec49baff67b6931c3d97f3f84532e2b8d25", size = 463358, upload-time = "2025-10-23T12:12:01.413Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/31/a0/651f93d154cb72323358bf2bbae3e642bdb5d2f1bfc874d096f7cb159fa0/huggingface_hub-0.35.3-py3-none-any.whl", hash = "sha256:0e3a01829c19d86d03793e4577816fe3bdfc1602ac62c7fb220d593d351224ba", size = 564262, upload-time = "2025-09-29T14:29:55.813Z" }, + { url = "https://files.pythonhosted.org/packages/cb/bd/1a875e0d592d447cbc02805fd3fe0f497714d6a2583f59d14fa9ebad96eb/huggingface_hub-0.36.0-py3-none-any.whl", hash = "sha256:7bcc9ad17d5b3f07b57c78e79d527102d08313caa278a641993acddcb894548d", size = 566094, upload-time = "2025-10-23T12:11:59.557Z" }, ] [[package]] @@ -1628,7 +1643,7 @@ name = "humanfriendly" version = "10.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pyreadline3", marker = "sys_platform == 'win32'" }, + { name = "pyreadline3", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/cc/3f/2c29224acb2e2df4d2046e4c73ee2662023c58ff5b113c4c1adac0886c43/humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc", size = 360702, upload-time = "2021-09-17T21:40:43.31Z" } wheels = [ @@ -1644,6 +1659,73 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/48/30/47d0bf6072f7252e6521f3447ccfa40b421b6824517f82854703d0f5a98b/hyperframe-6.1.0-py3-none-any.whl", hash = "sha256:b03380493a519fce58ea5af42e4a42317bf9bd425596f7a0835ffce80f1a42e5", size = 13007, upload-time = "2025-01-22T21:41:47.295Z" }, ] +[[package]] +name = "ibm-cos-sdk" +version = "2.14.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ibm-cos-sdk-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "ibm-cos-sdk-s3transfer", marker = "platform_python_implementation != 'PyPy'" }, + { name = "jmespath", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/08/0f/976e187ba09f5efee94a371f0d65edca82714975de7e71bf6ad8d30f20a7/ibm_cos_sdk-2.14.2.tar.gz", hash = "sha256:d859422c1dfd03e52cd66acbb2b45b4c944a390725c3a91d4a8e003f0cfc4e4b", size = 58847, upload-time = "2025-06-18T05:04:01.193Z" } + +[[package]] +name = "ibm-cos-sdk-core" +version = "2.14.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jmespath", marker = "platform_python_implementation != 'PyPy'" }, + { name = "python-dateutil", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, + { name = "urllib3", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a5/db/e913f210d66c2ad09521925f29754fb9b7240da11238a29a0186ebad4ffa/ibm_cos_sdk_core-2.14.2.tar.gz", hash = "sha256:d594b2af58f70e892aa3b0f6ae4b0fa5d412422c05beeba083d4561b5fad91b4", size = 1103504, upload-time = "2025-06-18T05:03:42.969Z" } + +[[package]] +name = "ibm-cos-sdk-s3transfer" +version = "2.14.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ibm-cos-sdk-core", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8e/ca/3c4c48c2a180e3410d08b400435b72648e6630c2d556beb126b7a21a78d7/ibm_cos_sdk_s3transfer-2.14.2.tar.gz", hash = "sha256:01d1cb14c0decaeef273979da7a13f7a874f1d4c542ff3ae0a186c7b090569bc", size = 139579, upload-time = "2025-06-18T05:03:48.841Z" } + +[[package]] +name = "ibm-db" +version = "3.2.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/dd/a5/182413f7fe28ee7a67d8be5afa1139ccc60cfb5c13c0e9be81e2205bddbb/ibm_db-3.2.7.tar.gz", hash = "sha256:b3c3b4550364a43bf1daa4519b668e6e00e7c3935291f8c444c4ec989417e861", size = 269073, upload-time = "2025-09-07T18:35:11.977Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/0c/a5401b3f826fe62f56b77c07f6ec7e2623b06477337a7d1bfe57d36374f8/ibm_db-3.2.7-cp313-cp313-macosx_10_15_x86_64.whl", hash = "sha256:5fead45b6e1a448d90d7bc4fd8a28783988915a7598418f53191a17f4ddac173", size = 24179892, upload-time = "2025-09-07T18:34:05.045Z" }, + { url = "https://files.pythonhosted.org/packages/c3/bd/61fc85752aab993662808b0ad9b50c5babbe5414d58e0814b528d2ba70eb/ibm_db-3.2.7-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:c6462dfd79a23824ce726696531a41a6861555ef27e9f050436bf42ad000734d", size = 20362907, upload-time = "2025-09-07T18:34:07.691Z" }, + { url = "https://files.pythonhosted.org/packages/f4/75/bdd71860b28698480ee0e02eaac1f1ad04ee2e709b7d38eb776dd94980b0/ibm_db-3.2.7-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c133f3ed5fae6065a8ccd386fd08d8d07d783343635e5d7c0b7a704419a398dc", size = 40505702, upload-time = "2025-09-07T18:34:10.87Z" }, + { url = "https://files.pythonhosted.org/packages/05/0c/d0d1d3a0b775a5694444d241aa6e0927d40dfee7329d714d64d667d55e20/ibm_db-3.2.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6eb2d36cfcb1c8b7c25cbdd278ac7be381f7f0c0c8bc330349db166ffd0cf3c5", size = 43820404, upload-time = "2025-09-07T18:34:14.031Z" }, + { url = "https://files.pythonhosted.org/packages/c5/09/083b591869b6baa603d50ef981eafb693b3975eec9e75c71af3a35564741/ibm_db-3.2.7-cp313-cp313-win32.whl", hash = "sha256:3dc814d7824b4917f73e35c3c050ed1286ccccc1c3433a7c37984a3069664ac2", size = 24576237, upload-time = "2025-09-07T18:34:16.879Z" }, + { url = "https://files.pythonhosted.org/packages/ce/97/fab277a0b2c5722ee0020da028d00fdd27aaf4b3dd387f90a16d2cd1ffc3/ibm_db-3.2.7-cp313-cp313-win_amd64.whl", hash = "sha256:ff07632b4514f3af8a64e5c8c38b8aef0833642182a737119e5866a320dd0392", size = 28719302, upload-time = "2025-09-07T18:34:19.784Z" }, +] + +[[package]] +name = "ibm-watsonx-ai" +version = "1.4.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cachetools", marker = "platform_python_implementation != 'PyPy'" }, + { name = "certifi", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpx", marker = "platform_python_implementation != 'PyPy'" }, + { name = "ibm-cos-sdk", marker = "platform_python_implementation != 'PyPy'" }, + { name = "lomond", marker = "platform_python_implementation != 'PyPy'" }, + { name = "packaging", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pandas", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, + { name = "tabulate", marker = "platform_python_implementation != 'PyPy'" }, + { name = "urllib3", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/83/c2/90d95363b40ac6a8adb863cc925cabbc11ec4c20bf936de47eadbf076a61/ibm_watsonx_ai-1.4.4.tar.gz", hash = "sha256:fc11f256245d2631086d7a38a030361099e63a05565465a1929e690da9b779b1", size = 696116, upload-time = "2025-10-29T09:03:25.881Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5a/d6/e46e7b57ca0d9df1e947e837b46dc6f356434cc271b21340cbf61be32d93/ibm_watsonx_ai-1.4.4-py3-none-any.whl", hash = "sha256:b49be31bb848ec1d49a3c33966621a24798b9abdd099d75ef2de6b5efea84c5b", size = 1066443, upload-time = "2025-10-29T09:03:23.896Z" }, +] + [[package]] name = "idna" version = "3.11" @@ -1658,7 +1740,7 @@ name = "importlib-metadata" version = "8.7.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "zipp" }, + { name = "zipp", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz", hash = "sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000", size = 56641, upload-time = "2025-04-27T15:29:01.736Z" } wheels = [ @@ -1697,7 +1779,7 @@ name = "jinja2" version = "3.1.6" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "markupsafe" }, + { name = "markupsafe", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } wheels = [ @@ -1728,31 +1810,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/da/00/2355dbfcbf6cdeaddfdca18287f0f38ae49446bb6378e4a5971e9356fc8a/jiter-0.11.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:330e8e6a11ad4980cd66a0f4a3e0e2e0f646c911ce047014f984841924729789", size = 356399, upload-time = "2025-10-17T11:30:02.084Z" }, { url = "https://files.pythonhosted.org/packages/c9/07/c2bd748d578fa933d894a55bff33f983bc27f75fc4e491b354bef7b78012/jiter-0.11.1-cp313-cp313t-win_amd64.whl", hash = "sha256:09e2e386ebf298547ca3a3704b729471f7ec666c2906c5c26c1a915ea24741ec", size = 203289, upload-time = "2025-10-17T11:30:03.656Z" }, { url = "https://files.pythonhosted.org/packages/e6/ee/ace64a853a1acbd318eb0ca167bad1cf5ee037207504b83a868a5849747b/jiter-0.11.1-cp313-cp313t-win_arm64.whl", hash = "sha256:fe4a431c291157e11cee7c34627990ea75e8d153894365a3bc84b7a959d23ca8", size = 188284, upload-time = "2025-10-17T11:30:05.046Z" }, - { url = "https://files.pythonhosted.org/packages/8d/00/d6006d069e7b076e4c66af90656b63da9481954f290d5eca8c715f4bf125/jiter-0.11.1-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:0fa1f70da7a8a9713ff8e5f75ec3f90c0c870be6d526aa95e7c906f6a1c8c676", size = 304624, upload-time = "2025-10-17T11:30:06.678Z" }, - { url = "https://files.pythonhosted.org/packages/fc/45/4a0e31eb996b9ccfddbae4d3017b46f358a599ccf2e19fbffa5e531bd304/jiter-0.11.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:569ee559e5046a42feb6828c55307cf20fe43308e3ae0d8e9e4f8d8634d99944", size = 315042, upload-time = "2025-10-17T11:30:08.87Z" }, - { url = "https://files.pythonhosted.org/packages/e7/91/22f5746f5159a28c76acdc0778801f3c1181799aab196dbea2d29e064968/jiter-0.11.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f69955fa1d92e81987f092b233f0be49d4c937da107b7f7dcf56306f1d3fcce9", size = 346357, upload-time = "2025-10-17T11:30:10.222Z" }, - { url = "https://files.pythonhosted.org/packages/f5/4f/57620857d4e1dc75c8ff4856c90cb6c135e61bff9b4ebfb5dc86814e82d7/jiter-0.11.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:090f4c9d4a825e0fcbd0a2647c9a88a0f366b75654d982d95a9590745ff0c48d", size = 365057, upload-time = "2025-10-17T11:30:11.585Z" }, - { url = "https://files.pythonhosted.org/packages/ce/34/caf7f9cc8ae0a5bb25a5440cc76c7452d264d1b36701b90fdadd28fe08ec/jiter-0.11.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bbf3d8cedf9e9d825233e0dcac28ff15c47b7c5512fdfe2e25fd5bbb6e6b0cee", size = 487086, upload-time = "2025-10-17T11:30:13.052Z" }, - { url = "https://files.pythonhosted.org/packages/50/17/85b5857c329d533d433fedf98804ebec696004a1f88cabad202b2ddc55cf/jiter-0.11.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2aa9b1958f9c30d3d1a558b75f0626733c60eb9b7774a86b34d88060be1e67fe", size = 376083, upload-time = "2025-10-17T11:30:14.416Z" }, - { url = "https://files.pythonhosted.org/packages/85/d3/2d9f973f828226e6faebdef034097a2918077ea776fb4d88489949024787/jiter-0.11.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e42d1ca16590b768c5e7d723055acd2633908baacb3628dd430842e2e035aa90", size = 357825, upload-time = "2025-10-17T11:30:15.765Z" }, - { url = "https://files.pythonhosted.org/packages/f4/55/848d4dabf2c2c236a05468c315c2cb9dc736c5915e65449ccecdba22fb6f/jiter-0.11.1-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5db4c2486a023820b701a17aec9c5a6173c5ba4393f26662f032f2de9c848b0f", size = 383933, upload-time = "2025-10-17T11:30:17.34Z" }, - { url = "https://files.pythonhosted.org/packages/0b/6c/204c95a4fbb0e26dfa7776c8ef4a878d0c0b215868011cc904bf44f707e2/jiter-0.11.1-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:4573b78777ccfac954859a6eff45cbd9d281d80c8af049d0f1a3d9fc323d5c3a", size = 517118, upload-time = "2025-10-17T11:30:18.684Z" }, - { url = "https://files.pythonhosted.org/packages/88/25/09956644ea5a2b1e7a2a0f665cb69a973b28f4621fa61fc0c0f06ff40a31/jiter-0.11.1-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:7593ac6f40831d7961cb67633c39b9fef6689a211d7919e958f45710504f52d3", size = 508194, upload-time = "2025-10-17T11:30:20.719Z" }, - { url = "https://files.pythonhosted.org/packages/09/49/4d1657355d7f5c9e783083a03a3f07d5858efa6916a7d9634d07db1c23bd/jiter-0.11.1-cp314-cp314-win32.whl", hash = "sha256:87202ec6ff9626ff5f9351507def98fcf0df60e9a146308e8ab221432228f4ea", size = 203961, upload-time = "2025-10-17T11:30:22.073Z" }, - { url = "https://files.pythonhosted.org/packages/76/bd/f063bd5cc2712e7ca3cf6beda50894418fc0cfeb3f6ff45a12d87af25996/jiter-0.11.1-cp314-cp314-win_amd64.whl", hash = "sha256:a5dd268f6531a182c89d0dd9a3f8848e86e92dfff4201b77a18e6b98aa59798c", size = 202804, upload-time = "2025-10-17T11:30:23.452Z" }, - { url = "https://files.pythonhosted.org/packages/52/ca/4d84193dfafef1020bf0bedd5e1a8d0e89cb67c54b8519040effc694964b/jiter-0.11.1-cp314-cp314-win_arm64.whl", hash = "sha256:5d761f863f912a44748a21b5c4979c04252588ded8d1d2760976d2e42cd8d991", size = 188001, upload-time = "2025-10-17T11:30:24.915Z" }, - { url = "https://files.pythonhosted.org/packages/d5/fa/3b05e5c9d32efc770a8510eeb0b071c42ae93a5b576fd91cee9af91689a1/jiter-0.11.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2cc5a3965285ddc33e0cab933e96b640bc9ba5940cea27ebbbf6695e72d6511c", size = 312561, upload-time = "2025-10-17T11:30:26.742Z" }, - { url = "https://files.pythonhosted.org/packages/50/d3/335822eb216154ddb79a130cbdce88fdf5c3e2b43dc5dba1fd95c485aaf5/jiter-0.11.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b572b3636a784c2768b2342f36a23078c8d3aa6d8a30745398b1bab58a6f1a8", size = 344551, upload-time = "2025-10-17T11:30:28.252Z" }, - { url = "https://files.pythonhosted.org/packages/31/6d/a0bed13676b1398f9b3ba61f32569f20a3ff270291161100956a577b2dd3/jiter-0.11.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ad93e3d67a981f96596d65d2298fe8d1aa649deb5374a2fb6a434410ee11915e", size = 363051, upload-time = "2025-10-17T11:30:30.009Z" }, - { url = "https://files.pythonhosted.org/packages/a4/03/313eda04aa08545a5a04ed5876e52f49ab76a4d98e54578896ca3e16313e/jiter-0.11.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a83097ce379e202dcc3fe3fc71a16d523d1ee9192c8e4e854158f96b3efe3f2f", size = 485897, upload-time = "2025-10-17T11:30:31.429Z" }, - { url = "https://files.pythonhosted.org/packages/5f/13/a1011b9d325e40b53b1b96a17c010b8646013417f3902f97a86325b19299/jiter-0.11.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7042c51e7fbeca65631eb0c332f90c0c082eab04334e7ccc28a8588e8e2804d9", size = 375224, upload-time = "2025-10-17T11:30:33.18Z" }, - { url = "https://files.pythonhosted.org/packages/92/da/1b45026b19dd39b419e917165ff0ea629dbb95f374a3a13d2df95e40a6ac/jiter-0.11.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a68d679c0e47649a61df591660507608adc2652442de7ec8276538ac46abe08", size = 356606, upload-time = "2025-10-17T11:30:34.572Z" }, - { url = "https://files.pythonhosted.org/packages/7a/0c/9acb0e54d6a8ba59ce923a180ebe824b4e00e80e56cefde86cc8e0a948be/jiter-0.11.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a1b0da75dbf4b6ec0b3c9e604d1ee8beaf15bc046fff7180f7d89e3cdbd3bb51", size = 384003, upload-time = "2025-10-17T11:30:35.987Z" }, - { url = "https://files.pythonhosted.org/packages/3f/2b/e5a5fe09d6da2145e4eed651e2ce37f3c0cf8016e48b1d302e21fb1628b7/jiter-0.11.1-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:69dd514bf0fa31c62147d6002e5ca2b3e7ef5894f5ac6f0a19752385f4e89437", size = 516946, upload-time = "2025-10-17T11:30:37.425Z" }, - { url = "https://files.pythonhosted.org/packages/5f/fe/db936e16e0228d48eb81f9934e8327e9fde5185e84f02174fcd22a01be87/jiter-0.11.1-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:bb31ac0b339efa24c0ca606febd8b77ef11c58d09af1b5f2be4c99e907b11111", size = 507614, upload-time = "2025-10-17T11:30:38.977Z" }, - { url = "https://files.pythonhosted.org/packages/86/db/c4438e8febfb303486d13c6b72f5eb71cf851e300a0c1f0b4140018dd31f/jiter-0.11.1-cp314-cp314t-win32.whl", hash = "sha256:b2ce0d6156a1d3ad41da3eec63b17e03e296b78b0e0da660876fccfada86d2f7", size = 204043, upload-time = "2025-10-17T11:30:40.308Z" }, - { url = "https://files.pythonhosted.org/packages/36/59/81badb169212f30f47f817dfaabf965bc9b8204fed906fab58104ee541f9/jiter-0.11.1-cp314-cp314t-win_amd64.whl", hash = "sha256:f4db07d127b54c4a2d43b4cf05ff0193e4f73e0dd90c74037e16df0b29f666e1", size = 204046, upload-time = "2025-10-17T11:30:41.692Z" }, - { url = "https://files.pythonhosted.org/packages/dd/01/43f7b4eb61db3e565574c4c5714685d042fb652f9eef7e5a3de6aafa943a/jiter-0.11.1-cp314-cp314t-win_arm64.whl", hash = "sha256:28e4fdf2d7ebfc935523e50d1efa3970043cfaa161674fe66f9642409d001dfe", size = 188069, upload-time = "2025-10-17T11:30:43.23Z" }, ] [[package]] @@ -1770,12 +1827,21 @@ version = "3.0.1" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/5e/73/e01e4c5e11ad0494f4407a3f623ad4d87714909f50b17a06ed121034ff6e/jsmin-3.0.1.tar.gz", hash = "sha256:c0959a121ef94542e807a674142606f7e90214a2b3d1eb17300244bbb5cc2bfc", size = 13925, upload-time = "2022-01-16T20:35:59.13Z" } +[[package]] +name = "json-repair" +version = "0.44.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a8/6b/ed6e92efc5acfbc9c35ccae1676b70e4adb1552421e64f838c2a3f097d9a/json_repair-0.44.1.tar.gz", hash = "sha256:1130eb9733b868dac1340b43cb2effebb519ae6d52dd2d0728c6cca517f1e0b4", size = 32886, upload-time = "2025-04-30T16:09:38.54Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/82/b4/3cbd27a3240b2962c3b87bbb1c20eb6c56e5b26cde61f141f86ca98e2f68/json_repair-0.44.1-py3-none-any.whl", hash = "sha256:51d82532c3b8263782a301eb7904c75dce5fee8c0d1aba490287fc0ab779ac50", size = 22478, upload-time = "2025-04-30T16:09:37.303Z" }, +] + [[package]] name = "jsonlines" version = "4.0.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "attrs" }, + { name = "attrs", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/35/87/bcda8e46c88d0e34cad2f09ee2d0c7f5957bccdb9791b0b934ec84d84be4/jsonlines-4.0.0.tar.gz", hash = "sha256:0c6d2c09117550c089995247f605ae4cf77dd1533041d366351f6f298822ea74", size = 11359, upload-time = "2023-09-01T12:34:44.187Z" } wheels = [ @@ -1787,7 +1853,7 @@ name = "jsonpatch" version = "1.33" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "jsonpointer" }, + { name = "jsonpointer", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/42/78/18813351fe5d63acad16aec57f94ec2b70a09e53ca98145589e185423873/jsonpatch-1.33.tar.gz", hash = "sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c", size = 21699, upload-time = "2023-06-26T12:07:29.144Z" } wheels = [ @@ -1808,10 +1874,10 @@ name = "jsonschema" version = "4.25.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "attrs" }, - { name = "jsonschema-specifications" }, - { name = "referencing" }, - { name = "rpds-py" }, + { name = "attrs", marker = "platform_python_implementation != 'PyPy'" }, + { name = "jsonschema-specifications", marker = "platform_python_implementation != 'PyPy'" }, + { name = "referencing", marker = "platform_python_implementation != 'PyPy'" }, + { name = "rpds-py", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz", hash = "sha256:e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85", size = 357342, upload-time = "2025-08-18T17:03:50.038Z" } wheels = [ @@ -1823,7 +1889,7 @@ name = "jsonschema-specifications" version = "2025.9.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "referencing" }, + { name = "referencing", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d", size = 32855, upload-time = "2025-09-08T01:34:59.186Z" } wheels = [ @@ -1835,18 +1901,17 @@ name = "kubernetes" version = "33.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "certifi" }, - { name = "durationpy" }, - { name = "google-auth" }, - { name = "oauthlib" }, - { name = "python-dateutil" }, - { name = "pyyaml" }, - { name = "requests" }, - { name = "requests-oauthlib" }, - { name = "six" }, - { name = "urllib3", version = "1.26.20", source = { registry = "https://pypi.org/simple" }, marker = "platform_python_implementation == 'PyPy'" }, - { name = "urllib3", version = "2.5.0", source = { registry = "https://pypi.org/simple" }, marker = "platform_python_implementation != 'PyPy'" }, - { name = "websocket-client" }, + { name = "certifi", marker = "platform_python_implementation != 'PyPy'" }, + { name = "durationpy", marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-auth", marker = "platform_python_implementation != 'PyPy'" }, + { name = "oauthlib", marker = "platform_python_implementation != 'PyPy'" }, + { name = "python-dateutil", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pyyaml", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests-oauthlib", marker = "platform_python_implementation != 'PyPy'" }, + { name = "six", marker = "platform_python_implementation != 'PyPy'" }, + { name = "urllib3", marker = "platform_python_implementation != 'PyPy'" }, + { name = "websocket-client", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/ae/52/19ebe8004c243fdfa78268a96727c71e08f00ff6fe69a301d0b7fcbce3c2/kubernetes-33.1.0.tar.gz", hash = "sha256:f64d829843a54c251061a8e7a14523b521f2dc5c896cf6d65ccf348648a88993", size = 1036779, upload-time = "2025-06-09T21:57:58.521Z" } wheels = [ @@ -1855,299 +1920,357 @@ wheels = [ [[package]] name = "langchain" -version = "1.0.2" -source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Flangchain_v1#f3d7152074f3f19c2387dae685d1646d2d1cb286" } +version = "1.0.5" +source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Flangchain_v1#52b1516d44897e3961781b1ed36f48eaa51b8b33" } dependencies = [ - { name = "langchain-core" }, - { name = "langgraph" }, - { name = "pydantic" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langgraph", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-anthropic" -version = "1.0.0" -source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fanthropic#f3d7152074f3f19c2387dae685d1646d2d1cb286" } +version = "1.0.3" +source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fanthropic#52b1516d44897e3961781b1ed36f48eaa51b8b33" } dependencies = [ - { name = "anthropic" }, - { name = "langchain-core" }, - { name = "pydantic" }, + { name = "anthropic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-astradb" version = "1.0.0" -source = { git = "https://github.com/langchain-ai/langchain-datastax.git?subdirectory=libs%2Fastradb#eaefbc3d6c27b04c61676a4e0cf0604d79b059b4" } +source = { git = "https://github.com/langchain-ai/langchain-datastax.git?subdirectory=libs%2Fastradb#01a17a6c3135ef6fdfdef69018f0701cb8db8048" } dependencies = [ - { name = "astrapy" }, - { name = "langchain-core" }, - { name = "numpy" }, + { name = "astrapy", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "numpy", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-aws" version = "1.0.0" -source = { git = "https://github.com/langchain-ai/langchain-aws.git?subdirectory=libs%2Faws#2870775abd9ab985df30fc2a325e9d15de039d13" } +source = { git = "https://github.com/langchain-ai/langchain-aws.git?subdirectory=libs%2Faws#08b231486323c1238da1ae04e4c520999504e8cf" } dependencies = [ - { name = "boto3" }, - { name = "langchain-core" }, - { name = "numpy" }, - { name = "pydantic" }, + { name = "boto3", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "numpy", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-azure-ai" -version = "1.0.1" -source = { git = "https://github.com/langchain-ai/langchain-azure.git?subdirectory=libs%2Fazure-ai#02aa100270dcbba05b9cd17b85f9f1e28bd7916c" } +version = "1.0.3" +source = { git = "https://github.com/langchain-ai/langchain-azure.git?subdirectory=libs%2Fazure-ai#e2199b081fab11a2f81b02751be318d904b83ef4" } dependencies = [ - { name = "aiohttp" }, - { name = "azure-ai-agents" }, - { name = "azure-ai-inference", extra = ["opentelemetry"] }, - { name = "azure-ai-projects" }, - { name = "azure-core" }, - { name = "azure-cosmos" }, - { name = "azure-identity" }, - { name = "azure-search-documents" }, - { name = "langchain" }, - { name = "langchain-openai" }, - { name = "numpy" }, - { name = "six" }, + { name = "aiohttp", marker = "platform_python_implementation != 'PyPy'" }, + { name = "azure-ai-agents", marker = "platform_python_implementation != 'PyPy'" }, + { name = "azure-ai-inference", extra = ["opentelemetry"], marker = "platform_python_implementation != 'PyPy'" }, + { name = "azure-ai-projects", marker = "platform_python_implementation != 'PyPy'" }, + { name = "azure-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "azure-cosmos", marker = "platform_python_implementation != 'PyPy'" }, + { name = "azure-identity", marker = "platform_python_implementation != 'PyPy'" }, + { name = "azure-search-documents", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-openai", marker = "platform_python_implementation != 'PyPy'" }, + { name = "numpy", marker = "platform_python_implementation != 'PyPy'" }, + { name = "six", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-azure-storage" version = "1.0.0" -source = { git = "https://github.com/langchain-ai/langchain-azure.git?subdirectory=libs%2Fazure-storage#02aa100270dcbba05b9cd17b85f9f1e28bd7916c" } +source = { git = "https://github.com/langchain-ai/langchain-azure.git?subdirectory=libs%2Fazure-storage#e2199b081fab11a2f81b02751be318d904b83ef4" } dependencies = [ - { name = "azure-identity" }, - { name = "azure-storage-blob", extra = ["aio"] }, - { name = "langchain-core" }, + { name = "azure-identity", marker = "platform_python_implementation != 'PyPy'" }, + { name = "azure-storage-blob", extra = ["aio"], marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-chroma" version = "1.0.0" -source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fchroma#f3d7152074f3f19c2387dae685d1646d2d1cb286" } +source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fchroma#52b1516d44897e3961781b1ed36f48eaa51b8b33" } dependencies = [ - { name = "chromadb" }, - { name = "langchain-core" }, - { name = "numpy" }, + { name = "chromadb", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "numpy", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-classic" version = "1.0.0" -source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Flangchain#f3d7152074f3f19c2387dae685d1646d2d1cb286" } +source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Flangchain#52b1516d44897e3961781b1ed36f48eaa51b8b33" } dependencies = [ - { name = "langchain-core" }, - { name = "langchain-text-splitters" }, - { name = "langsmith" }, - { name = "pydantic" }, - { name = "pyyaml" }, - { name = "requests" }, - { name = "sqlalchemy" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-text-splitters", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langsmith", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pyyaml", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, + { name = "sqlalchemy", marker = "platform_python_implementation != 'PyPy'" }, +] + +[[package]] +name = "langchain-cohere" +version = "0.5.0" +source = { git = "https://github.com/langchain-ai/langchain-cohere.git?subdirectory=libs%2Fcohere#aca2a7e05b71a9cfdaa052fd6a49d31613892803" } +dependencies = [ + { name = "cohere", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-community", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "types-pyyaml", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-community" -version = "0.4" -source = { git = "https://github.com/langchain-ai/langchain-community.git?subdirectory=libs%2Fcommunity#77b245d87497b4ed793b3e71fcc8c6df22ffa149" } +version = "0.4.1" +source = { git = "https://github.com/langchain-ai/langchain-community.git?subdirectory=libs%2Fcommunity#c3a9294d4b9e0e0cb6716e5f4b6198bd4853a08b" } dependencies = [ - { name = "aiohttp" }, - { name = "dataclasses-json" }, - { name = "httpx-sse" }, - { name = "langchain-classic" }, - { name = "langchain-core" }, - { name = "langsmith" }, - { name = "numpy" }, - { name = "pydantic-settings" }, - { name = "pyyaml" }, - { name = "requests" }, - { name = "sqlalchemy" }, - { name = "tenacity" }, + { name = "aiohttp", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpx-sse", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-classic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langsmith", marker = "platform_python_implementation != 'PyPy'" }, + { name = "numpy", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic-settings", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pyyaml", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, + { name = "sqlalchemy", marker = "platform_python_implementation != 'PyPy'" }, + { name = "tenacity", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-core" -version = "1.0.1" -source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fcore#f3d7152074f3f19c2387dae685d1646d2d1cb286" } +version = "1.0.5" +source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fcore#52b1516d44897e3961781b1ed36f48eaa51b8b33" } dependencies = [ - { name = "jsonpatch" }, - { name = "langsmith" }, - { name = "packaging" }, - { name = "pydantic" }, - { name = "pyyaml" }, - { name = "tenacity" }, - { name = "typing-extensions" }, + { name = "jsonpatch", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langsmith", marker = "platform_python_implementation != 'PyPy'" }, + { name = "packaging", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pyyaml", marker = "platform_python_implementation != 'PyPy'" }, + { name = "tenacity", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] -name = "langchain-deepseek" +name = "langchain-db2" version = "1.0.0" -source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fdeepseek#f3d7152074f3f19c2387dae685d1646d2d1cb286" } +source = { git = "https://github.com/langchain-ai/langchain-ibm.git?subdirectory=libs%2Flangchain-db2#08126f4b142c9426e19ba025cd764225bf8f41e5" } dependencies = [ - { name = "langchain-core" }, - { name = "langchain-openai" }, + { name = "ibm-db", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-community", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, +] + +[[package]] +name = "langchain-deepseek" +version = "1.0.1" +source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fdeepseek#52b1516d44897e3961781b1ed36f48eaa51b8b33" } +dependencies = [ + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-openai", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-exa" version = "1.0.0" -source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fexa#f3d7152074f3f19c2387dae685d1646d2d1cb286" } +source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fexa#52b1516d44897e3961781b1ed36f48eaa51b8b33" } dependencies = [ - { name = "exa-py" }, - { name = "langchain-core" }, + { name = "exa-py", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-fireworks" version = "1.0.0" -source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Ffireworks#f3d7152074f3f19c2387dae685d1646d2d1cb286" } +source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Ffireworks#52b1516d44897e3961781b1ed36f48eaa51b8b33" } dependencies = [ - { name = "aiohttp" }, - { name = "fireworks-ai" }, - { name = "langchain-core" }, - { name = "openai" }, - { name = "requests" }, + { name = "aiohttp", marker = "platform_python_implementation != 'PyPy'" }, + { name = "fireworks-ai", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "openai", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-google-community" -version = "3.0.0" -source = { git = "https://github.com/langchain-ai/langchain-google.git?subdirectory=libs%2Fcommunity#ee60a4ef177df730159b03da4139b6f3ba134b20" } +version = "3.0.1" +source = { git = "https://github.com/langchain-ai/langchain-google.git?subdirectory=libs%2Fcommunity#81d5498000baa22aece5ebcf6a90aeb6ff130791" } dependencies = [ - { name = "google-api-core" }, - { name = "google-api-python-client" }, - { name = "google-cloud-core" }, - { name = "google-cloud-modelarmor" }, - { name = "grpcio" }, - { name = "langchain-community" }, - { name = "langchain-core" }, + { name = "google-api-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-api-python-client", marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-cloud-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-cloud-modelarmor", marker = "platform_python_implementation != 'PyPy'" }, + { name = "grpcio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-community", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-google-genai" -version = "3.0.0" -source = { git = "https://github.com/langchain-ai/langchain-google.git?subdirectory=libs%2Fgenai#ee60a4ef177df730159b03da4139b6f3ba134b20" } +version = "3.0.3" +source = { git = "https://github.com/langchain-ai/langchain-google.git?subdirectory=libs%2Fgenai#81d5498000baa22aece5ebcf6a90aeb6ff130791" } dependencies = [ - { name = "filetype" }, - { name = "google-ai-generativelanguage" }, - { name = "langchain-core" }, - { name = "pydantic" }, + { name = "filetype", marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-ai-generativelanguage", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-google-vertexai" -version = "3.0.1" -source = { git = "https://github.com/langchain-ai/langchain-google.git?subdirectory=libs%2Fvertexai#ee60a4ef177df730159b03da4139b6f3ba134b20" } +version = "3.0.3" +source = { git = "https://github.com/langchain-ai/langchain-google.git?subdirectory=libs%2Fvertexai#81d5498000baa22aece5ebcf6a90aeb6ff130791" } dependencies = [ - { name = "bottleneck" }, - { name = "google-cloud-aiplatform" }, - { name = "google-cloud-storage" }, - { name = "httpx" }, - { name = "httpx-sse" }, - { name = "langchain-core" }, - { name = "numexpr" }, - { name = "pyarrow" }, - { name = "pydantic" }, - { name = "validators" }, + { name = "bottleneck", marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-cloud-aiplatform", marker = "platform_python_implementation != 'PyPy'" }, + { name = "google-cloud-storage", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpx", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpx-sse", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "numexpr", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pyarrow", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "validators", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-groq" -version = "1.0.0" -source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fgroq#f3d7152074f3f19c2387dae685d1646d2d1cb286" } +version = "1.0.1" +source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fgroq#52b1516d44897e3961781b1ed36f48eaa51b8b33" } dependencies = [ - { name = "groq" }, - { name = "langchain-core" }, + { name = "groq", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-huggingface" -version = "1.0.0" -source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fhuggingface#f3d7152074f3f19c2387dae685d1646d2d1cb286" } +version = "1.0.1" +source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fhuggingface#52b1516d44897e3961781b1ed36f48eaa51b8b33" } +dependencies = [ + { name = "huggingface-hub", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "tokenizers", marker = "platform_python_implementation != 'PyPy'" }, +] + +[[package]] +name = "langchain-ibm" +version = "1.0.1" +source = { git = "https://github.com/langchain-ai/langchain-ibm.git?subdirectory=libs%2Fibm#08126f4b142c9426e19ba025cd764225bf8f41e5" } dependencies = [ - { name = "huggingface-hub" }, - { name = "langchain-core" }, - { name = "tokenizers" }, + { name = "ibm-watsonx-ai", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-mcp-adapters" -version = "0.1.10" -source = { git = "https://github.com/langchain-ai/langchain-mcp-adapters.git#4db3ccbb65355bbda07f221f093bd9568733b1e2" } +version = "0.1.13" +source = { git = "https://github.com/langchain-ai/langchain-mcp-adapters.git#a4ceeced6c9d29aec175805ca5e6317ba83bc891" } +dependencies = [ + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "mcp", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, +] + +[[package]] +name = "langchain-milvus" +version = "0.3.0" +source = { git = "https://github.com/langchain-ai/langchain-milvus.git?subdirectory=libs%2Fmilvus#8ea22e1c6545038ec112a10d4794c146db175de9" } dependencies = [ - { name = "langchain-core" }, - { name = "mcp" }, - { name = "typing-extensions" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pymilvus", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-mistralai" version = "1.0.1" -source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fmistralai#f3d7152074f3f19c2387dae685d1646d2d1cb286" } +source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fmistralai#52b1516d44897e3961781b1ed36f48eaa51b8b33" } dependencies = [ - { name = "httpx" }, - { name = "httpx-sse" }, - { name = "langchain-core" }, - { name = "pydantic" }, - { name = "tokenizers" }, + { name = "httpx", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpx-sse", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "tokenizers", marker = "platform_python_implementation != 'PyPy'" }, +] + +[[package]] +name = "langchain-model-profiles" +version = "0.0.4" +source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fmodel-profiles#52b1516d44897e3961781b1ed36f48eaa51b8b33" } +dependencies = [ + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, +] + +[[package]] +name = "langchain-neo4j" +version = "0.6.0" +source = { git = "https://github.com/langchain-ai/langchain-neo4j.git?subdirectory=libs%2Fneo4j#32061e6247af2acef97a57f37bd95fca558e907c" } +dependencies = [ + { name = "langchain-classic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "neo4j", marker = "platform_python_implementation != 'PyPy'" }, + { name = "neo4j-graphrag", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-nomic" -version = "1.0.0" -source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fnomic#f3d7152074f3f19c2387dae685d1646d2d1cb286" } +version = "1.0.1" +source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fnomic#52b1516d44897e3961781b1ed36f48eaa51b8b33" } dependencies = [ - { name = "langchain-core" }, - { name = "nomic" }, - { name = "pillow" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "nomic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pillow", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-ollama" version = "1.0.0" -source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Follama#f3d7152074f3f19c2387dae685d1646d2d1cb286" } +source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Follama#52b1516d44897e3961781b1ed36f48eaa51b8b33" } dependencies = [ - { name = "langchain-core" }, - { name = "ollama" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "ollama", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-openai" -version = "1.0.1" -source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fopenai#f3d7152074f3f19c2387dae685d1646d2d1cb286" } +version = "1.0.3" +source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fopenai#52b1516d44897e3961781b1ed36f48eaa51b8b33" } dependencies = [ - { name = "langchain-core" }, - { name = "openai" }, - { name = "tiktoken" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "openai", marker = "platform_python_implementation != 'PyPy'" }, + { name = "tiktoken", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-perplexity" version = "1.0.0" -source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fperplexity#f3d7152074f3f19c2387dae685d1646d2d1cb286" } +source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fperplexity#52b1516d44897e3961781b1ed36f48eaa51b8b33" } dependencies = [ - { name = "langchain-core" }, - { name = "openai" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "openai", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-prompty" version = "1.0.0" -source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fprompty#f3d7152074f3f19c2387dae685d1646d2d1cb286" } +source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fprompty#52b1516d44897e3961781b1ed36f48eaa51b8b33" } dependencies = [ - { name = "langchain-core" }, - { name = "pyyaml" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pyyaml", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-qdrant" version = "1.1.0" -source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fqdrant#f3d7152074f3f19c2387dae685d1646d2d1cb286" } +source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fqdrant#52b1516d44897e3961781b1ed36f48eaa51b8b33" } dependencies = [ - { name = "langchain-core" }, - { name = "pydantic" }, - { name = "qdrant-client" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "qdrant-client", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] @@ -2155,65 +2278,73 @@ name = "langchain-reference-docs" version = "0.1.0" source = { virtual = "." } dependencies = [ - { name = "deepagents" }, - { name = "griffe-inherited-docstrings" }, - { name = "griffe-warnings-deprecated" }, - { name = "langchain" }, - { name = "langchain-anthropic" }, - { name = "langchain-astradb" }, - { name = "langchain-aws" }, - { name = "langchain-azure-ai" }, - { name = "langchain-azure-storage" }, - { name = "langchain-chroma" }, - { name = "langchain-classic" }, - { name = "langchain-community" }, - { name = "langchain-core" }, - { name = "langchain-deepseek" }, - { name = "langchain-exa" }, - { name = "langchain-fireworks" }, - { name = "langchain-google-community" }, - { name = "langchain-google-genai" }, - { name = "langchain-google-vertexai" }, - { name = "langchain-groq" }, - { name = "langchain-huggingface" }, - { name = "langchain-mcp-adapters" }, - { name = "langchain-mistralai" }, - { name = "langchain-nomic" }, - { name = "langchain-ollama" }, - { name = "langchain-openai" }, - { name = "langchain-perplexity" }, - { name = "langchain-prompty" }, - { name = "langchain-qdrant" }, - { name = "langchain-tavily" }, - { name = "langchain-tests" }, - { name = "langchain-text-splitters" }, - { name = "langchain-xai" }, - { name = "langgraph" }, - { name = "langgraph-checkpoint" }, - { name = "langgraph-checkpoint-aws" }, - { name = "langgraph-checkpoint-postgres" }, - { name = "langgraph-checkpoint-sqlite" }, - { name = "langgraph-prebuilt" }, - { name = "langgraph-sdk" }, - { name = "langsmith" }, - { name = "markdown-callouts" }, - { name = "markdown-include" }, - { name = "mkdocs" }, - { name = "mkdocs-exclude" }, - { name = "mkdocs-exclude-search" }, - { name = "mkdocs-git-authors-plugin" }, - { name = "mkdocs-git-committers-plugin-2" }, - { name = "mkdocs-include-markdown-plugin" }, - { name = "mkdocs-material", extra = ["imaging"] }, - { name = "mkdocs-minify-plugin" }, - { name = "mkdocstrings" }, - { name = "mkdocstrings-python" }, - { name = "ruff" }, + { name = "deepagents", marker = "platform_python_implementation != 'PyPy'" }, + { name = "griffe-inherited-docstrings", marker = "platform_python_implementation != 'PyPy'" }, + { name = "griffe-warnings-deprecated", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-anthropic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-astradb", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-aws", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-azure-ai", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-azure-storage", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-chroma", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-classic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-cohere", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-community", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-db2", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-deepseek", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-exa", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-fireworks", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-google-community", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-google-genai", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-google-vertexai", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-groq", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-huggingface", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-ibm", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-mcp-adapters", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-milvus", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-mistralai", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-model-profiles", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-neo4j", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-nomic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-ollama", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-openai", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-perplexity", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-prompty", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-qdrant", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-tavily", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-tests", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-text-splitters", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-weaviate", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-xai", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langgraph", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langgraph-checkpoint", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langgraph-checkpoint-aws", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langgraph-checkpoint-postgres", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langgraph-checkpoint-sqlite", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langgraph-prebuilt", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langgraph-sdk", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langgraph-supervisor", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langsmith", marker = "platform_python_implementation != 'PyPy'" }, + { name = "markdown-callouts", marker = "platform_python_implementation != 'PyPy'" }, + { name = "markdown-include", marker = "platform_python_implementation != 'PyPy'" }, + { name = "mkdocs", marker = "platform_python_implementation != 'PyPy'" }, + { name = "mkdocs-exclude", marker = "platform_python_implementation != 'PyPy'" }, + { name = "mkdocs-exclude-search", marker = "platform_python_implementation != 'PyPy'" }, + { name = "mkdocs-git-authors-plugin", marker = "platform_python_implementation != 'PyPy'" }, + { name = "mkdocs-git-committers-plugin-2", marker = "platform_python_implementation != 'PyPy'" }, + { name = "mkdocs-include-markdown-plugin", marker = "platform_python_implementation != 'PyPy'" }, + { name = "mkdocs-material", extra = ["imaging"], marker = "platform_python_implementation != 'PyPy'" }, + { name = "mkdocs-minify-plugin", marker = "platform_python_implementation != 'PyPy'" }, + { name = "mkdocstrings", marker = "platform_python_implementation != 'PyPy'" }, + { name = "mkdocstrings-python", marker = "platform_python_implementation != 'PyPy'" }, + { name = "ruff", marker = "platform_python_implementation != 'PyPy'" }, ] [package.metadata] requires-dist = [ - { name = "deepagents", git = "https://github.com/langchain-ai/deepagents.git" }, + { name = "deepagents", git = "https://github.com/langchain-ai/deepagents.git?subdirectory=libs%2Fdeepagents" }, { name = "griffe-inherited-docstrings", specifier = ">=1.1.2,<2.0.0" }, { name = "griffe-warnings-deprecated", specifier = ">=1.1.0,<2.0.0" }, { name = "langchain", git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Flangchain_v1" }, @@ -2224,8 +2355,10 @@ requires-dist = [ { name = "langchain-azure-storage", git = "https://github.com/langchain-ai/langchain-azure.git?subdirectory=libs%2Fazure-storage" }, { name = "langchain-chroma", git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fchroma" }, { name = "langchain-classic", git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Flangchain" }, + { name = "langchain-cohere", git = "https://github.com/langchain-ai/langchain-cohere.git?subdirectory=libs%2Fcohere" }, { name = "langchain-community", git = "https://github.com/langchain-ai/langchain-community.git?subdirectory=libs%2Fcommunity" }, { name = "langchain-core", git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fcore" }, + { name = "langchain-db2", git = "https://github.com/langchain-ai/langchain-ibm.git?subdirectory=libs%2Flangchain-db2" }, { name = "langchain-deepseek", git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fdeepseek" }, { name = "langchain-exa", git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fexa" }, { name = "langchain-fireworks", git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Ffireworks" }, @@ -2234,8 +2367,12 @@ requires-dist = [ { name = "langchain-google-vertexai", git = "https://github.com/langchain-ai/langchain-google.git?subdirectory=libs%2Fvertexai" }, { name = "langchain-groq", git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fgroq" }, { name = "langchain-huggingface", git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fhuggingface" }, + { name = "langchain-ibm", git = "https://github.com/langchain-ai/langchain-ibm.git?subdirectory=libs%2Fibm" }, { name = "langchain-mcp-adapters", git = "https://github.com/langchain-ai/langchain-mcp-adapters.git" }, + { name = "langchain-milvus", git = "https://github.com/langchain-ai/langchain-milvus.git?subdirectory=libs%2Fmilvus" }, { name = "langchain-mistralai", git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fmistralai" }, + { name = "langchain-model-profiles", git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fmodel-profiles" }, + { name = "langchain-neo4j", git = "https://github.com/langchain-ai/langchain-neo4j.git?subdirectory=libs%2Fneo4j" }, { name = "langchain-nomic", git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fnomic" }, { name = "langchain-ollama", git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Follama" }, { name = "langchain-openai", git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fopenai" }, @@ -2245,6 +2382,7 @@ requires-dist = [ { name = "langchain-tavily", git = "https://github.com/tavily-ai/langchain-tavily.git" }, { name = "langchain-tests", git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fstandard-tests" }, { name = "langchain-text-splitters", git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Ftext-splitters" }, + { name = "langchain-weaviate", git = "https://github.com/langchain-ai/langchain-weaviate.git?subdirectory=libs%2Fweaviate&branch=v1.0" }, { name = "langchain-xai", git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fxai" }, { name = "langgraph", git = "https://github.com/langchain-ai/langgraph?subdirectory=libs%2Flanggraph" }, { name = "langgraph-checkpoint", git = "https://github.com/langchain-ai/langgraph?subdirectory=libs%2Fcheckpoint" }, @@ -2253,6 +2391,7 @@ requires-dist = [ { name = "langgraph-checkpoint-sqlite", git = "https://github.com/langchain-ai/langgraph?subdirectory=libs%2Fcheckpoint-sqlite" }, { name = "langgraph-prebuilt", git = "https://github.com/langchain-ai/langgraph?subdirectory=libs%2Fprebuilt" }, { name = "langgraph-sdk", git = "https://github.com/langchain-ai/langgraph?subdirectory=libs%2Fsdk-py" }, + { name = "langgraph-supervisor", git = "https://github.com/langchain-ai/langgraph-supervisor-py" }, { name = "langsmith", git = "https://github.com/langchain-ai/langsmith-sdk.git?subdirectory=python" }, { name = "markdown-callouts", specifier = ">=0.3.0,<1.0.0" }, { name = "markdown-include", specifier = ">=0.8.1,<1.0.0" }, @@ -2271,135 +2410,155 @@ requires-dist = [ [[package]] name = "langchain-tavily" -version = "0.2.12" -source = { git = "https://github.com/tavily-ai/langchain-tavily.git#e12637c1bd2ea6f935cd3a2bda7f96b6cd7a4fba" } +version = "0.2.13" +source = { git = "https://github.com/tavily-ai/langchain-tavily.git#990ff96a445aba8e28e510a21c057e91d09b81e3" } dependencies = [ - { name = "aiohttp" }, - { name = "langchain" }, - { name = "langchain-core" }, - { name = "requests" }, + { name = "aiohttp", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-tests" -version = "1.0.0" -source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fstandard-tests#f3d7152074f3f19c2387dae685d1646d2d1cb286" } +version = "1.0.1" +source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fstandard-tests#52b1516d44897e3961781b1ed36f48eaa51b8b33" } dependencies = [ - { name = "httpx" }, - { name = "langchain-core" }, - { name = "numpy" }, - { name = "pytest" }, - { name = "pytest-asyncio" }, - { name = "pytest-benchmark" }, - { name = "pytest-codspeed" }, - { name = "pytest-recording" }, - { name = "pytest-socket" }, - { name = "syrupy" }, - { name = "vcrpy" }, + { name = "httpx", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "numpy", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pytest", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pytest-asyncio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pytest-benchmark", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pytest-codspeed", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pytest-recording", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pytest-socket", marker = "platform_python_implementation != 'PyPy'" }, + { name = "syrupy", marker = "platform_python_implementation != 'PyPy'" }, + { name = "vcrpy", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-text-splitters" version = "1.0.0" -source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Ftext-splitters#f3d7152074f3f19c2387dae685d1646d2d1cb286" } +source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Ftext-splitters#52b1516d44897e3961781b1ed36f48eaa51b8b33" } dependencies = [ - { name = "langchain-core" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, +] + +[[package]] +name = "langchain-weaviate" +version = "0.0.5" +source = { git = "https://github.com/langchain-ai/langchain-weaviate.git?subdirectory=libs%2Fweaviate&branch=v1.0#b1b358de4692e220067950f2eeffca8deb46623d" } +dependencies = [ + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "numpy", marker = "platform_python_implementation != 'PyPy'" }, + { name = "simsimd", marker = "platform_python_implementation != 'PyPy'" }, + { name = "weaviate-client", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langchain-xai" version = "1.0.0" -source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fxai#f3d7152074f3f19c2387dae685d1646d2d1cb286" } +source = { git = "https://github.com/langchain-ai/langchain.git?subdirectory=libs%2Fpartners%2Fxai#52b1516d44897e3961781b1ed36f48eaa51b8b33" } dependencies = [ - { name = "aiohttp" }, - { name = "langchain-core" }, - { name = "langchain-openai" }, - { name = "requests" }, + { name = "aiohttp", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langchain-openai", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langgraph" -version = "1.0.1" -source = { git = "https://github.com/langchain-ai/langgraph?subdirectory=libs%2Flanggraph#5796ca9a0ad8ec53dbcf12fa9f1d671b826e5f1d" } +version = "1.0.3" +source = { git = "https://github.com/langchain-ai/langgraph?subdirectory=libs%2Flanggraph#df8becd5cfc74bb09ab2d7cbdf17c5559114b8d8" } dependencies = [ - { name = "langchain-core" }, - { name = "langgraph-checkpoint" }, - { name = "langgraph-prebuilt" }, - { name = "langgraph-sdk" }, - { name = "pydantic" }, - { name = "xxhash" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langgraph-checkpoint", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langgraph-prebuilt", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langgraph-sdk", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "xxhash", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langgraph-checkpoint" -version = "3.0.0" -source = { git = "https://github.com/langchain-ai/langgraph?subdirectory=libs%2Fcheckpoint#5796ca9a0ad8ec53dbcf12fa9f1d671b826e5f1d" } +version = "3.0.1" +source = { git = "https://github.com/langchain-ai/langgraph?subdirectory=libs%2Fcheckpoint#df8becd5cfc74bb09ab2d7cbdf17c5559114b8d8" } dependencies = [ - { name = "langchain-core" }, - { name = "ormsgpack" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "ormsgpack", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langgraph-checkpoint-aws" -version = "1.0.0" -source = { git = "https://github.com/langchain-ai/langchain-aws.git?subdirectory=libs%2Flanggraph-checkpoint-aws#2870775abd9ab985df30fc2a325e9d15de039d13" } +version = "1.0.1" +source = { git = "https://github.com/langchain-ai/langchain-aws.git?subdirectory=libs%2Flanggraph-checkpoint-aws#08b231486323c1238da1ae04e4c520999504e8cf" } dependencies = [ - { name = "boto3" }, - { name = "langgraph" }, - { name = "langgraph-checkpoint" }, + { name = "boto3", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langgraph", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langgraph-checkpoint", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langgraph-checkpoint-postgres" -version = "3.0.0" -source = { git = "https://github.com/langchain-ai/langgraph?subdirectory=libs%2Fcheckpoint-postgres#5796ca9a0ad8ec53dbcf12fa9f1d671b826e5f1d" } +version = "3.0.1" +source = { git = "https://github.com/langchain-ai/langgraph?subdirectory=libs%2Fcheckpoint-postgres#df8becd5cfc74bb09ab2d7cbdf17c5559114b8d8" } dependencies = [ - { name = "langgraph-checkpoint" }, - { name = "orjson" }, - { name = "psycopg" }, - { name = "psycopg-pool" }, + { name = "langgraph-checkpoint", marker = "platform_python_implementation != 'PyPy'" }, + { name = "orjson", marker = "platform_python_implementation != 'PyPy'" }, + { name = "psycopg", marker = "platform_python_implementation != 'PyPy'" }, + { name = "psycopg-pool", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langgraph-checkpoint-sqlite" version = "3.0.0" -source = { git = "https://github.com/langchain-ai/langgraph?subdirectory=libs%2Fcheckpoint-sqlite#5796ca9a0ad8ec53dbcf12fa9f1d671b826e5f1d" } +source = { git = "https://github.com/langchain-ai/langgraph?subdirectory=libs%2Fcheckpoint-sqlite#df8becd5cfc74bb09ab2d7cbdf17c5559114b8d8" } dependencies = [ - { name = "aiosqlite" }, - { name = "langgraph-checkpoint" }, - { name = "sqlite-vec" }, + { name = "aiosqlite", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langgraph-checkpoint", marker = "platform_python_implementation != 'PyPy'" }, + { name = "sqlite-vec", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langgraph-prebuilt" -version = "1.0.1" -source = { git = "https://github.com/langchain-ai/langgraph?subdirectory=libs%2Fprebuilt#5796ca9a0ad8ec53dbcf12fa9f1d671b826e5f1d" } +version = "1.0.4" +source = { git = "https://github.com/langchain-ai/langgraph?subdirectory=libs%2Fprebuilt#df8becd5cfc74bb09ab2d7cbdf17c5559114b8d8" } dependencies = [ - { name = "langchain-core" }, - { name = "langgraph-checkpoint" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langgraph-checkpoint", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langgraph-sdk" version = "0.2.9" -source = { git = "https://github.com/langchain-ai/langgraph?subdirectory=libs%2Fsdk-py#5796ca9a0ad8ec53dbcf12fa9f1d671b826e5f1d" } +source = { git = "https://github.com/langchain-ai/langgraph?subdirectory=libs%2Fsdk-py#df8becd5cfc74bb09ab2d7cbdf17c5559114b8d8" } +dependencies = [ + { name = "httpx", marker = "platform_python_implementation != 'PyPy'" }, + { name = "orjson", marker = "platform_python_implementation != 'PyPy'" }, +] + +[[package]] +name = "langgraph-supervisor" +version = "0.0.30" +source = { git = "https://github.com/langchain-ai/langgraph-supervisor-py#e982c889d78fa185124745bf50cbc3323a164e74" } dependencies = [ - { name = "httpx" }, - { name = "orjson" }, + { name = "langchain-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "langgraph", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] name = "langsmith" -version = "0.4.38" -source = { git = "https://github.com/langchain-ai/langsmith-sdk.git?subdirectory=python#026ad1b516642382ed7359ae027073e480e5180b" } +version = "0.4.43" +source = { git = "https://github.com/langchain-ai/langsmith-sdk.git?subdirectory=python#e705fbd362be69dd70229f94bc09651ef8056a61" } dependencies = [ - { name = "httpx" }, + { name = "httpx", marker = "platform_python_implementation != 'PyPy'" }, { name = "orjson", marker = "platform_python_implementation != 'PyPy'" }, - { name = "packaging" }, - { name = "pydantic" }, - { name = "requests" }, - { name = "requests-toolbelt" }, - { name = "zstandard" }, + { name = "packaging", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests-toolbelt", marker = "platform_python_implementation != 'PyPy'" }, + { name = "zstandard", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] @@ -2407,14 +2566,26 @@ name = "loguru" version = "0.7.3" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "colorama", marker = "sys_platform == 'win32'" }, - { name = "win32-setctime", marker = "sys_platform == 'win32'" }, + { name = "colorama", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" }, + { name = "win32-setctime", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/3a/05/a1dae3dffd1116099471c643b8924f5aa6524411dc6c63fdae648c4f1aca/loguru-0.7.3.tar.gz", hash = "sha256:19480589e77d47b8d85b2c827ad95d49bf31b0dcde16593892eb51dd18706eb6", size = 63559, upload-time = "2024-12-06T11:20:56.608Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/0c/29/0348de65b8cc732daa3e33e67806420b2ae89bdce2b04af740289c5c6c8c/loguru-0.7.3-py3-none-any.whl", hash = "sha256:31a33c10c8e1e10422bfd431aeb5d351c7cf7fa671e3c4df004162264b28220c", size = 61595, upload-time = "2024-12-06T11:20:54.538Z" }, ] +[[package]] +name = "lomond" +version = "0.3.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c0/9e/ef7813c910d4a893f2bc763ce9246269f55cc68db21dc1327e376d6a2d02/lomond-0.3.3.tar.gz", hash = "sha256:427936596b144b4ec387ead99aac1560b77c8a78107d3d49415d3abbe79acbd3", size = 28789, upload-time = "2018-09-21T15:17:43.297Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0f/b1/02eebed49c754b01b17de7705caa8c4ceecfb4f926cdafc220c863584360/lomond-0.3.3-py2.py3-none-any.whl", hash = "sha256:df1dd4dd7b802a12b71907ab1abb08b8ce9950195311207579379eb3b1553de7", size = 35512, upload-time = "2018-09-21T15:17:38.686Z" }, +] + [[package]] name = "lxml" version = "6.0.2" @@ -2439,42 +2610,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/76/04/5c5e2b8577bc936e219becb2e98cdb1aca14a4921a12995b9d0c523502ae/lxml-6.0.2-cp313-cp313-win32.whl", hash = "sha256:e8cd2415f372e7e5a789d743d133ae474290a90b9023197fd78f32e2dc6873e2", size = 3610700, upload-time = "2025-09-22T04:02:24.465Z" }, { url = "https://files.pythonhosted.org/packages/fe/0a/4643ccc6bb8b143e9f9640aa54e38255f9d3b45feb2cbe7ae2ca47e8782e/lxml-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:b30d46379644fbfc3ab81f8f82ae4de55179414651f110a1514f0b1f8f6cb2d7", size = 4010347, upload-time = "2025-09-22T04:02:26.286Z" }, { url = "https://files.pythonhosted.org/packages/31/ef/dcf1d29c3f530577f61e5fe2f1bd72929acf779953668a8a47a479ae6f26/lxml-6.0.2-cp313-cp313-win_arm64.whl", hash = "sha256:13dcecc9946dca97b11b7c40d29fba63b55ab4170d3c0cf8c0c164343b9bfdcf", size = 3671248, upload-time = "2025-09-22T04:02:27.918Z" }, - { url = "https://files.pythonhosted.org/packages/03/15/d4a377b385ab693ce97b472fe0c77c2b16ec79590e688b3ccc71fba19884/lxml-6.0.2-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:b0c732aa23de8f8aec23f4b580d1e52905ef468afb4abeafd3fec77042abb6fe", size = 8659801, upload-time = "2025-09-22T04:02:30.113Z" }, - { url = "https://files.pythonhosted.org/packages/c8/e8/c128e37589463668794d503afaeb003987373c5f94d667124ffd8078bbd9/lxml-6.0.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:4468e3b83e10e0317a89a33d28f7aeba1caa4d1a6fd457d115dd4ffe90c5931d", size = 4659403, upload-time = "2025-09-22T04:02:32.119Z" }, - { url = "https://files.pythonhosted.org/packages/00/ce/74903904339decdf7da7847bb5741fc98a5451b42fc419a86c0c13d26fe2/lxml-6.0.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:abd44571493973bad4598a3be7e1d807ed45aa2adaf7ab92ab7c62609569b17d", size = 4966974, upload-time = "2025-09-22T04:02:34.155Z" }, - { url = "https://files.pythonhosted.org/packages/1f/d3/131dec79ce61c5567fecf82515bd9bc36395df42501b50f7f7f3bd065df0/lxml-6.0.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:370cd78d5855cfbffd57c422851f7d3864e6ae72d0da615fca4dad8c45d375a5", size = 5102953, upload-time = "2025-09-22T04:02:36.054Z" }, - { url = "https://files.pythonhosted.org/packages/3a/ea/a43ba9bb750d4ffdd885f2cd333572f5bb900cd2408b67fdda07e85978a0/lxml-6.0.2-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:901e3b4219fa04ef766885fb40fa516a71662a4c61b80c94d25336b4934b71c0", size = 5055054, upload-time = "2025-09-22T04:02:38.154Z" }, - { url = "https://files.pythonhosted.org/packages/60/23/6885b451636ae286c34628f70a7ed1fcc759f8d9ad382d132e1c8d3d9bfd/lxml-6.0.2-cp314-cp314-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:a4bf42d2e4cf52c28cc1812d62426b9503cdb0c87a6de81442626aa7d69707ba", size = 5352421, upload-time = "2025-09-22T04:02:40.413Z" }, - { url = "https://files.pythonhosted.org/packages/48/5b/fc2ddfc94ddbe3eebb8e9af6e3fd65e2feba4967f6a4e9683875c394c2d8/lxml-6.0.2-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b2c7fdaa4d7c3d886a42534adec7cfac73860b89b4e5298752f60aa5984641a0", size = 5673684, upload-time = "2025-09-22T04:02:42.288Z" }, - { url = "https://files.pythonhosted.org/packages/29/9c/47293c58cc91769130fbf85531280e8cc7868f7fbb6d92f4670071b9cb3e/lxml-6.0.2-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:98a5e1660dc7de2200b00d53fa00bcd3c35a3608c305d45a7bbcaf29fa16e83d", size = 5252463, upload-time = "2025-09-22T04:02:44.165Z" }, - { url = "https://files.pythonhosted.org/packages/9b/da/ba6eceb830c762b48e711ded880d7e3e89fc6c7323e587c36540b6b23c6b/lxml-6.0.2-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:dc051506c30b609238d79eda75ee9cab3e520570ec8219844a72a46020901e37", size = 4698437, upload-time = "2025-09-22T04:02:46.524Z" }, - { url = "https://files.pythonhosted.org/packages/a5/24/7be3f82cb7990b89118d944b619e53c656c97dc89c28cfb143fdb7cd6f4d/lxml-6.0.2-cp314-cp314-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8799481bbdd212470d17513a54d568f44416db01250f49449647b5ab5b5dccb9", size = 5269890, upload-time = "2025-09-22T04:02:48.812Z" }, - { url = "https://files.pythonhosted.org/packages/1b/bd/dcfb9ea1e16c665efd7538fc5d5c34071276ce9220e234217682e7d2c4a5/lxml-6.0.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:9261bb77c2dab42f3ecd9103951aeca2c40277701eb7e912c545c1b16e0e4917", size = 5097185, upload-time = "2025-09-22T04:02:50.746Z" }, - { url = "https://files.pythonhosted.org/packages/21/04/a60b0ff9314736316f28316b694bccbbabe100f8483ad83852d77fc7468e/lxml-6.0.2-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:65ac4a01aba353cfa6d5725b95d7aed6356ddc0a3cd734de00124d285b04b64f", size = 4745895, upload-time = "2025-09-22T04:02:52.968Z" }, - { url = "https://files.pythonhosted.org/packages/d6/bd/7d54bd1846e5a310d9c715921c5faa71cf5c0853372adf78aee70c8d7aa2/lxml-6.0.2-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:b22a07cbb82fea98f8a2fd814f3d1811ff9ed76d0fc6abc84eb21527596e7cc8", size = 5695246, upload-time = "2025-09-22T04:02:54.798Z" }, - { url = "https://files.pythonhosted.org/packages/fd/32/5643d6ab947bc371da21323acb2a6e603cedbe71cb4c99c8254289ab6f4e/lxml-6.0.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:d759cdd7f3e055d6bc8d9bec3ad905227b2e4c785dc16c372eb5b5e83123f48a", size = 5260797, upload-time = "2025-09-22T04:02:57.058Z" }, - { url = "https://files.pythonhosted.org/packages/33/da/34c1ec4cff1eea7d0b4cd44af8411806ed943141804ac9c5d565302afb78/lxml-6.0.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:945da35a48d193d27c188037a05fec5492937f66fb1958c24fc761fb9d40d43c", size = 5277404, upload-time = "2025-09-22T04:02:58.966Z" }, - { url = "https://files.pythonhosted.org/packages/82/57/4eca3e31e54dc89e2c3507e1cd411074a17565fa5ffc437c4ae0a00d439e/lxml-6.0.2-cp314-cp314-win32.whl", hash = "sha256:be3aaa60da67e6153eb15715cc2e19091af5dc75faef8b8a585aea372507384b", size = 3670072, upload-time = "2025-09-22T04:03:38.05Z" }, - { url = "https://files.pythonhosted.org/packages/e3/e0/c96cf13eccd20c9421ba910304dae0f619724dcf1702864fd59dd386404d/lxml-6.0.2-cp314-cp314-win_amd64.whl", hash = "sha256:fa25afbadead523f7001caf0c2382afd272c315a033a7b06336da2637d92d6ed", size = 4080617, upload-time = "2025-09-22T04:03:39.835Z" }, - { url = "https://files.pythonhosted.org/packages/d5/5d/b3f03e22b3d38d6f188ef044900a9b29b2fe0aebb94625ce9fe244011d34/lxml-6.0.2-cp314-cp314-win_arm64.whl", hash = "sha256:063eccf89df5b24e361b123e257e437f9e9878f425ee9aae3144c77faf6da6d8", size = 3754930, upload-time = "2025-09-22T04:03:41.565Z" }, - { url = "https://files.pythonhosted.org/packages/5e/5c/42c2c4c03554580708fc738d13414801f340c04c3eff90d8d2d227145275/lxml-6.0.2-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:6162a86d86893d63084faaf4ff937b3daea233e3682fb4474db07395794fa80d", size = 8910380, upload-time = "2025-09-22T04:03:01.645Z" }, - { url = "https://files.pythonhosted.org/packages/bf/4f/12df843e3e10d18d468a7557058f8d3733e8b6e12401f30b1ef29360740f/lxml-6.0.2-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:414aaa94e974e23a3e92e7ca5b97d10c0cf37b6481f50911032c69eeb3991bba", size = 4775632, upload-time = "2025-09-22T04:03:03.814Z" }, - { url = "https://files.pythonhosted.org/packages/e4/0c/9dc31e6c2d0d418483cbcb469d1f5a582a1cd00a1f4081953d44051f3c50/lxml-6.0.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:48461bd21625458dd01e14e2c38dd0aea69addc3c4f960c30d9f59d7f93be601", size = 4975171, upload-time = "2025-09-22T04:03:05.651Z" }, - { url = "https://files.pythonhosted.org/packages/e7/2b/9b870c6ca24c841bdd887504808f0417aa9d8d564114689266f19ddf29c8/lxml-6.0.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:25fcc59afc57d527cfc78a58f40ab4c9b8fd096a9a3f964d2781ffb6eb33f4ed", size = 5110109, upload-time = "2025-09-22T04:03:07.452Z" }, - { url = "https://files.pythonhosted.org/packages/bf/0c/4f5f2a4dd319a178912751564471355d9019e220c20d7db3fb8307ed8582/lxml-6.0.2-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5179c60288204e6ddde3f774a93350177e08876eaf3ab78aa3a3649d43eb7d37", size = 5041061, upload-time = "2025-09-22T04:03:09.297Z" }, - { url = "https://files.pythonhosted.org/packages/12/64/554eed290365267671fe001a20d72d14f468ae4e6acef1e179b039436967/lxml-6.0.2-cp314-cp314t-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:967aab75434de148ec80597b75062d8123cadf2943fb4281f385141e18b21338", size = 5306233, upload-time = "2025-09-22T04:03:11.651Z" }, - { url = "https://files.pythonhosted.org/packages/7a/31/1d748aa275e71802ad9722df32a7a35034246b42c0ecdd8235412c3396ef/lxml-6.0.2-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d100fcc8930d697c6561156c6810ab4a508fb264c8b6779e6e61e2ed5e7558f9", size = 5604739, upload-time = "2025-09-22T04:03:13.592Z" }, - { url = "https://files.pythonhosted.org/packages/8f/41/2c11916bcac09ed561adccacceaedd2bf0e0b25b297ea92aab99fd03d0fa/lxml-6.0.2-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2ca59e7e13e5981175b8b3e4ab84d7da57993eeff53c07764dcebda0d0e64ecd", size = 5225119, upload-time = "2025-09-22T04:03:15.408Z" }, - { url = "https://files.pythonhosted.org/packages/99/05/4e5c2873d8f17aa018e6afde417c80cc5d0c33be4854cce3ef5670c49367/lxml-6.0.2-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:957448ac63a42e2e49531b9d6c0fa449a1970dbc32467aaad46f11545be9af1d", size = 4633665, upload-time = "2025-09-22T04:03:17.262Z" }, - { url = "https://files.pythonhosted.org/packages/0f/c9/dcc2da1bebd6275cdc723b515f93edf548b82f36a5458cca3578bc899332/lxml-6.0.2-cp314-cp314t-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b7fc49c37f1786284b12af63152fe1d0990722497e2d5817acfe7a877522f9a9", size = 5234997, upload-time = "2025-09-22T04:03:19.14Z" }, - { url = "https://files.pythonhosted.org/packages/9c/e2/5172e4e7468afca64a37b81dba152fc5d90e30f9c83c7c3213d6a02a5ce4/lxml-6.0.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e19e0643cc936a22e837f79d01a550678da8377d7d801a14487c10c34ee49c7e", size = 5090957, upload-time = "2025-09-22T04:03:21.436Z" }, - { url = "https://files.pythonhosted.org/packages/a5/b3/15461fd3e5cd4ddcb7938b87fc20b14ab113b92312fc97afe65cd7c85de1/lxml-6.0.2-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:1db01e5cf14345628e0cbe71067204db658e2fb8e51e7f33631f5f4735fefd8d", size = 4764372, upload-time = "2025-09-22T04:03:23.27Z" }, - { url = "https://files.pythonhosted.org/packages/05/33/f310b987c8bf9e61c4dd8e8035c416bd3230098f5e3cfa69fc4232de7059/lxml-6.0.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:875c6b5ab39ad5291588aed6925fac99d0097af0dd62f33c7b43736043d4a2ec", size = 5634653, upload-time = "2025-09-22T04:03:25.767Z" }, - { url = "https://files.pythonhosted.org/packages/70/ff/51c80e75e0bc9382158133bdcf4e339b5886c6ee2418b5199b3f1a61ed6d/lxml-6.0.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:cdcbed9ad19da81c480dfd6dd161886db6096083c9938ead313d94b30aadf272", size = 5233795, upload-time = "2025-09-22T04:03:27.62Z" }, - { url = "https://files.pythonhosted.org/packages/56/4d/4856e897df0d588789dd844dbed9d91782c4ef0b327f96ce53c807e13128/lxml-6.0.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:80dadc234ebc532e09be1975ff538d154a7fa61ea5031c03d25178855544728f", size = 5257023, upload-time = "2025-09-22T04:03:30.056Z" }, - { url = "https://files.pythonhosted.org/packages/0f/85/86766dfebfa87bea0ab78e9ff7a4b4b45225df4b4d3b8cc3c03c5cd68464/lxml-6.0.2-cp314-cp314t-win32.whl", hash = "sha256:da08e7bb297b04e893d91087df19638dc7a6bb858a954b0cc2b9f5053c922312", size = 3911420, upload-time = "2025-09-22T04:03:32.198Z" }, - { url = "https://files.pythonhosted.org/packages/fe/1a/b248b355834c8e32614650b8008c69ffeb0ceb149c793961dd8c0b991bb3/lxml-6.0.2-cp314-cp314t-win_amd64.whl", hash = "sha256:252a22982dca42f6155125ac76d3432e548a7625d56f5a273ee78a5057216eca", size = 4406837, upload-time = "2025-09-22T04:03:34.027Z" }, - { url = "https://files.pythonhosted.org/packages/92/aa/df863bcc39c5e0946263454aba394de8a9084dbaff8ad143846b0d844739/lxml-6.0.2-cp314-cp314t-win_arm64.whl", hash = "sha256:bb4c1847b303835d89d785a18801a883436cdfd5dc3d62947f9c49e24f0f5a2c", size = 3822205, upload-time = "2025-09-22T04:03:36.249Z" }, ] [[package]] @@ -2491,7 +2626,7 @@ name = "markdown-callouts" version = "0.4.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "markdown" }, + { name = "markdown", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/87/73/ae5aa379f6f7fea9d0bf4cba888f9a31d451d90f80033ae60ae3045770d5/markdown_callouts-0.4.0.tar.gz", hash = "sha256:7ed2c90486967058a73a547781121983839522d67041ae52c4979616f1b2b746", size = 9768, upload-time = "2024-01-22T23:18:18.513Z" } wheels = [ @@ -2503,7 +2638,7 @@ name = "markdown-include" version = "0.8.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "markdown" }, + { name = "markdown", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/ad/d8/66bf162fe6c1adb619f94a6da599323eecacf15b6d57469d0fd0421c10df/markdown-include-0.8.1.tar.gz", hash = "sha256:1d0623e0fc2757c38d35df53752768356162284259d259c486b4ab6285cdbbe3", size = 21873, upload-time = "2023-02-07T09:47:26.608Z" } wheels = [ @@ -2515,7 +2650,7 @@ name = "markdown-it-py" version = "4.0.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "mdurl" }, + { name = "mdurl", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz", hash = "sha256:cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3", size = 73070, upload-time = "2025-08-11T12:57:52.854Z" } wheels = [ @@ -2550,62 +2685,38 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", size = 14612, upload-time = "2025-09-27T18:37:02.639Z" }, { url = "https://files.pythonhosted.org/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", size = 15200, upload-time = "2025-09-27T18:37:03.582Z" }, { url = "https://files.pythonhosted.org/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", size = 13973, upload-time = "2025-09-27T18:37:04.929Z" }, - { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619, upload-time = "2025-09-27T18:37:06.342Z" }, - { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029, upload-time = "2025-09-27T18:37:07.213Z" }, - { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408, upload-time = "2025-09-27T18:37:09.572Z" }, - { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005, upload-time = "2025-09-27T18:37:10.58Z" }, - { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048, upload-time = "2025-09-27T18:37:11.547Z" }, - { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821, upload-time = "2025-09-27T18:37:12.48Z" }, - { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606, upload-time = "2025-09-27T18:37:13.485Z" }, - { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043, upload-time = "2025-09-27T18:37:14.408Z" }, - { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747, upload-time = "2025-09-27T18:37:15.36Z" }, - { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341, upload-time = "2025-09-27T18:37:16.496Z" }, - { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073, upload-time = "2025-09-27T18:37:17.476Z" }, - { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661, upload-time = "2025-09-27T18:37:18.453Z" }, - { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069, upload-time = "2025-09-27T18:37:19.332Z" }, - { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670, upload-time = "2025-09-27T18:37:20.245Z" }, - { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598, upload-time = "2025-09-27T18:37:21.177Z" }, - { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261, upload-time = "2025-09-27T18:37:22.167Z" }, - { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835, upload-time = "2025-09-27T18:37:23.296Z" }, - { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733, upload-time = "2025-09-27T18:37:24.237Z" }, - { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672, upload-time = "2025-09-27T18:37:25.271Z" }, - { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819, upload-time = "2025-09-27T18:37:26.285Z" }, - { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426, upload-time = "2025-09-27T18:37:27.316Z" }, - { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" }, ] [[package]] name = "marshmallow" -version = "3.26.1" +version = "4.1.0" source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "packaging" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ab/5e/5e53d26b42ab75491cda89b871dab9e97c840bf12c63ec58a1919710cd06/marshmallow-3.26.1.tar.gz", hash = "sha256:e6d8affb6cb61d39d26402096dc0aee12d5a26d490a121f118d2e81dc0719dc6", size = 221825, upload-time = "2025-02-03T15:32:25.093Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a7/2c/e40834adb0bb6f21d7372ad90e616eda82116d4f090d93c29ceb2366cdaf/marshmallow-4.1.0.tar.gz", hash = "sha256:daa9862f74e2f7864980d25c29b4ea72944cde48aa17537e3bd5797a4ae62d71", size = 220619, upload-time = "2025-11-01T15:40:37.096Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/34/75/51952c7b2d3873b44a0028b1bd26a25078c18f92f256608e8d1dc61b39fd/marshmallow-3.26.1-py3-none-any.whl", hash = "sha256:3350409f20a70a7e4e11a27661187b77cdcaeb20abca41c1454fe33636bea09c", size = 50878, upload-time = "2025-02-03T15:32:22.295Z" }, + { url = "https://files.pythonhosted.org/packages/e7/df/081ea8c41696d598e7cea4f101e49da718a9b6c9dcaaad4e76dfc11a022c/marshmallow-4.1.0-py3-none-any.whl", hash = "sha256:9901660499be3b880dc92d6b5ee0b9a79e94265b7793f71021f92040c07129f1", size = 48286, upload-time = "2025-11-01T15:40:35.542Z" }, ] [[package]] name = "mcp" -version = "1.18.0" +version = "1.20.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "anyio" }, - { name = "httpx" }, - { name = "httpx-sse" }, - { name = "jsonschema" }, - { name = "pydantic" }, - { name = "pydantic-settings" }, - { name = "python-multipart" }, - { name = "pywin32", marker = "sys_platform == 'win32'" }, - { name = "sse-starlette" }, - { name = "starlette" }, - { name = "uvicorn", marker = "sys_platform != 'emscripten'" }, + { name = "anyio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpx", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpx-sse", marker = "platform_python_implementation != 'PyPy'" }, + { name = "jsonschema", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic-settings", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pyjwt", extra = ["crypto"], marker = "platform_python_implementation != 'PyPy'" }, + { name = "python-multipart", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pywin32", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" }, + { name = "sse-starlette", marker = "platform_python_implementation != 'PyPy'" }, + { name = "starlette", marker = "platform_python_implementation != 'PyPy'" }, + { name = "uvicorn", marker = "platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/1a/e0/fe34ce16ea2bacce489ab859abd1b47ae28b438c3ef60b9c5eee6c02592f/mcp-1.18.0.tar.gz", hash = "sha256:aa278c44b1efc0a297f53b68df865b988e52dd08182d702019edcf33a8e109f6", size = 482926, upload-time = "2025-10-16T19:19:55.125Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f8/22/fae38092e6c2995c03232635028510d77e7decff31b4ae79dfa0ba99c635/mcp-1.20.0.tar.gz", hash = "sha256:9ccc09eaadbfbcbbdab1c9723cfe2e0d1d9e324d7d3ce7e332ef90b09ed35177", size = 451377, upload-time = "2025-10-30T22:14:53.421Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1b/44/f5970e3e899803823826283a70b6003afd46f28e082544407e24575eccd3/mcp-1.18.0-py3-none-any.whl", hash = "sha256:42f10c270de18e7892fdf9da259029120b1ea23964ff688248c69db9d72b1d0a", size = 168762, upload-time = "2025-10-16T19:19:53.2Z" }, + { url = "https://files.pythonhosted.org/packages/df/00/76fc92f4892d47fecb37131d0e95ea69259f077d84c68f6793a0d96cfe80/mcp-1.20.0-py3-none-any.whl", hash = "sha256:d0dc06f93653f7432ff89f694721c87f79876b6f93741bf628ad1e48f7ac5e5d", size = 173136, upload-time = "2025-10-30T22:14:51.078Z" }, ] [[package]] @@ -2631,19 +2742,19 @@ name = "mkdocs" version = "1.6.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "click" }, - { name = "colorama", marker = "sys_platform == 'win32'" }, - { name = "ghp-import" }, - { name = "jinja2" }, - { name = "markdown" }, - { name = "markupsafe" }, - { name = "mergedeep" }, - { name = "mkdocs-get-deps" }, - { name = "packaging" }, - { name = "pathspec" }, - { name = "pyyaml" }, - { name = "pyyaml-env-tag" }, - { name = "watchdog" }, + { name = "click", marker = "platform_python_implementation != 'PyPy'" }, + { name = "colorama", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" }, + { name = "ghp-import", marker = "platform_python_implementation != 'PyPy'" }, + { name = "jinja2", marker = "platform_python_implementation != 'PyPy'" }, + { name = "markdown", marker = "platform_python_implementation != 'PyPy'" }, + { name = "markupsafe", marker = "platform_python_implementation != 'PyPy'" }, + { name = "mergedeep", marker = "platform_python_implementation != 'PyPy'" }, + { name = "mkdocs-get-deps", marker = "platform_python_implementation != 'PyPy'" }, + { name = "packaging", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pathspec", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pyyaml", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pyyaml-env-tag", marker = "platform_python_implementation != 'PyPy'" }, + { name = "watchdog", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/bc/c6/bbd4f061bd16b378247f12953ffcb04786a618ce5e904b8c5a01a0309061/mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2", size = 3889159, upload-time = "2024-08-30T12:24:06.899Z" } wheels = [ @@ -2655,9 +2766,9 @@ name = "mkdocs-autorefs" version = "1.4.3" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "markdown" }, - { name = "markupsafe" }, - { name = "mkdocs" }, + { name = "markdown", marker = "platform_python_implementation != 'PyPy'" }, + { name = "markupsafe", marker = "platform_python_implementation != 'PyPy'" }, + { name = "mkdocs", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/51/fa/9124cd63d822e2bcbea1450ae68cdc3faf3655c69b455f3a7ed36ce6c628/mkdocs_autorefs-1.4.3.tar.gz", hash = "sha256:beee715b254455c4aa93b6ef3c67579c399ca092259cc41b7d9342573ff1fc75", size = 55425, upload-time = "2025-08-26T14:23:17.223Z" } wheels = [ @@ -2669,7 +2780,7 @@ name = "mkdocs-exclude" version = "1.0.2" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "mkdocs" }, + { name = "mkdocs", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/54/b5/3a8e289282c9e8d7003f8a2f53d673d4fdaa81d493dc6966092d9985b6fc/mkdocs-exclude-1.0.2.tar.gz", hash = "sha256:ba6fab3c80ddbe3fd31d3e579861fd3124513708271180a5f81846da8c7e2a51", size = 6751, upload-time = "2019-02-20T23:34:12.81Z" } @@ -2678,7 +2789,7 @@ name = "mkdocs-exclude-search" version = "0.6.6" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "mkdocs" }, + { name = "mkdocs", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/1d/52/8243589d294cf6091c1145896915fe50feea0e91d64d843942d0175770c2/mkdocs-exclude-search-0.6.6.tar.gz", hash = "sha256:3cdff1b9afdc1b227019cd1e124f401453235b92153d60c0e5e651a76be4f044", size = 9501, upload-time = "2023-12-03T22:58:21.259Z" } wheels = [ @@ -2690,9 +2801,9 @@ name = "mkdocs-get-deps" version = "0.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "mergedeep" }, - { name = "platformdirs" }, - { name = "pyyaml" }, + { name = "mergedeep", marker = "platform_python_implementation != 'PyPy'" }, + { name = "platformdirs", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pyyaml", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/98/f5/ed29cd50067784976f25ed0ed6fcd3c2ce9eb90650aa3b2796ddf7b6870b/mkdocs_get_deps-0.2.0.tar.gz", hash = "sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c", size = 10239, upload-time = "2023-11-20T17:51:09.981Z" } wheels = [ @@ -2704,7 +2815,7 @@ name = "mkdocs-git-authors-plugin" version = "0.10.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "mkdocs" }, + { name = "mkdocs", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/64/f1/b784c631b812aab80030db80127a576b68a84caac5229836fb7fcc00e055/mkdocs_git_authors_plugin-0.10.0.tar.gz", hash = "sha256:29d1973b2835663d79986fb756e02f1f0ff3fe35c278e993206bd3c550c205e4", size = 23432, upload-time = "2025-06-10T05:42:40.94Z" } wheels = [ @@ -2716,11 +2827,11 @@ name = "mkdocs-git-committers-plugin-2" version = "1.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "beautifulsoup4" }, - { name = "gitpython" }, - { name = "lxml" }, - { name = "mkdocs" }, - { name = "requests" }, + { name = "beautifulsoup4", marker = "platform_python_implementation != 'PyPy'" }, + { name = "gitpython", marker = "platform_python_implementation != 'PyPy'" }, + { name = "lxml", marker = "platform_python_implementation != 'PyPy'" }, + { name = "mkdocs", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/47/45/7cae7456d37e2050dd68d8fb8573a5e1d8d646115853994ac819d955e65b/mkdocs-git-committers-plugin-2-1.2.0.tar.gz", hash = "sha256:921da26b3f4393e6c170279ac34089151dfc22cd29ec4fbce3506218541685c8", size = 7857, upload-time = "2023-09-06T19:41:39.247Z" } wheels = [ @@ -2732,8 +2843,8 @@ name = "mkdocs-include-markdown-plugin" version = "7.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "mkdocs" }, - { name = "wcmatch" }, + { name = "mkdocs", marker = "platform_python_implementation != 'PyPy'" }, + { name = "wcmatch", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/90/10/b0b75ac42f4613556a808eee2dad3efe7a7d5079349aa5b9229d863e829f/mkdocs_include_markdown_plugin-7.2.0.tar.gz", hash = "sha256:4a67a91ade680dc0e15f608e5b6343bec03372ffa112c40a4254c1bfb10f42f3", size = 25509, upload-time = "2025-09-28T21:50:50.41Z" } wheels = [ @@ -2745,17 +2856,17 @@ name = "mkdocs-material" version = "9.6.22" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "babel" }, - { name = "backrefs" }, - { name = "colorama" }, - { name = "jinja2" }, - { name = "markdown" }, - { name = "mkdocs" }, - { name = "mkdocs-material-extensions" }, - { name = "paginate" }, - { name = "pygments" }, - { name = "pymdown-extensions" }, - { name = "requests" }, + { name = "babel", marker = "platform_python_implementation != 'PyPy'" }, + { name = "backrefs", marker = "platform_python_implementation != 'PyPy'" }, + { name = "colorama", marker = "platform_python_implementation != 'PyPy'" }, + { name = "jinja2", marker = "platform_python_implementation != 'PyPy'" }, + { name = "markdown", marker = "platform_python_implementation != 'PyPy'" }, + { name = "mkdocs", marker = "platform_python_implementation != 'PyPy'" }, + { name = "mkdocs-material-extensions", marker = "platform_python_implementation != 'PyPy'" }, + { name = "paginate", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pygments", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pymdown-extensions", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/5f/5d/317e37b6c43325cb376a1d6439df9cc743b8ee41c84603c2faf7286afc82/mkdocs_material-9.6.22.tar.gz", hash = "sha256:87c158b0642e1ada6da0cbd798a3389b0bc5516b90e5ece4a0fb939f00bacd1c", size = 4044968, upload-time = "2025-10-15T09:21:15.409Z" } wheels = [ @@ -2764,8 +2875,8 @@ wheels = [ [package.optional-dependencies] imaging = [ - { name = "cairosvg" }, - { name = "pillow" }, + { name = "cairosvg", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pillow", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] @@ -2782,10 +2893,10 @@ name = "mkdocs-minify-plugin" version = "0.8.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "csscompressor" }, - { name = "htmlmin2" }, - { name = "jsmin" }, - { name = "mkdocs" }, + { name = "csscompressor", marker = "platform_python_implementation != 'PyPy'" }, + { name = "htmlmin2", marker = "platform_python_implementation != 'PyPy'" }, + { name = "jsmin", marker = "platform_python_implementation != 'PyPy'" }, + { name = "mkdocs", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/52/67/fe4b77e7a8ae7628392e28b14122588beaf6078b53eb91c7ed000fd158ac/mkdocs-minify-plugin-0.8.0.tar.gz", hash = "sha256:bc11b78b8120d79e817308e2b11539d790d21445eb63df831e393f76e52e753d", size = 8366, upload-time = "2024-01-29T16:11:32.982Z" } wheels = [ @@ -2797,12 +2908,12 @@ name = "mkdocstrings" version = "0.30.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "jinja2" }, - { name = "markdown" }, - { name = "markupsafe" }, - { name = "mkdocs" }, - { name = "mkdocs-autorefs" }, - { name = "pymdown-extensions" }, + { name = "jinja2", marker = "platform_python_implementation != 'PyPy'" }, + { name = "markdown", marker = "platform_python_implementation != 'PyPy'" }, + { name = "markupsafe", marker = "platform_python_implementation != 'PyPy'" }, + { name = "mkdocs", marker = "platform_python_implementation != 'PyPy'" }, + { name = "mkdocs-autorefs", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pymdown-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/c5/33/2fa3243439f794e685d3e694590d28469a9b8ea733af4b48c250a3ffc9a0/mkdocstrings-0.30.1.tar.gz", hash = "sha256:84a007aae9b707fb0aebfc9da23db4b26fc9ab562eb56e335e9ec480cb19744f", size = 106350, upload-time = "2025-09-19T10:49:26.446Z" } wheels = [ @@ -2814,9 +2925,9 @@ name = "mkdocstrings-python" version = "1.18.2" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "griffe" }, - { name = "mkdocs-autorefs" }, - { name = "mkdocstrings" }, + { name = "griffe", marker = "platform_python_implementation != 'PyPy'" }, + { name = "mkdocs-autorefs", marker = "platform_python_implementation != 'PyPy'" }, + { name = "mkdocstrings", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/95/ae/58ab2bfbee2792e92a98b97e872f7c003deb903071f75d8d83aa55db28fa/mkdocstrings_python-1.18.2.tar.gz", hash = "sha256:4ad536920a07b6336f50d4c6d5603316fafb1172c5c882370cbbc954770ad323", size = 207972, upload-time = "2025-08-28T16:11:19.847Z" } wheels = [ @@ -2850,41 +2961,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/7b/23/665296fce4f33488deec39a750ffd245cfc07aafb0e3ef37835f91775d14/mmh3-5.2.0-cp313-cp313-win32.whl", hash = "sha256:03e08c6ebaf666ec1e3d6ea657a2d363bb01effd1a9acfe41f9197decaef0051", size = 40806, upload-time = "2025-07-29T07:42:48.166Z" }, { url = "https://files.pythonhosted.org/packages/59/b0/92e7103f3b20646e255b699e2d0327ce53a3f250e44367a99dc8be0b7c7a/mmh3-5.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:7fddccd4113e7b736706e17a239a696332360cbaddf25ae75b57ba1acce65081", size = 41600, upload-time = "2025-07-29T07:42:49.371Z" }, { url = "https://files.pythonhosted.org/packages/99/22/0b2bd679a84574647de538c5b07ccaa435dbccc37815067fe15b90fe8dad/mmh3-5.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:fa0c966ee727aad5406d516375593c5f058c766b21236ab8985693934bb5085b", size = 39349, upload-time = "2025-07-29T07:42:50.268Z" }, - { url = "https://files.pythonhosted.org/packages/f7/ca/a20db059a8a47048aaf550da14a145b56e9c7386fb8280d3ce2962dcebf7/mmh3-5.2.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:e5015f0bb6eb50008bed2d4b1ce0f2a294698a926111e4bb202c0987b4f89078", size = 39209, upload-time = "2025-07-29T07:42:51.559Z" }, - { url = "https://files.pythonhosted.org/packages/98/dd/e5094799d55c7482d814b979a0fd608027d0af1b274bfb4c3ea3e950bfd5/mmh3-5.2.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:e0f3ed828d709f5b82d8bfe14f8856120718ec4bd44a5b26102c3030a1e12501", size = 39843, upload-time = "2025-07-29T07:42:52.536Z" }, - { url = "https://files.pythonhosted.org/packages/f4/6b/7844d7f832c85400e7cc89a1348e4e1fdd38c5a38415bb5726bbb8fcdb6c/mmh3-5.2.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:f35727c5118aba95f0397e18a1a5b8405425581bfe53e821f0fb444cbdc2bc9b", size = 40648, upload-time = "2025-07-29T07:42:53.392Z" }, - { url = "https://files.pythonhosted.org/packages/1f/bf/71f791f48a21ff3190ba5225807cbe4f7223360e96862c376e6e3fb7efa7/mmh3-5.2.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3bc244802ccab5220008cb712ca1508cb6a12f0eb64ad62997156410579a1770", size = 56164, upload-time = "2025-07-29T07:42:54.267Z" }, - { url = "https://files.pythonhosted.org/packages/70/1f/f87e3d34d83032b4f3f0f528c6d95a98290fcacf019da61343a49dccfd51/mmh3-5.2.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:ff3d50dc3fe8a98059f99b445dfb62792b5d006c5e0b8f03c6de2813b8376110", size = 40692, upload-time = "2025-07-29T07:42:55.234Z" }, - { url = "https://files.pythonhosted.org/packages/a6/e2/db849eaed07117086f3452feca8c839d30d38b830ac59fe1ce65af8be5ad/mmh3-5.2.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:37a358cc881fe796e099c1db6ce07ff757f088827b4e8467ac52b7a7ffdca647", size = 40068, upload-time = "2025-07-29T07:42:56.158Z" }, - { url = "https://files.pythonhosted.org/packages/df/6b/209af927207af77425b044e32f77f49105a0b05d82ff88af6971d8da4e19/mmh3-5.2.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:b9a87025121d1c448f24f27ff53a5fe7b6ef980574b4a4f11acaabe702420d63", size = 97367, upload-time = "2025-07-29T07:42:57.037Z" }, - { url = "https://files.pythonhosted.org/packages/ca/e0/78adf4104c425606a9ce33fb351f790c76a6c2314969c4a517d1ffc92196/mmh3-5.2.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:1ba55d6ca32eeef8b2625e1e4bfc3b3db52bc63014bd7e5df8cc11bf2b036b12", size = 103306, upload-time = "2025-07-29T07:42:58.522Z" }, - { url = "https://files.pythonhosted.org/packages/a3/79/c2b89f91b962658b890104745b1b6c9ce38d50a889f000b469b91eeb1b9e/mmh3-5.2.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c9ff37ba9f15637e424c2ab57a1a590c52897c845b768e4e0a4958084ec87f22", size = 106312, upload-time = "2025-07-29T07:42:59.552Z" }, - { url = "https://files.pythonhosted.org/packages/4b/14/659d4095528b1a209be90934778c5ffe312177d51e365ddcbca2cac2ec7c/mmh3-5.2.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a094319ec0db52a04af9fdc391b4d39a1bc72bc8424b47c4411afb05413a44b5", size = 113135, upload-time = "2025-07-29T07:43:00.745Z" }, - { url = "https://files.pythonhosted.org/packages/8d/6f/cd7734a779389a8a467b5c89a48ff476d6f2576e78216a37551a97e9e42a/mmh3-5.2.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c5584061fd3da584659b13587f26c6cad25a096246a481636d64375d0c1f6c07", size = 120775, upload-time = "2025-07-29T07:43:02.124Z" }, - { url = "https://files.pythonhosted.org/packages/1d/ca/8256e3b96944408940de3f9291d7e38a283b5761fe9614d4808fcf27bd62/mmh3-5.2.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ecbfc0437ddfdced5e7822d1ce4855c9c64f46819d0fdc4482c53f56c707b935", size = 99178, upload-time = "2025-07-29T07:43:03.182Z" }, - { url = "https://files.pythonhosted.org/packages/8a/32/39e2b3cf06b6e2eb042c984dab8680841ac2a0d3ca6e0bea30db1f27b565/mmh3-5.2.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:7b986d506a8e8ea345791897ba5d8ba0d9d8820cd4fc3e52dbe6de19388de2e7", size = 98738, upload-time = "2025-07-29T07:43:04.207Z" }, - { url = "https://files.pythonhosted.org/packages/61/d3/7bbc8e0e8cf65ebbe1b893ffa0467b7ecd1bd07c3bbf6c9db4308ada22ec/mmh3-5.2.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:38d899a156549da8ef6a9f1d6f7ef231228d29f8f69bce2ee12f5fba6d6fd7c5", size = 106510, upload-time = "2025-07-29T07:43:05.656Z" }, - { url = "https://files.pythonhosted.org/packages/10/99/b97e53724b52374e2f3859046f0eb2425192da356cb19784d64bc17bb1cf/mmh3-5.2.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:d86651fa45799530885ba4dab3d21144486ed15285e8784181a0ab37a4552384", size = 110053, upload-time = "2025-07-29T07:43:07.204Z" }, - { url = "https://files.pythonhosted.org/packages/ac/62/3688c7d975ed195155671df68788c83fed6f7909b6ec4951724c6860cb97/mmh3-5.2.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c463d7c1c4cfc9d751efeaadd936bbba07b5b0ed81a012b3a9f5a12f0872bd6e", size = 97546, upload-time = "2025-07-29T07:43:08.226Z" }, - { url = "https://files.pythonhosted.org/packages/ca/3b/c6153250f03f71a8b7634cded82939546cdfba02e32f124ff51d52c6f991/mmh3-5.2.0-cp314-cp314-win32.whl", hash = "sha256:bb4fe46bdc6104fbc28db7a6bacb115ee6368ff993366bbd8a2a7f0076e6f0c0", size = 41422, upload-time = "2025-07-29T07:43:09.216Z" }, - { url = "https://files.pythonhosted.org/packages/74/01/a27d98bab083a435c4c07e9d1d720d4c8a578bf4c270bae373760b1022be/mmh3-5.2.0-cp314-cp314-win_amd64.whl", hash = "sha256:7c7f0b342fd06044bedd0b6e72177ddc0076f54fd89ee239447f8b271d919d9b", size = 42135, upload-time = "2025-07-29T07:43:10.183Z" }, - { url = "https://files.pythonhosted.org/packages/cb/c9/dbba5507e95429b8b380e2ba091eff5c20a70a59560934dff0ad8392b8c8/mmh3-5.2.0-cp314-cp314-win_arm64.whl", hash = "sha256:3193752fc05ea72366c2b63ff24b9a190f422e32d75fdeae71087c08fff26115", size = 39879, upload-time = "2025-07-29T07:43:11.106Z" }, - { url = "https://files.pythonhosted.org/packages/b5/d1/c8c0ef839c17258b9de41b84f663574fabcf8ac2007b7416575e0f65ff6e/mmh3-5.2.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:69fc339d7202bea69ef9bd7c39bfdf9fdabc8e6822a01eba62fb43233c1b3932", size = 57696, upload-time = "2025-07-29T07:43:11.989Z" }, - { url = "https://files.pythonhosted.org/packages/2f/55/95e2b9ff201e89f9fe37036037ab61a6c941942b25cdb7b6a9df9b931993/mmh3-5.2.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:12da42c0a55c9d86ab566395324213c319c73ecb0c239fad4726324212b9441c", size = 41421, upload-time = "2025-07-29T07:43:13.269Z" }, - { url = "https://files.pythonhosted.org/packages/77/79/9be23ad0b7001a4b22752e7693be232428ecc0a35068a4ff5c2f14ef8b20/mmh3-5.2.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f7f9034c7cf05ddfaac8d7a2e63a3c97a840d4615d0a0e65ba8bdf6f8576e3be", size = 40853, upload-time = "2025-07-29T07:43:14.888Z" }, - { url = "https://files.pythonhosted.org/packages/ac/1b/96b32058eda1c1dee8264900c37c359a7325c1f11f5ff14fd2be8e24eff9/mmh3-5.2.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:11730eeb16dfcf9674fdea9bb6b8e6dd9b40813b7eb839bc35113649eef38aeb", size = 109694, upload-time = "2025-07-29T07:43:15.816Z" }, - { url = "https://files.pythonhosted.org/packages/8d/6f/a2ae44cd7dad697b6dea48390cbc977b1e5ca58fda09628cbcb2275af064/mmh3-5.2.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:932a6eec1d2e2c3c9e630d10f7128d80e70e2d47fe6b8c7ea5e1afbd98733e65", size = 117438, upload-time = "2025-07-29T07:43:16.865Z" }, - { url = "https://files.pythonhosted.org/packages/a0/08/bfb75451c83f05224a28afeaf3950c7b793c0b71440d571f8e819cfb149a/mmh3-5.2.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3ca975c51c5028947bbcfc24966517aac06a01d6c921e30f7c5383c195f87991", size = 120409, upload-time = "2025-07-29T07:43:18.207Z" }, - { url = "https://files.pythonhosted.org/packages/9f/ea/8b118b69b2ff8df568f742387d1a159bc654a0f78741b31437dd047ea28e/mmh3-5.2.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5b0b58215befe0f0e120b828f7645e97719bbba9f23b69e268ed0ac7adde8645", size = 125909, upload-time = "2025-07-29T07:43:19.39Z" }, - { url = "https://files.pythonhosted.org/packages/3e/11/168cc0b6a30650032e351a3b89b8a47382da541993a03af91e1ba2501234/mmh3-5.2.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29c2b9ce61886809d0492a274a5a53047742dea0f703f9c4d5d223c3ea6377d3", size = 135331, upload-time = "2025-07-29T07:43:20.435Z" }, - { url = "https://files.pythonhosted.org/packages/31/05/e3a9849b1c18a7934c64e831492c99e67daebe84a8c2f2c39a7096a830e3/mmh3-5.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:a367d4741ac0103f8198c82f429bccb9359f543ca542b06a51f4f0332e8de279", size = 110085, upload-time = "2025-07-29T07:43:21.92Z" }, - { url = "https://files.pythonhosted.org/packages/d9/d5/a96bcc306e3404601418b2a9a370baec92af84204528ba659fdfe34c242f/mmh3-5.2.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:5a5dba98e514fb26241868f6eb90a7f7ca0e039aed779342965ce24ea32ba513", size = 111195, upload-time = "2025-07-29T07:43:23.066Z" }, - { url = "https://files.pythonhosted.org/packages/af/29/0fd49801fec5bff37198684e0849b58e0dab3a2a68382a357cfffb0fafc3/mmh3-5.2.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:941603bfd75a46023807511c1ac2f1b0f39cccc393c15039969806063b27e6db", size = 116919, upload-time = "2025-07-29T07:43:24.178Z" }, - { url = "https://files.pythonhosted.org/packages/2d/04/4f3c32b0a2ed762edca45d8b46568fc3668e34f00fb1e0a3b5451ec1281c/mmh3-5.2.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:132dd943451a7c7546978863d2f5a64977928410782e1a87d583cb60eb89e667", size = 123160, upload-time = "2025-07-29T07:43:25.26Z" }, - { url = "https://files.pythonhosted.org/packages/91/76/3d29eaa38821730633d6a240d36fa8ad2807e9dfd432c12e1a472ed211eb/mmh3-5.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f698733a8a494466432d611a8f0d1e026f5286dee051beea4b3c3146817e35d5", size = 110206, upload-time = "2025-07-29T07:43:26.699Z" }, - { url = "https://files.pythonhosted.org/packages/44/1c/ccf35892684d3a408202e296e56843743e0b4fb1629e59432ea88cdb3909/mmh3-5.2.0-cp314-cp314t-win32.whl", hash = "sha256:6d541038b3fc360ec538fc116de87462627944765a6750308118f8b509a8eec7", size = 41970, upload-time = "2025-07-29T07:43:27.666Z" }, - { url = "https://files.pythonhosted.org/packages/75/b2/b9e4f1e5adb5e21eb104588fcee2cd1eaa8308255173481427d5ecc4284e/mmh3-5.2.0-cp314-cp314t-win_amd64.whl", hash = "sha256:e912b19cf2378f2967d0c08e86ff4c6c360129887f678e27e4dde970d21b3f4d", size = 43063, upload-time = "2025-07-29T07:43:28.582Z" }, - { url = "https://files.pythonhosted.org/packages/6a/fc/0e61d9a4e29c8679356795a40e48f647b4aad58d71bfc969f0f8f56fb912/mmh3-5.2.0-cp314-cp314t-win_arm64.whl", hash = "sha256:e7884931fe5e788163e7b3c511614130c2c59feffdc21112290a194487efb2e9", size = 40455, upload-time = "2025-07-29T07:43:29.563Z" }, ] [[package]] @@ -2901,9 +2977,9 @@ name = "msal" version = "1.34.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "cryptography" }, - { name = "pyjwt", extra = ["crypto"] }, - { name = "requests" }, + { name = "cryptography", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pyjwt", extra = ["crypto"], marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/cf/0e/c857c46d653e104019a84f22d4494f2119b4fe9f896c92b4b864b3b045cc/msal-1.34.0.tar.gz", hash = "sha256:76ba83b716ea5a6d75b0279c0ac353a0e05b820ca1f6682c0eb7f45190c43c2f", size = 153961, upload-time = "2025-09-22T23:05:48.989Z" } wheels = [ @@ -2915,7 +2991,7 @@ name = "msal-extensions" version = "1.3.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "msal" }, + { name = "msal", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/01/99/5d239b6156eddf761a636bded1118414d161bd6b7b37a9335549ed159396/msal_extensions-1.3.1.tar.gz", hash = "sha256:c5b0fd10f65ef62b5f1d62f4251d51cbcaf003fcedae8c91b040a488614be1a4", size = 23315, upload-time = "2025-03-14T23:51:03.902Z" } wheels = [ @@ -2964,52 +3040,49 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ef/a0/f83ae75e42d694b3fbad3e047670e511c138be747bc713cf1b10d5096416/multidict-6.7.0-cp313-cp313t-win32.whl", hash = "sha256:19a1d55338ec1be74ef62440ca9e04a2f001a04d0cc49a4983dc320ff0f3212d", size = 47777, upload-time = "2025-10-06T14:50:47.154Z" }, { url = "https://files.pythonhosted.org/packages/dc/80/9b174a92814a3830b7357307a792300f42c9e94664b01dee8e457551fa66/multidict-6.7.0-cp313-cp313t-win_amd64.whl", hash = "sha256:3da4fb467498df97e986af166b12d01f05d2e04f978a9c1c680ea1988e0bc4b6", size = 53104, upload-time = "2025-10-06T14:50:48.851Z" }, { url = "https://files.pythonhosted.org/packages/cc/28/04baeaf0428d95bb7a7bea0e691ba2f31394338ba424fb0679a9ed0f4c09/multidict-6.7.0-cp313-cp313t-win_arm64.whl", hash = "sha256:b4121773c49a0776461f4a904cdf6264c88e42218aaa8407e803ca8025872792", size = 45503, upload-time = "2025-10-06T14:50:50.16Z" }, - { url = "https://files.pythonhosted.org/packages/e2/b1/3da6934455dd4b261d4c72f897e3a5728eba81db59959f3a639245891baa/multidict-6.7.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3bab1e4aff7adaa34410f93b1f8e57c4b36b9af0426a76003f441ee1d3c7e842", size = 75128, upload-time = "2025-10-06T14:50:51.92Z" }, - { url = "https://files.pythonhosted.org/packages/14/2c/f069cab5b51d175a1a2cb4ccdf7a2c2dabd58aa5bd933fa036a8d15e2404/multidict-6.7.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:b8512bac933afc3e45fb2b18da8e59b78d4f408399a960339598374d4ae3b56b", size = 44410, upload-time = "2025-10-06T14:50:53.275Z" }, - { url = "https://files.pythonhosted.org/packages/42/e2/64bb41266427af6642b6b128e8774ed84c11b80a90702c13ac0a86bb10cc/multidict-6.7.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:79dcf9e477bc65414ebfea98ffd013cb39552b5ecd62908752e0e413d6d06e38", size = 43205, upload-time = "2025-10-06T14:50:54.911Z" }, - { url = "https://files.pythonhosted.org/packages/02/68/6b086fef8a3f1a8541b9236c594f0c9245617c29841f2e0395d979485cde/multidict-6.7.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:31bae522710064b5cbeddaf2e9f32b1abab70ac6ac91d42572502299e9953128", size = 245084, upload-time = "2025-10-06T14:50:56.369Z" }, - { url = "https://files.pythonhosted.org/packages/15/ee/f524093232007cd7a75c1d132df70f235cfd590a7c9eaccd7ff422ef4ae8/multidict-6.7.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4a0df7ff02397bb63e2fd22af2c87dfa39e8c7f12947bc524dbdc528282c7e34", size = 252667, upload-time = "2025-10-06T14:50:57.991Z" }, - { url = "https://files.pythonhosted.org/packages/02/a5/eeb3f43ab45878f1895118c3ef157a480db58ede3f248e29b5354139c2c9/multidict-6.7.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7a0222514e8e4c514660e182d5156a415c13ef0aabbd71682fc714e327b95e99", size = 233590, upload-time = "2025-10-06T14:50:59.589Z" }, - { url = "https://files.pythonhosted.org/packages/6a/1e/76d02f8270b97269d7e3dbd45644b1785bda457b474315f8cf999525a193/multidict-6.7.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2397ab4daaf2698eb51a76721e98db21ce4f52339e535725de03ea962b5a3202", size = 264112, upload-time = "2025-10-06T14:51:01.183Z" }, - { url = "https://files.pythonhosted.org/packages/76/0b/c28a70ecb58963847c2a8efe334904cd254812b10e535aefb3bcce513918/multidict-6.7.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8891681594162635948a636c9fe0ff21746aeb3dd5463f6e25d9bea3a8a39ca1", size = 261194, upload-time = "2025-10-06T14:51:02.794Z" }, - { url = "https://files.pythonhosted.org/packages/b4/63/2ab26e4209773223159b83aa32721b4021ffb08102f8ac7d689c943fded1/multidict-6.7.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:18706cc31dbf402a7945916dd5cddf160251b6dab8a2c5f3d6d5a55949f676b3", size = 248510, upload-time = "2025-10-06T14:51:04.724Z" }, - { url = "https://files.pythonhosted.org/packages/93/cd/06c1fa8282af1d1c46fd55c10a7930af652afdce43999501d4d68664170c/multidict-6.7.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f844a1bbf1d207dd311a56f383f7eda2d0e134921d45751842d8235e7778965d", size = 248395, upload-time = "2025-10-06T14:51:06.306Z" }, - { url = "https://files.pythonhosted.org/packages/99/ac/82cb419dd6b04ccf9e7e61befc00c77614fc8134362488b553402ecd55ce/multidict-6.7.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:d4393e3581e84e5645506923816b9cc81f5609a778c7e7534054091acc64d1c6", size = 239520, upload-time = "2025-10-06T14:51:08.091Z" }, - { url = "https://files.pythonhosted.org/packages/fa/f3/a0f9bf09493421bd8716a362e0cd1d244f5a6550f5beffdd6b47e885b331/multidict-6.7.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:fbd18dc82d7bf274b37aa48d664534330af744e03bccf696d6f4c6042e7d19e7", size = 245479, upload-time = "2025-10-06T14:51:10.365Z" }, - { url = "https://files.pythonhosted.org/packages/8d/01/476d38fc73a212843f43c852b0eee266b6971f0e28329c2184a8df90c376/multidict-6.7.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:b6234e14f9314731ec45c42fc4554b88133ad53a09092cc48a88e771c125dadb", size = 258903, upload-time = "2025-10-06T14:51:12.466Z" }, - { url = "https://files.pythonhosted.org/packages/49/6d/23faeb0868adba613b817d0e69c5f15531b24d462af8012c4f6de4fa8dc3/multidict-6.7.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:08d4379f9744d8f78d98c8673c06e202ffa88296f009c71bbafe8a6bf847d01f", size = 252333, upload-time = "2025-10-06T14:51:14.48Z" }, - { url = "https://files.pythonhosted.org/packages/1e/cc/48d02ac22b30fa247f7dad82866e4b1015431092f4ba6ebc7e77596e0b18/multidict-6.7.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:9fe04da3f79387f450fd0061d4dd2e45a72749d31bf634aecc9e27f24fdc4b3f", size = 243411, upload-time = "2025-10-06T14:51:16.072Z" }, - { url = "https://files.pythonhosted.org/packages/4a/03/29a8bf5a18abf1fe34535c88adbdfa88c9fb869b5a3b120692c64abe8284/multidict-6.7.0-cp314-cp314-win32.whl", hash = "sha256:fbafe31d191dfa7c4c51f7a6149c9fb7e914dcf9ffead27dcfd9f1ae382b3885", size = 40940, upload-time = "2025-10-06T14:51:17.544Z" }, - { url = "https://files.pythonhosted.org/packages/82/16/7ed27b680791b939de138f906d5cf2b4657b0d45ca6f5dd6236fdddafb1a/multidict-6.7.0-cp314-cp314-win_amd64.whl", hash = "sha256:2f67396ec0310764b9222a1728ced1ab638f61aadc6226f17a71dd9324f9a99c", size = 45087, upload-time = "2025-10-06T14:51:18.875Z" }, - { url = "https://files.pythonhosted.org/packages/cd/3c/e3e62eb35a1950292fe39315d3c89941e30a9d07d5d2df42965ab041da43/multidict-6.7.0-cp314-cp314-win_arm64.whl", hash = "sha256:ba672b26069957ee369cfa7fc180dde1fc6f176eaf1e6beaf61fbebbd3d9c000", size = 42368, upload-time = "2025-10-06T14:51:20.225Z" }, - { url = "https://files.pythonhosted.org/packages/8b/40/cd499bd0dbc5f1136726db3153042a735fffd0d77268e2ee20d5f33c010f/multidict-6.7.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:c1dcc7524066fa918c6a27d61444d4ee7900ec635779058571f70d042d86ed63", size = 82326, upload-time = "2025-10-06T14:51:21.588Z" }, - { url = "https://files.pythonhosted.org/packages/13/8a/18e031eca251c8df76daf0288e6790561806e439f5ce99a170b4af30676b/multidict-6.7.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:27e0b36c2d388dc7b6ced3406671b401e84ad7eb0656b8f3a2f46ed0ce483718", size = 48065, upload-time = "2025-10-06T14:51:22.93Z" }, - { url = "https://files.pythonhosted.org/packages/40/71/5e6701277470a87d234e433fb0a3a7deaf3bcd92566e421e7ae9776319de/multidict-6.7.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2a7baa46a22e77f0988e3b23d4ede5513ebec1929e34ee9495be535662c0dfe2", size = 46475, upload-time = "2025-10-06T14:51:24.352Z" }, - { url = "https://files.pythonhosted.org/packages/fe/6a/bab00cbab6d9cfb57afe1663318f72ec28289ea03fd4e8236bb78429893a/multidict-6.7.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:7bf77f54997a9166a2f5675d1201520586439424c2511723a7312bdb4bcc034e", size = 239324, upload-time = "2025-10-06T14:51:25.822Z" }, - { url = "https://files.pythonhosted.org/packages/2a/5f/8de95f629fc22a7769ade8b41028e3e5a822c1f8904f618d175945a81ad3/multidict-6.7.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e011555abada53f1578d63389610ac8a5400fc70ce71156b0aa30d326f1a5064", size = 246877, upload-time = "2025-10-06T14:51:27.604Z" }, - { url = "https://files.pythonhosted.org/packages/23/b4/38881a960458f25b89e9f4a4fdcb02ac101cfa710190db6e5528841e67de/multidict-6.7.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:28b37063541b897fd6a318007373930a75ca6d6ac7c940dbe14731ffdd8d498e", size = 225824, upload-time = "2025-10-06T14:51:29.664Z" }, - { url = "https://files.pythonhosted.org/packages/1e/39/6566210c83f8a261575f18e7144736059f0c460b362e96e9cf797a24b8e7/multidict-6.7.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:05047ada7a2fde2631a0ed706f1fd68b169a681dfe5e4cf0f8e4cb6618bbc2cd", size = 253558, upload-time = "2025-10-06T14:51:31.684Z" }, - { url = "https://files.pythonhosted.org/packages/00/a3/67f18315100f64c269f46e6c0319fa87ba68f0f64f2b8e7fd7c72b913a0b/multidict-6.7.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:716133f7d1d946a4e1b91b1756b23c088881e70ff180c24e864c26192ad7534a", size = 252339, upload-time = "2025-10-06T14:51:33.699Z" }, - { url = "https://files.pythonhosted.org/packages/c8/2a/1cb77266afee2458d82f50da41beba02159b1d6b1f7973afc9a1cad1499b/multidict-6.7.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d1bed1b467ef657f2a0ae62844a607909ef1c6889562de5e1d505f74457d0b96", size = 244895, upload-time = "2025-10-06T14:51:36.189Z" }, - { url = "https://files.pythonhosted.org/packages/dd/72/09fa7dd487f119b2eb9524946ddd36e2067c08510576d43ff68469563b3b/multidict-6.7.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ca43bdfa5d37bd6aee89d85e1d0831fb86e25541be7e9d376ead1b28974f8e5e", size = 241862, upload-time = "2025-10-06T14:51:41.291Z" }, - { url = "https://files.pythonhosted.org/packages/65/92/bc1f8bd0853d8669300f732c801974dfc3702c3eeadae2f60cef54dc69d7/multidict-6.7.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:44b546bd3eb645fd26fb949e43c02a25a2e632e2ca21a35e2e132c8105dc8599", size = 232376, upload-time = "2025-10-06T14:51:43.55Z" }, - { url = "https://files.pythonhosted.org/packages/09/86/ac39399e5cb9d0c2ac8ef6e10a768e4d3bc933ac808d49c41f9dc23337eb/multidict-6.7.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:a6ef16328011d3f468e7ebc326f24c1445f001ca1dec335b2f8e66bed3006394", size = 240272, upload-time = "2025-10-06T14:51:45.265Z" }, - { url = "https://files.pythonhosted.org/packages/3d/b6/fed5ac6b8563ec72df6cb1ea8dac6d17f0a4a1f65045f66b6d3bf1497c02/multidict-6.7.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:5aa873cbc8e593d361ae65c68f85faadd755c3295ea2c12040ee146802f23b38", size = 248774, upload-time = "2025-10-06T14:51:46.836Z" }, - { url = "https://files.pythonhosted.org/packages/6b/8d/b954d8c0dc132b68f760aefd45870978deec6818897389dace00fcde32ff/multidict-6.7.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:3d7b6ccce016e29df4b7ca819659f516f0bc7a4b3efa3bb2012ba06431b044f9", size = 242731, upload-time = "2025-10-06T14:51:48.541Z" }, - { url = "https://files.pythonhosted.org/packages/16/9d/a2dac7009125d3540c2f54e194829ea18ac53716c61b655d8ed300120b0f/multidict-6.7.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:171b73bd4ee683d307599b66793ac80981b06f069b62eea1c9e29c9241aa66b0", size = 240193, upload-time = "2025-10-06T14:51:50.355Z" }, - { url = "https://files.pythonhosted.org/packages/39/ca/c05f144128ea232ae2178b008d5011d4e2cea86e4ee8c85c2631b1b94802/multidict-6.7.0-cp314-cp314t-win32.whl", hash = "sha256:b2d7f80c4e1fd010b07cb26820aae86b7e73b681ee4889684fb8d2d4537aab13", size = 48023, upload-time = "2025-10-06T14:51:51.883Z" }, - { url = "https://files.pythonhosted.org/packages/ba/8f/0a60e501584145588be1af5cc829265701ba3c35a64aec8e07cbb71d39bb/multidict-6.7.0-cp314-cp314t-win_amd64.whl", hash = "sha256:09929cab6fcb68122776d575e03c6cc64ee0b8fca48d17e135474b042ce515cd", size = 53507, upload-time = "2025-10-06T14:51:53.672Z" }, - { url = "https://files.pythonhosted.org/packages/7f/ae/3148b988a9c6239903e786eac19c889fab607c31d6efa7fb2147e5680f23/multidict-6.7.0-cp314-cp314t-win_arm64.whl", hash = "sha256:cc41db090ed742f32bd2d2c721861725e6109681eddf835d0a82bd3a5c382827", size = 44804, upload-time = "2025-10-06T14:51:55.415Z" }, { url = "https://files.pythonhosted.org/packages/b7/da/7d22601b625e241d4f23ef1ebff8acfc60da633c9e7e7922e24d10f592b3/multidict-6.7.0-py3-none-any.whl", hash = "sha256:394fc5c42a333c9ffc3e421a4c85e08580d990e08b99f6bf35b4132114c5dcb3", size = 12317, upload-time = "2025-10-06T14:52:29.272Z" }, ] [[package]] -name = "mypy-extensions" -version = "1.1.0" +name = "multipart" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6d/c9/c6f5ab81bae667d4fe42a58df29f4c2db6ad8377cfd0e9baa729e4fa3ebb/multipart-1.3.0.tar.gz", hash = "sha256:a46bd6b0eb4c1ba865beb88ddd886012a3da709b6e7b86084fc37e99087e5cf1", size = 38816, upload-time = "2025-07-26T15:09:38.056Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/d6/d547a7004b81fa0b2aafa143b09196f6635e4105cd9d2c641fa8a4051c05/multipart-1.3.0-py3-none-any.whl", hash = "sha256:439bf4b00fd7cb2dbff08ae13f49f4f49798931ecd8d496372c63537fa19f304", size = 14938, upload-time = "2025-07-26T15:09:36.884Z" }, +] + +[[package]] +name = "neo4j" +version = "5.28.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a2/6e/371856a3fb9d31ca8dac321cda606860fa4548858c0cc45d9d1d4ca2628b/mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558", size = 6343, upload-time = "2025-04-22T14:54:24.164Z" } +dependencies = [ + { name = "pytz", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/50/69/4862fabc082f2447131aada5c91736155349d77ebf443af7f59553b7b789/neo4j-5.28.2.tar.gz", hash = "sha256:7d38e27e4f987a45cc9052500c6ee27325cb23dae6509037fe31dd7ddaed70c7", size = 231874, upload-time = "2025-07-30T06:04:34.669Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505", size = 4963, upload-time = "2025-04-22T14:54:22.983Z" }, + { url = "https://files.pythonhosted.org/packages/04/00/1f74089c06aec1fac9390e2300a6a6b2381e0dac281783d64ccca9d681fd/neo4j-5.28.2-py3-none-any.whl", hash = "sha256:5c53b5c3eee6dee7e920c9724391aa38d7135a651e71b766da00533b92a91a94", size = 313156, upload-time = "2025-07-30T06:04:31.438Z" }, +] + +[[package]] +name = "neo4j-graphrag" +version = "1.10.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "fsspec", marker = "platform_python_implementation != 'PyPy'" }, + { name = "json-repair", marker = "platform_python_implementation != 'PyPy'" }, + { name = "neo4j", marker = "platform_python_implementation != 'PyPy'" }, + { name = "numpy", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pypdf", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pyyaml", marker = "platform_python_implementation != 'PyPy'" }, + { name = "scipy", marker = "platform_python_implementation != 'PyPy'" }, + { name = "tenacity", marker = "platform_python_implementation != 'PyPy'" }, + { name = "types-pyyaml", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/86/ba/f8db0ef8a82b5d056845b152413d3b3a40a8a7a30cf94dc87523e297a835/neo4j_graphrag-1.10.1.tar.gz", hash = "sha256:6b4671768d8e046e48f1896459eb46ad2f822758839b846fb0d875036bace4d2", size = 122933, upload-time = "2025-10-30T14:34:23.476Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ed/01/b0b2baf70b4833690a0b8c22bd927283d0805ce7631cc081fad0d375476f/neo4j_graphrag-1.10.1-py3-none-any.whl", hash = "sha256:d310c0b8ff569466d5084153e7842fd99578669d9a38c2ca78f63c06ec6b6f3d", size = 204772, upload-time = "2025-10-30T14:34:21.885Z" }, ] [[package]] @@ -3017,19 +3090,19 @@ name = "nomic" version = "3.6.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "click" }, - { name = "jsonlines" }, - { name = "jsonschema" }, - { name = "loguru" }, - { name = "numpy" }, - { name = "pandas" }, - { name = "pillow" }, - { name = "pyarrow" }, - { name = "pydantic" }, - { name = "pyjwt" }, - { name = "requests" }, - { name = "rich" }, - { name = "tqdm" }, + { name = "click", marker = "platform_python_implementation != 'PyPy'" }, + { name = "jsonlines", marker = "platform_python_implementation != 'PyPy'" }, + { name = "jsonschema", marker = "platform_python_implementation != 'PyPy'" }, + { name = "loguru", marker = "platform_python_implementation != 'PyPy'" }, + { name = "numpy", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pandas", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pillow", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pyarrow", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pyjwt", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, + { name = "rich", marker = "platform_python_implementation != 'PyPy'" }, + { name = "tqdm", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/f2/2f/5f6525290a574148586bea35455d203ad04e229f5c515039fe9b00ae7afc/nomic-3.6.0.tar.gz", hash = "sha256:c81c31b919c336567394fc1941c9818586c2f8c372b01bee1e5aa742954ebe81", size = 59755, upload-time = "2025-09-24T03:34:47.973Z" } wheels = [ @@ -3041,7 +3114,7 @@ name = "numexpr" version = "2.14.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "numpy" }, + { name = "numpy", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/cb/2f/fdba158c9dbe5caca9c3eca3eaffffb251f2fb8674bf8e2d0aed5f38d319/numexpr-2.14.1.tar.gz", hash = "sha256:4be00b1086c7b7a5c32e31558122b7b80243fe098579b170967da83f3152b48b", size = 119400, upload-time = "2025-10-13T16:17:27.351Z" } wheels = [ @@ -3061,22 +3134,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/1e/ce/0d4fcd31ab49319740d934fba1734d7dad13aa485532ca754e555ca16c8b/numexpr-2.14.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:67ea4771029ce818573b1998f5ca416bd255156feea017841b86176a938f7d19", size = 1474214, upload-time = "2025-10-13T16:15:38.893Z" }, { url = "https://files.pythonhosted.org/packages/b7/47/b2a93cbdb3ba4e009728ad1b9ef1550e2655ea2c86958ebaf03b9615f275/numexpr-2.14.1-cp313-cp313t-win32.whl", hash = "sha256:15015d47d3d1487072d58c0e7682ef2eb608321e14099c39d52e2dd689483611", size = 167676, upload-time = "2025-10-13T16:17:17.351Z" }, { url = "https://files.pythonhosted.org/packages/86/99/ee3accc589ed032eea68e12172515ed96a5568534c213ad109e1f4411df1/numexpr-2.14.1-cp313-cp313t-win_amd64.whl", hash = "sha256:94c711f6d8f17dfb4606842b403699603aa591ab9f6bf23038b488ea9cfb0f09", size = 161096, upload-time = "2025-10-13T16:17:19.174Z" }, - { url = "https://files.pythonhosted.org/packages/ac/36/9db78dfbfdfa1f8bf0872993f1a334cdd8fca5a5b6567e47dcb128bcb7c2/numexpr-2.14.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:ede79f7ff06629f599081de644546ce7324f1581c09b0ac174da88a470d39c21", size = 162848, upload-time = "2025-10-13T16:16:46.216Z" }, - { url = "https://files.pythonhosted.org/packages/13/c1/a5c78ae637402c5550e2e0ba175275d2515d432ec28af0cdc23c9b476e65/numexpr-2.14.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:2eac7a5a2f70b3768c67056445d1ceb4ecd9b853c8eda9563823b551aeaa5082", size = 152270, upload-time = "2025-10-13T16:16:47.92Z" }, - { url = "https://files.pythonhosted.org/packages/9a/ed/aabd8678077848dd9a751c5558c2057839f5a09e2a176d8dfcd0850ee00e/numexpr-2.14.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5aedf38d4c0c19d3cecfe0334c3f4099fb496f54c146223d30fa930084bc8574", size = 455918, upload-time = "2025-10-13T16:13:50.338Z" }, - { url = "https://files.pythonhosted.org/packages/88/e1/3db65117f02cdefb0e5e4c440daf1c30beb45051b7f47aded25b7f4f2f34/numexpr-2.14.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:439ec4d57b853792ebe5456e3160312281c3a7071ecac5532ded3278ede614de", size = 446512, upload-time = "2025-10-13T16:15:42.313Z" }, - { url = "https://files.pythonhosted.org/packages/9a/fb/7ceb9ee55b5f67e4a3e4d73d5af4c7e37e3c9f37f54bee90361b64b17e3f/numexpr-2.14.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e23b87f744e04e302d82ac5e2189ae20a533566aec76a46885376e20b0645bf8", size = 1417845, upload-time = "2025-10-13T16:13:53.836Z" }, - { url = "https://files.pythonhosted.org/packages/45/2d/9b5764d0eafbbb2889288f80de773791358acf6fad1a55767538d8b79599/numexpr-2.14.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:44f84e0e5af219dbb62a081606156420815890e041b87252fbcea5df55214c4c", size = 1466211, upload-time = "2025-10-13T16:15:48.985Z" }, - { url = "https://files.pythonhosted.org/packages/5d/21/204db708eccd71aa8bc55bcad55bc0fc6c5a4e01ad78e14ee5714a749386/numexpr-2.14.1-cp314-cp314-win32.whl", hash = "sha256:1f1a5e817c534539351aa75d26088e9e1e0ef1b3a6ab484047618a652ccc4fc3", size = 168835, upload-time = "2025-10-13T16:17:20.82Z" }, - { url = "https://files.pythonhosted.org/packages/4f/3e/d83e9401a1c3449a124f7d4b3fb44084798e0d30f7c11e60712d9b94cf11/numexpr-2.14.1-cp314-cp314-win_amd64.whl", hash = "sha256:587c41509bc373dfb1fe6086ba55a73147297247bedb6d588cda69169fc412f2", size = 162608, upload-time = "2025-10-13T16:17:22.228Z" }, - { url = "https://files.pythonhosted.org/packages/7f/d6/ec947806bb57836d6379a8c8a253c2aeaa602b12fef2336bfd2462bb4ed5/numexpr-2.14.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:ec368819502b64f190c3f71be14a304780b5935c42aae5bf22c27cc2cbba70b5", size = 163525, upload-time = "2025-10-13T16:16:50.133Z" }, - { url = "https://files.pythonhosted.org/packages/0d/77/048f30dcf661a3d52963a88c29b52b6d5ce996d38e9313a56a922451c1e0/numexpr-2.14.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7e87f6d203ac57239de32261c941e9748f9309cbc0da6295eabd0c438b920d3a", size = 152917, upload-time = "2025-10-13T16:16:52.055Z" }, - { url = "https://files.pythonhosted.org/packages/9e/d3/956a13e628d722d649fbf2fded615134a308c082e122a48bad0e90a99ce9/numexpr-2.14.1-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dd72d8c2a165fe45ea7650b16eb8cc1792a94a722022006bb97c86fe51fd2091", size = 466242, upload-time = "2025-10-13T16:13:55.795Z" }, - { url = "https://files.pythonhosted.org/packages/d6/dd/abe848678d82486940892f2cacf39e82eec790e8930d4d713d3f9191063b/numexpr-2.14.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:70d80fcb418a54ca208e9a38e58ddc425c07f66485176b261d9a67c7f2864f73", size = 457149, upload-time = "2025-10-13T16:15:52.036Z" }, - { url = "https://files.pythonhosted.org/packages/fd/bb/797b583b5fb9da5700a5708ca6eb4f889c94d81abb28de4d642c0f4b3258/numexpr-2.14.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:edea2f20c2040df8b54ee8ca8ebda63de9545b2112872466118e9df4d0ae99f3", size = 1426493, upload-time = "2025-10-13T16:13:59.244Z" }, - { url = "https://files.pythonhosted.org/packages/77/c4/0519ab028fdc35e3e7ee700def7f2b4631b175cd9e1202bd7966c1695c33/numexpr-2.14.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:790447be6879a6c51b9545f79612d24c9ea0a41d537a84e15e6a8ddef0b6268e", size = 1474413, upload-time = "2025-10-13T16:15:59.211Z" }, - { url = "https://files.pythonhosted.org/packages/d4/4a/33044878c8f4a75213cfe9c11d4c02058bb710a7a063fe14f362e8de1077/numexpr-2.14.1-cp314-cp314t-win32.whl", hash = "sha256:538961096c2300ea44240209181e31fae82759d26b51713b589332b9f2a4117e", size = 169502, upload-time = "2025-10-13T16:17:23.829Z" }, - { url = "https://files.pythonhosted.org/packages/41/a2/5a1a2c72528b429337f49911b18c302ecd36eeab00f409147e1aa4ae4519/numexpr-2.14.1-cp314-cp314t-win_amd64.whl", hash = "sha256:a40b350cd45b4446076fa11843fa32bbe07024747aeddf6d467290bf9011b392", size = 163589, upload-time = "2025-10-13T16:17:25.696Z" }, ] [[package]] @@ -3107,28 +3164,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/62/b7/7efa763ab33dbccf56dade36938a77345ce8e8192d6b39e470ca25ff3cd0/numpy-2.3.4-cp313-cp313t-win32.whl", hash = "sha256:fea80f4f4cf83b54c3a051f2f727870ee51e22f0248d3114b8e755d160b38cfb", size = 6413135, upload-time = "2025-10-15T16:16:55.992Z" }, { url = "https://files.pythonhosted.org/packages/43/70/aba4c38e8400abcc2f345e13d972fb36c26409b3e644366db7649015f291/numpy-2.3.4-cp313-cp313t-win_amd64.whl", hash = "sha256:15eea9f306b98e0be91eb344a94c0e630689ef302e10c2ce5f7e11905c704f9c", size = 12928582, upload-time = "2025-10-15T16:16:57.943Z" }, { url = "https://files.pythonhosted.org/packages/67/63/871fad5f0073fc00fbbdd7232962ea1ac40eeaae2bba66c76214f7954236/numpy-2.3.4-cp313-cp313t-win_arm64.whl", hash = "sha256:b6c231c9c2fadbae4011ca5e7e83e12dc4a5072f1a1d85a0a7b3ed754d145a40", size = 10266691, upload-time = "2025-10-15T16:17:00.048Z" }, - { url = "https://files.pythonhosted.org/packages/72/71/ae6170143c115732470ae3a2d01512870dd16e0953f8a6dc89525696069b/numpy-2.3.4-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:81c3e6d8c97295a7360d367f9f8553973651b76907988bb6066376bc2252f24e", size = 20955580, upload-time = "2025-10-15T16:17:02.509Z" }, - { url = "https://files.pythonhosted.org/packages/af/39/4be9222ffd6ca8a30eda033d5f753276a9c3426c397bb137d8e19dedd200/numpy-2.3.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:7c26b0b2bf58009ed1f38a641f3db4be8d960a417ca96d14e5b06df1506d41ff", size = 14188056, upload-time = "2025-10-15T16:17:04.873Z" }, - { url = "https://files.pythonhosted.org/packages/6c/3d/d85f6700d0a4aa4f9491030e1021c2b2b7421b2b38d01acd16734a2bfdc7/numpy-2.3.4-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:62b2198c438058a20b6704351b35a1d7db881812d8512d67a69c9de1f18ca05f", size = 5116555, upload-time = "2025-10-15T16:17:07.499Z" }, - { url = "https://files.pythonhosted.org/packages/bf/04/82c1467d86f47eee8a19a464c92f90a9bb68ccf14a54c5224d7031241ffb/numpy-2.3.4-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:9d729d60f8d53a7361707f4b68a9663c968882dd4f09e0d58c044c8bf5faee7b", size = 6643581, upload-time = "2025-10-15T16:17:09.774Z" }, - { url = "https://files.pythonhosted.org/packages/0c/d3/c79841741b837e293f48bd7db89d0ac7a4f2503b382b78a790ef1dc778a5/numpy-2.3.4-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bd0c630cf256b0a7fd9d0a11c9413b42fef5101219ce6ed5a09624f5a65392c7", size = 14299186, upload-time = "2025-10-15T16:17:11.937Z" }, - { url = "https://files.pythonhosted.org/packages/e8/7e/4a14a769741fbf237eec5a12a2cbc7a4c4e061852b6533bcb9e9a796c908/numpy-2.3.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d5e081bc082825f8b139f9e9fe42942cb4054524598aaeb177ff476cc76d09d2", size = 16638601, upload-time = "2025-10-15T16:17:14.391Z" }, - { url = "https://files.pythonhosted.org/packages/93/87/1c1de269f002ff0a41173fe01dcc925f4ecff59264cd8f96cf3b60d12c9b/numpy-2.3.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:15fb27364ed84114438fff8aaf998c9e19adbeba08c0b75409f8c452a8692c52", size = 16074219, upload-time = "2025-10-15T16:17:17.058Z" }, - { url = "https://files.pythonhosted.org/packages/cd/28/18f72ee77408e40a76d691001ae599e712ca2a47ddd2c4f695b16c65f077/numpy-2.3.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:85d9fb2d8cd998c84d13a79a09cc0c1091648e848e4e6249b0ccd7f6b487fa26", size = 18576702, upload-time = "2025-10-15T16:17:19.379Z" }, - { url = "https://files.pythonhosted.org/packages/c3/76/95650169b465ececa8cf4b2e8f6df255d4bf662775e797ade2025cc51ae6/numpy-2.3.4-cp314-cp314-win32.whl", hash = "sha256:e73d63fd04e3a9d6bc187f5455d81abfad05660b212c8804bf3b407e984cd2bc", size = 6337136, upload-time = "2025-10-15T16:17:22.886Z" }, - { url = "https://files.pythonhosted.org/packages/dc/89/a231a5c43ede5d6f77ba4a91e915a87dea4aeea76560ba4d2bf185c683f0/numpy-2.3.4-cp314-cp314-win_amd64.whl", hash = "sha256:3da3491cee49cf16157e70f607c03a217ea6647b1cea4819c4f48e53d49139b9", size = 12920542, upload-time = "2025-10-15T16:17:24.783Z" }, - { url = "https://files.pythonhosted.org/packages/0d/0c/ae9434a888f717c5ed2ff2393b3f344f0ff6f1c793519fa0c540461dc530/numpy-2.3.4-cp314-cp314-win_arm64.whl", hash = "sha256:6d9cd732068e8288dbe2717177320723ccec4fb064123f0caf9bbd90ab5be868", size = 10480213, upload-time = "2025-10-15T16:17:26.935Z" }, - { url = "https://files.pythonhosted.org/packages/83/4b/c4a5f0841f92536f6b9592694a5b5f68c9ab37b775ff342649eadf9055d3/numpy-2.3.4-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:22758999b256b595cf0b1d102b133bb61866ba5ceecf15f759623b64c020c9ec", size = 21052280, upload-time = "2025-10-15T16:17:29.638Z" }, - { url = "https://files.pythonhosted.org/packages/3e/80/90308845fc93b984d2cc96d83e2324ce8ad1fd6efea81b324cba4b673854/numpy-2.3.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:9cb177bc55b010b19798dc5497d540dea67fd13a8d9e882b2dae71de0cf09eb3", size = 14302930, upload-time = "2025-10-15T16:17:32.384Z" }, - { url = "https://files.pythonhosted.org/packages/3d/4e/07439f22f2a3b247cec4d63a713faae55e1141a36e77fb212881f7cda3fb/numpy-2.3.4-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:0f2bcc76f1e05e5ab58893407c63d90b2029908fa41f9f1cc51eecce936c3365", size = 5231504, upload-time = "2025-10-15T16:17:34.515Z" }, - { url = "https://files.pythonhosted.org/packages/ab/de/1e11f2547e2fe3d00482b19721855348b94ada8359aef5d40dd57bfae9df/numpy-2.3.4-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:8dc20bde86802df2ed8397a08d793da0ad7a5fd4ea3ac85d757bf5dd4ad7c252", size = 6739405, upload-time = "2025-10-15T16:17:36.128Z" }, - { url = "https://files.pythonhosted.org/packages/3b/40/8cd57393a26cebe2e923005db5134a946c62fa56a1087dc7c478f3e30837/numpy-2.3.4-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5e199c087e2aa71c8f9ce1cb7a8e10677dc12457e7cc1be4798632da37c3e86e", size = 14354866, upload-time = "2025-10-15T16:17:38.884Z" }, - { url = "https://files.pythonhosted.org/packages/93/39/5b3510f023f96874ee6fea2e40dfa99313a00bf3ab779f3c92978f34aace/numpy-2.3.4-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:85597b2d25ddf655495e2363fe044b0ae999b75bc4d630dc0d886484b03a5eb0", size = 16703296, upload-time = "2025-10-15T16:17:41.564Z" }, - { url = "https://files.pythonhosted.org/packages/41/0d/19bb163617c8045209c1996c4e427bccbc4bbff1e2c711f39203c8ddbb4a/numpy-2.3.4-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:04a69abe45b49c5955923cf2c407843d1c85013b424ae8a560bba16c92fe44a0", size = 16136046, upload-time = "2025-10-15T16:17:43.901Z" }, - { url = "https://files.pythonhosted.org/packages/e2/c1/6dba12fdf68b02a21ac411c9df19afa66bed2540f467150ca64d246b463d/numpy-2.3.4-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:e1708fac43ef8b419c975926ce1eaf793b0c13b7356cfab6ab0dc34c0a02ac0f", size = 18652691, upload-time = "2025-10-15T16:17:46.247Z" }, - { url = "https://files.pythonhosted.org/packages/f8/73/f85056701dbbbb910c51d846c58d29fd46b30eecd2b6ba760fc8b8a1641b/numpy-2.3.4-cp314-cp314t-win32.whl", hash = "sha256:863e3b5f4d9915aaf1b8ec79ae560ad21f0b8d5e3adc31e73126491bb86dee1d", size = 6485782, upload-time = "2025-10-15T16:17:48.872Z" }, - { url = "https://files.pythonhosted.org/packages/17/90/28fa6f9865181cb817c2471ee65678afa8a7e2a1fb16141473d5fa6bacc3/numpy-2.3.4-cp314-cp314t-win_amd64.whl", hash = "sha256:962064de37b9aef801d33bc579690f8bfe6c5e70e29b61783f60bcba838a14d6", size = 13113301, upload-time = "2025-10-15T16:17:50.938Z" }, - { url = "https://files.pythonhosted.org/packages/54/23/08c002201a8e7e1f9afba93b97deceb813252d9cfd0d3351caed123dcf97/numpy-2.3.4-cp314-cp314t-win_arm64.whl", hash = "sha256:8b5a9a39c45d852b62693d9b3f3e0fe052541f804296ff401a72a1b60edafb29", size = 10547532, upload-time = "2025-10-15T16:17:53.48Z" }, ] [[package]] @@ -3140,13 +3175,33 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/be/9c/92789c596b8df838baa98fa71844d84283302f7604ed565dafe5a6b5041a/oauthlib-3.3.1-py3-none-any.whl", hash = "sha256:88119c938d2b8fb88561af5f6ee0eec8cc8d552b7bb1f712743136eb7523b7a1", size = 160065, upload-time = "2025-06-19T22:48:06.508Z" }, ] +[[package]] +name = "obstore" +version = "0.7.3" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/ef/491cf28be51301aa9695d8448c4e6489956c162564dbdf4f21836696e294/obstore-0.7.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:dcb71412dc8d2bd464b340d1f36d8c0ceb7894c01c2ceaaa5f2ac45376503fa2", size = 3676519, upload-time = "2025-08-01T22:37:40.194Z" }, + { url = "https://files.pythonhosted.org/packages/f0/12/41c51cca59784d2b6c60a99a2a010f8e73a089416d288db12d91cbcdbd02/obstore-0.7.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6d486bb01438039d686401ce4207d82c02b8b639227baa5bdd578efdab388dea", size = 3387665, upload-time = "2025-08-01T22:37:41.431Z" }, + { url = "https://files.pythonhosted.org/packages/cb/27/9aac5a70c6d4a496a837748bc9368e7825dc58761711d5f65cc8bc9d3765/obstore-0.7.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fcaaf0c9223b5592658c131ff32a0574be995c7e237f406266f9a68ea2266769", size = 3558354, upload-time = "2025-08-01T22:37:42.678Z" }, + { url = "https://files.pythonhosted.org/packages/f2/04/70e6cf1931d56db2f86a359ea171aa403146c04faf20aeb025eeabe254dd/obstore-0.7.3-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e8ae6cde734df3cc542c14152029170d9ae70ce50b957831ed71073113bd3d60", size = 3706831, upload-time = "2025-08-01T22:37:44.415Z" }, + { url = "https://files.pythonhosted.org/packages/e9/a9/758920c8c7256f0cd366a3b0063247a197d9a1e2e189e2309400022787c5/obstore-0.7.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:30da82ae3bfdf24fa80af38967e323ae8da0bb7c36cce01f0dda7689faaf1272", size = 3973250, upload-time = "2025-08-01T22:37:45.631Z" }, + { url = "https://files.pythonhosted.org/packages/59/f8/5a6a831d7328a4351caab13ba7faf47cb1bdcb5afba2e46535386ccf1170/obstore-0.7.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b5daa9f912eac8cdf218161d34e13f38cbb594e934eaaf8a7c09dca5a394b231", size = 4030160, upload-time = "2025-08-01T22:37:47.208Z" }, + { url = "https://files.pythonhosted.org/packages/67/7d/698e4851049999b4a8ff9622ece0cba86e64c4242fa981e21f9832bdd378/obstore-0.7.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef06cad4e8978d672357b328b4f61c48827b2b79d7eaf58b68ee31ac0e652b8", size = 3805594, upload-time = "2025-08-01T22:37:48.699Z" }, + { url = "https://files.pythonhosted.org/packages/b4/a6/4a9290cac8aaa16a7ce9aec6e8a001ed0d0ed42d1e49570c6770d31f693c/obstore-0.7.3-cp313-cp313-manylinux_2_24_aarch64.whl", hash = "sha256:d34920539a94da2b87195787b80004960638dfd0aa2f4369fc9239e0a41470a8", size = 3575482, upload-time = "2025-08-01T22:37:50.216Z" }, + { url = "https://files.pythonhosted.org/packages/e6/c9/87f7c88daf07a52b5d86a9de0664574ee0dea2f5e6cd26a91ad4688b53fb/obstore-0.7.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcdaa779f376745ff493cce7f19cbbe8d75f68304bf1062e757ab60bd62de1", size = 3739411, upload-time = "2025-08-01T22:37:51.483Z" }, + { url = "https://files.pythonhosted.org/packages/69/58/1163bcb48e80e220ef6010130880d24a75239025fde1092356ce71b6efee/obstore-0.7.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:ae095f679e4796b8f6ef80ed3813ddd14a477ae219a0c059c23cf294f9288ded", size = 3783914, upload-time = "2025-08-01T22:37:52.857Z" }, + { url = "https://files.pythonhosted.org/packages/75/a2/f5b68265a6ea248adbd4e2f9db2dae7d727ab6ac53a63dfebcf28f1aacea/obstore-0.7.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:6def59e79c19b8804743fec6407f542b387dc1630c2254412ae8bd3a0b98e7e4", size = 3787905, upload-time = "2025-08-01T22:37:54.414Z" }, + { url = "https://files.pythonhosted.org/packages/8b/2c/23b671c7eaf37097fe9c3c2cc925c466135d4866e2009444daf91f180fed/obstore-0.7.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f97797c42476ab19853ef4a161b903eaf96c2363a23b9e0187d66b0daee350cb", size = 3976888, upload-time = "2025-08-01T22:37:55.681Z" }, + { url = "https://files.pythonhosted.org/packages/42/10/5f352e6dd1388f5c8931261357e111a6923121d937a1ebad09f4cf391418/obstore-0.7.3-cp313-cp313-win_amd64.whl", hash = "sha256:8f0ecc01b1444bc08ff98e368b80ea2c085a7783621075298e86d3aba96f8e27", size = 4050018, upload-time = "2025-08-01T22:37:57.285Z" }, +] + [[package]] name = "ollama" version = "0.6.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "httpx" }, - { name = "pydantic" }, + { name = "httpx", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/d6/47/f9ee32467fe92744474a8c72e138113f3b529fc266eea76abfdec9a33f3b/ollama-0.6.0.tar.gz", hash = "sha256:da2b2d846b5944cfbcee1ca1e6ee0585f6c9d45a2fe9467cbcd096a37383da2f", size = 50811, upload-time = "2025-09-24T22:46:02.417Z" } wheels = [ @@ -3155,43 +3210,43 @@ wheels = [ [[package]] name = "onnxruntime" -version = "1.23.1" +version = "1.23.2" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "coloredlogs" }, - { name = "flatbuffers" }, - { name = "numpy" }, - { name = "packaging" }, - { name = "protobuf" }, - { name = "sympy" }, + { name = "coloredlogs", marker = "platform_python_implementation != 'PyPy'" }, + { name = "flatbuffers", marker = "platform_python_implementation != 'PyPy'" }, + { name = "numpy", marker = "platform_python_implementation != 'PyPy'" }, + { name = "packaging", marker = "platform_python_implementation != 'PyPy'" }, + { name = "protobuf", marker = "platform_python_implementation != 'PyPy'" }, + { name = "sympy", marker = "platform_python_implementation != 'PyPy'" }, ] wheels = [ - { url = "https://files.pythonhosted.org/packages/99/cc/0316dfd705407a78e4bf096aaa09b2de6b97676e3e028e1183b450c2ebd1/onnxruntime-1.23.1-cp313-cp313-macosx_13_0_arm64.whl", hash = "sha256:a5402841ff0a400739d2c0423f4f3e3a0ed62673af4323237bb5f5052fccf6cf", size = 17194641, upload-time = "2025-10-08T04:24:16.389Z" }, - { url = "https://files.pythonhosted.org/packages/48/32/7f0a3b21ea9282120fcc274f5227a3390661bdf9019e5ca2da5608f0112d/onnxruntime-1.23.1-cp313-cp313-macosx_13_0_x86_64.whl", hash = "sha256:7059296745fceafcac57badf0386e394185e20c27aa536ec705288c4cde19c8d", size = 19152562, upload-time = "2025-10-08T04:24:26.876Z" }, - { url = "https://files.pythonhosted.org/packages/c4/4a/f9ce32f39fac4465bae693591c6ff9f999635b6ed53171b50b6c4812d613/onnxruntime-1.23.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dc8f92157234c3cfba23016576f73deb99aba165a6fc1f2fe4a37d0c524ad3ad", size = 15221548, upload-time = "2025-10-08T04:24:10.878Z" }, - { url = "https://files.pythonhosted.org/packages/e4/30/8a85c09c42a99d97e9445441a4607eacc9db9d40cf9484de6818cab8d154/onnxruntime-1.23.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ce3ea70499aabc7c8b9407b3680b12473dba9322e3dfde0fe11ff8061c44a226", size = 17378269, upload-time = "2025-10-08T04:24:53.098Z" }, - { url = "https://files.pythonhosted.org/packages/af/2e/1b95ca7b33f0c345fb454f3187a301791e2a2aa2455ef0cf9e7cb0ab6036/onnxruntime-1.23.1-cp313-cp313-win_amd64.whl", hash = "sha256:371202e1468d5159e78518236cb22f7bbd170e29b31ee77722070a20f8a733ce", size = 13468418, upload-time = "2025-10-08T04:25:19.724Z" }, - { url = "https://files.pythonhosted.org/packages/60/1f/439d9ed8527734a60bf4efba05fbb228dfd9eba7a9ff6c39a29ad92a914d/onnxruntime-1.23.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:16217416cb88aadcd6a86f8e7c6c22ff951b65f9f695faef9c1ff94052ba1c36", size = 15225857, upload-time = "2025-10-08T04:24:13.676Z" }, - { url = "https://files.pythonhosted.org/packages/42/03/127876e85542a1ce27cc2d50206d5aba0ccb034b00ab28407839aee272c8/onnxruntime-1.23.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:38eae2d803de3c08265a5b38211bcec315b19a7ca5867468029cca06fd217a6b", size = 17389605, upload-time = "2025-10-08T04:24:55.865Z" }, + { url = "https://files.pythonhosted.org/packages/3d/41/fba0cabccecefe4a1b5fc8020c44febb334637f133acefc7ec492029dd2c/onnxruntime-1.23.2-cp313-cp313-macosx_13_0_arm64.whl", hash = "sha256:2ff531ad8496281b4297f32b83b01cdd719617e2351ffe0dba5684fb283afa1f", size = 17196337, upload-time = "2025-10-22T03:46:35.168Z" }, + { url = "https://files.pythonhosted.org/packages/fe/f9/2d49ca491c6a986acce9f1d1d5fc2099108958cc1710c28e89a032c9cfe9/onnxruntime-1.23.2-cp313-cp313-macosx_13_0_x86_64.whl", hash = "sha256:162f4ca894ec3de1a6fd53589e511e06ecdc3ff646849b62a9da7489dee9ce95", size = 19157691, upload-time = "2025-10-22T03:46:43.518Z" }, + { url = "https://files.pythonhosted.org/packages/1c/a1/428ee29c6eaf09a6f6be56f836213f104618fb35ac6cc586ff0f477263eb/onnxruntime-1.23.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:45d127d6e1e9b99d1ebeae9bcd8f98617a812f53f46699eafeb976275744826b", size = 15226898, upload-time = "2025-10-22T03:46:30.039Z" }, + { url = "https://files.pythonhosted.org/packages/f2/2b/b57c8a2466a3126dbe0a792f56ad7290949b02f47b86216cd47d857e4b77/onnxruntime-1.23.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8bace4e0d46480fbeeb7bbe1ffe1f080e6663a42d1086ff95c1551f2d39e7872", size = 17382518, upload-time = "2025-10-22T03:47:05.407Z" }, + { url = "https://files.pythonhosted.org/packages/4a/93/aba75358133b3a941d736816dd392f687e7eab77215a6e429879080b76b6/onnxruntime-1.23.2-cp313-cp313-win_amd64.whl", hash = "sha256:1f9cc0a55349c584f083c1c076e611a7c35d5b867d5d6e6d6c823bf821978088", size = 13470276, upload-time = "2025-10-22T03:47:31.193Z" }, + { url = "https://files.pythonhosted.org/packages/7c/3d/6830fa61c69ca8e905f237001dbfc01689a4e4ab06147020a4518318881f/onnxruntime-1.23.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9d2385e774f46ac38f02b3a91a91e30263d41b2f1f4f26ae34805b2a9ddef466", size = 15229610, upload-time = "2025-10-22T03:46:32.239Z" }, + { url = "https://files.pythonhosted.org/packages/b6/ca/862b1e7a639460f0ca25fd5b6135fb42cf9deea86d398a92e44dfda2279d/onnxruntime-1.23.2-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e2b9233c4947907fd1818d0e581c049c41ccc39b2856cc942ff6d26317cee145", size = 17394184, upload-time = "2025-10-22T03:47:08.127Z" }, ] [[package]] name = "openai" -version = "2.5.0" +version = "2.6.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "anyio" }, - { name = "distro" }, - { name = "httpx" }, - { name = "jiter" }, - { name = "pydantic" }, - { name = "sniffio" }, - { name = "tqdm" }, - { name = "typing-extensions" }, + { name = "anyio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "distro", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpx", marker = "platform_python_implementation != 'PyPy'" }, + { name = "jiter", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "sniffio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "tqdm", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/72/39/aa3767c920c217ef56f27e89cbe3aaa43dd6eea3269c95f045c5761b9df1/openai-2.5.0.tar.gz", hash = "sha256:f8fa7611f96886a0f31ac6b97e58bc0ada494b255ee2cfd51c8eb502cfcb4814", size = 590333, upload-time = "2025-10-17T18:14:47.669Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c4/44/303deb97be7c1c9b53118b52825cbd1557aeeff510f3a52566b1fa66f6a2/openai-2.6.1.tar.gz", hash = "sha256:27ae704d190615fca0c0fc2b796a38f8b5879645a3a52c9c453b23f97141bb49", size = 593043, upload-time = "2025-10-24T13:29:52.79Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/14/f3/ebbd700d8dc1e6380a7a382969d96bc0cbea8717b52fb38ff0ca2a7653e8/openai-2.5.0-py3-none-any.whl", hash = "sha256:21380e5f52a71666dbadbf322dd518bdf2b9d11ed0bb3f96bea17310302d6280", size = 999851, upload-time = "2025-10-17T18:14:45.528Z" }, + { url = "https://files.pythonhosted.org/packages/15/0e/331df43df633e6105ff9cf45e0ce57762bd126a45ac16b25a43f6738d8a2/openai-2.6.1-py3-none-any.whl", hash = "sha256:904e4b5254a8416746a2f05649594fa41b19d799843cd134dac86167e094edef", size = 1005551, upload-time = "2025-10-24T13:29:50.973Z" }, ] [[package]] @@ -3199,8 +3254,8 @@ name = "opentelemetry-api" version = "1.38.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "importlib-metadata" }, - { name = "typing-extensions" }, + { name = "importlib-metadata", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/08/d8/0f354c375628e048bd0570645b310797299754730079853095bf000fba69/opentelemetry_api-1.38.0.tar.gz", hash = "sha256:f4c193b5e8acb0912b06ac5b16321908dd0843d75049c091487322284a3eea12", size = 65242, upload-time = "2025-10-16T08:35:50.25Z" } wheels = [ @@ -3212,7 +3267,7 @@ name = "opentelemetry-exporter-otlp-proto-common" version = "1.38.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "opentelemetry-proto" }, + { name = "opentelemetry-proto", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/19/83/dd4660f2956ff88ed071e9e0e36e830df14b8c5dc06722dbde1841accbe8/opentelemetry_exporter_otlp_proto_common-1.38.0.tar.gz", hash = "sha256:e333278afab4695aa8114eeb7bf4e44e65c6607d54968271a249c180b2cb605c", size = 20431, upload-time = "2025-10-16T08:35:53.285Z" } wheels = [ @@ -3224,13 +3279,13 @@ name = "opentelemetry-exporter-otlp-proto-grpc" version = "1.38.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "googleapis-common-protos" }, - { name = "grpcio" }, - { name = "opentelemetry-api" }, - { name = "opentelemetry-exporter-otlp-proto-common" }, - { name = "opentelemetry-proto" }, - { name = "opentelemetry-sdk" }, - { name = "typing-extensions" }, + { name = "googleapis-common-protos", marker = "platform_python_implementation != 'PyPy'" }, + { name = "grpcio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "opentelemetry-api", marker = "platform_python_implementation != 'PyPy'" }, + { name = "opentelemetry-exporter-otlp-proto-common", marker = "platform_python_implementation != 'PyPy'" }, + { name = "opentelemetry-proto", marker = "platform_python_implementation != 'PyPy'" }, + { name = "opentelemetry-sdk", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/a2/c0/43222f5b97dc10812bc4f0abc5dc7cd0a2525a91b5151d26c9e2e958f52e/opentelemetry_exporter_otlp_proto_grpc-1.38.0.tar.gz", hash = "sha256:2473935e9eac71f401de6101d37d6f3f0f1831db92b953c7dcc912536158ebd6", size = 24676, upload-time = "2025-10-16T08:35:53.83Z" } wheels = [ @@ -3242,7 +3297,7 @@ name = "opentelemetry-proto" version = "1.38.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "protobuf" }, + { name = "protobuf", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/51/14/f0c4f0f6371b9cb7f9fa9ee8918bfd59ac7040c7791f1e6da32a1839780d/opentelemetry_proto-1.38.0.tar.gz", hash = "sha256:88b161e89d9d372ce723da289b7da74c3a8354a8e5359992be813942969ed468", size = 46152, upload-time = "2025-10-16T08:36:01.612Z" } wheels = [ @@ -3254,9 +3309,9 @@ name = "opentelemetry-sdk" version = "1.38.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "opentelemetry-api" }, - { name = "opentelemetry-semantic-conventions" }, - { name = "typing-extensions" }, + { name = "opentelemetry-api", marker = "platform_python_implementation != 'PyPy'" }, + { name = "opentelemetry-semantic-conventions", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/85/cb/f0eee1445161faf4c9af3ba7b848cc22a50a3d3e2515051ad8628c35ff80/opentelemetry_sdk-1.38.0.tar.gz", hash = "sha256:93df5d4d871ed09cb4272305be4d996236eedb232253e3ab864c8620f051cebe", size = 171942, upload-time = "2025-10-16T08:36:02.257Z" } wheels = [ @@ -3268,8 +3323,8 @@ name = "opentelemetry-semantic-conventions" version = "0.59b0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "opentelemetry-api" }, - { name = "typing-extensions" }, + { name = "opentelemetry-api", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/40/bc/8b9ad3802cd8ac6583a4eb7de7e5d7db004e89cb7efe7008f9c8a537ee75/opentelemetry_semantic_conventions-0.59b0.tar.gz", hash = "sha256:7a6db3f30d70202d5bf9fa4b69bc866ca6a30437287de6c510fb594878aed6b0", size = 129861, upload-time = "2025-10-16T08:36:03.346Z" } wheels = [ @@ -3278,65 +3333,42 @@ wheels = [ [[package]] name = "orjson" -version = "3.11.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/be/4d/8df5f83256a809c22c4d6792ce8d43bb503be0fb7a8e4da9025754b09658/orjson-3.11.3.tar.gz", hash = "sha256:1c0603b1d2ffcd43a411d64797a19556ef76958aef1c182f22dc30860152a98a", size = 5482394, upload-time = "2025-08-26T17:46:43.171Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/fc/79/8932b27293ad35919571f77cb3693b5906cf14f206ef17546052a241fdf6/orjson-3.11.3-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:af40c6612fd2a4b00de648aa26d18186cd1322330bd3a3cc52f87c699e995810", size = 238127, upload-time = "2025-08-26T17:45:38.146Z" }, - { url = "https://files.pythonhosted.org/packages/1c/82/cb93cd8cf132cd7643b30b6c5a56a26c4e780c7a145db6f83de977b540ce/orjson-3.11.3-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:9f1587f26c235894c09e8b5b7636a38091a9e6e7fe4531937534749c04face43", size = 127494, upload-time = "2025-08-26T17:45:39.57Z" }, - { url = "https://files.pythonhosted.org/packages/a4/b8/2d9eb181a9b6bb71463a78882bcac1027fd29cf62c38a40cc02fc11d3495/orjson-3.11.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:61dcdad16da5bb486d7227a37a2e789c429397793a6955227cedbd7252eb5a27", size = 123017, upload-time = "2025-08-26T17:45:40.876Z" }, - { url = "https://files.pythonhosted.org/packages/b4/14/a0e971e72d03b509190232356d54c0f34507a05050bd026b8db2bf2c192c/orjson-3.11.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:11c6d71478e2cbea0a709e8a06365fa63da81da6498a53e4c4f065881d21ae8f", size = 127898, upload-time = "2025-08-26T17:45:42.188Z" }, - { url = "https://files.pythonhosted.org/packages/8e/af/dc74536722b03d65e17042cc30ae586161093e5b1f29bccda24765a6ae47/orjson-3.11.3-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff94112e0098470b665cb0ed06efb187154b63649403b8d5e9aedeb482b4548c", size = 130742, upload-time = "2025-08-26T17:45:43.511Z" }, - { url = "https://files.pythonhosted.org/packages/62/e6/7a3b63b6677bce089fe939353cda24a7679825c43a24e49f757805fc0d8a/orjson-3.11.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae8b756575aaa2a855a75192f356bbda11a89169830e1439cfb1a3e1a6dde7be", size = 132377, upload-time = "2025-08-26T17:45:45.525Z" }, - { url = "https://files.pythonhosted.org/packages/fc/cd/ce2ab93e2e7eaf518f0fd15e3068b8c43216c8a44ed82ac2b79ce5cef72d/orjson-3.11.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c9416cc19a349c167ef76135b2fe40d03cea93680428efee8771f3e9fb66079d", size = 135313, upload-time = "2025-08-26T17:45:46.821Z" }, - { url = "https://files.pythonhosted.org/packages/d0/b4/f98355eff0bd1a38454209bbc73372ce351ba29933cb3e2eba16c04b9448/orjson-3.11.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b822caf5b9752bc6f246eb08124c3d12bf2175b66ab74bac2ef3bbf9221ce1b2", size = 132908, upload-time = "2025-08-26T17:45:48.126Z" }, - { url = "https://files.pythonhosted.org/packages/eb/92/8f5182d7bc2a1bed46ed960b61a39af8389f0ad476120cd99e67182bfb6d/orjson-3.11.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:414f71e3bdd5573893bf5ecdf35c32b213ed20aa15536fe2f588f946c318824f", size = 130905, upload-time = "2025-08-26T17:45:49.414Z" }, - { url = "https://files.pythonhosted.org/packages/1a/60/c41ca753ce9ffe3d0f67b9b4c093bdd6e5fdb1bc53064f992f66bb99954d/orjson-3.11.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:828e3149ad8815dc14468f36ab2a4b819237c155ee1370341b91ea4c8672d2ee", size = 403812, upload-time = "2025-08-26T17:45:51.085Z" }, - { url = "https://files.pythonhosted.org/packages/dd/13/e4a4f16d71ce1868860db59092e78782c67082a8f1dc06a3788aef2b41bc/orjson-3.11.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ac9e05f25627ffc714c21f8dfe3a579445a5c392a9c8ae7ba1d0e9fb5333f56e", size = 146277, upload-time = "2025-08-26T17:45:52.851Z" }, - { url = "https://files.pythonhosted.org/packages/8d/8b/bafb7f0afef9344754a3a0597a12442f1b85a048b82108ef2c956f53babd/orjson-3.11.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e44fbe4000bd321d9f3b648ae46e0196d21577cf66ae684a96ff90b1f7c93633", size = 135418, upload-time = "2025-08-26T17:45:54.806Z" }, - { url = "https://files.pythonhosted.org/packages/60/d4/bae8e4f26afb2c23bea69d2f6d566132584d1c3a5fe89ee8c17b718cab67/orjson-3.11.3-cp313-cp313-win32.whl", hash = "sha256:2039b7847ba3eec1f5886e75e6763a16e18c68a63efc4b029ddf994821e2e66b", size = 136216, upload-time = "2025-08-26T17:45:57.182Z" }, - { url = "https://files.pythonhosted.org/packages/88/76/224985d9f127e121c8cad882cea55f0ebe39f97925de040b75ccd4b33999/orjson-3.11.3-cp313-cp313-win_amd64.whl", hash = "sha256:29be5ac4164aa8bdcba5fa0700a3c9c316b411d8ed9d39ef8a882541bd452fae", size = 131362, upload-time = "2025-08-26T17:45:58.56Z" }, - { url = "https://files.pythonhosted.org/packages/e2/cf/0dce7a0be94bd36d1346be5067ed65ded6adb795fdbe3abd234c8d576d01/orjson-3.11.3-cp313-cp313-win_arm64.whl", hash = "sha256:18bd1435cb1f2857ceb59cfb7de6f92593ef7b831ccd1b9bfb28ca530e539dce", size = 125989, upload-time = "2025-08-26T17:45:59.95Z" }, - { url = "https://files.pythonhosted.org/packages/ef/77/d3b1fef1fc6aaeed4cbf3be2b480114035f4df8fa1a99d2dac1d40d6e924/orjson-3.11.3-cp314-cp314-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:cf4b81227ec86935568c7edd78352a92e97af8da7bd70bdfdaa0d2e0011a1ab4", size = 238115, upload-time = "2025-08-26T17:46:01.669Z" }, - { url = "https://files.pythonhosted.org/packages/e4/6d/468d21d49bb12f900052edcfbf52c292022d0a323d7828dc6376e6319703/orjson-3.11.3-cp314-cp314-macosx_15_0_arm64.whl", hash = "sha256:bc8bc85b81b6ac9fc4dae393a8c159b817f4c2c9dee5d12b773bddb3b95fc07e", size = 127493, upload-time = "2025-08-26T17:46:03.466Z" }, - { url = "https://files.pythonhosted.org/packages/67/46/1e2588700d354aacdf9e12cc2d98131fb8ac6f31ca65997bef3863edb8ff/orjson-3.11.3-cp314-cp314-manylinux_2_34_aarch64.whl", hash = "sha256:88dcfc514cfd1b0de038443c7b3e6a9797ffb1b3674ef1fd14f701a13397f82d", size = 122998, upload-time = "2025-08-26T17:46:04.803Z" }, - { url = "https://files.pythonhosted.org/packages/3b/94/11137c9b6adb3779f1b34fd98be51608a14b430dbc02c6d41134fbba484c/orjson-3.11.3-cp314-cp314-manylinux_2_34_x86_64.whl", hash = "sha256:d61cd543d69715d5fc0a690c7c6f8dcc307bc23abef9738957981885f5f38229", size = 132915, upload-time = "2025-08-26T17:46:06.237Z" }, - { url = "https://files.pythonhosted.org/packages/10/61/dccedcf9e9bcaac09fdabe9eaee0311ca92115699500efbd31950d878833/orjson-3.11.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:2b7b153ed90ababadbef5c3eb39549f9476890d339cf47af563aea7e07db2451", size = 130907, upload-time = "2025-08-26T17:46:07.581Z" }, - { url = "https://files.pythonhosted.org/packages/0e/fd/0e935539aa7b08b3ca0f817d73034f7eb506792aae5ecc3b7c6e679cdf5f/orjson-3.11.3-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:7909ae2460f5f494fecbcd10613beafe40381fd0316e35d6acb5f3a05bfda167", size = 403852, upload-time = "2025-08-26T17:46:08.982Z" }, - { url = "https://files.pythonhosted.org/packages/4a/2b/50ae1a5505cd1043379132fdb2adb8a05f37b3e1ebffe94a5073321966fd/orjson-3.11.3-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:2030c01cbf77bc67bee7eef1e7e31ecf28649353987775e3583062c752da0077", size = 146309, upload-time = "2025-08-26T17:46:10.576Z" }, - { url = "https://files.pythonhosted.org/packages/cd/1d/a473c158e380ef6f32753b5f39a69028b25ec5be331c2049a2201bde2e19/orjson-3.11.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:a0169ebd1cbd94b26c7a7ad282cf5c2744fce054133f959e02eb5265deae1872", size = 135424, upload-time = "2025-08-26T17:46:12.386Z" }, - { url = "https://files.pythonhosted.org/packages/da/09/17d9d2b60592890ff7382e591aa1d9afb202a266b180c3d4049b1ec70e4a/orjson-3.11.3-cp314-cp314-win32.whl", hash = "sha256:0c6d7328c200c349e3a4c6d8c83e0a5ad029bdc2d417f234152bf34842d0fc8d", size = 136266, upload-time = "2025-08-26T17:46:13.853Z" }, - { url = "https://files.pythonhosted.org/packages/15/58/358f6846410a6b4958b74734727e582ed971e13d335d6c7ce3e47730493e/orjson-3.11.3-cp314-cp314-win_amd64.whl", hash = "sha256:317bbe2c069bbc757b1a2e4105b64aacd3bc78279b66a6b9e51e846e4809f804", size = 131351, upload-time = "2025-08-26T17:46:15.27Z" }, - { url = "https://files.pythonhosted.org/packages/28/01/d6b274a0635be0468d4dbd9cafe80c47105937a0d42434e805e67cd2ed8b/orjson-3.11.3-cp314-cp314-win_arm64.whl", hash = "sha256:e8f6a7a27d7b7bec81bd5924163e9af03d49bbb63013f107b48eb5d16db711bc", size = 125985, upload-time = "2025-08-26T17:46:16.67Z" }, +version = "3.11.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c6/fe/ed708782d6709cc60eb4c2d8a361a440661f74134675c72990f2c48c785f/orjson-3.11.4.tar.gz", hash = "sha256:39485f4ab4c9b30a3943cfe99e1a213c4776fb69e8abd68f66b83d5a0b0fdc6d", size = 5945188, upload-time = "2025-10-24T15:50:38.027Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/23/15/c52aa7112006b0f3d6180386c3a46ae057f932ab3425bc6f6ac50431cca1/orjson-3.11.4-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:2d6737d0e616a6e053c8b4acc9eccea6b6cce078533666f32d140e4f85002534", size = 243525, upload-time = "2025-10-24T15:49:29.737Z" }, + { url = "https://files.pythonhosted.org/packages/ec/38/05340734c33b933fd114f161f25a04e651b0c7c33ab95e9416ade5cb44b8/orjson-3.11.4-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:afb14052690aa328cc118a8e09f07c651d301a72e44920b887c519b313d892ff", size = 128871, upload-time = "2025-10-24T15:49:31.109Z" }, + { url = "https://files.pythonhosted.org/packages/55/b9/ae8d34899ff0c012039b5a7cb96a389b2476e917733294e498586b45472d/orjson-3.11.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38aa9e65c591febb1b0aed8da4d469eba239d434c218562df179885c94e1a3ad", size = 130055, upload-time = "2025-10-24T15:49:33.382Z" }, + { url = "https://files.pythonhosted.org/packages/33/aa/6346dd5073730451bee3681d901e3c337e7ec17342fb79659ec9794fc023/orjson-3.11.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f2cf4dfaf9163b0728d061bebc1e08631875c51cd30bf47cb9e3293bfbd7dcd5", size = 129061, upload-time = "2025-10-24T15:49:34.935Z" }, + { url = "https://files.pythonhosted.org/packages/39/e4/8eea51598f66a6c853c380979912d17ec510e8e66b280d968602e680b942/orjson-3.11.4-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:89216ff3dfdde0e4070932e126320a1752c9d9a758d6a32ec54b3b9334991a6a", size = 136541, upload-time = "2025-10-24T15:49:36.923Z" }, + { url = "https://files.pythonhosted.org/packages/9a/47/cb8c654fa9adcc60e99580e17c32b9e633290e6239a99efa6b885aba9dbc/orjson-3.11.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9daa26ca8e97fae0ce8aa5d80606ef8f7914e9b129b6b5df9104266f764ce436", size = 137535, upload-time = "2025-10-24T15:49:38.307Z" }, + { url = "https://files.pythonhosted.org/packages/43/92/04b8cc5c2b729f3437ee013ce14a60ab3d3001465d95c184758f19362f23/orjson-3.11.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c8b2769dc31883c44a9cd126560327767f848eb95f99c36c9932f51090bfce9", size = 136703, upload-time = "2025-10-24T15:49:40.795Z" }, + { url = "https://files.pythonhosted.org/packages/aa/fd/d0733fcb9086b8be4ebcfcda2d0312865d17d0d9884378b7cffb29d0763f/orjson-3.11.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1469d254b9884f984026bd9b0fa5bbab477a4bfe558bba6848086f6d43eb5e73", size = 136293, upload-time = "2025-10-24T15:49:42.347Z" }, + { url = "https://files.pythonhosted.org/packages/c2/d7/3c5514e806837c210492d72ae30ccf050ce3f940f45bf085bab272699ef4/orjson-3.11.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:68e44722541983614e37117209a194e8c3ad07838ccb3127d96863c95ec7f1e0", size = 140131, upload-time = "2025-10-24T15:49:43.638Z" }, + { url = "https://files.pythonhosted.org/packages/9c/dd/ba9d32a53207babf65bd510ac4d0faaa818bd0df9a9c6f472fe7c254f2e3/orjson-3.11.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:8e7805fda9672c12be2f22ae124dcd7b03928d6c197544fe12174b86553f3196", size = 406164, upload-time = "2025-10-24T15:49:45.498Z" }, + { url = "https://files.pythonhosted.org/packages/8e/f9/f68ad68f4af7c7bde57cd514eaa2c785e500477a8bc8f834838eb696a685/orjson-3.11.4-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:04b69c14615fb4434ab867bf6f38b2d649f6f300af30a6705397e895f7aec67a", size = 149859, upload-time = "2025-10-24T15:49:46.981Z" }, + { url = "https://files.pythonhosted.org/packages/b6/d2/7f847761d0c26818395b3d6b21fb6bc2305d94612a35b0a30eae65a22728/orjson-3.11.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:639c3735b8ae7f970066930e58cf0ed39a852d417c24acd4a25fc0b3da3c39a6", size = 139926, upload-time = "2025-10-24T15:49:48.321Z" }, + { url = "https://files.pythonhosted.org/packages/9f/37/acd14b12dc62db9a0e1d12386271b8661faae270b22492580d5258808975/orjson-3.11.4-cp313-cp313-win32.whl", hash = "sha256:6c13879c0d2964335491463302a6ca5ad98105fc5db3565499dcb80b1b4bd839", size = 136007, upload-time = "2025-10-24T15:49:49.938Z" }, + { url = "https://files.pythonhosted.org/packages/c0/a9/967be009ddf0a1fffd7a67de9c36656b28c763659ef91352acc02cbe364c/orjson-3.11.4-cp313-cp313-win_amd64.whl", hash = "sha256:09bf242a4af98732db9f9a1ec57ca2604848e16f132e3f72edfd3c5c96de009a", size = 131314, upload-time = "2025-10-24T15:49:51.248Z" }, + { url = "https://files.pythonhosted.org/packages/cb/db/399abd6950fbd94ce125cb8cd1a968def95174792e127b0642781e040ed4/orjson-3.11.4-cp313-cp313-win_arm64.whl", hash = "sha256:a85f0adf63319d6c1ba06fb0dbf997fced64a01179cf17939a6caca662bf92de", size = 126152, upload-time = "2025-10-24T15:49:52.922Z" }, ] [[package]] name = "ormsgpack" -version = "1.11.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/65/f8/224c342c0e03e131aaa1a1f19aa2244e167001783a433f4eed10eedd834b/ormsgpack-1.11.0.tar.gz", hash = "sha256:7c9988e78fedba3292541eb3bb274fa63044ef4da2ddb47259ea70c05dee4206", size = 49357, upload-time = "2025-10-08T17:29:15.621Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/8b/35/e34722edb701d053cf2240f55974f17b7dbfd11fdef72bd2f1835bcebf26/ormsgpack-1.11.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:0e7b36ab7b45cb95217ae1f05f1318b14a3e5ef73cb00804c0f06233f81a14e8", size = 368502, upload-time = "2025-10-08T17:28:38.547Z" }, - { url = "https://files.pythonhosted.org/packages/2f/6a/c2fc369a79d6aba2aa28c8763856c95337ac7fcc0b2742185cd19397212a/ormsgpack-1.11.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:43402d67e03a9a35cc147c8c03f0c377cad016624479e1ee5b879b8425551484", size = 195344, upload-time = "2025-10-08T17:28:39.554Z" }, - { url = "https://files.pythonhosted.org/packages/8b/6a/0f8e24b7489885534c1a93bdba7c7c434b9b8638713a68098867db9f254c/ormsgpack-1.11.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:64fd992f932764d6306b70ddc755c1bc3405c4c6a69f77a36acf7af1c8f5ada4", size = 206045, upload-time = "2025-10-08T17:28:40.561Z" }, - { url = "https://files.pythonhosted.org/packages/99/71/8b460ba264f3c6f82ef5b1920335720094e2bd943057964ce5287d6df83a/ormsgpack-1.11.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0362fb7fe4a29c046c8ea799303079a09372653a1ce5a5a588f3bbb8088368d0", size = 207641, upload-time = "2025-10-08T17:28:41.736Z" }, - { url = "https://files.pythonhosted.org/packages/50/cf/f369446abaf65972424ed2651f2df2b7b5c3b735c93fc7fa6cfb81e34419/ormsgpack-1.11.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:de2f7a65a9d178ed57be49eba3d0fc9b833c32beaa19dbd4ba56014d3c20b152", size = 377211, upload-time = "2025-10-08T17:28:43.12Z" }, - { url = "https://files.pythonhosted.org/packages/2f/3f/948bb0047ce0f37c2efc3b9bb2bcfdccc61c63e0b9ce8088d4903ba39dcf/ormsgpack-1.11.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:f38cfae95461466055af966fc922d06db4e1654966385cda2828653096db34da", size = 470973, upload-time = "2025-10-08T17:28:44.465Z" }, - { url = "https://files.pythonhosted.org/packages/31/a4/92a8114d1d017c14aaa403445060f345df9130ca532d538094f38e535988/ormsgpack-1.11.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c88396189d238f183cea7831b07a305ab5c90d6d29b53288ae11200bd956357b", size = 381161, upload-time = "2025-10-08T17:28:46.063Z" }, - { url = "https://files.pythonhosted.org/packages/d0/64/5b76447da654798bfcfdfd64ea29447ff2b7f33fe19d0e911a83ad5107fc/ormsgpack-1.11.0-cp313-cp313-win_amd64.whl", hash = "sha256:5403d1a945dd7c81044cebeca3f00a28a0f4248b33242a5d2d82111628043725", size = 112321, upload-time = "2025-10-08T17:28:47.393Z" }, - { url = "https://files.pythonhosted.org/packages/46/5e/89900d06db9ab81e7ec1fd56a07c62dfbdcda398c435718f4252e1dc52a0/ormsgpack-1.11.0-cp313-cp313-win_arm64.whl", hash = "sha256:c57357b8d43b49722b876edf317bdad9e6d52071b523fdd7394c30cd1c67d5a0", size = 106084, upload-time = "2025-10-08T17:28:48.305Z" }, - { url = "https://files.pythonhosted.org/packages/4c/0b/c659e8657085c8c13f6a0224789f422620cef506e26573b5434defe68483/ormsgpack-1.11.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:d390907d90fd0c908211592c485054d7a80990697ef4dff4e436ac18e1aab98a", size = 368497, upload-time = "2025-10-08T17:28:49.297Z" }, - { url = "https://files.pythonhosted.org/packages/1b/0e/451e5848c7ed56bd287e8a2b5cb5926e54466f60936e05aec6cb299f9143/ormsgpack-1.11.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6153c2e92e789509098e04c9aa116b16673bd88ec78fbe0031deeb34ab642d10", size = 195385, upload-time = "2025-10-08T17:28:50.314Z" }, - { url = "https://files.pythonhosted.org/packages/4c/28/90f78cbbe494959f2439c2ec571f08cd3464c05a6a380b0d621c622122a9/ormsgpack-1.11.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c2b2c2a065a94d742212b2018e1fecd8f8d72f3c50b53a97d1f407418093446d", size = 206114, upload-time = "2025-10-08T17:28:51.336Z" }, - { url = "https://files.pythonhosted.org/packages/fb/db/34163f4c0923bea32dafe42cd878dcc66795a3e85669bc4b01c1e2b92a7b/ormsgpack-1.11.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:110e65b5340f3d7ef8b0009deae3c6b169437e6b43ad5a57fd1748085d29d2ac", size = 207679, upload-time = "2025-10-08T17:28:53.627Z" }, - { url = "https://files.pythonhosted.org/packages/b6/14/04ee741249b16f380a9b4a0cc19d4134d0b7c74bab27a2117da09e525eb9/ormsgpack-1.11.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c27e186fca96ab34662723e65b420919910acbbc50fc8e1a44e08f26268cb0e0", size = 377237, upload-time = "2025-10-08T17:28:56.12Z" }, - { url = "https://files.pythonhosted.org/packages/89/ff/53e588a6aaa833237471caec679582c2950f0e7e1a8ba28c1511b465c1f4/ormsgpack-1.11.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:d56b1f877c13d499052d37a3db2378a97d5e1588d264f5040b3412aee23d742c", size = 471021, upload-time = "2025-10-08T17:28:57.299Z" }, - { url = "https://files.pythonhosted.org/packages/a6/f9/f20a6d9ef2be04da3aad05e8f5699957e9a30c6d5c043a10a296afa7e890/ormsgpack-1.11.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c88e28cd567c0a3269f624b4ade28142d5e502c8e826115093c572007af5be0a", size = 381205, upload-time = "2025-10-08T17:28:58.872Z" }, - { url = "https://files.pythonhosted.org/packages/f8/64/96c07d084b479ac8b7821a77ffc8d3f29d8b5c95ebfdf8db1c03dff02762/ormsgpack-1.11.0-cp314-cp314-win_amd64.whl", hash = "sha256:8811160573dc0a65f62f7e0792c4ca6b7108dfa50771edb93f9b84e2d45a08ae", size = 112374, upload-time = "2025-10-08T17:29:00Z" }, - { url = "https://files.pythonhosted.org/packages/88/a5/5dcc18b818d50213a3cadfe336bb6163a102677d9ce87f3d2f1a1bee0f8c/ormsgpack-1.11.0-cp314-cp314-win_arm64.whl", hash = "sha256:23e30a8d3c17484cf74e75e6134322255bd08bc2b5b295cc9c442f4bae5f3c2d", size = 106056, upload-time = "2025-10-08T17:29:01.29Z" }, - { url = "https://files.pythonhosted.org/packages/19/2b/776d1b411d2be50f77a6e6e94a25825cca55dcacfe7415fd691a144db71b/ormsgpack-1.11.0-cp314-cp314t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:2905816502adfaf8386a01dd85f936cd378d243f4f5ee2ff46f67f6298dc90d5", size = 368661, upload-time = "2025-10-08T17:29:02.382Z" }, - { url = "https://files.pythonhosted.org/packages/a9/0c/81a19e6115b15764db3d241788f9fac093122878aaabf872cc545b0c4650/ormsgpack-1.11.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c04402fb9a0a9b9f18fbafd6d5f8398ee99b3ec619fb63952d3a954bc9d47daa", size = 195539, upload-time = "2025-10-08T17:29:03.472Z" }, - { url = "https://files.pythonhosted.org/packages/97/86/e5b50247a61caec5718122feb2719ea9d451d30ac0516c288c1dbc6408e8/ormsgpack-1.11.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a025ec07ac52056ecfd9e57b5cbc6fff163f62cb9805012b56cda599157f8ef2", size = 207718, upload-time = "2025-10-08T17:29:04.545Z" }, +version = "1.12.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6c/67/d5ef41c3b4a94400be801984ef7c7fc9623e1a82b643e74eeec367e7462b/ormsgpack-1.12.0.tar.gz", hash = "sha256:94be818fdbb0285945839b88763b269987787cb2f7ef280cad5d6ec815b7e608", size = 49959, upload-time = "2025-11-04T18:30:10.083Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2e/e8/35f11ce9313111488b26b3035e4cbe55caa27909c0b6c8b5b5cd59f9661e/ormsgpack-1.12.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:766f2f3b512d85cd375b26a8b1329b99843560b50b93d3880718e634ad4a5de5", size = 369574, upload-time = "2025-11-04T18:29:47.431Z" }, + { url = "https://files.pythonhosted.org/packages/61/b0/77461587f412d4e598d3687bafe23455ed0f26269f44be20252eddaa624e/ormsgpack-1.12.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84b285b1f3f185aad7da45641b873b30acfd13084cf829cf668c4c6480a81583", size = 195893, upload-time = "2025-11-04T18:29:48.735Z" }, + { url = "https://files.pythonhosted.org/packages/c6/67/e197ceb04c3b550589e5407fc9fdae10f4e2e2eba5fdac921a269e02e974/ormsgpack-1.12.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e23604fc79fe110292cb365f4c8232e64e63a34f470538be320feae3921f271b", size = 206503, upload-time = "2025-11-04T18:29:49.99Z" }, + { url = "https://files.pythonhosted.org/packages/0b/b1/7fa8ba82a25cef678983c7976f85edeef5014f5c26495f338258e6a3cf1c/ormsgpack-1.12.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc32b156c113a0fae2975051417d8d9a7a5247c34b2d7239410c46b75ce9348a", size = 208257, upload-time = "2025-11-04T18:29:51.007Z" }, + { url = "https://files.pythonhosted.org/packages/ce/b1/759e999390000d2589e6d0797f7265e6ec28378547075d28d3736248ab63/ormsgpack-1.12.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:94ac500dd10c20fa8b8a23bc55606250bfe711bf9716828d9f3d44dfd1f25668", size = 377852, upload-time = "2025-11-04T18:29:52.103Z" }, + { url = "https://files.pythonhosted.org/packages/51/e7/0af737c94272494d9d84a3c29cc42c973ef7fd2342917020906596db863c/ormsgpack-1.12.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:c5201ff7ec24f721f813a182885a17064cffdbe46b2412685a52e6374a872c8f", size = 471456, upload-time = "2025-11-04T18:29:53.336Z" }, + { url = "https://files.pythonhosted.org/packages/f4/ba/c81f0aa4f19fbf457213395945b672e6fde3ce777e3587456e7f0fca2147/ormsgpack-1.12.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a9740bb3839c9368aacae1cbcfc474ee6976458f41cc135372b7255d5206c953", size = 381813, upload-time = "2025-11-04T18:29:54.394Z" }, + { url = "https://files.pythonhosted.org/packages/ce/15/429c72d64323503fd42cc4ca8398930ded8aa8b3470df8a86b3bbae7a35c/ormsgpack-1.12.0-cp313-cp313-win_amd64.whl", hash = "sha256:8ed37f29772432048b58174e920a1d4c4cde0404a5d448d3d8bbcc95d86a6918", size = 112949, upload-time = "2025-11-04T18:29:55.371Z" }, + { url = "https://files.pythonhosted.org/packages/55/b9/e72c451a40f8c57bfc229e0b8e536ecea7203c8f0a839676df2ffb605c62/ormsgpack-1.12.0-cp313-cp313-win_arm64.whl", hash = "sha256:b03994bbec5d6d42e03d6604e327863f885bde67aa61e06107ce1fa5bdd3e71d", size = 106689, upload-time = "2025-11-04T18:29:56.262Z" }, ] [[package]] @@ -3368,42 +3400,29 @@ wheels = [ [[package]] name = "pandas" -version = "2.3.3" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "numpy" }, - { name = "python-dateutil" }, - { name = "pytz" }, - { name = "tzdata" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/33/01/d40b85317f86cf08d853a4f495195c73815fdf205eef3993821720274518/pandas-2.3.3.tar.gz", hash = "sha256:e05e1af93b977f7eafa636d043f9f94c7ee3ac81af99c13508215942e64c993b", size = 4495223, upload-time = "2025-09-29T23:34:51.853Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/cd/4b/18b035ee18f97c1040d94debd8f2e737000ad70ccc8f5513f4eefad75f4b/pandas-2.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:56851a737e3470de7fa88e6131f41281ed440d29a9268dcbf0002da5ac366713", size = 11544671, upload-time = "2025-09-29T23:21:05.024Z" }, - { url = "https://files.pythonhosted.org/packages/31/94/72fac03573102779920099bcac1c3b05975c2cb5f01eac609faf34bed1ca/pandas-2.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bdcd9d1167f4885211e401b3036c0c8d9e274eee67ea8d0758a256d60704cfe8", size = 10680807, upload-time = "2025-09-29T23:21:15.979Z" }, - { url = "https://files.pythonhosted.org/packages/16/87/9472cf4a487d848476865321de18cc8c920b8cab98453ab79dbbc98db63a/pandas-2.3.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e32e7cc9af0f1cc15548288a51a3b681cc2a219faa838e995f7dc53dbab1062d", size = 11709872, upload-time = "2025-09-29T23:21:27.165Z" }, - { url = "https://files.pythonhosted.org/packages/15/07/284f757f63f8a8d69ed4472bfd85122bd086e637bf4ed09de572d575a693/pandas-2.3.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:318d77e0e42a628c04dc56bcef4b40de67918f7041c2b061af1da41dcff670ac", size = 12306371, upload-time = "2025-09-29T23:21:40.532Z" }, - { url = "https://files.pythonhosted.org/packages/33/81/a3afc88fca4aa925804a27d2676d22dcd2031c2ebe08aabd0ae55b9ff282/pandas-2.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4e0a175408804d566144e170d0476b15d78458795bb18f1304fb94160cabf40c", size = 12765333, upload-time = "2025-09-29T23:21:55.77Z" }, - { url = "https://files.pythonhosted.org/packages/8d/0f/b4d4ae743a83742f1153464cf1a8ecfafc3ac59722a0b5c8602310cb7158/pandas-2.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:93c2d9ab0fc11822b5eece72ec9587e172f63cff87c00b062f6e37448ced4493", size = 13418120, upload-time = "2025-09-29T23:22:10.109Z" }, - { url = "https://files.pythonhosted.org/packages/4f/c7/e54682c96a895d0c808453269e0b5928a07a127a15704fedb643e9b0a4c8/pandas-2.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:f8bfc0e12dc78f777f323f55c58649591b2cd0c43534e8355c51d3fede5f4dee", size = 10993991, upload-time = "2025-09-29T23:25:04.889Z" }, - { url = "https://files.pythonhosted.org/packages/f9/ca/3f8d4f49740799189e1395812f3bf23b5e8fc7c190827d55a610da72ce55/pandas-2.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:75ea25f9529fdec2d2e93a42c523962261e567d250b0013b16210e1d40d7c2e5", size = 12048227, upload-time = "2025-09-29T23:22:24.343Z" }, - { url = "https://files.pythonhosted.org/packages/0e/5a/f43efec3e8c0cc92c4663ccad372dbdff72b60bdb56b2749f04aa1d07d7e/pandas-2.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74ecdf1d301e812db96a465a525952f4dde225fdb6d8e5a521d47e1f42041e21", size = 11411056, upload-time = "2025-09-29T23:22:37.762Z" }, - { url = "https://files.pythonhosted.org/packages/46/b1/85331edfc591208c9d1a63a06baa67b21d332e63b7a591a5ba42a10bb507/pandas-2.3.3-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6435cb949cb34ec11cc9860246ccb2fdc9ecd742c12d3304989017d53f039a78", size = 11645189, upload-time = "2025-09-29T23:22:51.688Z" }, - { url = "https://files.pythonhosted.org/packages/44/23/78d645adc35d94d1ac4f2a3c4112ab6f5b8999f4898b8cdf01252f8df4a9/pandas-2.3.3-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:900f47d8f20860de523a1ac881c4c36d65efcb2eb850e6948140fa781736e110", size = 12121912, upload-time = "2025-09-29T23:23:05.042Z" }, - { url = "https://files.pythonhosted.org/packages/53/da/d10013df5e6aaef6b425aa0c32e1fc1f3e431e4bcabd420517dceadce354/pandas-2.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a45c765238e2ed7d7c608fc5bc4a6f88b642f2f01e70c0c23d2224dd21829d86", size = 12712160, upload-time = "2025-09-29T23:23:28.57Z" }, - { url = "https://files.pythonhosted.org/packages/bd/17/e756653095a083d8a37cbd816cb87148debcfcd920129b25f99dd8d04271/pandas-2.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c4fc4c21971a1a9f4bdb4c73978c7f7256caa3e62b323f70d6cb80db583350bc", size = 13199233, upload-time = "2025-09-29T23:24:24.876Z" }, - { url = "https://files.pythonhosted.org/packages/04/fd/74903979833db8390b73b3a8a7d30d146d710bd32703724dd9083950386f/pandas-2.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:ee15f284898e7b246df8087fc82b87b01686f98ee67d85a17b7ab44143a3a9a0", size = 11540635, upload-time = "2025-09-29T23:25:52.486Z" }, - { url = "https://files.pythonhosted.org/packages/21/00/266d6b357ad5e6d3ad55093a7e8efc7dd245f5a842b584db9f30b0f0a287/pandas-2.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1611aedd912e1ff81ff41c745822980c49ce4a7907537be8692c8dbc31924593", size = 10759079, upload-time = "2025-09-29T23:26:33.204Z" }, - { url = "https://files.pythonhosted.org/packages/ca/05/d01ef80a7a3a12b2f8bbf16daba1e17c98a2f039cbc8e2f77a2c5a63d382/pandas-2.3.3-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6d2cefc361461662ac48810cb14365a365ce864afe85ef1f447ff5a1e99ea81c", size = 11814049, upload-time = "2025-09-29T23:27:15.384Z" }, - { url = "https://files.pythonhosted.org/packages/15/b2/0e62f78c0c5ba7e3d2c5945a82456f4fac76c480940f805e0b97fcbc2f65/pandas-2.3.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ee67acbbf05014ea6c763beb097e03cd629961c8a632075eeb34247120abcb4b", size = 12332638, upload-time = "2025-09-29T23:27:51.625Z" }, - { url = "https://files.pythonhosted.org/packages/c5/33/dd70400631b62b9b29c3c93d2feee1d0964dc2bae2e5ad7a6c73a7f25325/pandas-2.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c46467899aaa4da076d5abc11084634e2d197e9460643dd455ac3db5856b24d6", size = 12886834, upload-time = "2025-09-29T23:28:21.289Z" }, - { url = "https://files.pythonhosted.org/packages/d3/18/b5d48f55821228d0d2692b34fd5034bb185e854bdb592e9c640f6290e012/pandas-2.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6253c72c6a1d990a410bc7de641d34053364ef8bcd3126f7e7450125887dffe3", size = 13409925, upload-time = "2025-09-29T23:28:58.261Z" }, - { url = "https://files.pythonhosted.org/packages/a6/3d/124ac75fcd0ecc09b8fdccb0246ef65e35b012030defb0e0eba2cbbbe948/pandas-2.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:1b07204a219b3b7350abaae088f451860223a52cfb8a6c53358e7948735158e5", size = 11109071, upload-time = "2025-09-29T23:32:27.484Z" }, - { url = "https://files.pythonhosted.org/packages/89/9c/0e21c895c38a157e0faa1fb64587a9226d6dd46452cac4532d80c3c4a244/pandas-2.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2462b1a365b6109d275250baaae7b760fd25c726aaca0054649286bcfbb3e8ec", size = 12048504, upload-time = "2025-09-29T23:29:31.47Z" }, - { url = "https://files.pythonhosted.org/packages/d7/82/b69a1c95df796858777b68fbe6a81d37443a33319761d7c652ce77797475/pandas-2.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0242fe9a49aa8b4d78a4fa03acb397a58833ef6199e9aa40a95f027bb3a1b6e7", size = 11410702, upload-time = "2025-09-29T23:29:54.591Z" }, - { url = "https://files.pythonhosted.org/packages/f9/88/702bde3ba0a94b8c73a0181e05144b10f13f29ebfc2150c3a79062a8195d/pandas-2.3.3-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a21d830e78df0a515db2b3d2f5570610f5e6bd2e27749770e8bb7b524b89b450", size = 11634535, upload-time = "2025-09-29T23:30:21.003Z" }, - { url = "https://files.pythonhosted.org/packages/a4/1e/1bac1a839d12e6a82ec6cb40cda2edde64a2013a66963293696bbf31fbbb/pandas-2.3.3-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2e3ebdb170b5ef78f19bfb71b0dc5dc58775032361fa188e814959b74d726dd5", size = 12121582, upload-time = "2025-09-29T23:30:43.391Z" }, - { url = "https://files.pythonhosted.org/packages/44/91/483de934193e12a3b1d6ae7c8645d083ff88dec75f46e827562f1e4b4da6/pandas-2.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d051c0e065b94b7a3cea50eb1ec32e912cd96dba41647eb24104b6c6c14c5788", size = 12699963, upload-time = "2025-09-29T23:31:10.009Z" }, - { url = "https://files.pythonhosted.org/packages/70/44/5191d2e4026f86a2a109053e194d3ba7a31a2d10a9c2348368c63ed4e85a/pandas-2.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:3869faf4bd07b3b66a9f462417d0ca3a9df29a9f6abd5d0d0dbab15dac7abe87", size = 13202175, upload-time = "2025-09-29T23:31:59.173Z" }, +version = "2.2.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", marker = "platform_python_implementation != 'PyPy'" }, + { name = "python-dateutil", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pytz", marker = "platform_python_implementation != 'PyPy'" }, + { name = "tzdata", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9c/d6/9f8431bacc2e19dca897724cd097b1bb224a6ad5433784a44b587c7c13af/pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667", size = 4399213, upload-time = "2024-09-20T13:10:04.827Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/64/22/3b8f4e0ed70644e85cfdcd57454686b9057c6c38d2f74fe4b8bc2527214a/pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015", size = 12477643, upload-time = "2024-09-20T13:09:25.522Z" }, + { url = "https://files.pythonhosted.org/packages/e4/93/b3f5d1838500e22c8d793625da672f3eec046b1a99257666c94446969282/pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28", size = 11281573, upload-time = "2024-09-20T13:09:28.012Z" }, + { url = "https://files.pythonhosted.org/packages/f5/94/6c79b07f0e5aab1dcfa35a75f4817f5c4f677931d4234afcd75f0e6a66ca/pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0", size = 15196085, upload-time = "2024-09-20T19:02:10.451Z" }, + { url = "https://files.pythonhosted.org/packages/e8/31/aa8da88ca0eadbabd0a639788a6da13bb2ff6edbbb9f29aa786450a30a91/pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24", size = 12711809, upload-time = "2024-09-20T13:09:30.814Z" }, + { url = "https://files.pythonhosted.org/packages/ee/7c/c6dbdb0cb2a4344cacfb8de1c5808ca885b2e4dcfde8008266608f9372af/pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659", size = 16356316, upload-time = "2024-09-20T19:02:13.825Z" }, + { url = "https://files.pythonhosted.org/packages/57/b7/8b757e7d92023b832869fa8881a992696a0bfe2e26f72c9ae9f255988d42/pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb", size = 14022055, upload-time = "2024-09-20T13:09:33.462Z" }, + { url = "https://files.pythonhosted.org/packages/3b/bc/4b18e2b8c002572c5a441a64826252ce5da2aa738855747247a971988043/pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d", size = 11481175, upload-time = "2024-09-20T13:09:35.871Z" }, + { url = "https://files.pythonhosted.org/packages/76/a3/a5d88146815e972d40d19247b2c162e88213ef51c7c25993942c39dbf41d/pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468", size = 12615650, upload-time = "2024-09-20T13:09:38.685Z" }, + { url = "https://files.pythonhosted.org/packages/9c/8c/f0fd18f6140ddafc0c24122c8a964e48294acc579d47def376fef12bcb4a/pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18", size = 11290177, upload-time = "2024-09-20T13:09:41.141Z" }, + { url = "https://files.pythonhosted.org/packages/ed/f9/e995754eab9c0f14c6777401f7eece0943840b7a9fc932221c19d1abee9f/pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2", size = 14651526, upload-time = "2024-09-20T19:02:16.905Z" }, + { url = "https://files.pythonhosted.org/packages/25/b0/98d6ae2e1abac4f35230aa756005e8654649d305df9a28b16b9ae4353bff/pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4", size = 11871013, upload-time = "2024-09-20T13:09:44.39Z" }, + { url = "https://files.pythonhosted.org/packages/cc/57/0f72a10f9db6a4628744c8e8f0df4e6e21de01212c7c981d31e50ffc8328/pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d", size = 15711620, upload-time = "2024-09-20T19:02:20.639Z" }, + { url = "https://files.pythonhosted.org/packages/ab/5f/b38085618b950b79d2d9164a711c52b10aefc0ae6833b96f626b7021b2ed/pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a", size = 13098436, upload-time = "2024-09-20T13:09:48.112Z" }, ] [[package]] @@ -3417,21 +3436,35 @@ wheels = [ [[package]] name = "pillow" -version = "10.4.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/cd/74/ad3d526f3bf7b6d3f408b73fde271ec69dfac8b81341a318ce825f2b3812/pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06", size = 46555059, upload-time = "2024-07-01T09:48:43.583Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/c3/00/706cebe7c2c12a6318aabe5d354836f54adff7156fd9e1bd6c89f4ba0e98/pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3", size = 3525685, upload-time = "2024-07-01T09:46:45.194Z" }, - { url = "https://files.pythonhosted.org/packages/cf/76/f658cbfa49405e5ecbfb9ba42d07074ad9792031267e782d409fd8fe7c69/pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb", size = 3374883, upload-time = "2024-07-01T09:46:47.331Z" }, - { url = "https://files.pythonhosted.org/packages/46/2b/99c28c4379a85e65378211971c0b430d9c7234b1ec4d59b2668f6299e011/pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70", size = 4339837, upload-time = "2024-07-01T09:46:49.647Z" }, - { url = "https://files.pythonhosted.org/packages/f1/74/b1ec314f624c0c43711fdf0d8076f82d9d802afd58f1d62c2a86878e8615/pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be", size = 4455562, upload-time = "2024-07-01T09:46:51.811Z" }, - { url = "https://files.pythonhosted.org/packages/4a/2a/4b04157cb7b9c74372fa867096a1607e6fedad93a44deeff553ccd307868/pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0", size = 4366761, upload-time = "2024-07-01T09:46:53.961Z" }, - { url = "https://files.pythonhosted.org/packages/ac/7b/8f1d815c1a6a268fe90481232c98dd0e5fa8c75e341a75f060037bd5ceae/pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc", size = 4536767, upload-time = "2024-07-01T09:46:56.664Z" }, - { url = "https://files.pythonhosted.org/packages/e5/77/05fa64d1f45d12c22c314e7b97398ffb28ef2813a485465017b7978b3ce7/pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a", size = 4477989, upload-time = "2024-07-01T09:46:58.977Z" }, - { url = "https://files.pythonhosted.org/packages/12/63/b0397cfc2caae05c3fb2f4ed1b4fc4fc878f0243510a7a6034ca59726494/pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309", size = 4610255, upload-time = "2024-07-01T09:47:01.189Z" }, - { url = "https://files.pythonhosted.org/packages/7b/f9/cfaa5082ca9bc4a6de66ffe1c12c2d90bf09c309a5f52b27759a596900e7/pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060", size = 2235603, upload-time = "2024-07-01T09:47:03.918Z" }, - { url = "https://files.pythonhosted.org/packages/01/6a/30ff0eef6e0c0e71e55ded56a38d4859bf9d3634a94a88743897b5f96936/pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea", size = 2554972, upload-time = "2024-07-01T09:47:06.152Z" }, - { url = "https://files.pythonhosted.org/packages/48/2c/2e0a52890f269435eee38b21c8218e102c621fe8d8df8b9dd06fabf879ba/pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d", size = 2243375, upload-time = "2024-07-01T09:47:09.065Z" }, +version = "11.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/0d/d0d6dea55cd152ce3d6767bb38a8fc10e33796ba4ba210cbab9354b6d238/pillow-11.3.0.tar.gz", hash = "sha256:3828ee7586cd0b2091b6209e5ad53e20d0649bbe87164a459d0676e035e8f523", size = 47113069, upload-time = "2025-07-01T09:16:30.666Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/93/0952f2ed8db3a5a4c7a11f91965d6184ebc8cd7cbb7941a260d5f018cd2d/pillow-11.3.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:1c627742b539bba4309df89171356fcb3cc5a9178355b2727d1b74a6cf155fbd", size = 2128328, upload-time = "2025-07-01T09:14:35.276Z" }, + { url = "https://files.pythonhosted.org/packages/4b/e8/100c3d114b1a0bf4042f27e0f87d2f25e857e838034e98ca98fe7b8c0a9c/pillow-11.3.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:30b7c02f3899d10f13d7a48163c8969e4e653f8b43416d23d13d1bbfdc93b9f8", size = 2170652, upload-time = "2025-07-01T09:14:37.203Z" }, + { url = "https://files.pythonhosted.org/packages/aa/86/3f758a28a6e381758545f7cdb4942e1cb79abd271bea932998fc0db93cb6/pillow-11.3.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:7859a4cc7c9295f5838015d8cc0a9c215b77e43d07a25e460f35cf516df8626f", size = 2227443, upload-time = "2025-07-01T09:14:39.344Z" }, + { url = "https://files.pythonhosted.org/packages/01/f4/91d5b3ffa718df2f53b0dc109877993e511f4fd055d7e9508682e8aba092/pillow-11.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ec1ee50470b0d050984394423d96325b744d55c701a439d2bd66089bff963d3c", size = 5278474, upload-time = "2025-07-01T09:14:41.843Z" }, + { url = "https://files.pythonhosted.org/packages/f9/0e/37d7d3eca6c879fbd9dba21268427dffda1ab00d4eb05b32923d4fbe3b12/pillow-11.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7db51d222548ccfd274e4572fdbf3e810a5e66b00608862f947b163e613b67dd", size = 4686038, upload-time = "2025-07-01T09:14:44.008Z" }, + { url = "https://files.pythonhosted.org/packages/ff/b0/3426e5c7f6565e752d81221af9d3676fdbb4f352317ceafd42899aaf5d8a/pillow-11.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2d6fcc902a24ac74495df63faad1884282239265c6839a0a6416d33faedfae7e", size = 5864407, upload-time = "2025-07-03T13:10:15.628Z" }, + { url = "https://files.pythonhosted.org/packages/fc/c1/c6c423134229f2a221ee53f838d4be9d82bab86f7e2f8e75e47b6bf6cd77/pillow-11.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f0f5d8f4a08090c6d6d578351a2b91acf519a54986c055af27e7a93feae6d3f1", size = 7639094, upload-time = "2025-07-03T13:10:21.857Z" }, + { url = "https://files.pythonhosted.org/packages/ba/c9/09e6746630fe6372c67c648ff9deae52a2bc20897d51fa293571977ceb5d/pillow-11.3.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c37d8ba9411d6003bba9e518db0db0c58a680ab9fe5179f040b0463644bc9805", size = 5973503, upload-time = "2025-07-01T09:14:45.698Z" }, + { url = "https://files.pythonhosted.org/packages/d5/1c/a2a29649c0b1983d3ef57ee87a66487fdeb45132df66ab30dd37f7dbe162/pillow-11.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:13f87d581e71d9189ab21fe0efb5a23e9f28552d5be6979e84001d3b8505abe8", size = 6642574, upload-time = "2025-07-01T09:14:47.415Z" }, + { url = "https://files.pythonhosted.org/packages/36/de/d5cc31cc4b055b6c6fd990e3e7f0f8aaf36229a2698501bcb0cdf67c7146/pillow-11.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:023f6d2d11784a465f09fd09a34b150ea4672e85fb3d05931d89f373ab14abb2", size = 6084060, upload-time = "2025-07-01T09:14:49.636Z" }, + { url = "https://files.pythonhosted.org/packages/d5/ea/502d938cbaeec836ac28a9b730193716f0114c41325db428e6b280513f09/pillow-11.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:45dfc51ac5975b938e9809451c51734124e73b04d0f0ac621649821a63852e7b", size = 6721407, upload-time = "2025-07-01T09:14:51.962Z" }, + { url = "https://files.pythonhosted.org/packages/45/9c/9c5e2a73f125f6cbc59cc7087c8f2d649a7ae453f83bd0362ff7c9e2aee2/pillow-11.3.0-cp313-cp313-win32.whl", hash = "sha256:a4d336baed65d50d37b88ca5b60c0fa9d81e3a87d4a7930d3880d1624d5b31f3", size = 6273841, upload-time = "2025-07-01T09:14:54.142Z" }, + { url = "https://files.pythonhosted.org/packages/23/85/397c73524e0cd212067e0c969aa245b01d50183439550d24d9f55781b776/pillow-11.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:0bce5c4fd0921f99d2e858dc4d4d64193407e1b99478bc5cacecba2311abde51", size = 6978450, upload-time = "2025-07-01T09:14:56.436Z" }, + { url = "https://files.pythonhosted.org/packages/17/d2/622f4547f69cd173955194b78e4d19ca4935a1b0f03a302d655c9f6aae65/pillow-11.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:1904e1264881f682f02b7f8167935cce37bc97db457f8e7849dc3a6a52b99580", size = 2423055, upload-time = "2025-07-01T09:14:58.072Z" }, + { url = "https://files.pythonhosted.org/packages/dd/80/a8a2ac21dda2e82480852978416cfacd439a4b490a501a288ecf4fe2532d/pillow-11.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4c834a3921375c48ee6b9624061076bc0a32a60b5532b322cc0ea64e639dd50e", size = 5281110, upload-time = "2025-07-01T09:14:59.79Z" }, + { url = "https://files.pythonhosted.org/packages/44/d6/b79754ca790f315918732e18f82a8146d33bcd7f4494380457ea89eb883d/pillow-11.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5e05688ccef30ea69b9317a9ead994b93975104a677a36a8ed8106be9260aa6d", size = 4689547, upload-time = "2025-07-01T09:15:01.648Z" }, + { url = "https://files.pythonhosted.org/packages/49/20/716b8717d331150cb00f7fdd78169c01e8e0c219732a78b0e59b6bdb2fd6/pillow-11.3.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1019b04af07fc0163e2810167918cb5add8d74674b6267616021ab558dc98ced", size = 5901554, upload-time = "2025-07-03T13:10:27.018Z" }, + { url = "https://files.pythonhosted.org/packages/74/cf/a9f3a2514a65bb071075063a96f0a5cf949c2f2fce683c15ccc83b1c1cab/pillow-11.3.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f944255db153ebb2b19c51fe85dd99ef0ce494123f21b9db4877ffdfc5590c7c", size = 7669132, upload-time = "2025-07-03T13:10:33.01Z" }, + { url = "https://files.pythonhosted.org/packages/98/3c/da78805cbdbee9cb43efe8261dd7cc0b4b93f2ac79b676c03159e9db2187/pillow-11.3.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1f85acb69adf2aaee8b7da124efebbdb959a104db34d3a2cb0f3793dbae422a8", size = 6005001, upload-time = "2025-07-01T09:15:03.365Z" }, + { url = "https://files.pythonhosted.org/packages/6c/fa/ce044b91faecf30e635321351bba32bab5a7e034c60187fe9698191aef4f/pillow-11.3.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:05f6ecbeff5005399bb48d198f098a9b4b6bdf27b8487c7f38ca16eeb070cd59", size = 6668814, upload-time = "2025-07-01T09:15:05.655Z" }, + { url = "https://files.pythonhosted.org/packages/7b/51/90f9291406d09bf93686434f9183aba27b831c10c87746ff49f127ee80cb/pillow-11.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a7bc6e6fd0395bc052f16b1a8670859964dbd7003bd0af2ff08342eb6e442cfe", size = 6113124, upload-time = "2025-07-01T09:15:07.358Z" }, + { url = "https://files.pythonhosted.org/packages/cd/5a/6fec59b1dfb619234f7636d4157d11fb4e196caeee220232a8d2ec48488d/pillow-11.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:83e1b0161c9d148125083a35c1c5a89db5b7054834fd4387499e06552035236c", size = 6747186, upload-time = "2025-07-01T09:15:09.317Z" }, + { url = "https://files.pythonhosted.org/packages/49/6b/00187a044f98255225f172de653941e61da37104a9ea60e4f6887717e2b5/pillow-11.3.0-cp313-cp313t-win32.whl", hash = "sha256:2a3117c06b8fb646639dce83694f2f9eac405472713fcb1ae887469c0d4f6788", size = 6277546, upload-time = "2025-07-01T09:15:11.311Z" }, + { url = "https://files.pythonhosted.org/packages/e8/5c/6caaba7e261c0d75bab23be79f1d06b5ad2a2ae49f028ccec801b0e853d6/pillow-11.3.0-cp313-cp313t-win_amd64.whl", hash = "sha256:857844335c95bea93fb39e0fa2726b4d9d758850b34075a7e3ff4f4fa3aa3b31", size = 6985102, upload-time = "2025-07-01T09:15:13.164Z" }, + { url = "https://files.pythonhosted.org/packages/f3/7e/b623008460c09a0cb38263c93b828c666493caee2eb34ff67f778b87e58c/pillow-11.3.0-cp313-cp313t-win_arm64.whl", hash = "sha256:8797edc41f3e8536ae4b10897ee2f637235c94f27404cac7297f7b607dd0716e", size = 2424803, upload-time = "2025-07-01T09:15:15.695Z" }, ] [[package]] @@ -3457,7 +3490,7 @@ name = "portalocker" version = "3.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pywin32", marker = "sys_platform == 'win32'" }, + { name = "pywin32", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/5e/77/65b857a69ed876e1951e88aaba60f5ce6120c33703f7cb61a3c894b8c1b6/portalocker-3.2.0.tar.gz", hash = "sha256:1f3002956a54a8c3730586c5c77bf18fae4149e07eaf1c29fc3faf4d5a3f89ac", size = 95644, upload-time = "2025-06-14T13:20:40.03Z" } wheels = [ @@ -3469,11 +3502,11 @@ name = "posthog" version = "5.4.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "backoff" }, - { name = "distro" }, - { name = "python-dateutil" }, - { name = "requests" }, - { name = "six" }, + { name = "backoff", marker = "platform_python_implementation != 'PyPy'" }, + { name = "distro", marker = "platform_python_implementation != 'PyPy'" }, + { name = "python-dateutil", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, + { name = "six", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/48/20/60ae67bb9d82f00427946218d49e2e7e80fb41c15dc5019482289ec9ce8d/posthog-5.4.0.tar.gz", hash = "sha256:701669261b8d07cdde0276e5bc096b87f9e200e3b9589c5ebff14df658c5893c", size = 88076, upload-time = "2025-06-20T23:19:23.485Z" } wheels = [ @@ -3516,36 +3549,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/92/f7/1d4ec5841505f423469efbfc381d64b7b467438cd5a4bbcbb063f3b73d27/propcache-0.4.1-cp313-cp313t-win32.whl", hash = "sha256:2ad890caa1d928c7c2965b48f3a3815c853180831d0e5503d35cf00c472f4717", size = 41396, upload-time = "2025-10-08T19:47:47.202Z" }, { url = "https://files.pythonhosted.org/packages/48/f0/615c30622316496d2cbbc29f5985f7777d3ada70f23370608c1d3e081c1f/propcache-0.4.1-cp313-cp313t-win_amd64.whl", hash = "sha256:f7ee0e597f495cf415bcbd3da3caa3bd7e816b74d0d52b8145954c5e6fd3ff37", size = 44897, upload-time = "2025-10-08T19:47:48.336Z" }, { url = "https://files.pythonhosted.org/packages/fd/ca/6002e46eccbe0e33dcd4069ef32f7f1c9e243736e07adca37ae8c4830ec3/propcache-0.4.1-cp313-cp313t-win_arm64.whl", hash = "sha256:929d7cbe1f01bb7baffb33dc14eb5691c95831450a26354cd210a8155170c93a", size = 39789, upload-time = "2025-10-08T19:47:49.876Z" }, - { url = "https://files.pythonhosted.org/packages/8e/5c/bca52d654a896f831b8256683457ceddd490ec18d9ec50e97dfd8fc726a8/propcache-0.4.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3f7124c9d820ba5548d431afb4632301acf965db49e666aa21c305cbe8c6de12", size = 78152, upload-time = "2025-10-08T19:47:51.051Z" }, - { url = "https://files.pythonhosted.org/packages/65/9b/03b04e7d82a5f54fb16113d839f5ea1ede58a61e90edf515f6577c66fa8f/propcache-0.4.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:c0d4b719b7da33599dfe3b22d3db1ef789210a0597bc650b7cee9c77c2be8c5c", size = 44869, upload-time = "2025-10-08T19:47:52.594Z" }, - { url = "https://files.pythonhosted.org/packages/b2/fa/89a8ef0468d5833a23fff277b143d0573897cf75bd56670a6d28126c7d68/propcache-0.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:9f302f4783709a78240ebc311b793f123328716a60911d667e0c036bc5dcbded", size = 46596, upload-time = "2025-10-08T19:47:54.073Z" }, - { url = "https://files.pythonhosted.org/packages/86/bd/47816020d337f4a746edc42fe8d53669965138f39ee117414c7d7a340cfe/propcache-0.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c80ee5802e3fb9ea37938e7eecc307fb984837091d5fd262bb37238b1ae97641", size = 206981, upload-time = "2025-10-08T19:47:55.715Z" }, - { url = "https://files.pythonhosted.org/packages/df/f6/c5fa1357cc9748510ee55f37173eb31bfde6d94e98ccd9e6f033f2fc06e1/propcache-0.4.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ed5a841e8bb29a55fb8159ed526b26adc5bdd7e8bd7bf793ce647cb08656cdf4", size = 211490, upload-time = "2025-10-08T19:47:57.499Z" }, - { url = "https://files.pythonhosted.org/packages/80/1e/e5889652a7c4a3846683401a48f0f2e5083ce0ec1a8a5221d8058fbd1adf/propcache-0.4.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:55c72fd6ea2da4c318e74ffdf93c4fe4e926051133657459131a95c846d16d44", size = 215371, upload-time = "2025-10-08T19:47:59.317Z" }, - { url = "https://files.pythonhosted.org/packages/b2/f2/889ad4b2408f72fe1a4f6a19491177b30ea7bf1a0fd5f17050ca08cfc882/propcache-0.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8326e144341460402713f91df60ade3c999d601e7eb5ff8f6f7862d54de0610d", size = 201424, upload-time = "2025-10-08T19:48:00.67Z" }, - { url = "https://files.pythonhosted.org/packages/27/73/033d63069b57b0812c8bd19f311faebeceb6ba31b8f32b73432d12a0b826/propcache-0.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:060b16ae65bc098da7f6d25bf359f1f31f688384858204fe5d652979e0015e5b", size = 197566, upload-time = "2025-10-08T19:48:02.604Z" }, - { url = "https://files.pythonhosted.org/packages/dc/89/ce24f3dc182630b4e07aa6d15f0ff4b14ed4b9955fae95a0b54c58d66c05/propcache-0.4.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:89eb3fa9524f7bec9de6e83cf3faed9d79bffa560672c118a96a171a6f55831e", size = 193130, upload-time = "2025-10-08T19:48:04.499Z" }, - { url = "https://files.pythonhosted.org/packages/a9/24/ef0d5fd1a811fb5c609278d0209c9f10c35f20581fcc16f818da959fc5b4/propcache-0.4.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:dee69d7015dc235f526fe80a9c90d65eb0039103fe565776250881731f06349f", size = 202625, upload-time = "2025-10-08T19:48:06.213Z" }, - { url = "https://files.pythonhosted.org/packages/f5/02/98ec20ff5546f68d673df2f7a69e8c0d076b5abd05ca882dc7ee3a83653d/propcache-0.4.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:5558992a00dfd54ccbc64a32726a3357ec93825a418a401f5cc67df0ac5d9e49", size = 204209, upload-time = "2025-10-08T19:48:08.432Z" }, - { url = "https://files.pythonhosted.org/packages/a0/87/492694f76759b15f0467a2a93ab68d32859672b646aa8a04ce4864e7932d/propcache-0.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c9b822a577f560fbd9554812526831712c1436d2c046cedee4c3796d3543b144", size = 197797, upload-time = "2025-10-08T19:48:09.968Z" }, - { url = "https://files.pythonhosted.org/packages/ee/36/66367de3575db1d2d3f3d177432bd14ee577a39d3f5d1b3d5df8afe3b6e2/propcache-0.4.1-cp314-cp314-win32.whl", hash = "sha256:ab4c29b49d560fe48b696cdcb127dd36e0bc2472548f3bf56cc5cb3da2b2984f", size = 38140, upload-time = "2025-10-08T19:48:11.232Z" }, - { url = "https://files.pythonhosted.org/packages/0c/2a/a758b47de253636e1b8aef181c0b4f4f204bf0dd964914fb2af90a95b49b/propcache-0.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:5a103c3eb905fcea0ab98be99c3a9a5ab2de60228aa5aceedc614c0281cf6153", size = 41257, upload-time = "2025-10-08T19:48:12.707Z" }, - { url = "https://files.pythonhosted.org/packages/34/5e/63bd5896c3fec12edcbd6f12508d4890d23c265df28c74b175e1ef9f4f3b/propcache-0.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:74c1fb26515153e482e00177a1ad654721bf9207da8a494a0c05e797ad27b992", size = 38097, upload-time = "2025-10-08T19:48:13.923Z" }, - { url = "https://files.pythonhosted.org/packages/99/85/9ff785d787ccf9bbb3f3106f79884a130951436f58392000231b4c737c80/propcache-0.4.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:824e908bce90fb2743bd6b59db36eb4f45cd350a39637c9f73b1c1ea66f5b75f", size = 81455, upload-time = "2025-10-08T19:48:15.16Z" }, - { url = "https://files.pythonhosted.org/packages/90/85/2431c10c8e7ddb1445c1f7c4b54d886e8ad20e3c6307e7218f05922cad67/propcache-0.4.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:c2b5e7db5328427c57c8e8831abda175421b709672f6cfc3d630c3b7e2146393", size = 46372, upload-time = "2025-10-08T19:48:16.424Z" }, - { url = "https://files.pythonhosted.org/packages/01/20/b0972d902472da9bcb683fa595099911f4d2e86e5683bcc45de60dd05dc3/propcache-0.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6f6ff873ed40292cd4969ef5310179afd5db59fdf055897e282485043fc80ad0", size = 48411, upload-time = "2025-10-08T19:48:17.577Z" }, - { url = "https://files.pythonhosted.org/packages/e2/e3/7dc89f4f21e8f99bad3d5ddb3a3389afcf9da4ac69e3deb2dcdc96e74169/propcache-0.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:49a2dc67c154db2c1463013594c458881a069fcf98940e61a0569016a583020a", size = 275712, upload-time = "2025-10-08T19:48:18.901Z" }, - { url = "https://files.pythonhosted.org/packages/20/67/89800c8352489b21a8047c773067644e3897f02ecbbd610f4d46b7f08612/propcache-0.4.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:005f08e6a0529984491e37d8dbc3dd86f84bd78a8ceb5fa9a021f4c48d4984be", size = 273557, upload-time = "2025-10-08T19:48:20.762Z" }, - { url = "https://files.pythonhosted.org/packages/e2/a1/b52b055c766a54ce6d9c16d9aca0cad8059acd9637cdf8aa0222f4a026ef/propcache-0.4.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5c3310452e0d31390da9035c348633b43d7e7feb2e37be252be6da45abd1abcc", size = 280015, upload-time = "2025-10-08T19:48:22.592Z" }, - { url = "https://files.pythonhosted.org/packages/48/c8/33cee30bd890672c63743049f3c9e4be087e6780906bfc3ec58528be59c1/propcache-0.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4c3c70630930447f9ef1caac7728c8ad1c56bc5015338b20fed0d08ea2480b3a", size = 262880, upload-time = "2025-10-08T19:48:23.947Z" }, - { url = "https://files.pythonhosted.org/packages/0c/b1/8f08a143b204b418285c88b83d00edbd61afbc2c6415ffafc8905da7038b/propcache-0.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8e57061305815dfc910a3634dcf584f08168a8836e6999983569f51a8544cd89", size = 260938, upload-time = "2025-10-08T19:48:25.656Z" }, - { url = "https://files.pythonhosted.org/packages/cf/12/96e4664c82ca2f31e1c8dff86afb867348979eb78d3cb8546a680287a1e9/propcache-0.4.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:521a463429ef54143092c11a77e04056dd00636f72e8c45b70aaa3140d639726", size = 247641, upload-time = "2025-10-08T19:48:27.207Z" }, - { url = "https://files.pythonhosted.org/packages/18/ed/e7a9cfca28133386ba52278136d42209d3125db08d0a6395f0cba0c0285c/propcache-0.4.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:120c964da3fdc75e3731aa392527136d4ad35868cc556fd09bb6d09172d9a367", size = 262510, upload-time = "2025-10-08T19:48:28.65Z" }, - { url = "https://files.pythonhosted.org/packages/f5/76/16d8bf65e8845dd62b4e2b57444ab81f07f40caa5652b8969b87ddcf2ef6/propcache-0.4.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:d8f353eb14ee3441ee844ade4277d560cdd68288838673273b978e3d6d2c8f36", size = 263161, upload-time = "2025-10-08T19:48:30.133Z" }, - { url = "https://files.pythonhosted.org/packages/e7/70/c99e9edb5d91d5ad8a49fa3c1e8285ba64f1476782fed10ab251ff413ba1/propcache-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ab2943be7c652f09638800905ee1bab2c544e537edb57d527997a24c13dc1455", size = 257393, upload-time = "2025-10-08T19:48:31.567Z" }, - { url = "https://files.pythonhosted.org/packages/08/02/87b25304249a35c0915d236575bc3574a323f60b47939a2262b77632a3ee/propcache-0.4.1-cp314-cp314t-win32.whl", hash = "sha256:05674a162469f31358c30bcaa8883cb7829fa3110bf9c0991fe27d7896c42d85", size = 42546, upload-time = "2025-10-08T19:48:32.872Z" }, - { url = "https://files.pythonhosted.org/packages/cb/ef/3c6ecf8b317aa982f309835e8f96987466123c6e596646d4e6a1dfcd080f/propcache-0.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:990f6b3e2a27d683cb7602ed6c86f15ee6b43b1194736f9baaeb93d0016633b1", size = 46259, upload-time = "2025-10-08T19:48:34.226Z" }, - { url = "https://files.pythonhosted.org/packages/c4/2d/346e946d4951f37eca1e4f55be0f0174c52cd70720f84029b02f296f4a38/propcache-0.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:ecef2343af4cc68e05131e45024ba34f6095821988a9d0a02aa7c73fcc448aa9", size = 40428, upload-time = "2025-10-08T19:48:35.441Z" }, { url = "https://files.pythonhosted.org/packages/5b/5a/bc7b4a4ef808fa59a816c17b20c4bef6884daebbdf627ff2a161da67da19/propcache-0.4.1-py3-none-any.whl", hash = "sha256:af2a6052aeb6cf17d3e46ee169099044fd8224cbaf75c76a2ef596e8163e2237", size = 13305, upload-time = "2025-10-08T19:49:00.792Z" }, ] @@ -3554,7 +3557,7 @@ name = "proto-plus" version = "1.26.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "protobuf" }, + { name = "protobuf", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/f4/ac/87285f15f7cce6d4a008f33f1757fb5a13611ea8914eb58c3d0d26243468/proto_plus-1.26.1.tar.gz", hash = "sha256:21a515a4c4c0088a773899e23c7bbade3d18f9c66c73edd4c7ee3816bc96a012", size = 56142, upload-time = "2025-03-10T15:54:38.843Z" } wheels = [ @@ -3578,26 +3581,26 @@ wheels = [ [[package]] name = "psycopg" -version = "3.2.11" +version = "3.2.12" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "tzdata", marker = "sys_platform == 'win32'" }, + { name = "tzdata", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/27/02/9fdfc018c026df2bcf9c11480c1014f9b90c6d801e5f929408cbfbf94cc0/psycopg-3.2.11.tar.gz", hash = "sha256:398bb484ed44361e041c8f804ed7af3d2fcefbffdace1d905b7446c319321706", size = 160644, upload-time = "2025-10-18T22:48:28.136Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a8/77/c72d10262b872617e509a0c60445afcc4ce2cd5cd6bc1c97700246d69c85/psycopg-3.2.12.tar.gz", hash = "sha256:85c08d6f6e2a897b16280e0ff6406bef29b1327c045db06d21f364d7cd5da90b", size = 160642, upload-time = "2025-10-26T00:46:03.045Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/aa/1b/96ee90ed0007d64936d9bd1bb3108d0af3cf762b4f11dbd73359f0687c3d/psycopg-3.2.11-py3-none-any.whl", hash = "sha256:217231b2b6b72fba88281b94241b2f16043ee67f81def47c52a01b72ff0c086a", size = 206766, upload-time = "2025-10-18T22:43:32.114Z" }, + { url = "https://files.pythonhosted.org/packages/c8/28/8c4f90e415411dc9c78d6ba10b549baa324659907c13f64bfe3779d4066c/psycopg-3.2.12-py3-none-any.whl", hash = "sha256:8a1611a2d4c16ae37eada46438be9029a35bb959bb50b3d0e1e93c0f3d54c9ee", size = 206765, upload-time = "2025-10-26T00:10:42.173Z" }, ] [[package]] name = "psycopg-pool" -version = "3.2.6" +version = "3.2.7" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/cf/13/1e7850bb2c69a63267c3dbf37387d3f71a00fd0e2fa55c5db14d64ba1af4/psycopg_pool-3.2.6.tar.gz", hash = "sha256:0f92a7817719517212fbfe2fd58b8c35c1850cdd2a80d36b581ba2085d9148e5", size = 29770, upload-time = "2025-02-26T12:03:47.129Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9d/8f/3ec52b17087c2ed5fa32b64fd4814dde964c9aa4bd49d0d30fc24725ca6d/psycopg_pool-3.2.7.tar.gz", hash = "sha256:a77d531bfca238e49e5fb5832d65b98e69f2c62bfda3d2d4d833696bdc9ca54b", size = 29765, upload-time = "2025-10-26T00:46:10.379Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/47/fd/4feb52a55c1a4bd748f2acaed1903ab54a723c47f6d0242780f4d97104d4/psycopg_pool-3.2.6-py3-none-any.whl", hash = "sha256:5887318a9f6af906d041a0b1dc1c60f8f0dda8340c2572b74e10907b51ed5da7", size = 38252, upload-time = "2025-02-26T12:03:45.073Z" }, + { url = "https://files.pythonhosted.org/packages/e7/59/74e752f605c6f0e351d4cf1c54fb9a1616dc800db4572b95bbfbb1a6225f/psycopg_pool-3.2.7-py3-none-any.whl", hash = "sha256:4b47bb59d887ef5da522eb63746b9f70e2faf967d34aac4f56ffc65e9606728f", size = 38232, upload-time = "2025-10-26T00:46:00.496Z" }, ] [[package]] @@ -3645,7 +3648,7 @@ name = "pyasn1-modules" version = "0.4.2" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pyasn1" }, + { name = "pyasn1", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/e9/e6/78ebbb10a8c8e4b61a59249394a4a594c1a7af95593dc933a349c8d00964/pyasn1_modules-0.4.2.tar.gz", hash = "sha256:677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6", size = 307892, upload-time = "2025-03-28T02:41:22.17Z" } wheels = [ @@ -3701,47 +3704,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/54/8f/aa9d445b9bb693b8f6bb1456bd6d8576d79b7a63bf6c69af3a539235b15f/pybase64-1.4.2-cp313-cp313t-win32.whl", hash = "sha256:7edbe70b5654545a37e6e6b02de738303b1bbdfcde67f6cfec374cfb5cc4099e", size = 33961, upload-time = "2025-07-27T13:04:34.806Z" }, { url = "https://files.pythonhosted.org/packages/0e/e5/da37cfb173c646fd4fc7c6aae2bc41d40de2ee49529854af8f4e6f498b45/pybase64-1.4.2-cp313-cp313t-win_amd64.whl", hash = "sha256:385690addf87c25d6366fab5d8ff512eed8a7ecb18da9e8152af1c789162f208", size = 36199, upload-time = "2025-07-27T13:04:36.223Z" }, { url = "https://files.pythonhosted.org/packages/66/3e/1eb68fb7d00f2cec8bd9838e2a30d183d6724ae06e745fd6e65216f170ff/pybase64-1.4.2-cp313-cp313t-win_arm64.whl", hash = "sha256:c2070d0aa88580f57fe15ca88b09f162e604d19282915a95a3795b5d3c1c05b5", size = 31221, upload-time = "2025-07-27T13:04:37.704Z" }, - { url = "https://files.pythonhosted.org/packages/99/bf/00a87d951473ce96c8c08af22b6983e681bfabdb78dd2dcf7ee58eac0932/pybase64-1.4.2-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:4157ad277a32cf4f02a975dffc62a3c67d73dfa4609b2c1978ef47e722b18b8e", size = 30924, upload-time = "2025-07-27T13:04:39.189Z" }, - { url = "https://files.pythonhosted.org/packages/ae/43/dee58c9d60e60e6fb32dc6da722d84592e22f13c277297eb4ce6baf99a99/pybase64-1.4.2-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:e113267dc349cf624eb4f4fbf53fd77835e1aa048ac6877399af426aab435757", size = 31390, upload-time = "2025-07-27T13:04:40.995Z" }, - { url = "https://files.pythonhosted.org/packages/e1/11/b28906fc2e330b8b1ab4bc845a7bef808b8506734e90ed79c6062b095112/pybase64-1.4.2-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:cea5aaf218fd9c5c23afacfe86fd4464dfedc1a0316dd3b5b4075b068cc67df0", size = 38212, upload-time = "2025-07-27T13:04:42.729Z" }, - { url = "https://files.pythonhosted.org/packages/24/9e/868d1e104413d14b19feaf934fc7fad4ef5b18946385f8bb79684af40f24/pybase64-1.4.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:41213497abbd770435c7a9c8123fb02b93709ac4cf60155cd5aefc5f3042b600", size = 38303, upload-time = "2025-07-27T13:04:44.095Z" }, - { url = "https://files.pythonhosted.org/packages/a3/73/f7eac96ca505df0600280d6bfc671a9e2e2f947c2b04b12a70e36412f7eb/pybase64-1.4.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c8b522df7ee00f2ac1993ccd5e1f6608ae7482de3907668c2ff96a83ef213925", size = 31669, upload-time = "2025-07-27T13:04:45.845Z" }, - { url = "https://files.pythonhosted.org/packages/c6/43/8e18bea4fd455100112d6a73a83702843f067ef9b9272485b6bdfd9ed2f0/pybase64-1.4.2-cp314-cp314-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:06725022e540c5b098b978a0418ca979773e2cbdbb76f10bd97536f2ad1c5b49", size = 68452, upload-time = "2025-07-27T13:04:47.788Z" }, - { url = "https://files.pythonhosted.org/packages/e4/2e/851eb51284b97354ee5dfa1309624ab90920696e91a33cd85b13d20cc5c1/pybase64-1.4.2-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:a3e54dcf0d0305ec88473c9d0009f698cabf86f88a8a10090efeff2879c421bb", size = 71674, upload-time = "2025-07-27T13:04:49.294Z" }, - { url = "https://files.pythonhosted.org/packages/57/0d/5cf1e5dc64aec8db43e8dee4e4046856d639a72bcb0fb3e716be42ced5f1/pybase64-1.4.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:67675cee727a60dc91173d2790206f01aa3c7b3fbccfa84fd5c1e3d883fe6caa", size = 60027, upload-time = "2025-07-27T13:04:50.769Z" }, - { url = "https://files.pythonhosted.org/packages/a4/8e/3479266bc0e65f6cc48b3938d4a83bff045330649869d950a378f2ddece0/pybase64-1.4.2-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.whl", hash = "sha256:753da25d4fd20be7bda2746f545935773beea12d5cb5ec56ec2d2960796477b1", size = 56461, upload-time = "2025-07-27T13:04:52.37Z" }, - { url = "https://files.pythonhosted.org/packages/20/b6/f2b6cf59106dd78bae8717302be5b814cec33293504ad409a2eb752ad60c/pybase64-1.4.2-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:a78c768ce4ca550885246d14babdb8923e0f4a848dfaaeb63c38fc99e7ea4052", size = 59446, upload-time = "2025-07-27T13:04:53.967Z" }, - { url = "https://files.pythonhosted.org/packages/16/70/3417797dfccdfdd0a54e4ad17c15b0624f0fc2d6a362210f229f5c4e8fd0/pybase64-1.4.2-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:51b17f36d890c92f0618fb1c8db2ccc25e6ed07afa505bab616396fc9b0b0492", size = 60350, upload-time = "2025-07-27T13:04:55.881Z" }, - { url = "https://files.pythonhosted.org/packages/a0/c6/6e4269dd98d150ae95d321b311a345eae0f7fd459d97901b4a586d7513bb/pybase64-1.4.2-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:f92218d667049ab4f65d54fa043a88ffdb2f07fff1f868789ef705a5221de7ec", size = 54989, upload-time = "2025-07-27T13:04:57.436Z" }, - { url = "https://files.pythonhosted.org/packages/f9/e8/18c1b0c255f964fafd0412b0d5a163aad588aeccb8f84b9bf9c8611d80f6/pybase64-1.4.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:3547b3d1499919a06491b3f879a19fbe206af2bd1a424ecbb4e601eb2bd11fea", size = 58724, upload-time = "2025-07-27T13:04:59.406Z" }, - { url = "https://files.pythonhosted.org/packages/b1/ad/ddfbd2125fc20b94865fb232b2e9105376fa16eee492e4b7786d42a86cbf/pybase64-1.4.2-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:958af7b0e09ddeb13e8c2330767c47b556b1ade19c35370f6451d139cde9f2a9", size = 52285, upload-time = "2025-07-27T13:05:01.198Z" }, - { url = "https://files.pythonhosted.org/packages/b6/4c/b9d4ec9224add33c84b925a03d1a53cd4106efb449ea8e0ae7795fed7bf7/pybase64-1.4.2-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:4facc57f6671e2229a385a97a618273e7be36a9ea0a9d1c1b9347f14d19ceba8", size = 69036, upload-time = "2025-07-27T13:05:03.109Z" }, - { url = "https://files.pythonhosted.org/packages/92/38/7b96794da77bed3d9b4fea40f14ae563648fba83a696e7602fabe60c0eb7/pybase64-1.4.2-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:a32fc57d05d73a7c9b0ca95e9e265e21cf734195dc6873829a890058c35f5cfd", size = 57938, upload-time = "2025-07-27T13:05:04.744Z" }, - { url = "https://files.pythonhosted.org/packages/eb/c5/ae8bbce3c322d1b074e79f51f5df95961fe90cb8748df66c6bc97616e974/pybase64-1.4.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:3dc853243c81ce89cc7318e6946f860df28ddb7cd2a0648b981652d9ad09ee5a", size = 54474, upload-time = "2025-07-27T13:05:06.662Z" }, - { url = "https://files.pythonhosted.org/packages/15/9a/c09887c4bb1b43c03fc352e2671ef20c6686c6942a99106a45270ee5b840/pybase64-1.4.2-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:0e6d863a86b3e7bc6ac9bd659bebda4501b9da842521111b0b0e54eb51295df5", size = 56533, upload-time = "2025-07-27T13:05:08.368Z" }, - { url = "https://files.pythonhosted.org/packages/4f/0f/d5114d63d35d085639606a880cb06e2322841cd4b213adfc14d545c1186f/pybase64-1.4.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6579475140ff2067903725d8aca47f5747bcb211597a1edd60b58f6d90ada2bd", size = 71030, upload-time = "2025-07-27T13:05:10.3Z" }, - { url = "https://files.pythonhosted.org/packages/40/0e/fe6f1ed22ea52eb99f490a8441815ba21de288f4351aeef4968d71d20d2d/pybase64-1.4.2-cp314-cp314-win32.whl", hash = "sha256:373897f728d7b4f241a1f803ac732c27b6945d26d86b2741ad9b75c802e4e378", size = 34174, upload-time = "2025-07-27T13:05:12.254Z" }, - { url = "https://files.pythonhosted.org/packages/71/46/0e15bea52ffc63e8ae7935e945accbaf635e0aefa26d3e31fdf9bc9dcd01/pybase64-1.4.2-cp314-cp314-win_amd64.whl", hash = "sha256:1afe3361344617d298c1d08bc657ef56d0f702d6b72cb65d968b2771017935aa", size = 36308, upload-time = "2025-07-27T13:05:13.898Z" }, - { url = "https://files.pythonhosted.org/packages/4f/dc/55849fee2577bda77c1e078da04cc9237e8e474a8c8308deb702a26f2511/pybase64-1.4.2-cp314-cp314-win_arm64.whl", hash = "sha256:f131c9360babe522f3d90f34da3f827cba80318125cf18d66f2ee27e3730e8c4", size = 31341, upload-time = "2025-07-27T13:05:15.553Z" }, - { url = "https://files.pythonhosted.org/packages/39/44/c69d088e28b25e70ac742b6789cde038473815b2a69345c4bae82d5e244d/pybase64-1.4.2-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2583ac304131c1bd6e3120b0179333610f18816000db77c0a2dd6da1364722a8", size = 38678, upload-time = "2025-07-27T13:05:17.544Z" }, - { url = "https://files.pythonhosted.org/packages/00/93/2860ec067497b9cbb06242f96d44caebbd9eed32174e4eb8c1ffef760f94/pybase64-1.4.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:75a8116be4ea4cdd30a5c4f1a6f3b038e0d457eb03c8a2685d8ce2aa00ef8f92", size = 32066, upload-time = "2025-07-27T13:05:19.18Z" }, - { url = "https://files.pythonhosted.org/packages/d3/55/1e96249a38759332e8a01b31c370d88c60ceaf44692eb6ba4f0f451ee496/pybase64-1.4.2-cp314-cp314t-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:217ea776a098d7c08668e5526b9764f5048bbfd28cac86834217ddfe76a4e3c4", size = 72465, upload-time = "2025-07-27T13:05:20.866Z" }, - { url = "https://files.pythonhosted.org/packages/6d/ab/0f468605b899f3e35dbb7423fba3ff98aeed1ec16abb02428468494a58f4/pybase64-1.4.2-cp314-cp314t-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:4ec14683e343c95b14248cdfdfa78c052582be7a3865fd570aa7cffa5ab5cf37", size = 75693, upload-time = "2025-07-27T13:05:22.896Z" }, - { url = "https://files.pythonhosted.org/packages/91/d1/9980a0159b699e2489baba05b71b7c953b29249118ba06fdbb3e9ea1b9b5/pybase64-1.4.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:480ecf21e1e956c5a10d3cf7b3b7e75bce3f9328cf08c101e4aab1925d879f34", size = 65577, upload-time = "2025-07-27T13:05:25Z" }, - { url = "https://files.pythonhosted.org/packages/16/86/b27e7b95f9863d245c0179a7245582eda3d262669d8f822777364d8fd7d5/pybase64-1.4.2-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.whl", hash = "sha256:1fe1ebdc55e9447142e2f6658944aadfb5a4fbf03dbd509be34182585515ecc1", size = 60662, upload-time = "2025-07-27T13:05:27.138Z" }, - { url = "https://files.pythonhosted.org/packages/28/87/a7f0dde0abc26bfbee761f1d3558eb4b139f33ddd9fe1f6825ffa7daa22d/pybase64-1.4.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:c793a2b06753accdaf5e1a8bbe5d800aab2406919e5008174f989a1ca0081411", size = 64179, upload-time = "2025-07-27T13:05:28.996Z" }, - { url = "https://files.pythonhosted.org/packages/1e/88/5d6fa1c60e1363b4cac4c396978f39e9df4689e75225d7d9c0a5998e3a14/pybase64-1.4.2-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:6acae6e1d1f7ebe40165f08076c7a73692b2bf9046fefe673f350536e007f556", size = 64968, upload-time = "2025-07-27T13:05:30.818Z" }, - { url = "https://files.pythonhosted.org/packages/20/6e/2ed585af5b2211040445d9849326dd2445320c9316268794f5453cfbaf30/pybase64-1.4.2-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:88b91cd0949358aadcea75f8de5afbcf3c8c5fb9ec82325bd24285b7119cf56e", size = 58738, upload-time = "2025-07-27T13:05:32.629Z" }, - { url = "https://files.pythonhosted.org/packages/ce/94/e2960b56322eabb3fbf303fc5a72e6444594c1b90035f3975c6fe666db5c/pybase64-1.4.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:53316587e1b1f47a11a5ff068d3cbd4a3911c291f2aec14882734973684871b2", size = 63802, upload-time = "2025-07-27T13:05:34.687Z" }, - { url = "https://files.pythonhosted.org/packages/95/47/312139d764c223f534f751528ce3802887c279125eac64f71cd3b4e05abc/pybase64-1.4.2-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:caa7f20f43d00602cf9043b5ba758d54f5c41707d3709b2a5fac17361579c53c", size = 56341, upload-time = "2025-07-27T13:05:36.554Z" }, - { url = "https://files.pythonhosted.org/packages/3f/d7/aec9a6ed53b128dac32f8768b646ca5730c88eef80934054d7fa7d02f3ef/pybase64-1.4.2-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:2d93817e24fdd79c534ed97705df855af6f1d2535ceb8dfa80da9de75482a8d7", size = 72838, upload-time = "2025-07-27T13:05:38.459Z" }, - { url = "https://files.pythonhosted.org/packages/e3/a8/6ccc54c5f1f7c3450ad7c56da10c0f131d85ebe069ea6952b5b42f2e92d9/pybase64-1.4.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:63cd769b51474d8d08f7f2ce73b30380d9b4078ec92ea6b348ea20ed1e1af88a", size = 62633, upload-time = "2025-07-27T13:05:40.624Z" }, - { url = "https://files.pythonhosted.org/packages/34/22/2b9d89f8ff6f2a01d6d6a88664b20a4817049cfc3f2c62caca040706660c/pybase64-1.4.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:cd07e6a9993c392ec8eb03912a43c6a6b21b2deb79ee0d606700fe276e9a576f", size = 58282, upload-time = "2025-07-27T13:05:42.565Z" }, - { url = "https://files.pythonhosted.org/packages/b2/14/dbf6266177532a6a11804ac080ebffcee272f491b92820c39886ee20f201/pybase64-1.4.2-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:6a8944e8194adff4668350504bc6b7dbde2dab9244c88d99c491657d145b5af5", size = 60948, upload-time = "2025-07-27T13:05:44.48Z" }, - { url = "https://files.pythonhosted.org/packages/fd/7a/b2ae9046a66dd5746cd72836a41386517b1680bea5ce02f2b4f1c9ebc688/pybase64-1.4.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:04ab398ec4b6a212af57f6a21a6336d5a1d754ff4ccb215951366ab9080481b2", size = 74854, upload-time = "2025-07-27T13:05:46.416Z" }, - { url = "https://files.pythonhosted.org/packages/ef/7e/9856f6d6c38a7b730e001123d2d9fa816b8b1a45f0cdee1d509d5947b047/pybase64-1.4.2-cp314-cp314t-win32.whl", hash = "sha256:3b9201ecdcb1c3e23be4caebd6393a4e6615bd0722528f5413b58e22e3792dd3", size = 34490, upload-time = "2025-07-27T13:05:48.304Z" }, - { url = "https://files.pythonhosted.org/packages/c7/38/8523a9dc1ec8704dedbe5ccc95192ae9a7585f7eec85cc62946fe3cacd32/pybase64-1.4.2-cp314-cp314t-win_amd64.whl", hash = "sha256:36e9b0cad8197136d73904ef5a71d843381d063fd528c5ab203fc4990264f682", size = 36680, upload-time = "2025-07-27T13:05:50.264Z" }, - { url = "https://files.pythonhosted.org/packages/3c/52/5600104ef7b85f89fb8ec54f73504ead3f6f0294027e08d281f3cafb5c1a/pybase64-1.4.2-cp314-cp314t-win_arm64.whl", hash = "sha256:f25140496b02db0e7401567cd869fb13b4c8118bf5c2428592ec339987146d8b", size = 31600, upload-time = "2025-07-27T13:05:52.24Z" }, ] [[package]] @@ -3758,10 +3720,10 @@ name = "pydantic" version = "2.12.3" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "annotated-types" }, - { name = "pydantic-core" }, - { name = "typing-extensions" }, - { name = "typing-inspection" }, + { name = "annotated-types", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic-core", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-inspection", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/f3/1e/4f0a3233767010308f2fd6bd0814597e3f63f1dc98304a9112b8759df4ff/pydantic-2.12.3.tar.gz", hash = "sha256:1da1c82b0fc140bb0103bc1441ffe062154c8d38491189751ee00fd8ca65ce74", size = 819383, upload-time = "2025-10-17T15:04:21.222Z" } wheels = [ @@ -3773,7 +3735,7 @@ name = "pydantic-core" version = "2.41.4" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/df/18/d0944e8eaaa3efd0a91b0f1fc537d3be55ad35091b6a87638211ba691964/pydantic_core-2.41.4.tar.gz", hash = "sha256:70e47929a9d4a1905a67e4b687d5946026390568a8e952b92824118063cee4d5", size = 457557, upload-time = "2025-10-14T10:23:47.909Z" } wheels = [ @@ -3796,25 +3758,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/07/ea/3df927c4384ed9b503c9cc2d076cf983b4f2adb0c754578dfb1245c51e46/pydantic_core-2.41.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d25e97bc1f5f8f7985bdc2335ef9e73843bb561eb1fa6831fdfc295c1c2061cf", size = 2042819, upload-time = "2025-10-14T10:21:26.683Z" }, { url = "https://files.pythonhosted.org/packages/6a/ee/df8e871f07074250270a3b1b82aad4cd0026b588acd5d7d3eb2fcb1471a3/pydantic_core-2.41.4-cp313-cp313t-win_amd64.whl", hash = "sha256:d405d14bea042f166512add3091c1af40437c2e7f86988f3915fabd27b1e9cd2", size = 1995866, upload-time = "2025-10-14T10:21:28.951Z" }, { url = "https://files.pythonhosted.org/packages/fc/de/b20f4ab954d6d399499c33ec4fafc46d9551e11dc1858fb7f5dca0748ceb/pydantic_core-2.41.4-cp313-cp313t-win_arm64.whl", hash = "sha256:19f3684868309db5263a11bace3c45d93f6f24afa2ffe75a647583df22a2ff89", size = 1970034, upload-time = "2025-10-14T10:21:30.869Z" }, - { url = "https://files.pythonhosted.org/packages/54/28/d3325da57d413b9819365546eb9a6e8b7cbd9373d9380efd5f74326143e6/pydantic_core-2.41.4-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:e9205d97ed08a82ebb9a307e92914bb30e18cdf6f6b12ca4bedadb1588a0bfe1", size = 2102022, upload-time = "2025-10-14T10:21:32.809Z" }, - { url = "https://files.pythonhosted.org/packages/9e/24/b58a1bc0d834bf1acc4361e61233ee217169a42efbdc15a60296e13ce438/pydantic_core-2.41.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:82df1f432b37d832709fbcc0e24394bba04a01b6ecf1ee87578145c19cde12ac", size = 1905495, upload-time = "2025-10-14T10:21:34.812Z" }, - { url = "https://files.pythonhosted.org/packages/fb/a4/71f759cc41b7043e8ecdaab81b985a9b6cad7cec077e0b92cff8b71ecf6b/pydantic_core-2.41.4-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc3b4cc4539e055cfa39a3763c939f9d409eb40e85813257dcd761985a108554", size = 1956131, upload-time = "2025-10-14T10:21:36.924Z" }, - { url = "https://files.pythonhosted.org/packages/b0/64/1e79ac7aa51f1eec7c4cda8cbe456d5d09f05fdd68b32776d72168d54275/pydantic_core-2.41.4-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b1eb1754fce47c63d2ff57fdb88c351a6c0150995890088b33767a10218eaa4e", size = 2052236, upload-time = "2025-10-14T10:21:38.927Z" }, - { url = "https://files.pythonhosted.org/packages/e9/e3/a3ffc363bd4287b80f1d43dc1c28ba64831f8dfc237d6fec8f2661138d48/pydantic_core-2.41.4-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e6ab5ab30ef325b443f379ddb575a34969c333004fca5a1daa0133a6ffaad616", size = 2223573, upload-time = "2025-10-14T10:21:41.574Z" }, - { url = "https://files.pythonhosted.org/packages/28/27/78814089b4d2e684a9088ede3790763c64693c3d1408ddc0a248bc789126/pydantic_core-2.41.4-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:31a41030b1d9ca497634092b46481b937ff9397a86f9f51bd41c4767b6fc04af", size = 2342467, upload-time = "2025-10-14T10:21:44.018Z" }, - { url = "https://files.pythonhosted.org/packages/92/97/4de0e2a1159cb85ad737e03306717637842c88c7fd6d97973172fb183149/pydantic_core-2.41.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a44ac1738591472c3d020f61c6df1e4015180d6262ebd39bf2aeb52571b60f12", size = 2063754, upload-time = "2025-10-14T10:21:46.466Z" }, - { url = "https://files.pythonhosted.org/packages/0f/50/8cb90ce4b9efcf7ae78130afeb99fd1c86125ccdf9906ef64b9d42f37c25/pydantic_core-2.41.4-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d72f2b5e6e82ab8f94ea7d0d42f83c487dc159c5240d8f83beae684472864e2d", size = 2196754, upload-time = "2025-10-14T10:21:48.486Z" }, - { url = "https://files.pythonhosted.org/packages/34/3b/ccdc77af9cd5082723574a1cc1bcae7a6acacc829d7c0a06201f7886a109/pydantic_core-2.41.4-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:c4d1e854aaf044487d31143f541f7aafe7b482ae72a022c664b2de2e466ed0ad", size = 2137115, upload-time = "2025-10-14T10:21:50.63Z" }, - { url = "https://files.pythonhosted.org/packages/ca/ba/e7c7a02651a8f7c52dc2cff2b64a30c313e3b57c7d93703cecea76c09b71/pydantic_core-2.41.4-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:b568af94267729d76e6ee5ececda4e283d07bbb28e8148bb17adad93d025d25a", size = 2317400, upload-time = "2025-10-14T10:21:52.959Z" }, - { url = "https://files.pythonhosted.org/packages/2c/ba/6c533a4ee8aec6b812c643c49bb3bd88d3f01e3cebe451bb85512d37f00f/pydantic_core-2.41.4-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:6d55fb8b1e8929b341cc313a81a26e0d48aa3b519c1dbaadec3a6a2b4fcad025", size = 2312070, upload-time = "2025-10-14T10:21:55.419Z" }, - { url = "https://files.pythonhosted.org/packages/22/ae/f10524fcc0ab8d7f96cf9a74c880243576fd3e72bd8ce4f81e43d22bcab7/pydantic_core-2.41.4-cp314-cp314-win32.whl", hash = "sha256:5b66584e549e2e32a1398df11da2e0a7eff45d5c2d9db9d5667c5e6ac764d77e", size = 1982277, upload-time = "2025-10-14T10:21:57.474Z" }, - { url = "https://files.pythonhosted.org/packages/b4/dc/e5aa27aea1ad4638f0c3fb41132f7eb583bd7420ee63204e2d4333a3bbf9/pydantic_core-2.41.4-cp314-cp314-win_amd64.whl", hash = "sha256:557a0aab88664cc552285316809cab897716a372afaf8efdbef756f8b890e894", size = 2024608, upload-time = "2025-10-14T10:21:59.557Z" }, - { url = "https://files.pythonhosted.org/packages/3e/61/51d89cc2612bd147198e120a13f150afbf0bcb4615cddb049ab10b81b79e/pydantic_core-2.41.4-cp314-cp314-win_arm64.whl", hash = "sha256:3f1ea6f48a045745d0d9f325989d8abd3f1eaf47dd00485912d1a3a63c623a8d", size = 1967614, upload-time = "2025-10-14T10:22:01.847Z" }, - { url = "https://files.pythonhosted.org/packages/0d/c2/472f2e31b95eff099961fa050c376ab7156a81da194f9edb9f710f68787b/pydantic_core-2.41.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6c1fe4c5404c448b13188dd8bd2ebc2bdd7e6727fa61ff481bcc2cca894018da", size = 1876904, upload-time = "2025-10-14T10:22:04.062Z" }, - { url = "https://files.pythonhosted.org/packages/4a/07/ea8eeb91173807ecdae4f4a5f4b150a520085b35454350fc219ba79e66a3/pydantic_core-2.41.4-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:523e7da4d43b113bf8e7b49fa4ec0c35bf4fe66b2230bfc5c13cc498f12c6c3e", size = 1882538, upload-time = "2025-10-14T10:22:06.39Z" }, - { url = "https://files.pythonhosted.org/packages/1e/29/b53a9ca6cd366bfc928823679c6a76c7a4c69f8201c0ba7903ad18ebae2f/pydantic_core-2.41.4-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5729225de81fb65b70fdb1907fcf08c75d498f4a6f15af005aabb1fdadc19dfa", size = 2041183, upload-time = "2025-10-14T10:22:08.812Z" }, - { url = "https://files.pythonhosted.org/packages/c7/3d/f8c1a371ceebcaf94d6dd2d77c6cf4b1c078e13a5837aee83f760b4f7cfd/pydantic_core-2.41.4-cp314-cp314t-win_amd64.whl", hash = "sha256:de2cfbb09e88f0f795fd90cf955858fc2c691df65b1f21f0aa00b99f3fbc661d", size = 1993542, upload-time = "2025-10-14T10:22:11.332Z" }, - { url = "https://files.pythonhosted.org/packages/8a/ac/9fc61b4f9d079482a290afe8d206b8f490e9fd32d4fc03ed4fc698214e01/pydantic_core-2.41.4-cp314-cp314t-win_arm64.whl", hash = "sha256:d34f950ae05a83e0ede899c595f312ca976023ea1db100cd5aa188f7005e3ab0", size = 1973897, upload-time = "2025-10-14T10:22:13.444Z" }, ] [[package]] @@ -3822,9 +3765,9 @@ name = "pydantic-settings" version = "2.11.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pydantic" }, - { name = "python-dotenv" }, - { name = "typing-inspection" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "python-dotenv", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-inspection", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/20/c5/dbbc27b814c71676593d1c3f718e6cd7d4f00652cefa24b75f7aa3efb25e/pydantic_settings-2.11.0.tar.gz", hash = "sha256:d0e87a1c7d33593beb7194adb8470fc426e95ba02af83a0f23474a04c9a08180", size = 188394, upload-time = "2025-09-24T14:19:11.764Z" } wheels = [ @@ -3851,7 +3794,7 @@ wheels = [ [package.optional-dependencies] crypto = [ - { name = "cryptography" }, + { name = "cryptography", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] @@ -3859,20 +3802,37 @@ name = "pymdown-extensions" version = "10.16.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "markdown" }, - { name = "pyyaml" }, + { name = "markdown", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pyyaml", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/55/b3/6d2b3f149bc5413b0a29761c2c5832d8ce904a1d7f621e86616d96f505cc/pymdown_extensions-10.16.1.tar.gz", hash = "sha256:aace82bcccba3efc03e25d584e6a22d27a8e17caa3f4dd9f207e49b787aa9a91", size = 853277, upload-time = "2025-07-28T16:19:34.167Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/e4/06/43084e6cbd4b3bc0e80f6be743b2e79fbc6eed8de9ad8c629939fa55d972/pymdown_extensions-10.16.1-py3-none-any.whl", hash = "sha256:d6ba157a6c03146a7fb122b2b9a121300056384eafeec9c9f9e584adfdb2a32d", size = 266178, upload-time = "2025-07-28T16:19:31.401Z" }, ] +[[package]] +name = "pymilvus" +version = "2.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "grpcio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "orjson", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pandas", marker = "platform_python_implementation != 'PyPy'" }, + { name = "protobuf", marker = "platform_python_implementation != 'PyPy'" }, + { name = "python-dotenv", marker = "platform_python_implementation != 'PyPy'" }, + { name = "setuptools", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b6/c9/d83e22ae440f2331769e15f4d55e42af39215a04a412b0513a4e30a94089/pymilvus-2.6.3.tar.gz", hash = "sha256:10647808f201003d24eead2890722ffcba4b1ef713eff86c8da9623f93071ed9", size = 1343434, upload-time = "2025-10-31T06:26:07.985Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fb/33/b0309aefe3d2046262c6174dd5765449064e31ae364839f4eb572777f44e/pymilvus-2.6.3-py3-none-any.whl", hash = "sha256:c8551491a194ecfb0b22d44aa809ce749bf6969f2fa8d321523833e2d6c1313d", size = 273801, upload-time = "2025-10-31T06:26:06.002Z" }, +] + [[package]] name = "pymongo" version = "4.15.3" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "dnspython" }, + { name = "dnspython", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/9d/7b/a709c85dc716eb85b69f71a4bb375cf1e72758a7e872103f27551243319c/pymongo-4.15.3.tar.gz", hash = "sha256:7a981271347623b5319932796690c2d301668ac3a1965974ac9f5c3b8a22cea5", size = 2470801, upload-time = "2025-10-07T21:57:50.384Z" } wheels = [ @@ -3886,26 +3846,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/6e/7b/365ac821aefad7e8d36a4bc472a94429449aade1ccb7805d9ca754df5081/pymongo-4.15.3-cp313-cp313-win32.whl", hash = "sha256:d66da207ccb0d68c5792eaaac984a0d9c6c8ec609c6bcfa11193a35200dc5992", size = 938122, upload-time = "2025-10-07T21:56:55.993Z" }, { url = "https://files.pythonhosted.org/packages/80/f3/5ca27e1765fa698c677771a1c0e042ef193e207c15f5d32a21fa5b13d8c3/pymongo-4.15.3-cp313-cp313-win_amd64.whl", hash = "sha256:52f40c4b8c00bc53d4e357fe0de13d031c4cddb5d201e1a027db437e8d2887f8", size = 962610, upload-time = "2025-10-07T21:56:57.397Z" }, { url = "https://files.pythonhosted.org/packages/48/7c/42f0b6997324023e94939f8f32b9a8dd928499f4b5d7b4412905368686b5/pymongo-4.15.3-cp313-cp313-win_arm64.whl", hash = "sha256:fb384623ece34db78d445dd578a52d28b74e8319f4d9535fbaff79d0eae82b3d", size = 944300, upload-time = "2025-10-07T21:56:58.969Z" }, - { url = "https://files.pythonhosted.org/packages/e7/a3/d8aaf9c243ce1319bd2498004a9acccfcfb35a3ef9851abb856993d95255/pymongo-4.15.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:dcff15b9157c16bc796765d4d3d151df669322acfb0357e4c3ccd056153f0ff4", size = 1029873, upload-time = "2025-10-07T21:57:00.759Z" }, - { url = "https://files.pythonhosted.org/packages/64/10/91fd7791425ed3b56cbece6c23a36fb2696706a695655d8ea829e5e23c3a/pymongo-4.15.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1f681722c9f27e86c49c2e8a838e61b6ecf2285945fd1798bd01458134257834", size = 1029611, upload-time = "2025-10-07T21:57:02.488Z" }, - { url = "https://files.pythonhosted.org/packages/bb/9c/d9cf8d8a181f96877bca7bdec3e6ce135879d5e3d78694ea465833c53a3f/pymongo-4.15.3-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:2c96dde79bdccd167b930a709875b0cd4321ac32641a490aebfa10bdcd0aa99b", size = 2211827, upload-time = "2025-10-07T21:57:03.907Z" }, - { url = "https://files.pythonhosted.org/packages/c2/40/12703964305216c155284100124222eaa955300a07d426c6e0ba3c9cbade/pymongo-4.15.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d2d4ca446348d850ac4a5c3dc603485640ae2e7805dbb90765c3ba7d79129b37", size = 2264654, upload-time = "2025-10-07T21:57:05.41Z" }, - { url = "https://files.pythonhosted.org/packages/0f/70/bf3c18b5d0cae0b9714158b210b07b5891a875eb1c503271cfe045942fd3/pymongo-4.15.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7c0fd3de3a12ff0a8113a3f64cedb01f87397ab8eaaffa88d7f18ca66cd39385", size = 2371830, upload-time = "2025-10-07T21:57:06.9Z" }, - { url = "https://files.pythonhosted.org/packages/21/6d/2dfaed2ae66304ab842d56ed9a1bd2706ca0ecf97975b328a5eeceb2a4c0/pymongo-4.15.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e84dec392cf5f72d365e0aac73f627b0a3170193ebb038c3f7e7df11b7983ee7", size = 2351878, upload-time = "2025-10-07T21:57:08.92Z" }, - { url = "https://files.pythonhosted.org/packages/17/ed/fe46ff9adfa6dc11ad2e0694503adfc98f40583cfcc6db4dbaf582f0e357/pymongo-4.15.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8d4b01a48369ea6d5bc83fea535f56279f806aa3e4991189f0477696dd736289", size = 2251356, upload-time = "2025-10-07T21:57:10.51Z" }, - { url = "https://files.pythonhosted.org/packages/12/c4/2e1a10b1e9bca9c106f2dc1b89d4ad70c63d387c194b3a1bfcca552b5a3f/pymongo-4.15.3-cp314-cp314-win32.whl", hash = "sha256:3561fa96c3123275ec5ccf919e595547e100c412ec0894e954aa0da93ecfdb9e", size = 992878, upload-time = "2025-10-07T21:57:12.119Z" }, - { url = "https://files.pythonhosted.org/packages/98/b5/14aa417a44ea86d4c31de83b26f6e6793f736cd60e7e7fda289ce5184bdf/pymongo-4.15.3-cp314-cp314-win_amd64.whl", hash = "sha256:9df2db6bd91b07400879b6ec89827004c0c2b55fc606bb62db93cafb7677c340", size = 1021209, upload-time = "2025-10-07T21:57:13.686Z" }, - { url = "https://files.pythonhosted.org/packages/94/9f/1097c6824fa50a4ffb11ba5194d2a9ef68d5509dd342e32ddb697d2efe4e/pymongo-4.15.3-cp314-cp314-win_arm64.whl", hash = "sha256:ff99864085d2c7f4bb672c7167680ceb7d273e9a93c1a8074c986a36dbb71cc6", size = 1000618, upload-time = "2025-10-07T21:57:15.212Z" }, - { url = "https://files.pythonhosted.org/packages/ad/31/37c76607a4f793f4491611741fa7a7c4238b956f48c4a9505cea0b5cf7ef/pymongo-4.15.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:ffe217d2502f3fba4e2b0dc015ce3b34f157b66dfe96835aa64432e909dd0d95", size = 1086576, upload-time = "2025-10-07T21:57:16.742Z" }, - { url = "https://files.pythonhosted.org/packages/92/b2/6d17d279cdd293eeeb0c9d5baeb4f8cdebb45354fd81cfcef2d1c69303ab/pymongo-4.15.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:390c4954c774eda280898e73aea36482bf20cba3ecb958dbb86d6a68b9ecdd68", size = 1086656, upload-time = "2025-10-07T21:57:18.774Z" }, - { url = "https://files.pythonhosted.org/packages/55/fd/c5da8619beca207d7e6231f24ed269cb537c5311dad59fd9f2ef7d43204a/pymongo-4.15.3-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:7dd2a49f088890ca08930bbf96121443b48e26b02b84ba0a3e1ae2bf2c5a9b48", size = 2531646, upload-time = "2025-10-07T21:57:20.63Z" }, - { url = "https://files.pythonhosted.org/packages/93/8f/66a7e12b874f41eb205f352b3a719e5a964b5ba103996f6ac45e80560111/pymongo-4.15.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5f6feb678f26171f2a6b2cbb340949889154c7067972bd4cc129b62161474f08", size = 2603799, upload-time = "2025-10-07T21:57:22.591Z" }, - { url = "https://files.pythonhosted.org/packages/10/98/baf0d1f8016087500899cc4ae14e591f29b016c643e99ab332fcafe6f7bc/pymongo-4.15.3-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:446417a34ff6c2411ce3809e17ce9a67269c9f1cb4966b01e49e0c590cc3c6b3", size = 2725238, upload-time = "2025-10-07T21:57:24.091Z" }, - { url = "https://files.pythonhosted.org/packages/c9/a2/112d8d3882d6e842f501e166fbe08dfc2bc9a35f8773cbcaa804f7991043/pymongo-4.15.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:cfa4a0a0f024a0336640e1201994e780a17bda5e6a7c0b4d23841eb9152e868b", size = 2704837, upload-time = "2025-10-07T21:57:25.626Z" }, - { url = "https://files.pythonhosted.org/packages/38/fe/043a9aac7b3fba5b8e216f48359bd18fdbe46a4d93b081786f773b25e997/pymongo-4.15.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9b03db2fe37c950aff94b29ded5c349b23729bccd90a0a5907bbf807d8c77298", size = 2582294, upload-time = "2025-10-07T21:57:27.221Z" }, - { url = "https://files.pythonhosted.org/packages/5b/fe/7a6a6b331d9f2024ab171028ab53d5d9026959b1d713fe170be591a4d9a8/pymongo-4.15.3-cp314-cp314t-win32.whl", hash = "sha256:e7cde58ef6470c0da922b65e885fb1ffe04deef81e526bd5dea429290fa358ca", size = 1043993, upload-time = "2025-10-07T21:57:28.727Z" }, - { url = "https://files.pythonhosted.org/packages/70/c8/bc64321711e19bd48ea3371f0082f10295c433833245d73e7606d3b9afbe/pymongo-4.15.3-cp314-cp314t-win_amd64.whl", hash = "sha256:fae552767d8e5153ed498f1bca92d905d0d46311d831eefb0f06de38f7695c95", size = 1078481, upload-time = "2025-10-07T21:57:30.372Z" }, - { url = "https://files.pythonhosted.org/packages/39/31/2bb2003bb978eb25dfef7b5f98e1c2d4a86e973e63b367cc508a9308d31c/pymongo-4.15.3-cp314-cp314t-win_arm64.whl", hash = "sha256:47ffb068e16ae5e43580d5c4e3b9437f05414ea80c32a1e5cac44a835859c259", size = 1051179, upload-time = "2025-10-07T21:57:31.829Z" }, ] [[package]] @@ -3917,6 +3857,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/10/5e/1aa9a93198c6b64513c9d7752de7422c06402de6600a8767da1524f9570b/pyparsing-3.2.5-py3-none-any.whl", hash = "sha256:e38a4f02064cf41fe6593d328d0512495ad1f3d8a91c4f73fc401b3079a59a5e", size = 113890, upload-time = "2025-09-21T04:11:04.117Z" }, ] +[[package]] +name = "pypdf" +version = "6.1.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/13/3d/b6ead84ee437444f96862beb68f9796da8c199793bed08e9397b77579f23/pypdf-6.1.3.tar.gz", hash = "sha256:8d420d1e79dc1743f31a57707cabb6dcd5b17e8b9a302af64b30202c5700ab9d", size = 5076271, upload-time = "2025-10-22T16:13:46.061Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fa/ed/494fd0cc1190a7c335e6958eeaee6f373a281869830255c2ed4785dac135/pypdf-6.1.3-py3-none-any.whl", hash = "sha256:eb049195e46f014fc155f566fa20e09d70d4646a9891164ac25fa0cbcfcdbcb5", size = 323863, upload-time = "2025-10-22T16:13:44.174Z" }, +] + [[package]] name = "pypika" version = "0.48.9" @@ -3946,11 +3895,11 @@ name = "pytest" version = "8.4.2" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "colorama", marker = "sys_platform == 'win32'" }, - { name = "iniconfig" }, - { name = "packaging" }, - { name = "pluggy" }, - { name = "pygments" }, + { name = "colorama", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" }, + { name = "iniconfig", marker = "platform_python_implementation != 'PyPy'" }, + { name = "packaging", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pluggy", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pygments", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/a3/5c/00a0e072241553e1a7496d638deababa67c5058571567b92a7eaa258397c/pytest-8.4.2.tar.gz", hash = "sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01", size = 1519618, upload-time = "2025-09-04T14:34:22.711Z" } wheels = [ @@ -3962,7 +3911,7 @@ name = "pytest-asyncio" version = "1.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pytest" }, + { name = "pytest", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/42/86/9e3c5f48f7b7b638b216e4b9e645f54d199d7abbbab7a64a13b4e12ba10f/pytest_asyncio-1.2.0.tar.gz", hash = "sha256:c609a64a2a8768462d0c99811ddb8bd2583c33fd33cf7f21af1c142e824ffb57", size = 50119, upload-time = "2025-09-12T07:33:53.816Z" } wheels = [ @@ -3971,15 +3920,15 @@ wheels = [ [[package]] name = "pytest-benchmark" -version = "5.1.0" +version = "5.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "py-cpuinfo" }, - { name = "pytest" }, + { name = "py-cpuinfo", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pytest", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/39/d0/a8bd08d641b393db3be3819b03e2d9bb8760ca8479080a26a5f6e540e99c/pytest-benchmark-5.1.0.tar.gz", hash = "sha256:9ea661cdc292e8231f7cd4c10b0319e56a2118e2c09d9f50e1b3d150d2aca105", size = 337810, upload-time = "2024-10-30T11:51:48.521Z" } +sdist = { url = "https://files.pythonhosted.org/packages/91/84/84ba011c4b2a44c8fce772be6124821a27cecd0f69b324f24ef4c1172863/pytest_benchmark-5.2.0.tar.gz", hash = "sha256:75731991edf6c807d0699130afbb4ba77d8ce8e3b8314662c340ee8e1db19f43", size = 339143, upload-time = "2025-10-30T18:11:02.264Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9e/d6/b41653199ea09d5969d4e385df9bbfd9a100f28ca7e824ce7c0a016e3053/pytest_benchmark-5.1.0-py3-none-any.whl", hash = "sha256:922de2dfa3033c227c96da942d1878191afa135a29485fb942e85dff1c592c89", size = 44259, upload-time = "2024-10-30T11:51:45.94Z" }, + { url = "https://files.pythonhosted.org/packages/b7/c2/57de9aa286a2f6d00c52a7bb4b16dbbfa2a6c80b4a4f0e415c874269a4a6/pytest_benchmark-5.2.0-py3-none-any.whl", hash = "sha256:0631cdf19f6032fc46d6bf9e8d15931d78473228b579a3fd84ca5e2f0e8ee06c", size = 44194, upload-time = "2025-10-30T18:11:00.311Z" }, ] [[package]] @@ -3987,9 +3936,9 @@ name = "pytest-codspeed" version = "3.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "cffi" }, - { name = "pytest" }, - { name = "rich" }, + { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pytest", marker = "platform_python_implementation != 'PyPy'" }, + { name = "rich", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/03/98/16fe3895b1b8a6d537a89eecb120b97358df8f0002c6ecd11555d6304dc8/pytest_codspeed-3.2.0.tar.gz", hash = "sha256:f9d1b1a3b2c69cdc0490a1e8b1ced44bffbd0e8e21d81a7160cfdd923f6e8155", size = 18409, upload-time = "2025-01-31T14:28:26.165Z" } wheels = [ @@ -4003,8 +3952,8 @@ name = "pytest-recording" version = "0.13.4" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pytest" }, - { name = "vcrpy" }, + { name = "pytest", marker = "platform_python_implementation != 'PyPy'" }, + { name = "vcrpy", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/32/9c/f4027c5f1693847b06d11caf4b4f6bb09f22c1581ada4663877ec166b8c6/pytest_recording-0.13.4.tar.gz", hash = "sha256:568d64b2a85992eec4ae0a419c855d5fd96782c5fb016784d86f18053792768c", size = 26576, upload-time = "2025-05-08T10:41:11.231Z" } wheels = [ @@ -4016,7 +3965,7 @@ name = "pytest-socket" version = "0.7.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pytest" }, + { name = "pytest", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/05/ff/90c7e1e746baf3d62ce864c479fd53410b534818b9437413903596f81580/pytest_socket-0.7.0.tar.gz", hash = "sha256:71ab048cbbcb085c15a4423b73b619a8b35d6a307f46f78ea46be51b1b7e11b3", size = 12389, upload-time = "2024-01-28T20:17:23.177Z" } wheels = [ @@ -4028,7 +3977,7 @@ name = "python-dateutil" version = "2.9.0.post0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "six" }, + { name = "six", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } wheels = [ @@ -4037,11 +3986,11 @@ wheels = [ [[package]] name = "python-dotenv" -version = "1.1.1" +version = "1.2.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz", hash = "sha256:a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab", size = 41978, upload-time = "2025-06-24T04:21:07.341Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f0/26/19cadc79a718c5edbec86fd4919a6b6d3f681039a2f6d66d14be94e75fb9/python_dotenv-1.2.1.tar.gz", hash = "sha256:42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6", size = 44221, upload-time = "2025-10-26T15:12:10.434Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5f/ed/539768cf28c661b5b068d66d96a2f155c4971a5d55684a514c1a0e0dec2f/python_dotenv-1.1.1-py3-none-any.whl", hash = "sha256:31f23644fe2602f88ff55e1f5c79ba497e01224ee7737937930c448e4d0e24dc", size = 20556, upload-time = "2025-06-24T04:21:06.073Z" }, + { url = "https://files.pythonhosted.org/packages/14/1b/a298b06749107c305e1fe0f814c6c74aea7b2f1e10989cb30f544a1b3253/python_dotenv-1.2.1-py3-none-any.whl", hash = "sha256:b81ee9561e9ca4004139c6cbba3a238c32b03e4894671e181b671e8cb8425d61", size = 21230, upload-time = "2025-10-26T15:12:09.109Z" }, ] [[package]] @@ -4070,9 +4019,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a5/be/3fd5de0979fcb3994bfee0d65ed8ca9506a8a1260651b86174f6a86f52b3/pywin32-311-cp313-cp313-win32.whl", hash = "sha256:f95ba5a847cba10dd8c4d8fefa9f2a6cf283b8b88ed6178fa8a6c1ab16054d0d", size = 8705700, upload-time = "2025-07-14T20:13:26.471Z" }, { url = "https://files.pythonhosted.org/packages/e3/28/e0a1909523c6890208295a29e05c2adb2126364e289826c0a8bc7297bd5c/pywin32-311-cp313-cp313-win_amd64.whl", hash = "sha256:718a38f7e5b058e76aee1c56ddd06908116d35147e133427e59a3983f703a20d", size = 9494700, upload-time = "2025-07-14T20:13:28.243Z" }, { url = "https://files.pythonhosted.org/packages/04/bf/90339ac0f55726dce7d794e6d79a18a91265bdf3aa70b6b9ca52f35e022a/pywin32-311-cp313-cp313-win_arm64.whl", hash = "sha256:7b4075d959648406202d92a2310cb990fea19b535c7f4a78d3f5e10b926eeb8a", size = 8709318, upload-time = "2025-07-14T20:13:30.348Z" }, - { url = "https://files.pythonhosted.org/packages/c9/31/097f2e132c4f16d99a22bfb777e0fd88bd8e1c634304e102f313af69ace5/pywin32-311-cp314-cp314-win32.whl", hash = "sha256:b7a2c10b93f8986666d0c803ee19b5990885872a7de910fc460f9b0c2fbf92ee", size = 8840714, upload-time = "2025-07-14T20:13:32.449Z" }, - { url = "https://files.pythonhosted.org/packages/90/4b/07c77d8ba0e01349358082713400435347df8426208171ce297da32c313d/pywin32-311-cp314-cp314-win_amd64.whl", hash = "sha256:3aca44c046bd2ed8c90de9cb8427f581c479e594e99b5c0bb19b29c10fd6cb87", size = 9656800, upload-time = "2025-07-14T20:13:34.312Z" }, - { url = "https://files.pythonhosted.org/packages/c0/d2/21af5c535501a7233e734b8af901574572da66fcc254cb35d0609c9080dd/pywin32-311-cp314-cp314-win_arm64.whl", hash = "sha256:a508e2d9025764a8270f93111a970e1d0fbfc33f4153b388bb649b7eec4f9b42", size = 8932540, upload-time = "2025-07-14T20:13:36.379Z" }, ] [[package]] @@ -4091,24 +4037,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size = 137427, upload-time = "2025-09-25T21:32:32.58Z" }, { url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", size = 154090, upload-time = "2025-09-25T21:32:33.659Z" }, { url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", size = 140246, upload-time = "2025-09-25T21:32:34.663Z" }, - { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814, upload-time = "2025-09-25T21:32:35.712Z" }, - { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809, upload-time = "2025-09-25T21:32:36.789Z" }, - { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454, upload-time = "2025-09-25T21:32:37.966Z" }, - { url = "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", size = 836355, upload-time = "2025-09-25T21:32:39.178Z" }, - { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", size = 794175, upload-time = "2025-09-25T21:32:40.865Z" }, - { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", size = 755228, upload-time = "2025-09-25T21:32:42.084Z" }, - { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", size = 789194, upload-time = "2025-09-25T21:32:43.362Z" }, - { url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", size = 156429, upload-time = "2025-09-25T21:32:57.844Z" }, - { url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", size = 143912, upload-time = "2025-09-25T21:32:59.247Z" }, - { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", size = 189108, upload-time = "2025-09-25T21:32:44.377Z" }, - { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", size = 183641, upload-time = "2025-09-25T21:32:45.407Z" }, - { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", size = 831901, upload-time = "2025-09-25T21:32:48.83Z" }, - { url = "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", size = 861132, upload-time = "2025-09-25T21:32:50.149Z" }, - { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", size = 839261, upload-time = "2025-09-25T21:32:51.808Z" }, - { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", size = 805272, upload-time = "2025-09-25T21:32:52.941Z" }, - { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923, upload-time = "2025-09-25T21:32:54.537Z" }, - { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", size = 174062, upload-time = "2025-09-25T21:32:55.767Z" }, - { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" }, ] [[package]] @@ -4116,7 +4044,7 @@ name = "pyyaml-env-tag" version = "1.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pyyaml" }, + { name = "pyyaml", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/eb/2e/79c822141bfd05a853236b504869ebc6b70159afc570e1d5a20641782eaa/pyyaml_env_tag-1.1.tar.gz", hash = "sha256:2eb38b75a2d21ee0475d6d97ec19c63287a7e140231e4214969d0eac923cd7ff", size = 5737, upload-time = "2025-05-13T15:24:01.64Z" } wheels = [ @@ -4128,14 +4056,13 @@ name = "qdrant-client" version = "1.15.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "grpcio" }, - { name = "httpx", extra = ["http2"] }, - { name = "numpy" }, - { name = "portalocker" }, - { name = "protobuf" }, - { name = "pydantic" }, - { name = "urllib3", version = "1.26.20", source = { registry = "https://pypi.org/simple" }, marker = "platform_python_implementation == 'PyPy'" }, - { name = "urllib3", version = "2.5.0", source = { registry = "https://pypi.org/simple" }, marker = "platform_python_implementation != 'PyPy'" }, + { name = "grpcio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpx", extra = ["http2"], marker = "platform_python_implementation != 'PyPy'" }, + { name = "numpy", marker = "platform_python_implementation != 'PyPy'" }, + { name = "portalocker", marker = "platform_python_implementation != 'PyPy'" }, + { name = "protobuf", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "urllib3", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/79/8b/76c7d325e11d97cb8eb5e261c3759e9ed6664735afbf32fdded5b580690c/qdrant_client-1.15.1.tar.gz", hash = "sha256:631f1f3caebfad0fd0c1fba98f41be81d9962b7bf3ca653bed3b727c0e0cbe0e", size = 295297, upload-time = "2025-07-31T19:35:19.627Z" } wheels = [ @@ -4147,8 +4074,8 @@ name = "referencing" version = "0.37.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "attrs" }, - { name = "rpds-py" }, + { name = "attrs", marker = "platform_python_implementation != 'PyPy'" }, + { name = "rpds-py", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz", hash = "sha256:44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8", size = 78036, upload-time = "2025-10-13T15:30:48.871Z" } wheels = [ @@ -4157,66 +4084,38 @@ wheels = [ [[package]] name = "regex" -version = "2025.9.18" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/49/d3/eaa0d28aba6ad1827ad1e716d9a93e1ba963ada61887498297d3da715133/regex-2025.9.18.tar.gz", hash = "sha256:c5ba23274c61c6fef447ba6a39333297d0c247f53059dba0bca415cac511edc4", size = 400917, upload-time = "2025-09-19T00:38:35.79Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d2/c7/5c48206a60ce33711cf7dcaeaed10dd737733a3569dc7e1dce324dd48f30/regex-2025.9.18-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2a40f929cd907c7e8ac7566ac76225a77701a6221bca937bdb70d56cb61f57b2", size = 485955, upload-time = "2025-09-19T00:36:26.822Z" }, - { url = "https://files.pythonhosted.org/packages/e9/be/74fc6bb19a3c491ec1ace943e622b5a8539068771e8705e469b2da2306a7/regex-2025.9.18-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c90471671c2cdf914e58b6af62420ea9ecd06d1554d7474d50133ff26ae88feb", size = 289583, upload-time = "2025-09-19T00:36:28.577Z" }, - { url = "https://files.pythonhosted.org/packages/25/c4/9ceaa433cb5dc515765560f22a19578b95b92ff12526e5a259321c4fc1a0/regex-2025.9.18-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1a351aff9e07a2dabb5022ead6380cff17a4f10e4feb15f9100ee56c4d6d06af", size = 287000, upload-time = "2025-09-19T00:36:30.161Z" }, - { url = "https://files.pythonhosted.org/packages/7d/e6/68bc9393cb4dc68018456568c048ac035854b042bc7c33cb9b99b0680afa/regex-2025.9.18-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bc4b8e9d16e20ddfe16430c23468a8707ccad3365b06d4536142e71823f3ca29", size = 797535, upload-time = "2025-09-19T00:36:31.876Z" }, - { url = "https://files.pythonhosted.org/packages/6a/1c/ebae9032d34b78ecfe9bd4b5e6575b55351dc8513485bb92326613732b8c/regex-2025.9.18-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4b8cdbddf2db1c5e80338ba2daa3cfa3dec73a46fff2a7dda087c8efbf12d62f", size = 862603, upload-time = "2025-09-19T00:36:33.344Z" }, - { url = "https://files.pythonhosted.org/packages/3b/74/12332c54b3882557a4bcd2b99f8be581f5c6a43cf1660a85b460dd8ff468/regex-2025.9.18-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a276937d9d75085b2c91fb48244349c6954f05ee97bba0963ce24a9d915b8b68", size = 910829, upload-time = "2025-09-19T00:36:34.826Z" }, - { url = "https://files.pythonhosted.org/packages/86/70/ba42d5ed606ee275f2465bfc0e2208755b06cdabd0f4c7c4b614d51b57ab/regex-2025.9.18-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:92a8e375ccdc1256401c90e9dc02b8642894443d549ff5e25e36d7cf8a80c783", size = 802059, upload-time = "2025-09-19T00:36:36.664Z" }, - { url = "https://files.pythonhosted.org/packages/da/c5/fcb017e56396a7f2f8357412638d7e2963440b131a3ca549be25774b3641/regex-2025.9.18-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0dc6893b1f502d73037cf807a321cdc9be29ef3d6219f7970f842475873712ac", size = 786781, upload-time = "2025-09-19T00:36:38.168Z" }, - { url = "https://files.pythonhosted.org/packages/c6/ee/21c4278b973f630adfb3bcb23d09d83625f3ab1ca6e40ebdffe69901c7a1/regex-2025.9.18-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:a61e85bfc63d232ac14b015af1261f826260c8deb19401c0597dbb87a864361e", size = 856578, upload-time = "2025-09-19T00:36:40.129Z" }, - { url = "https://files.pythonhosted.org/packages/87/0b/de51550dc7274324435c8f1539373ac63019b0525ad720132866fff4a16a/regex-2025.9.18-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:1ef86a9ebc53f379d921fb9a7e42b92059ad3ee800fcd9e0fe6181090e9f6c23", size = 849119, upload-time = "2025-09-19T00:36:41.651Z" }, - { url = "https://files.pythonhosted.org/packages/60/52/383d3044fc5154d9ffe4321696ee5b2ee4833a28c29b137c22c33f41885b/regex-2025.9.18-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d3bc882119764ba3a119fbf2bd4f1b47bc56c1da5d42df4ed54ae1e8e66fdf8f", size = 788219, upload-time = "2025-09-19T00:36:43.575Z" }, - { url = "https://files.pythonhosted.org/packages/20/bd/2614fc302671b7359972ea212f0e3a92df4414aaeacab054a8ce80a86073/regex-2025.9.18-cp313-cp313-win32.whl", hash = "sha256:3810a65675845c3bdfa58c3c7d88624356dd6ee2fc186628295e0969005f928d", size = 264517, upload-time = "2025-09-19T00:36:45.503Z" }, - { url = "https://files.pythonhosted.org/packages/07/0f/ab5c1581e6563a7bffdc1974fb2d25f05689b88e2d416525271f232b1946/regex-2025.9.18-cp313-cp313-win_amd64.whl", hash = "sha256:16eaf74b3c4180ede88f620f299e474913ab6924d5c4b89b3833bc2345d83b3d", size = 275481, upload-time = "2025-09-19T00:36:46.965Z" }, - { url = "https://files.pythonhosted.org/packages/49/22/ee47672bc7958f8c5667a587c2600a4fba8b6bab6e86bd6d3e2b5f7cac42/regex-2025.9.18-cp313-cp313-win_arm64.whl", hash = "sha256:4dc98ba7dd66bd1261927a9f49bd5ee2bcb3660f7962f1ec02617280fc00f5eb", size = 268598, upload-time = "2025-09-19T00:36:48.314Z" }, - { url = "https://files.pythonhosted.org/packages/e8/83/6887e16a187c6226cb85d8301e47d3b73ecc4505a3a13d8da2096b44fd76/regex-2025.9.18-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:fe5d50572bc885a0a799410a717c42b1a6b50e2f45872e2b40f4f288f9bce8a2", size = 489765, upload-time = "2025-09-19T00:36:49.996Z" }, - { url = "https://files.pythonhosted.org/packages/51/c5/e2f7325301ea2916ff301c8d963ba66b1b2c1b06694191df80a9c4fea5d0/regex-2025.9.18-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:1b9d9a2d6cda6621551ca8cf7a06f103adf72831153f3c0d982386110870c4d3", size = 291228, upload-time = "2025-09-19T00:36:51.654Z" }, - { url = "https://files.pythonhosted.org/packages/91/60/7d229d2bc6961289e864a3a3cfebf7d0d250e2e65323a8952cbb7e22d824/regex-2025.9.18-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:13202e4c4ac0ef9a317fff817674b293c8f7e8c68d3190377d8d8b749f566e12", size = 289270, upload-time = "2025-09-19T00:36:53.118Z" }, - { url = "https://files.pythonhosted.org/packages/3c/d7/b4f06868ee2958ff6430df89857fbf3d43014bbf35538b6ec96c2704e15d/regex-2025.9.18-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:874ff523b0fecffb090f80ae53dc93538f8db954c8bb5505f05b7787ab3402a0", size = 806326, upload-time = "2025-09-19T00:36:54.631Z" }, - { url = "https://files.pythonhosted.org/packages/d6/e4/bca99034a8f1b9b62ccf337402a8e5b959dd5ba0e5e5b2ead70273df3277/regex-2025.9.18-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d13ab0490128f2bb45d596f754148cd750411afc97e813e4b3a61cf278a23bb6", size = 871556, upload-time = "2025-09-19T00:36:56.208Z" }, - { url = "https://files.pythonhosted.org/packages/6d/df/e06ffaf078a162f6dd6b101a5ea9b44696dca860a48136b3ae4a9caf25e2/regex-2025.9.18-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:05440bc172bc4b4b37fb9667e796597419404dbba62e171e1f826d7d2a9ebcef", size = 913817, upload-time = "2025-09-19T00:36:57.807Z" }, - { url = "https://files.pythonhosted.org/packages/9e/05/25b05480b63292fd8e84800b1648e160ca778127b8d2367a0a258fa2e225/regex-2025.9.18-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5514b8e4031fdfaa3d27e92c75719cbe7f379e28cacd939807289bce76d0e35a", size = 811055, upload-time = "2025-09-19T00:36:59.762Z" }, - { url = "https://files.pythonhosted.org/packages/70/97/7bc7574655eb651ba3a916ed4b1be6798ae97af30104f655d8efd0cab24b/regex-2025.9.18-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:65d3c38c39efce73e0d9dc019697b39903ba25b1ad45ebbd730d2cf32741f40d", size = 794534, upload-time = "2025-09-19T00:37:01.405Z" }, - { url = "https://files.pythonhosted.org/packages/b4/c2/d5da49166a52dda879855ecdba0117f073583db2b39bb47ce9a3378a8e9e/regex-2025.9.18-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:ae77e447ebc144d5a26d50055c6ddba1d6ad4a865a560ec7200b8b06bc529368", size = 866684, upload-time = "2025-09-19T00:37:03.441Z" }, - { url = "https://files.pythonhosted.org/packages/bd/2d/0a5c4e6ec417de56b89ff4418ecc72f7e3feca806824c75ad0bbdae0516b/regex-2025.9.18-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e3ef8cf53dc8df49d7e28a356cf824e3623764e9833348b655cfed4524ab8a90", size = 853282, upload-time = "2025-09-19T00:37:04.985Z" }, - { url = "https://files.pythonhosted.org/packages/f4/8e/d656af63e31a86572ec829665d6fa06eae7e144771e0330650a8bb865635/regex-2025.9.18-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:9feb29817df349c976da9a0debf775c5c33fc1c8ad7b9f025825da99374770b7", size = 797830, upload-time = "2025-09-19T00:37:06.697Z" }, - { url = "https://files.pythonhosted.org/packages/db/ce/06edc89df8f7b83ffd321b6071be4c54dc7332c0f77860edc40ce57d757b/regex-2025.9.18-cp313-cp313t-win32.whl", hash = "sha256:168be0d2f9b9d13076940b1ed774f98595b4e3c7fc54584bba81b3cc4181742e", size = 267281, upload-time = "2025-09-19T00:37:08.568Z" }, - { url = "https://files.pythonhosted.org/packages/83/9a/2b5d9c8b307a451fd17068719d971d3634ca29864b89ed5c18e499446d4a/regex-2025.9.18-cp313-cp313t-win_amd64.whl", hash = "sha256:d59ecf3bb549e491c8104fea7313f3563c7b048e01287db0a90485734a70a730", size = 278724, upload-time = "2025-09-19T00:37:10.023Z" }, - { url = "https://files.pythonhosted.org/packages/3d/70/177d31e8089a278a764f8ec9a3faac8d14a312d622a47385d4b43905806f/regex-2025.9.18-cp313-cp313t-win_arm64.whl", hash = "sha256:dbef80defe9fb21310948a2595420b36c6d641d9bea4c991175829b2cc4bc06a", size = 269771, upload-time = "2025-09-19T00:37:13.041Z" }, - { url = "https://files.pythonhosted.org/packages/44/b7/3b4663aa3b4af16819f2ab6a78c4111c7e9b066725d8107753c2257448a5/regex-2025.9.18-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:c6db75b51acf277997f3adcd0ad89045d856190d13359f15ab5dda21581d9129", size = 486130, upload-time = "2025-09-19T00:37:14.527Z" }, - { url = "https://files.pythonhosted.org/packages/80/5b/4533f5d7ac9c6a02a4725fe8883de2aebc713e67e842c04cf02626afb747/regex-2025.9.18-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8f9698b6f6895d6db810e0bda5364f9ceb9e5b11328700a90cae573574f61eea", size = 289539, upload-time = "2025-09-19T00:37:16.356Z" }, - { url = "https://files.pythonhosted.org/packages/b8/8d/5ab6797c2750985f79e9995fad3254caa4520846580f266ae3b56d1cae58/regex-2025.9.18-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:29cd86aa7cb13a37d0f0d7c21d8d949fe402ffa0ea697e635afedd97ab4b69f1", size = 287233, upload-time = "2025-09-19T00:37:18.025Z" }, - { url = "https://files.pythonhosted.org/packages/cb/1e/95afcb02ba8d3a64e6ffeb801718ce73471ad6440c55d993f65a4a5e7a92/regex-2025.9.18-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7c9f285a071ee55cd9583ba24dde006e53e17780bb309baa8e4289cd472bcc47", size = 797876, upload-time = "2025-09-19T00:37:19.609Z" }, - { url = "https://files.pythonhosted.org/packages/c8/fb/720b1f49cec1f3b5a9fea5b34cd22b88b5ebccc8c1b5de9cc6f65eed165a/regex-2025.9.18-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5adf266f730431e3be9021d3e5b8d5ee65e563fec2883ea8093944d21863b379", size = 863385, upload-time = "2025-09-19T00:37:21.65Z" }, - { url = "https://files.pythonhosted.org/packages/a9/ca/e0d07ecf701e1616f015a720dc13b84c582024cbfbb3fc5394ae204adbd7/regex-2025.9.18-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1137cabc0f38807de79e28d3f6e3e3f2cc8cfb26bead754d02e6d1de5f679203", size = 910220, upload-time = "2025-09-19T00:37:23.723Z" }, - { url = "https://files.pythonhosted.org/packages/b6/45/bba86413b910b708eca705a5af62163d5d396d5f647ed9485580c7025209/regex-2025.9.18-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7cc9e5525cada99699ca9223cce2d52e88c52a3d2a0e842bd53de5497c604164", size = 801827, upload-time = "2025-09-19T00:37:25.684Z" }, - { url = "https://files.pythonhosted.org/packages/b8/a6/740fbd9fcac31a1305a8eed30b44bf0f7f1e042342be0a4722c0365ecfca/regex-2025.9.18-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:bbb9246568f72dce29bcd433517c2be22c7791784b223a810225af3b50d1aafb", size = 786843, upload-time = "2025-09-19T00:37:27.62Z" }, - { url = "https://files.pythonhosted.org/packages/80/a7/0579e8560682645906da640c9055506465d809cb0f5415d9976f417209a6/regex-2025.9.18-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:6a52219a93dd3d92c675383efff6ae18c982e2d7651c792b1e6d121055808743", size = 857430, upload-time = "2025-09-19T00:37:29.362Z" }, - { url = "https://files.pythonhosted.org/packages/8d/9b/4dc96b6c17b38900cc9fee254fc9271d0dde044e82c78c0811b58754fde5/regex-2025.9.18-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:ae9b3840c5bd456780e3ddf2f737ab55a79b790f6409182012718a35c6d43282", size = 848612, upload-time = "2025-09-19T00:37:31.42Z" }, - { url = "https://files.pythonhosted.org/packages/b3/6a/6f659f99bebb1775e5ac81a3fb837b85897c1a4ef5acffd0ff8ffe7e67fb/regex-2025.9.18-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d488c236ac497c46a5ac2005a952c1a0e22a07be9f10c3e735bc7d1209a34773", size = 787967, upload-time = "2025-09-19T00:37:34.019Z" }, - { url = "https://files.pythonhosted.org/packages/61/35/9e35665f097c07cf384a6b90a1ac11b0b1693084a0b7a675b06f760496c6/regex-2025.9.18-cp314-cp314-win32.whl", hash = "sha256:0c3506682ea19beefe627a38872d8da65cc01ffa25ed3f2e422dffa1474f0788", size = 269847, upload-time = "2025-09-19T00:37:35.759Z" }, - { url = "https://files.pythonhosted.org/packages/af/64/27594dbe0f1590b82de2821ebfe9a359b44dcb9b65524876cd12fabc447b/regex-2025.9.18-cp314-cp314-win_amd64.whl", hash = "sha256:57929d0f92bebb2d1a83af372cd0ffba2263f13f376e19b1e4fa32aec4efddc3", size = 278755, upload-time = "2025-09-19T00:37:37.367Z" }, - { url = "https://files.pythonhosted.org/packages/30/a3/0cd8d0d342886bd7d7f252d701b20ae1a3c72dc7f34ef4b2d17790280a09/regex-2025.9.18-cp314-cp314-win_arm64.whl", hash = "sha256:6a4b44df31d34fa51aa5c995d3aa3c999cec4d69b9bd414a8be51984d859f06d", size = 271873, upload-time = "2025-09-19T00:37:39.125Z" }, - { url = "https://files.pythonhosted.org/packages/99/cb/8a1ab05ecf404e18b54348e293d9b7a60ec2bd7aa59e637020c5eea852e8/regex-2025.9.18-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:b176326bcd544b5e9b17d6943f807697c0cb7351f6cfb45bf5637c95ff7e6306", size = 489773, upload-time = "2025-09-19T00:37:40.968Z" }, - { url = "https://files.pythonhosted.org/packages/93/3b/6543c9b7f7e734d2404fa2863d0d710c907bef99d4598760ed4563d634c3/regex-2025.9.18-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:0ffd9e230b826b15b369391bec167baed57c7ce39efc35835448618860995946", size = 291221, upload-time = "2025-09-19T00:37:42.901Z" }, - { url = "https://files.pythonhosted.org/packages/cd/91/e9fdee6ad6bf708d98c5d17fded423dcb0661795a49cba1b4ffb8358377a/regex-2025.9.18-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ec46332c41add73f2b57e2f5b642f991f6b15e50e9f86285e08ffe3a512ac39f", size = 289268, upload-time = "2025-09-19T00:37:44.823Z" }, - { url = "https://files.pythonhosted.org/packages/94/a6/bc3e8a918abe4741dadeaeb6c508e3a4ea847ff36030d820d89858f96a6c/regex-2025.9.18-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b80fa342ed1ea095168a3f116637bd1030d39c9ff38dc04e54ef7c521e01fc95", size = 806659, upload-time = "2025-09-19T00:37:46.684Z" }, - { url = "https://files.pythonhosted.org/packages/2b/71/ea62dbeb55d9e6905c7b5a49f75615ea1373afcad95830047e4e310db979/regex-2025.9.18-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f4d97071c0ba40f0cf2a93ed76e660654c399a0a04ab7d85472239460f3da84b", size = 871701, upload-time = "2025-09-19T00:37:48.882Z" }, - { url = "https://files.pythonhosted.org/packages/6a/90/fbe9dedb7dad24a3a4399c0bae64bfa932ec8922a0a9acf7bc88db30b161/regex-2025.9.18-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0ac936537ad87cef9e0e66c5144484206c1354224ee811ab1519a32373e411f3", size = 913742, upload-time = "2025-09-19T00:37:51.015Z" }, - { url = "https://files.pythonhosted.org/packages/f0/1c/47e4a8c0e73d41eb9eb9fdeba3b1b810110a5139a2526e82fd29c2d9f867/regex-2025.9.18-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dec57f96d4def58c422d212d414efe28218d58537b5445cf0c33afb1b4768571", size = 811117, upload-time = "2025-09-19T00:37:52.686Z" }, - { url = "https://files.pythonhosted.org/packages/2a/da/435f29fddfd015111523671e36d30af3342e8136a889159b05c1d9110480/regex-2025.9.18-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:48317233294648bf7cd068857f248e3a57222259a5304d32c7552e2284a1b2ad", size = 794647, upload-time = "2025-09-19T00:37:54.626Z" }, - { url = "https://files.pythonhosted.org/packages/23/66/df5e6dcca25c8bc57ce404eebc7342310a0d218db739d7882c9a2b5974a3/regex-2025.9.18-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:274687e62ea3cf54846a9b25fc48a04459de50af30a7bd0b61a9e38015983494", size = 866747, upload-time = "2025-09-19T00:37:56.367Z" }, - { url = "https://files.pythonhosted.org/packages/82/42/94392b39b531f2e469b2daa40acf454863733b674481fda17462a5ffadac/regex-2025.9.18-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:a78722c86a3e7e6aadf9579e3b0ad78d955f2d1f1a8ca4f67d7ca258e8719d4b", size = 853434, upload-time = "2025-09-19T00:37:58.39Z" }, - { url = "https://files.pythonhosted.org/packages/a8/f8/dcc64c7f7bbe58842a8f89622b50c58c3598fbbf4aad0a488d6df2c699f1/regex-2025.9.18-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:06104cd203cdef3ade989a1c45b6215bf42f8b9dd705ecc220c173233f7cba41", size = 798024, upload-time = "2025-09-19T00:38:00.397Z" }, - { url = "https://files.pythonhosted.org/packages/20/8d/edf1c5d5aa98f99a692313db813ec487732946784f8f93145e0153d910e5/regex-2025.9.18-cp314-cp314t-win32.whl", hash = "sha256:2e1eddc06eeaffd249c0adb6fafc19e2118e6308c60df9db27919e96b5656096", size = 273029, upload-time = "2025-09-19T00:38:02.383Z" }, - { url = "https://files.pythonhosted.org/packages/a7/24/02d4e4f88466f17b145f7ea2b2c11af3a942db6222429c2c146accf16054/regex-2025.9.18-cp314-cp314t-win_amd64.whl", hash = "sha256:8620d247fb8c0683ade51217b459cb4a1081c0405a3072235ba43a40d355c09a", size = 282680, upload-time = "2025-09-19T00:38:04.102Z" }, - { url = "https://files.pythonhosted.org/packages/1f/a3/c64894858aaaa454caa7cc47e2f225b04d3ed08ad649eacf58d45817fad2/regex-2025.9.18-cp314-cp314t-win_arm64.whl", hash = "sha256:b7531a8ef61de2c647cdf68b3229b071e46ec326b3138b2180acb4275f470b01", size = 273034, upload-time = "2025-09-19T00:38:05.807Z" }, +version = "2025.10.23" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f8/c8/1d2160d36b11fbe0a61acb7c3c81ab032d9ec8ad888ac9e0a61b85ab99dd/regex-2025.10.23.tar.gz", hash = "sha256:8cbaf8ceb88f96ae2356d01b9adf5e6306fa42fa6f7eab6b97794e37c959ac26", size = 401266, upload-time = "2025-10-21T15:58:20.23Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/28/c6/195a6217a43719d5a6a12cc192a22d12c40290cecfa577f00f4fb822f07d/regex-2025.10.23-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:b7690f95404a1293923a296981fd943cca12c31a41af9c21ba3edd06398fc193", size = 488956, upload-time = "2025-10-21T15:55:42.887Z" }, + { url = "https://files.pythonhosted.org/packages/4c/93/181070cd1aa2fa541ff2d3afcf763ceecd4937b34c615fa92765020a6c90/regex-2025.10.23-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1a32d77aeaea58a13230100dd8797ac1a84c457f3af2fdf0d81ea689d5a9105b", size = 290997, upload-time = "2025-10-21T15:55:44.53Z" }, + { url = "https://files.pythonhosted.org/packages/b6/c5/9d37fbe3a40ed8dda78c23e1263002497540c0d1522ed75482ef6c2000f0/regex-2025.10.23-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b24b29402f264f70a3c81f45974323b41764ff7159655360543b7cabb73e7d2f", size = 288686, upload-time = "2025-10-21T15:55:46.186Z" }, + { url = "https://files.pythonhosted.org/packages/5f/e7/db610ff9f10c2921f9b6ac0c8d8be4681b28ddd40fc0549429366967e61f/regex-2025.10.23-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:563824a08c7c03d96856d84b46fdb3bbb7cfbdf79da7ef68725cda2ce169c72a", size = 798466, upload-time = "2025-10-21T15:55:48.24Z" }, + { url = "https://files.pythonhosted.org/packages/90/10/aab883e1fa7fe2feb15ac663026e70ca0ae1411efa0c7a4a0342d9545015/regex-2025.10.23-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a0ec8bdd88d2e2659c3518087ee34b37e20bd169419ffead4240a7004e8ed03b", size = 863996, upload-time = "2025-10-21T15:55:50.478Z" }, + { url = "https://files.pythonhosted.org/packages/a2/b0/8f686dd97a51f3b37d0238cd00a6d0f9ccabe701f05b56de1918571d0d61/regex-2025.10.23-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b577601bfe1d33913fcd9276d7607bbac827c4798d9e14d04bf37d417a6c41cb", size = 912145, upload-time = "2025-10-21T15:55:52.215Z" }, + { url = "https://files.pythonhosted.org/packages/a3/ca/639f8cd5b08797bca38fc5e7e07f76641a428cf8c7fca05894caf045aa32/regex-2025.10.23-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7c9f2c68ac6cb3de94eea08a437a75eaa2bd33f9e97c84836ca0b610a5804368", size = 803370, upload-time = "2025-10-21T15:55:53.944Z" }, + { url = "https://files.pythonhosted.org/packages/0d/1e/a40725bb76959eddf8abc42a967bed6f4851b39f5ac4f20e9794d7832aa5/regex-2025.10.23-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:89f8b9ea3830c79468e26b0e21c3585f69f105157c2154a36f6b7839f8afb351", size = 787767, upload-time = "2025-10-21T15:55:56.004Z" }, + { url = "https://files.pythonhosted.org/packages/3d/d8/8ee9858062936b0f99656dce390aa667c6e7fb0c357b1b9bf76fb5e2e708/regex-2025.10.23-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:98fd84c4e4ea185b3bb5bf065261ab45867d8875032f358a435647285c722673", size = 858335, upload-time = "2025-10-21T15:55:58.185Z" }, + { url = "https://files.pythonhosted.org/packages/d8/0a/ed5faaa63fa8e3064ab670e08061fbf09e3a10235b19630cf0cbb9e48c0a/regex-2025.10.23-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:1e11d3e5887b8b096f96b4154dfb902f29c723a9556639586cd140e77e28b313", size = 850402, upload-time = "2025-10-21T15:56:00.023Z" }, + { url = "https://files.pythonhosted.org/packages/79/14/d05f617342f4b2b4a23561da500ca2beab062bfcc408d60680e77ecaf04d/regex-2025.10.23-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f13450328a6634348d47a88367e06b64c9d84980ef6a748f717b13f8ce64e87", size = 789739, upload-time = "2025-10-21T15:56:01.967Z" }, + { url = "https://files.pythonhosted.org/packages/f9/7b/e8ce8eef42a15f2c3461f8b3e6e924bbc86e9605cb534a393aadc8d3aff8/regex-2025.10.23-cp313-cp313-win32.whl", hash = "sha256:37be9296598a30c6a20236248cb8b2c07ffd54d095b75d3a2a2ee5babdc51df1", size = 266054, upload-time = "2025-10-21T15:56:05.291Z" }, + { url = "https://files.pythonhosted.org/packages/71/2d/55184ed6be6473187868d2f2e6a0708195fc58270e62a22cbf26028f2570/regex-2025.10.23-cp313-cp313-win_amd64.whl", hash = "sha256:ea7a3c283ce0f06fe789365841e9174ba05f8db16e2fd6ae00a02df9572c04c0", size = 276917, upload-time = "2025-10-21T15:56:07.303Z" }, + { url = "https://files.pythonhosted.org/packages/9c/d4/927eced0e2bd45c45839e556f987f8c8f8683268dd3c00ad327deb3b0172/regex-2025.10.23-cp313-cp313-win_arm64.whl", hash = "sha256:d9a4953575f300a7bab71afa4cd4ac061c7697c89590a2902b536783eeb49a4f", size = 270105, upload-time = "2025-10-21T15:56:09.857Z" }, + { url = "https://files.pythonhosted.org/packages/3e/b3/95b310605285573341fc062d1d30b19a54f857530e86c805f942c4ff7941/regex-2025.10.23-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:7d6606524fa77b3912c9ef52a42ef63c6cfbfc1077e9dc6296cd5da0da286044", size = 491850, upload-time = "2025-10-21T15:56:11.685Z" }, + { url = "https://files.pythonhosted.org/packages/a4/8f/207c2cec01e34e56db1eff606eef46644a60cf1739ecd474627db90ad90b/regex-2025.10.23-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:c037aadf4d64bdc38af7db3dbd34877a057ce6524eefcb2914d6d41c56f968cc", size = 292537, upload-time = "2025-10-21T15:56:13.963Z" }, + { url = "https://files.pythonhosted.org/packages/98/3b/025240af4ada1dc0b5f10d73f3e5122d04ce7f8908ab8881e5d82b9d61b6/regex-2025.10.23-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:99018c331fb2529084a0c9b4c713dfa49fafb47c7712422e49467c13a636c656", size = 290904, upload-time = "2025-10-21T15:56:16.016Z" }, + { url = "https://files.pythonhosted.org/packages/81/8e/104ac14e2d3450c43db18ec03e1b96b445a94ae510b60138f00ce2cb7ca1/regex-2025.10.23-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fd8aba965604d70306eb90a35528f776e59112a7114a5162824d43b76fa27f58", size = 807311, upload-time = "2025-10-21T15:56:17.818Z" }, + { url = "https://files.pythonhosted.org/packages/19/63/78aef90141b7ce0be8a18e1782f764f6997ad09de0e05251f0d2503a914a/regex-2025.10.23-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:238e67264b4013e74136c49f883734f68656adf8257bfa13b515626b31b20f8e", size = 873241, upload-time = "2025-10-21T15:56:19.941Z" }, + { url = "https://files.pythonhosted.org/packages/b3/a8/80eb1201bb49ae4dba68a1b284b4211ed9daa8e74dc600018a10a90399fb/regex-2025.10.23-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b2eb48bd9848d66fd04826382f5e8491ae633de3233a3d64d58ceb4ecfa2113a", size = 914794, upload-time = "2025-10-21T15:56:22.488Z" }, + { url = "https://files.pythonhosted.org/packages/f0/d5/1984b6ee93281f360a119a5ca1af6a8ca7d8417861671388bf750becc29b/regex-2025.10.23-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d36591ce06d047d0c0fe2fc5f14bfbd5b4525d08a7b6a279379085e13f0e3d0e", size = 812581, upload-time = "2025-10-21T15:56:24.319Z" }, + { url = "https://files.pythonhosted.org/packages/c4/39/11ebdc6d9927172a64ae237d16763145db6bd45ebb4055c17b88edab72a7/regex-2025.10.23-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b5d4ece8628d6e364302006366cea3ee887db397faebacc5dacf8ef19e064cf8", size = 795346, upload-time = "2025-10-21T15:56:26.232Z" }, + { url = "https://files.pythonhosted.org/packages/3b/b4/89a591bcc08b5e436af43315284bd233ba77daf0cf20e098d7af12f006c1/regex-2025.10.23-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:39a7e8083959cb1c4ff74e483eecb5a65d3b3e1d821b256e54baf61782c906c6", size = 868214, upload-time = "2025-10-21T15:56:28.597Z" }, + { url = "https://files.pythonhosted.org/packages/3d/ff/58ba98409c1dbc8316cdb20dafbc63ed267380a07780cafecaf5012dabc9/regex-2025.10.23-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:842d449a8fefe546f311656cf8c0d6729b08c09a185f1cad94c756210286d6a8", size = 854540, upload-time = "2025-10-21T15:56:30.875Z" }, + { url = "https://files.pythonhosted.org/packages/9a/f2/4a9e9338d67626e2071b643f828a482712ad15889d7268e11e9a63d6f7e9/regex-2025.10.23-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d614986dc68506be8f00474f4f6960e03e4ca9883f7df47744800e7d7c08a494", size = 799346, upload-time = "2025-10-21T15:56:32.725Z" }, + { url = "https://files.pythonhosted.org/packages/63/be/543d35c46bebf6f7bf2be538cca74d6585f25714700c36f37f01b92df551/regex-2025.10.23-cp313-cp313t-win32.whl", hash = "sha256:a5b7a26b51a9df473ec16a1934d117443a775ceb7b39b78670b2e21893c330c9", size = 268657, upload-time = "2025-10-21T15:56:34.577Z" }, + { url = "https://files.pythonhosted.org/packages/14/9f/4dd6b7b612037158bb2c9bcaa710e6fb3c40ad54af441b9c53b3a137a9f1/regex-2025.10.23-cp313-cp313t-win_amd64.whl", hash = "sha256:ce81c5544a5453f61cb6f548ed358cfb111e3b23f3cd42d250a4077a6be2a7b6", size = 280075, upload-time = "2025-10-21T15:56:36.767Z" }, + { url = "https://files.pythonhosted.org/packages/81/7a/5bd0672aa65d38c8da6747c17c8b441bdb53d816c569e3261013af8e83cf/regex-2025.10.23-cp313-cp313t-win_arm64.whl", hash = "sha256:e9bf7f6699f490e4e43c44757aa179dab24d1960999c84ab5c3d5377714ed473", size = 271219, upload-time = "2025-10-21T15:56:39.033Z" }, ] [[package]] @@ -4224,11 +4123,10 @@ name = "requests" version = "2.32.5" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "certifi" }, - { name = "charset-normalizer" }, - { name = "idna" }, - { name = "urllib3", version = "1.26.20", source = { registry = "https://pypi.org/simple" }, marker = "platform_python_implementation == 'PyPy'" }, - { name = "urllib3", version = "2.5.0", source = { registry = "https://pypi.org/simple" }, marker = "platform_python_implementation != 'PyPy'" }, + { name = "certifi", marker = "platform_python_implementation != 'PyPy'" }, + { name = "charset-normalizer", marker = "platform_python_implementation != 'PyPy'" }, + { name = "idna", marker = "platform_python_implementation != 'PyPy'" }, + { name = "urllib3", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" } wheels = [ @@ -4240,8 +4138,8 @@ name = "requests-oauthlib" version = "2.0.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "oauthlib" }, - { name = "requests" }, + { name = "oauthlib", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/42/f2/05f29bc3913aea15eb670be136045bf5c5bbf4b99ecb839da9b422bb2c85/requests-oauthlib-2.0.0.tar.gz", hash = "sha256:b3dffaebd884d8cd778494369603a9e7b58d29111bf6b41bdc2dcd87203af4e9", size = 55650, upload-time = "2024-03-22T20:32:29.939Z" } wheels = [ @@ -4253,7 +4151,7 @@ name = "requests-toolbelt" version = "1.0.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "requests" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/f3/61/d7545dafb7ac2230c70d38d31cbfe4cc64f7144dc41f6e4e4b78ecd9f5bb/requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6", size = 206888, upload-time = "2023-05-01T04:11:33.229Z" } wheels = [ @@ -4265,8 +4163,8 @@ name = "rich" version = "14.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "markdown-it-py" }, - { name = "pygments" }, + { name = "markdown-it-py", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pygments", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz", hash = "sha256:73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4", size = 219990, upload-time = "2025-10-09T14:16:53.064Z" } wheels = [ @@ -4275,68 +4173,39 @@ wheels = [ [[package]] name = "rpds-py" -version = "0.27.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e9/dd/2c0cbe774744272b0ae725f44032c77bdcab6e8bcf544bffa3b6e70c8dba/rpds_py-0.27.1.tar.gz", hash = "sha256:26a1c73171d10b7acccbded82bf6a586ab8203601e565badc74bbbf8bc5a10f8", size = 27479, upload-time = "2025-08-27T12:16:36.024Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/cc/77/610aeee8d41e39080c7e14afa5387138e3c9fa9756ab893d09d99e7d8e98/rpds_py-0.27.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:e4b9fcfbc021633863a37e92571d6f91851fa656f0180246e84cbd8b3f6b329b", size = 361741, upload-time = "2025-08-27T12:13:31.039Z" }, - { url = "https://files.pythonhosted.org/packages/3a/fc/c43765f201c6a1c60be2043cbdb664013def52460a4c7adace89d6682bf4/rpds_py-0.27.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1441811a96eadca93c517d08df75de45e5ffe68aa3089924f963c782c4b898cf", size = 345574, upload-time = "2025-08-27T12:13:32.902Z" }, - { url = "https://files.pythonhosted.org/packages/20/42/ee2b2ca114294cd9847d0ef9c26d2b0851b2e7e00bf14cc4c0b581df0fc3/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55266dafa22e672f5a4f65019015f90336ed31c6383bd53f5e7826d21a0e0b83", size = 385051, upload-time = "2025-08-27T12:13:34.228Z" }, - { url = "https://files.pythonhosted.org/packages/fd/e8/1e430fe311e4799e02e2d1af7c765f024e95e17d651612425b226705f910/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d78827d7ac08627ea2c8e02c9e5b41180ea5ea1f747e9db0915e3adf36b62dcf", size = 398395, upload-time = "2025-08-27T12:13:36.132Z" }, - { url = "https://files.pythonhosted.org/packages/82/95/9dc227d441ff2670651c27a739acb2535ccaf8b351a88d78c088965e5996/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae92443798a40a92dc5f0b01d8a7c93adde0c4dc965310a29ae7c64d72b9fad2", size = 524334, upload-time = "2025-08-27T12:13:37.562Z" }, - { url = "https://files.pythonhosted.org/packages/87/01/a670c232f401d9ad461d9a332aa4080cd3cb1d1df18213dbd0d2a6a7ab51/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c46c9dd2403b66a2a3b9720ec4b74d4ab49d4fabf9f03dfdce2d42af913fe8d0", size = 407691, upload-time = "2025-08-27T12:13:38.94Z" }, - { url = "https://files.pythonhosted.org/packages/03/36/0a14aebbaa26fe7fab4780c76f2239e76cc95a0090bdb25e31d95c492fcd/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2efe4eb1d01b7f5f1939f4ef30ecea6c6b3521eec451fb93191bf84b2a522418", size = 386868, upload-time = "2025-08-27T12:13:40.192Z" }, - { url = "https://files.pythonhosted.org/packages/3b/03/8c897fb8b5347ff6c1cc31239b9611c5bf79d78c984430887a353e1409a1/rpds_py-0.27.1-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:15d3b4d83582d10c601f481eca29c3f138d44c92187d197aff663a269197c02d", size = 405469, upload-time = "2025-08-27T12:13:41.496Z" }, - { url = "https://files.pythonhosted.org/packages/da/07/88c60edc2df74850d496d78a1fdcdc7b54360a7f610a4d50008309d41b94/rpds_py-0.27.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4ed2e16abbc982a169d30d1a420274a709949e2cbdef119fe2ec9d870b42f274", size = 422125, upload-time = "2025-08-27T12:13:42.802Z" }, - { url = "https://files.pythonhosted.org/packages/6b/86/5f4c707603e41b05f191a749984f390dabcbc467cf833769b47bf14ba04f/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a75f305c9b013289121ec0f1181931975df78738cdf650093e6b86d74aa7d8dd", size = 562341, upload-time = "2025-08-27T12:13:44.472Z" }, - { url = "https://files.pythonhosted.org/packages/b2/92/3c0cb2492094e3cd9baf9e49bbb7befeceb584ea0c1a8b5939dca4da12e5/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:67ce7620704745881a3d4b0ada80ab4d99df390838839921f99e63c474f82cf2", size = 592511, upload-time = "2025-08-27T12:13:45.898Z" }, - { url = "https://files.pythonhosted.org/packages/10/bb/82e64fbb0047c46a168faa28d0d45a7851cd0582f850b966811d30f67ad8/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d992ac10eb86d9b6f369647b6a3f412fc0075cfd5d799530e84d335e440a002", size = 557736, upload-time = "2025-08-27T12:13:47.408Z" }, - { url = "https://files.pythonhosted.org/packages/00/95/3c863973d409210da7fb41958172c6b7dbe7fc34e04d3cc1f10bb85e979f/rpds_py-0.27.1-cp313-cp313-win32.whl", hash = "sha256:4f75e4bd8ab8db624e02c8e2fc4063021b58becdbe6df793a8111d9343aec1e3", size = 221462, upload-time = "2025-08-27T12:13:48.742Z" }, - { url = "https://files.pythonhosted.org/packages/ce/2c/5867b14a81dc217b56d95a9f2a40fdbc56a1ab0181b80132beeecbd4b2d6/rpds_py-0.27.1-cp313-cp313-win_amd64.whl", hash = "sha256:f9025faafc62ed0b75a53e541895ca272815bec18abe2249ff6501c8f2e12b83", size = 232034, upload-time = "2025-08-27T12:13:50.11Z" }, - { url = "https://files.pythonhosted.org/packages/c7/78/3958f3f018c01923823f1e47f1cc338e398814b92d83cd278364446fac66/rpds_py-0.27.1-cp313-cp313-win_arm64.whl", hash = "sha256:ed10dc32829e7d222b7d3b93136d25a406ba9788f6a7ebf6809092da1f4d279d", size = 222392, upload-time = "2025-08-27T12:13:52.587Z" }, - { url = "https://files.pythonhosted.org/packages/01/76/1cdf1f91aed5c3a7bf2eba1f1c4e4d6f57832d73003919a20118870ea659/rpds_py-0.27.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:92022bbbad0d4426e616815b16bc4127f83c9a74940e1ccf3cfe0b387aba0228", size = 358355, upload-time = "2025-08-27T12:13:54.012Z" }, - { url = "https://files.pythonhosted.org/packages/c3/6f/bf142541229374287604caf3bb2a4ae17f0a580798fd72d3b009b532db4e/rpds_py-0.27.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:47162fdab9407ec3f160805ac3e154df042e577dd53341745fc7fb3f625e6d92", size = 342138, upload-time = "2025-08-27T12:13:55.791Z" }, - { url = "https://files.pythonhosted.org/packages/1a/77/355b1c041d6be40886c44ff5e798b4e2769e497b790f0f7fd1e78d17e9a8/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb89bec23fddc489e5d78b550a7b773557c9ab58b7946154a10a6f7a214a48b2", size = 380247, upload-time = "2025-08-27T12:13:57.683Z" }, - { url = "https://files.pythonhosted.org/packages/d6/a4/d9cef5c3946ea271ce2243c51481971cd6e34f21925af2783dd17b26e815/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e48af21883ded2b3e9eb48cb7880ad8598b31ab752ff3be6457001d78f416723", size = 390699, upload-time = "2025-08-27T12:13:59.137Z" }, - { url = "https://files.pythonhosted.org/packages/3a/06/005106a7b8c6c1a7e91b73169e49870f4af5256119d34a361ae5240a0c1d/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6f5b7bd8e219ed50299e58551a410b64daafb5017d54bbe822e003856f06a802", size = 521852, upload-time = "2025-08-27T12:14:00.583Z" }, - { url = "https://files.pythonhosted.org/packages/e5/3e/50fb1dac0948e17a02eb05c24510a8fe12d5ce8561c6b7b7d1339ab7ab9c/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08f1e20bccf73b08d12d804d6e1c22ca5530e71659e6673bce31a6bb71c1e73f", size = 402582, upload-time = "2025-08-27T12:14:02.034Z" }, - { url = "https://files.pythonhosted.org/packages/cb/b0/f4e224090dc5b0ec15f31a02d746ab24101dd430847c4d99123798661bfc/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dc5dceeaefcc96dc192e3a80bbe1d6c410c469e97bdd47494a7d930987f18b2", size = 384126, upload-time = "2025-08-27T12:14:03.437Z" }, - { url = "https://files.pythonhosted.org/packages/54/77/ac339d5f82b6afff1df8f0fe0d2145cc827992cb5f8eeb90fc9f31ef7a63/rpds_py-0.27.1-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:d76f9cc8665acdc0c9177043746775aa7babbf479b5520b78ae4002d889f5c21", size = 399486, upload-time = "2025-08-27T12:14:05.443Z" }, - { url = "https://files.pythonhosted.org/packages/d6/29/3e1c255eee6ac358c056a57d6d6869baa00a62fa32eea5ee0632039c50a3/rpds_py-0.27.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:134fae0e36022edad8290a6661edf40c023562964efea0cc0ec7f5d392d2aaef", size = 414832, upload-time = "2025-08-27T12:14:06.902Z" }, - { url = "https://files.pythonhosted.org/packages/3f/db/6d498b844342deb3fa1d030598db93937a9964fcf5cb4da4feb5f17be34b/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:eb11a4f1b2b63337cfd3b4d110af778a59aae51c81d195768e353d8b52f88081", size = 557249, upload-time = "2025-08-27T12:14:08.37Z" }, - { url = "https://files.pythonhosted.org/packages/60/f3/690dd38e2310b6f68858a331399b4d6dbb9132c3e8ef8b4333b96caf403d/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:13e608ac9f50a0ed4faec0e90ece76ae33b34c0e8656e3dceb9a7db994c692cd", size = 587356, upload-time = "2025-08-27T12:14:10.034Z" }, - { url = "https://files.pythonhosted.org/packages/86/e3/84507781cccd0145f35b1dc32c72675200c5ce8d5b30f813e49424ef68fc/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dd2135527aa40f061350c3f8f89da2644de26cd73e4de458e79606384f4f68e7", size = 555300, upload-time = "2025-08-27T12:14:11.783Z" }, - { url = "https://files.pythonhosted.org/packages/e5/ee/375469849e6b429b3516206b4580a79e9ef3eb12920ddbd4492b56eaacbe/rpds_py-0.27.1-cp313-cp313t-win32.whl", hash = "sha256:3020724ade63fe320a972e2ffd93b5623227e684315adce194941167fee02688", size = 216714, upload-time = "2025-08-27T12:14:13.629Z" }, - { url = "https://files.pythonhosted.org/packages/21/87/3fc94e47c9bd0742660e84706c311a860dcae4374cf4a03c477e23ce605a/rpds_py-0.27.1-cp313-cp313t-win_amd64.whl", hash = "sha256:8ee50c3e41739886606388ba3ab3ee2aae9f35fb23f833091833255a31740797", size = 228943, upload-time = "2025-08-27T12:14:14.937Z" }, - { url = "https://files.pythonhosted.org/packages/70/36/b6e6066520a07cf029d385de869729a895917b411e777ab1cde878100a1d/rpds_py-0.27.1-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:acb9aafccaae278f449d9c713b64a9e68662e7799dbd5859e2c6b3c67b56d334", size = 362472, upload-time = "2025-08-27T12:14:16.333Z" }, - { url = "https://files.pythonhosted.org/packages/af/07/b4646032e0dcec0df9c73a3bd52f63bc6c5f9cda992f06bd0e73fe3fbebd/rpds_py-0.27.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b7fb801aa7f845ddf601c49630deeeccde7ce10065561d92729bfe81bd21fb33", size = 345676, upload-time = "2025-08-27T12:14:17.764Z" }, - { url = "https://files.pythonhosted.org/packages/b0/16/2f1003ee5d0af4bcb13c0cf894957984c32a6751ed7206db2aee7379a55e/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe0dd05afb46597b9a2e11c351e5e4283c741237e7f617ffb3252780cca9336a", size = 385313, upload-time = "2025-08-27T12:14:19.829Z" }, - { url = "https://files.pythonhosted.org/packages/05/cd/7eb6dd7b232e7f2654d03fa07f1414d7dfc980e82ba71e40a7c46fd95484/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b6dfb0e058adb12d8b1d1b25f686e94ffa65d9995a5157afe99743bf7369d62b", size = 399080, upload-time = "2025-08-27T12:14:21.531Z" }, - { url = "https://files.pythonhosted.org/packages/20/51/5829afd5000ec1cb60f304711f02572d619040aa3ec033d8226817d1e571/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ed090ccd235f6fa8bb5861684567f0a83e04f52dfc2e5c05f2e4b1309fcf85e7", size = 523868, upload-time = "2025-08-27T12:14:23.485Z" }, - { url = "https://files.pythonhosted.org/packages/05/2c/30eebca20d5db95720ab4d2faec1b5e4c1025c473f703738c371241476a2/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf876e79763eecf3e7356f157540d6a093cef395b65514f17a356f62af6cc136", size = 408750, upload-time = "2025-08-27T12:14:24.924Z" }, - { url = "https://files.pythonhosted.org/packages/90/1a/cdb5083f043597c4d4276eae4e4c70c55ab5accec078da8611f24575a367/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:12ed005216a51b1d6e2b02a7bd31885fe317e45897de81d86dcce7d74618ffff", size = 387688, upload-time = "2025-08-27T12:14:27.537Z" }, - { url = "https://files.pythonhosted.org/packages/7c/92/cf786a15320e173f945d205ab31585cc43969743bb1a48b6888f7a2b0a2d/rpds_py-0.27.1-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:ee4308f409a40e50593c7e3bb8cbe0b4d4c66d1674a316324f0c2f5383b486f9", size = 407225, upload-time = "2025-08-27T12:14:28.981Z" }, - { url = "https://files.pythonhosted.org/packages/33/5c/85ee16df5b65063ef26017bef33096557a4c83fbe56218ac7cd8c235f16d/rpds_py-0.27.1-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0b08d152555acf1f455154d498ca855618c1378ec810646fcd7c76416ac6dc60", size = 423361, upload-time = "2025-08-27T12:14:30.469Z" }, - { url = "https://files.pythonhosted.org/packages/4b/8e/1c2741307fcabd1a334ecf008e92c4f47bb6f848712cf15c923becfe82bb/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:dce51c828941973a5684d458214d3a36fcd28da3e1875d659388f4f9f12cc33e", size = 562493, upload-time = "2025-08-27T12:14:31.987Z" }, - { url = "https://files.pythonhosted.org/packages/04/03/5159321baae9b2222442a70c1f988cbbd66b9be0675dd3936461269be360/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:c1476d6f29eb81aa4151c9a31219b03f1f798dc43d8af1250a870735516a1212", size = 592623, upload-time = "2025-08-27T12:14:33.543Z" }, - { url = "https://files.pythonhosted.org/packages/ff/39/c09fd1ad28b85bc1d4554a8710233c9f4cefd03d7717a1b8fbfd171d1167/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:3ce0cac322b0d69b63c9cdb895ee1b65805ec9ffad37639f291dd79467bee675", size = 558800, upload-time = "2025-08-27T12:14:35.436Z" }, - { url = "https://files.pythonhosted.org/packages/c5/d6/99228e6bbcf4baa764b18258f519a9035131d91b538d4e0e294313462a98/rpds_py-0.27.1-cp314-cp314-win32.whl", hash = "sha256:dfbfac137d2a3d0725758cd141f878bf4329ba25e34979797c89474a89a8a3a3", size = 221943, upload-time = "2025-08-27T12:14:36.898Z" }, - { url = "https://files.pythonhosted.org/packages/be/07/c802bc6b8e95be83b79bdf23d1aa61d68324cb1006e245d6c58e959e314d/rpds_py-0.27.1-cp314-cp314-win_amd64.whl", hash = "sha256:a6e57b0abfe7cc513450fcf529eb486b6e4d3f8aee83e92eb5f1ef848218d456", size = 233739, upload-time = "2025-08-27T12:14:38.386Z" }, - { url = "https://files.pythonhosted.org/packages/c8/89/3e1b1c16d4c2d547c5717377a8df99aee8099ff050f87c45cb4d5fa70891/rpds_py-0.27.1-cp314-cp314-win_arm64.whl", hash = "sha256:faf8d146f3d476abfee026c4ae3bdd9ca14236ae4e4c310cbd1cf75ba33d24a3", size = 223120, upload-time = "2025-08-27T12:14:39.82Z" }, - { url = "https://files.pythonhosted.org/packages/62/7e/dc7931dc2fa4a6e46b2a4fa744a9fe5c548efd70e0ba74f40b39fa4a8c10/rpds_py-0.27.1-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:ba81d2b56b6d4911ce735aad0a1d4495e808b8ee4dc58715998741a26874e7c2", size = 358944, upload-time = "2025-08-27T12:14:41.199Z" }, - { url = "https://files.pythonhosted.org/packages/e6/22/4af76ac4e9f336bfb1a5f240d18a33c6b2fcaadb7472ac7680576512b49a/rpds_py-0.27.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:84f7d509870098de0e864cad0102711c1e24e9b1a50ee713b65928adb22269e4", size = 342283, upload-time = "2025-08-27T12:14:42.699Z" }, - { url = "https://files.pythonhosted.org/packages/1c/15/2a7c619b3c2272ea9feb9ade67a45c40b3eeb500d503ad4c28c395dc51b4/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9e960fc78fecd1100539f14132425e1d5fe44ecb9239f8f27f079962021523e", size = 380320, upload-time = "2025-08-27T12:14:44.157Z" }, - { url = "https://files.pythonhosted.org/packages/a2/7d/4c6d243ba4a3057e994bb5bedd01b5c963c12fe38dde707a52acdb3849e7/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:62f85b665cedab1a503747617393573995dac4600ff51869d69ad2f39eb5e817", size = 391760, upload-time = "2025-08-27T12:14:45.845Z" }, - { url = "https://files.pythonhosted.org/packages/b4/71/b19401a909b83bcd67f90221330bc1ef11bc486fe4e04c24388d28a618ae/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fed467af29776f6556250c9ed85ea5a4dd121ab56a5f8b206e3e7a4c551e48ec", size = 522476, upload-time = "2025-08-27T12:14:47.364Z" }, - { url = "https://files.pythonhosted.org/packages/e4/44/1a3b9715c0455d2e2f0f6df5ee6d6f5afdc423d0773a8a682ed2b43c566c/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2729615f9d430af0ae6b36cf042cb55c0936408d543fb691e1a9e36648fd35a", size = 403418, upload-time = "2025-08-27T12:14:49.991Z" }, - { url = "https://files.pythonhosted.org/packages/1c/4b/fb6c4f14984eb56673bc868a66536f53417ddb13ed44b391998100a06a96/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b207d881a9aef7ba753d69c123a35d96ca7cb808056998f6b9e8747321f03b8", size = 384771, upload-time = "2025-08-27T12:14:52.159Z" }, - { url = "https://files.pythonhosted.org/packages/c0/56/d5265d2d28b7420d7b4d4d85cad8ef891760f5135102e60d5c970b976e41/rpds_py-0.27.1-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:639fd5efec029f99b79ae47e5d7e00ad8a773da899b6309f6786ecaf22948c48", size = 400022, upload-time = "2025-08-27T12:14:53.859Z" }, - { url = "https://files.pythonhosted.org/packages/8f/e9/9f5fc70164a569bdd6ed9046486c3568d6926e3a49bdefeeccfb18655875/rpds_py-0.27.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fecc80cb2a90e28af8a9b366edacf33d7a91cbfe4c2c4544ea1246e949cfebeb", size = 416787, upload-time = "2025-08-27T12:14:55.673Z" }, - { url = "https://files.pythonhosted.org/packages/d4/64/56dd03430ba491db943a81dcdef115a985aac5f44f565cd39a00c766d45c/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:42a89282d711711d0a62d6f57d81aa43a1368686c45bc1c46b7f079d55692734", size = 557538, upload-time = "2025-08-27T12:14:57.245Z" }, - { url = "https://files.pythonhosted.org/packages/3f/36/92cc885a3129993b1d963a2a42ecf64e6a8e129d2c7cc980dbeba84e55fb/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:cf9931f14223de59551ab9d38ed18d92f14f055a5f78c1d8ad6493f735021bbb", size = 588512, upload-time = "2025-08-27T12:14:58.728Z" }, - { url = "https://files.pythonhosted.org/packages/dd/10/6b283707780a81919f71625351182b4f98932ac89a09023cb61865136244/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f39f58a27cc6e59f432b568ed8429c7e1641324fbe38131de852cd77b2d534b0", size = 555813, upload-time = "2025-08-27T12:15:00.334Z" }, - { url = "https://files.pythonhosted.org/packages/04/2e/30b5ea18c01379da6272a92825dd7e53dc9d15c88a19e97932d35d430ef7/rpds_py-0.27.1-cp314-cp314t-win32.whl", hash = "sha256:d5fa0ee122dc09e23607a28e6d7b150da16c662e66409bbe85230e4c85bb528a", size = 217385, upload-time = "2025-08-27T12:15:01.937Z" }, - { url = "https://files.pythonhosted.org/packages/32/7d/97119da51cb1dd3f2f3c0805f155a3aa4a95fa44fe7d78ae15e69edf4f34/rpds_py-0.27.1-cp314-cp314t-win_amd64.whl", hash = "sha256:6567d2bb951e21232c2f660c24cf3470bb96de56cdcb3f071a83feeaff8a2772", size = 230097, upload-time = "2025-08-27T12:15:03.961Z" }, +version = "0.28.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/48/dc/95f074d43452b3ef5d06276696ece4b3b5d696e7c9ad7173c54b1390cd70/rpds_py-0.28.0.tar.gz", hash = "sha256:abd4df20485a0983e2ca334a216249b6186d6e3c1627e106651943dbdb791aea", size = 27419, upload-time = "2025-10-22T22:24:29.327Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d3/03/ce566d92611dfac0085c2f4b048cd53ed7c274a5c05974b882a908d540a2/rpds_py-0.28.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:e9e184408a0297086f880556b6168fa927d677716f83d3472ea333b42171ee3b", size = 366235, upload-time = "2025-10-22T22:22:28.397Z" }, + { url = "https://files.pythonhosted.org/packages/00/34/1c61da1b25592b86fd285bd7bd8422f4c9d748a7373b46126f9ae792a004/rpds_py-0.28.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:edd267266a9b0448f33dc465a97cfc5d467594b600fe28e7fa2f36450e03053a", size = 348241, upload-time = "2025-10-22T22:22:30.171Z" }, + { url = "https://files.pythonhosted.org/packages/fc/00/ed1e28616848c61c493a067779633ebf4b569eccaacf9ccbdc0e7cba2b9d/rpds_py-0.28.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85beb8b3f45e4e32f6802fb6cd6b17f615ef6c6a52f265371fb916fae02814aa", size = 378079, upload-time = "2025-10-22T22:22:31.644Z" }, + { url = "https://files.pythonhosted.org/packages/11/b2/ccb30333a16a470091b6e50289adb4d3ec656fd9951ba8c5e3aaa0746a67/rpds_py-0.28.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d2412be8d00a1b895f8ad827cc2116455196e20ed994bb704bf138fe91a42724", size = 393151, upload-time = "2025-10-22T22:22:33.453Z" }, + { url = "https://files.pythonhosted.org/packages/8c/d0/73e2217c3ee486d555cb84920597480627d8c0240ff3062005c6cc47773e/rpds_py-0.28.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cf128350d384b777da0e68796afdcebc2e9f63f0e9f242217754e647f6d32491", size = 517520, upload-time = "2025-10-22T22:22:34.949Z" }, + { url = "https://files.pythonhosted.org/packages/c4/91/23efe81c700427d0841a4ae7ea23e305654381831e6029499fe80be8a071/rpds_py-0.28.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a2036d09b363aa36695d1cc1a97b36865597f4478470b0697b5ee9403f4fe399", size = 408699, upload-time = "2025-10-22T22:22:36.584Z" }, + { url = "https://files.pythonhosted.org/packages/ca/ee/a324d3198da151820a326c1f988caaa4f37fc27955148a76fff7a2d787a9/rpds_py-0.28.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8e1e9be4fa6305a16be628959188e4fd5cd6f1b0e724d63c6d8b2a8adf74ea6", size = 385720, upload-time = "2025-10-22T22:22:38.014Z" }, + { url = "https://files.pythonhosted.org/packages/19/ad/e68120dc05af8b7cab4a789fccd8cdcf0fe7e6581461038cc5c164cd97d2/rpds_py-0.28.0-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:0a403460c9dd91a7f23fc3188de6d8977f1d9603a351d5db6cf20aaea95b538d", size = 401096, upload-time = "2025-10-22T22:22:39.869Z" }, + { url = "https://files.pythonhosted.org/packages/99/90/c1e070620042459d60df6356b666bb1f62198a89d68881816a7ed121595a/rpds_py-0.28.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d7366b6553cdc805abcc512b849a519167db8f5e5c3472010cd1228b224265cb", size = 411465, upload-time = "2025-10-22T22:22:41.395Z" }, + { url = "https://files.pythonhosted.org/packages/68/61/7c195b30d57f1b8d5970f600efee72a4fad79ec829057972e13a0370fd24/rpds_py-0.28.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5b43c6a3726efd50f18d8120ec0551241c38785b68952d240c45ea553912ac41", size = 558832, upload-time = "2025-10-22T22:22:42.871Z" }, + { url = "https://files.pythonhosted.org/packages/b0/3d/06f3a718864773f69941d4deccdf18e5e47dd298b4628062f004c10f3b34/rpds_py-0.28.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:0cb7203c7bc69d7c1585ebb33a2e6074492d2fc21ad28a7b9d40457ac2a51ab7", size = 583230, upload-time = "2025-10-22T22:22:44.877Z" }, + { url = "https://files.pythonhosted.org/packages/66/df/62fc783781a121e77fee9a21ead0a926f1b652280a33f5956a5e7833ed30/rpds_py-0.28.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7a52a5169c664dfb495882adc75c304ae1d50df552fbd68e100fdc719dee4ff9", size = 553268, upload-time = "2025-10-22T22:22:46.441Z" }, + { url = "https://files.pythonhosted.org/packages/84/85/d34366e335140a4837902d3dea89b51f087bd6a63c993ebdff59e93ee61d/rpds_py-0.28.0-cp313-cp313-win32.whl", hash = "sha256:2e42456917b6687215b3e606ab46aa6bca040c77af7df9a08a6dcfe8a4d10ca5", size = 217100, upload-time = "2025-10-22T22:22:48.342Z" }, + { url = "https://files.pythonhosted.org/packages/3c/1c/f25a3f3752ad7601476e3eff395fe075e0f7813fbb9862bd67c82440e880/rpds_py-0.28.0-cp313-cp313-win_amd64.whl", hash = "sha256:e0a0311caedc8069d68fc2bf4c9019b58a2d5ce3cd7cb656c845f1615b577e1e", size = 227759, upload-time = "2025-10-22T22:22:50.219Z" }, + { url = "https://files.pythonhosted.org/packages/e0/d6/5f39b42b99615b5bc2f36ab90423ea404830bdfee1c706820943e9a645eb/rpds_py-0.28.0-cp313-cp313-win_arm64.whl", hash = "sha256:04c1b207ab8b581108801528d59ad80aa83bb170b35b0ddffb29c20e411acdc1", size = 217326, upload-time = "2025-10-22T22:22:51.647Z" }, + { url = "https://files.pythonhosted.org/packages/5c/8b/0c69b72d1cee20a63db534be0df271effe715ef6c744fdf1ff23bb2b0b1c/rpds_py-0.28.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:f296ea3054e11fc58ad42e850e8b75c62d9a93a9f981ad04b2e5ae7d2186ff9c", size = 355736, upload-time = "2025-10-22T22:22:53.211Z" }, + { url = "https://files.pythonhosted.org/packages/f7/6d/0c2ee773cfb55c31a8514d2cece856dd299170a49babd50dcffb15ddc749/rpds_py-0.28.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5a7306c19b19005ad98468fcefeb7100b19c79fc23a5f24a12e06d91181193fa", size = 342677, upload-time = "2025-10-22T22:22:54.723Z" }, + { url = "https://files.pythonhosted.org/packages/e2/1c/22513ab25a27ea205144414724743e305e8153e6abe81833b5e678650f5a/rpds_py-0.28.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5d9b86aa501fed9862a443c5c3116f6ead8bc9296185f369277c42542bd646b", size = 371847, upload-time = "2025-10-22T22:22:56.295Z" }, + { url = "https://files.pythonhosted.org/packages/60/07/68e6ccdb4b05115ffe61d31afc94adef1833d3a72f76c9632d4d90d67954/rpds_py-0.28.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e5bbc701eff140ba0e872691d573b3d5d30059ea26e5785acba9132d10c8c31d", size = 381800, upload-time = "2025-10-22T22:22:57.808Z" }, + { url = "https://files.pythonhosted.org/packages/73/bf/6d6d15df80781d7f9f368e7c1a00caf764436518c4877fb28b029c4624af/rpds_py-0.28.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9a5690671cd672a45aa8616d7374fdf334a1b9c04a0cac3c854b1136e92374fe", size = 518827, upload-time = "2025-10-22T22:22:59.826Z" }, + { url = "https://files.pythonhosted.org/packages/7b/d3/2decbb2976cc452cbf12a2b0aaac5f1b9dc5dd9d1f7e2509a3ee00421249/rpds_py-0.28.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9f1d92ecea4fa12f978a367c32a5375a1982834649cdb96539dcdc12e609ab1a", size = 399471, upload-time = "2025-10-22T22:23:01.968Z" }, + { url = "https://files.pythonhosted.org/packages/b1/2c/f30892f9e54bd02e5faca3f6a26d6933c51055e67d54818af90abed9748e/rpds_py-0.28.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d252db6b1a78d0a3928b6190156042d54c93660ce4d98290d7b16b5296fb7cc", size = 377578, upload-time = "2025-10-22T22:23:03.52Z" }, + { url = "https://files.pythonhosted.org/packages/f0/5d/3bce97e5534157318f29ac06bf2d279dae2674ec12f7cb9c12739cee64d8/rpds_py-0.28.0-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:d61b355c3275acb825f8777d6c4505f42b5007e357af500939d4a35b19177259", size = 390482, upload-time = "2025-10-22T22:23:05.391Z" }, + { url = "https://files.pythonhosted.org/packages/e3/f0/886bd515ed457b5bd93b166175edb80a0b21a210c10e993392127f1e3931/rpds_py-0.28.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:acbe5e8b1026c0c580d0321c8aae4b0a1e1676861d48d6e8c6586625055b606a", size = 402447, upload-time = "2025-10-22T22:23:06.93Z" }, + { url = "https://files.pythonhosted.org/packages/42/b5/71e8777ac55e6af1f4f1c05b47542a1eaa6c33c1cf0d300dca6a1c6e159a/rpds_py-0.28.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:8aa23b6f0fc59b85b4c7d89ba2965af274346f738e8d9fc2455763602e62fd5f", size = 552385, upload-time = "2025-10-22T22:23:08.557Z" }, + { url = "https://files.pythonhosted.org/packages/5d/cb/6ca2d70cbda5a8e36605e7788c4aa3bea7c17d71d213465a5a675079b98d/rpds_py-0.28.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7b14b0c680286958817c22d76fcbca4800ddacef6f678f3a7c79a1fe7067fe37", size = 575642, upload-time = "2025-10-22T22:23:10.348Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d4/407ad9960ca7856d7b25c96dcbe019270b5ffdd83a561787bc682c797086/rpds_py-0.28.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:bcf1d210dfee61a6c86551d67ee1031899c0fdbae88b2d44a569995d43797712", size = 544507, upload-time = "2025-10-22T22:23:12.434Z" }, + { url = "https://files.pythonhosted.org/packages/51/31/2f46fe0efcac23fbf5797c6b6b7e1c76f7d60773e525cb65fcbc582ee0f2/rpds_py-0.28.0-cp313-cp313t-win32.whl", hash = "sha256:3aa4dc0fdab4a7029ac63959a3ccf4ed605fee048ba67ce89ca3168da34a1342", size = 205376, upload-time = "2025-10-22T22:23:13.979Z" }, + { url = "https://files.pythonhosted.org/packages/92/e4/15947bda33cbedfc134490a41841ab8870a72a867a03d4969d886f6594a2/rpds_py-0.28.0-cp313-cp313t-win_amd64.whl", hash = "sha256:7b7d9d83c942855e4fdcfa75d4f96f6b9e272d42fffcb72cd4bb2577db2e2907", size = 215907, upload-time = "2025-10-22T22:23:15.5Z" }, ] [[package]] @@ -4344,7 +4213,7 @@ name = "rsa" version = "4.9.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pyasn1" }, + { name = "pyasn1", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/da/8a/22b7beea3ee0d44b1916c0c1cb0ee3af23b700b6da9f04991899d0c555d4/rsa-4.9.1.tar.gz", hash = "sha256:e7bdbfdb5497da4c07dfd35530e1a902659db6ff241e39d9953cad06ebd0ae75", size = 29034, upload-time = "2025-04-16T09:51:18.218Z" } wheels = [ @@ -4353,28 +4222,46 @@ wheels = [ [[package]] name = "ruff" -version = "0.14.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/9e/58/6ca66896635352812de66f71cdf9ff86b3a4f79071ca5730088c0cd0fc8d/ruff-0.14.1.tar.gz", hash = "sha256:1dd86253060c4772867c61791588627320abcb6ed1577a90ef432ee319729b69", size = 5513429, upload-time = "2025-10-16T18:05:41.766Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/8d/39/9cc5ab181478d7a18adc1c1e051a84ee02bec94eb9bdfd35643d7c74ca31/ruff-0.14.1-py3-none-linux_armv6l.whl", hash = "sha256:083bfc1f30f4a391ae09c6f4f99d83074416b471775b59288956f5bc18e82f8b", size = 12445415, upload-time = "2025-10-16T18:04:48.227Z" }, - { url = "https://files.pythonhosted.org/packages/ef/2e/1226961855ccd697255988f5a2474890ac7c5863b080b15bd038df820818/ruff-0.14.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:f6fa757cd717f791009f7669fefb09121cc5f7d9bd0ef211371fad68c2b8b224", size = 12784267, upload-time = "2025-10-16T18:04:52.515Z" }, - { url = "https://files.pythonhosted.org/packages/c1/ea/fd9e95863124ed159cd0667ec98449ae461de94acda7101f1acb6066da00/ruff-0.14.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d6191903d39ac156921398e9c86b7354d15e3c93772e7dbf26c9fcae59ceccd5", size = 11781872, upload-time = "2025-10-16T18:04:55.396Z" }, - { url = "https://files.pythonhosted.org/packages/1e/5a/e890f7338ff537dba4589a5e02c51baa63020acfb7c8cbbaea4831562c96/ruff-0.14.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed04f0e04f7a4587244e5c9d7df50e6b5bf2705d75059f409a6421c593a35896", size = 12226558, upload-time = "2025-10-16T18:04:58.166Z" }, - { url = "https://files.pythonhosted.org/packages/a6/7a/8ab5c3377f5bf31e167b73651841217542bcc7aa1c19e83030835cc25204/ruff-0.14.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5c9e6cf6cd4acae0febbce29497accd3632fe2025c0c583c8b87e8dbdeae5f61", size = 12187898, upload-time = "2025-10-16T18:05:01.455Z" }, - { url = "https://files.pythonhosted.org/packages/48/8d/ba7c33aa55406955fc124e62c8259791c3d42e3075a71710fdff9375134f/ruff-0.14.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a6fa2458527794ecdfbe45f654e42c61f2503a230545a91af839653a0a93dbc6", size = 12939168, upload-time = "2025-10-16T18:05:04.397Z" }, - { url = "https://files.pythonhosted.org/packages/b4/c2/70783f612b50f66d083380e68cbd1696739d88e9b4f6164230375532c637/ruff-0.14.1-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:39f1c392244e338b21d42ab29b8a6392a722c5090032eb49bb4d6defcdb34345", size = 14386942, upload-time = "2025-10-16T18:05:07.102Z" }, - { url = "https://files.pythonhosted.org/packages/48/44/cd7abb9c776b66d332119d67f96acf15830d120f5b884598a36d9d3f4d83/ruff-0.14.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7382fa12a26cce1f95070ce450946bec357727aaa428983036362579eadcc5cf", size = 13990622, upload-time = "2025-10-16T18:05:09.882Z" }, - { url = "https://files.pythonhosted.org/packages/eb/56/4259b696db12ac152fe472764b4f78bbdd9b477afd9bc3a6d53c01300b37/ruff-0.14.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd0bf2be3ae8521e1093a487c4aa3b455882f139787770698530d28ed3fbb37c", size = 13431143, upload-time = "2025-10-16T18:05:13.46Z" }, - { url = "https://files.pythonhosted.org/packages/e0/35/266a80d0eb97bd224b3265b9437bd89dde0dcf4faf299db1212e81824e7e/ruff-0.14.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cabcaa9ccf8089fb4fdb78d17cc0e28241520f50f4c2e88cb6261ed083d85151", size = 13132844, upload-time = "2025-10-16T18:05:16.1Z" }, - { url = "https://files.pythonhosted.org/packages/65/6e/d31ce218acc11a8d91ef208e002a31acf315061a85132f94f3df7a252b18/ruff-0.14.1-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:747d583400f6125ec11a4c14d1c8474bf75d8b419ad22a111a537ec1a952d192", size = 13401241, upload-time = "2025-10-16T18:05:19.395Z" }, - { url = "https://files.pythonhosted.org/packages/9f/b5/dbc4221bf0b03774b3b2f0d47f39e848d30664157c15b965a14d890637d2/ruff-0.14.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:5a6e74c0efd78515a1d13acbfe6c90f0f5bd822aa56b4a6d43a9ffb2ae6e56cd", size = 12132476, upload-time = "2025-10-16T18:05:22.163Z" }, - { url = "https://files.pythonhosted.org/packages/98/4b/ac99194e790ccd092d6a8b5f341f34b6e597d698e3077c032c502d75ea84/ruff-0.14.1-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:0ea6a864d2fb41a4b6d5b456ed164302a0d96f4daac630aeba829abfb059d020", size = 12139749, upload-time = "2025-10-16T18:05:25.162Z" }, - { url = "https://files.pythonhosted.org/packages/47/26/7df917462c3bb5004e6fdfcc505a49e90bcd8a34c54a051953118c00b53a/ruff-0.14.1-py3-none-musllinux_1_2_i686.whl", hash = "sha256:0826b8764f94229604fa255918d1cc45e583e38c21c203248b0bfc9a0e930be5", size = 12544758, upload-time = "2025-10-16T18:05:28.018Z" }, - { url = "https://files.pythonhosted.org/packages/64/d0/81e7f0648e9764ad9b51dd4be5e5dac3fcfff9602428ccbae288a39c2c22/ruff-0.14.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:cbc52160465913a1a3f424c81c62ac8096b6a491468e7d872cb9444a860bc33d", size = 13221811, upload-time = "2025-10-16T18:05:30.707Z" }, - { url = "https://files.pythonhosted.org/packages/c3/07/3c45562c67933cc35f6d5df4ca77dabbcd88fddaca0d6b8371693d29fd56/ruff-0.14.1-py3-none-win32.whl", hash = "sha256:e037ea374aaaff4103240ae79168c0945ae3d5ae8db190603de3b4012bd1def6", size = 12319467, upload-time = "2025-10-16T18:05:33.261Z" }, - { url = "https://files.pythonhosted.org/packages/02/88/0ee4ca507d4aa05f67e292d2e5eb0b3e358fbcfe527554a2eda9ac422d6b/ruff-0.14.1-py3-none-win_amd64.whl", hash = "sha256:59d599cdff9c7f925a017f6f2c256c908b094e55967f93f2821b1439928746a1", size = 13401123, upload-time = "2025-10-16T18:05:35.984Z" }, - { url = "https://files.pythonhosted.org/packages/b8/81/4b6387be7014858d924b843530e1b2a8e531846807516e9bea2ee0936bf7/ruff-0.14.1-py3-none-win_arm64.whl", hash = "sha256:e3b443c4c9f16ae850906b8d0a707b2a4c16f8d2f0a7fe65c475c5886665ce44", size = 12436636, upload-time = "2025-10-16T18:05:38.995Z" }, +version = "0.14.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/75/62/50b7727004dfe361104dfbf898c45a9a2fdfad8c72c04ae62900224d6ecf/ruff-0.14.3.tar.gz", hash = "sha256:4ff876d2ab2b161b6de0aa1f5bd714e8e9b4033dc122ee006925fbacc4f62153", size = 5558687, upload-time = "2025-10-31T00:26:26.878Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ce/8e/0c10ff1ea5d4360ab8bfca4cb2c9d979101a391f3e79d2616c9bf348cd26/ruff-0.14.3-py3-none-linux_armv6l.whl", hash = "sha256:876b21e6c824f519446715c1342b8e60f97f93264012de9d8d10314f8a79c371", size = 12535613, upload-time = "2025-10-31T00:25:44.302Z" }, + { url = "https://files.pythonhosted.org/packages/d3/c8/6724f4634c1daf52409fbf13fefda64aa9c8f81e44727a378b7b73dc590b/ruff-0.14.3-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:b6fd8c79b457bedd2abf2702b9b472147cd860ed7855c73a5247fa55c9117654", size = 12855812, upload-time = "2025-10-31T00:25:47.793Z" }, + { url = "https://files.pythonhosted.org/packages/de/03/db1bce591d55fd5f8a08bb02517fa0b5097b2ccabd4ea1ee29aa72b67d96/ruff-0.14.3-py3-none-macosx_11_0_arm64.whl", hash = "sha256:71ff6edca490c308f083156938c0c1a66907151263c4abdcb588602c6e696a14", size = 11944026, upload-time = "2025-10-31T00:25:49.657Z" }, + { url = "https://files.pythonhosted.org/packages/0b/75/4f8dbd48e03272715d12c87dc4fcaaf21b913f0affa5f12a4e9c6f8a0582/ruff-0.14.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:786ee3ce6139772ff9272aaf43296d975c0217ee1b97538a98171bf0d21f87ed", size = 12356818, upload-time = "2025-10-31T00:25:51.949Z" }, + { url = "https://files.pythonhosted.org/packages/ec/9b/506ec5b140c11d44a9a4f284ea7c14ebf6f8b01e6e8917734a3325bff787/ruff-0.14.3-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cd6291d0061811c52b8e392f946889916757610d45d004e41140d81fb6cd5ddc", size = 12336745, upload-time = "2025-10-31T00:25:54.248Z" }, + { url = "https://files.pythonhosted.org/packages/c7/e1/c560d254048c147f35e7f8131d30bc1f63a008ac61595cf3078a3e93533d/ruff-0.14.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a497ec0c3d2c88561b6d90f9c29f5ae68221ac00d471f306fa21fa4264ce5fcd", size = 13101684, upload-time = "2025-10-31T00:25:56.253Z" }, + { url = "https://files.pythonhosted.org/packages/a5/32/e310133f8af5cd11f8cc30f52522a3ebccc5ea5bff4b492f94faceaca7a8/ruff-0.14.3-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:e231e1be58fc568950a04fbe6887c8e4b85310e7889727e2b81db205c45059eb", size = 14535000, upload-time = "2025-10-31T00:25:58.397Z" }, + { url = "https://files.pythonhosted.org/packages/a2/a1/7b0470a22158c6d8501eabc5e9b6043c99bede40fa1994cadf6b5c2a61c7/ruff-0.14.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:469e35872a09c0e45fecf48dd960bfbce056b5db2d5e6b50eca329b4f853ae20", size = 14156450, upload-time = "2025-10-31T00:26:00.889Z" }, + { url = "https://files.pythonhosted.org/packages/0a/96/24bfd9d1a7f532b560dcee1a87096332e461354d3882124219bcaff65c09/ruff-0.14.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d6bc90307c469cb9d28b7cfad90aaa600b10d67c6e22026869f585e1e8a2db0", size = 13568414, upload-time = "2025-10-31T00:26:03.291Z" }, + { url = "https://files.pythonhosted.org/packages/a7/e7/138b883f0dfe4ad5b76b58bf4ae675f4d2176ac2b24bdd81b4d966b28c61/ruff-0.14.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2f8a0bbcffcfd895df39c9a4ecd59bb80dca03dc43f7fb63e647ed176b741e", size = 13315293, upload-time = "2025-10-31T00:26:05.708Z" }, + { url = "https://files.pythonhosted.org/packages/33/f4/c09bb898be97b2eb18476b7c950df8815ef14cf956074177e9fbd40b7719/ruff-0.14.3-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:678fdd7c7d2d94851597c23ee6336d25f9930b460b55f8598e011b57c74fd8c5", size = 13539444, upload-time = "2025-10-31T00:26:08.09Z" }, + { url = "https://files.pythonhosted.org/packages/9c/aa/b30a1db25fc6128b1dd6ff0741fa4abf969ded161599d07ca7edd0739cc0/ruff-0.14.3-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:1ec1ac071e7e37e0221d2f2dbaf90897a988c531a8592a6a5959f0603a1ecf5e", size = 12252581, upload-time = "2025-10-31T00:26:10.297Z" }, + { url = "https://files.pythonhosted.org/packages/da/13/21096308f384d796ffe3f2960b17054110a9c3828d223ca540c2b7cc670b/ruff-0.14.3-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:afcdc4b5335ef440d19e7df9e8ae2ad9f749352190e96d481dc501b753f0733e", size = 12307503, upload-time = "2025-10-31T00:26:12.646Z" }, + { url = "https://files.pythonhosted.org/packages/cb/cc/a350bac23f03b7dbcde3c81b154706e80c6f16b06ff1ce28ed07dc7b07b0/ruff-0.14.3-py3-none-musllinux_1_2_i686.whl", hash = "sha256:7bfc42f81862749a7136267a343990f865e71fe2f99cf8d2958f684d23ce3dfa", size = 12675457, upload-time = "2025-10-31T00:26:15.044Z" }, + { url = "https://files.pythonhosted.org/packages/cb/76/46346029fa2f2078826bc88ef7167e8c198e58fe3126636e52f77488cbba/ruff-0.14.3-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:a65e448cfd7e9c59fae8cf37f9221585d3354febaad9a07f29158af1528e165f", size = 13403980, upload-time = "2025-10-31T00:26:17.81Z" }, + { url = "https://files.pythonhosted.org/packages/9f/a4/35f1ef68c4e7b236d4a5204e3669efdeefaef21f0ff6a456792b3d8be438/ruff-0.14.3-py3-none-win32.whl", hash = "sha256:f3d91857d023ba93e14ed2d462ab62c3428f9bbf2b4fbac50a03ca66d31991f7", size = 12500045, upload-time = "2025-10-31T00:26:20.503Z" }, + { url = "https://files.pythonhosted.org/packages/03/15/51960ae340823c9859fb60c63301d977308735403e2134e17d1d2858c7fb/ruff-0.14.3-py3-none-win_amd64.whl", hash = "sha256:d7b7006ac0756306db212fd37116cce2bd307e1e109375e1c6c106002df0ae5f", size = 13594005, upload-time = "2025-10-31T00:26:22.533Z" }, + { url = "https://files.pythonhosted.org/packages/b7/73/4de6579bac8e979fca0a77e54dec1f1e011a0d268165eb8a9bc0982a6564/ruff-0.14.3-py3-none-win_arm64.whl", hash = "sha256:26eb477ede6d399d898791d01961e16b86f02bc2486d0d1a7a9bb2379d055dc1", size = 12590017, upload-time = "2025-10-31T00:26:24.52Z" }, +] + +[[package]] +name = "runloop-api-client" +version = "0.66.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "distro", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpx", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "sniffio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, + { name = "uuid-utils", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fb/8b/cfb603162a59a744eb3fce4d2fe33b27bfb64797872bd88bd548db3077f1/runloop_api_client-0.66.1.tar.gz", hash = "sha256:ba4bec099c630735a97bc81d1fd2f79f8461fe2251713ab6ce38739d13439586", size = 305391, upload-time = "2025-10-23T22:14:06.451Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/6e/97bcf51e0f14b96b32c22f1f7fab6d6aa9a855f74dc78dcb4fe2a4d8114b/runloop_api_client-0.66.1-py3-none-any.whl", hash = "sha256:6d77b538b1d91b80e8ae87acfe3ae0c83c3d816f19b08935d141c643dddd6321", size = 223927, upload-time = "2025-10-23T22:14:04.787Z" }, ] [[package]] @@ -4382,19 +4269,59 @@ name = "s3transfer" version = "0.14.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "botocore" }, + { name = "botocore", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/62/74/8d69dcb7a9efe8baa2046891735e5dfe433ad558ae23d9e3c14c633d1d58/s3transfer-0.14.0.tar.gz", hash = "sha256:eff12264e7c8b4985074ccce27a3b38a485bb7f7422cc8046fee9be4983e4125", size = 151547, upload-time = "2025-09-09T19:23:31.089Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/48/f0/ae7ca09223a81a1d890b2557186ea015f6e0502e9b8cb8e1813f1d8cfa4e/s3transfer-0.14.0-py3-none-any.whl", hash = "sha256:ea3b790c7077558ed1f02a3072fb3cb992bbbd253392f4b6e9e8976941c7d456", size = 85712, upload-time = "2025-09-09T19:23:30.041Z" }, ] +[[package]] +name = "scipy" +version = "1.16.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0a/ca/d8ace4f98322d01abcd52d381134344bf7b431eba7ed8b42bdea5a3c2ac9/scipy-1.16.3.tar.gz", hash = "sha256:01e87659402762f43bd2fee13370553a17ada367d42e7487800bf2916535aecb", size = 30597883, upload-time = "2025-10-28T17:38:54.068Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/72/f1/57e8327ab1508272029e27eeef34f2302ffc156b69e7e233e906c2a5c379/scipy-1.16.3-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:d2ec56337675e61b312179a1ad124f5f570c00f920cc75e1000025451b88241c", size = 36617856, upload-time = "2025-10-28T17:33:31.375Z" }, + { url = "https://files.pythonhosted.org/packages/44/13/7e63cfba8a7452eb756306aa2fd9b37a29a323b672b964b4fdeded9a3f21/scipy-1.16.3-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:16b8bc35a4cc24db80a0ec836a9286d0e31b2503cb2fd7ff7fb0e0374a97081d", size = 28874306, upload-time = "2025-10-28T17:33:36.516Z" }, + { url = "https://files.pythonhosted.org/packages/15/65/3a9400efd0228a176e6ec3454b1fa998fbbb5a8defa1672c3f65706987db/scipy-1.16.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:5803c5fadd29de0cf27fa08ccbfe7a9e5d741bf63e4ab1085437266f12460ff9", size = 20865371, upload-time = "2025-10-28T17:33:42.094Z" }, + { url = "https://files.pythonhosted.org/packages/33/d7/eda09adf009a9fb81827194d4dd02d2e4bc752cef16737cc4ef065234031/scipy-1.16.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:b81c27fc41954319a943d43b20e07c40bdcd3ff7cf013f4fb86286faefe546c4", size = 23524877, upload-time = "2025-10-28T17:33:48.483Z" }, + { url = "https://files.pythonhosted.org/packages/7d/6b/3f911e1ebc364cb81320223a3422aab7d26c9c7973109a9cd0f27c64c6c0/scipy-1.16.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0c3b4dd3d9b08dbce0f3440032c52e9e2ab9f96ade2d3943313dfe51a7056959", size = 33342103, upload-time = "2025-10-28T17:33:56.495Z" }, + { url = "https://files.pythonhosted.org/packages/21/f6/4bfb5695d8941e5c570a04d9fcd0d36bce7511b7d78e6e75c8f9791f82d0/scipy-1.16.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7dc1360c06535ea6116a2220f760ae572db9f661aba2d88074fe30ec2aa1ff88", size = 35697297, upload-time = "2025-10-28T17:34:04.722Z" }, + { url = "https://files.pythonhosted.org/packages/04/e1/6496dadbc80d8d896ff72511ecfe2316b50313bfc3ebf07a3f580f08bd8c/scipy-1.16.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:663b8d66a8748051c3ee9c96465fb417509315b99c71550fda2591d7dd634234", size = 36021756, upload-time = "2025-10-28T17:34:13.482Z" }, + { url = "https://files.pythonhosted.org/packages/fe/bd/a8c7799e0136b987bda3e1b23d155bcb31aec68a4a472554df5f0937eef7/scipy-1.16.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eab43fae33a0c39006a88096cd7b4f4ef545ea0447d250d5ac18202d40b6611d", size = 38696566, upload-time = "2025-10-28T17:34:22.384Z" }, + { url = "https://files.pythonhosted.org/packages/cd/01/1204382461fcbfeb05b6161b594f4007e78b6eba9b375382f79153172b4d/scipy-1.16.3-cp313-cp313-win_amd64.whl", hash = "sha256:062246acacbe9f8210de8e751b16fc37458213f124bef161a5a02c7a39284304", size = 38529877, upload-time = "2025-10-28T17:35:51.076Z" }, + { url = "https://files.pythonhosted.org/packages/7f/14/9d9fbcaa1260a94f4bb5b64ba9213ceb5d03cd88841fe9fd1ffd47a45b73/scipy-1.16.3-cp313-cp313-win_arm64.whl", hash = "sha256:50a3dbf286dbc7d84f176f9a1574c705f277cb6565069f88f60db9eafdbe3ee2", size = 25455366, upload-time = "2025-10-28T17:35:59.014Z" }, + { url = "https://files.pythonhosted.org/packages/e2/a3/9ec205bd49f42d45d77f1730dbad9ccf146244c1647605cf834b3a8c4f36/scipy-1.16.3-cp313-cp313t-macosx_10_14_x86_64.whl", hash = "sha256:fb4b29f4cf8cc5a8d628bc8d8e26d12d7278cd1f219f22698a378c3d67db5e4b", size = 37027931, upload-time = "2025-10-28T17:34:31.451Z" }, + { url = "https://files.pythonhosted.org/packages/25/06/ca9fd1f3a4589cbd825b1447e5db3a8ebb969c1eaf22c8579bd286f51b6d/scipy-1.16.3-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:8d09d72dc92742988b0e7750bddb8060b0c7079606c0d24a8cc8e9c9c11f9079", size = 29400081, upload-time = "2025-10-28T17:34:39.087Z" }, + { url = "https://files.pythonhosted.org/packages/6a/56/933e68210d92657d93fb0e381683bc0e53a965048d7358ff5fbf9e6a1b17/scipy-1.16.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:03192a35e661470197556de24e7cb1330d84b35b94ead65c46ad6f16f6b28f2a", size = 21391244, upload-time = "2025-10-28T17:34:45.234Z" }, + { url = "https://files.pythonhosted.org/packages/a8/7e/779845db03dc1418e215726329674b40576879b91814568757ff0014ad65/scipy-1.16.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:57d01cb6f85e34f0946b33caa66e892aae072b64b034183f3d87c4025802a119", size = 23929753, upload-time = "2025-10-28T17:34:51.793Z" }, + { url = "https://files.pythonhosted.org/packages/4c/4b/f756cf8161d5365dcdef9e5f460ab226c068211030a175d2fc7f3f41ca64/scipy-1.16.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:96491a6a54e995f00a28a3c3badfff58fd093bf26cd5fb34a2188c8c756a3a2c", size = 33496912, upload-time = "2025-10-28T17:34:59.8Z" }, + { url = "https://files.pythonhosted.org/packages/09/b5/222b1e49a58668f23839ca1542a6322bb095ab8d6590d4f71723869a6c2c/scipy-1.16.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cd13e354df9938598af2be05822c323e97132d5e6306b83a3b4ee6724c6e522e", size = 35802371, upload-time = "2025-10-28T17:35:08.173Z" }, + { url = "https://files.pythonhosted.org/packages/c1/8d/5964ef68bb31829bde27611f8c9deeac13764589fe74a75390242b64ca44/scipy-1.16.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:63d3cdacb8a824a295191a723ee5e4ea7768ca5ca5f2838532d9f2e2b3ce2135", size = 36190477, upload-time = "2025-10-28T17:35:16.7Z" }, + { url = "https://files.pythonhosted.org/packages/ab/f2/b31d75cb9b5fa4dd39a0a931ee9b33e7f6f36f23be5ef560bf72e0f92f32/scipy-1.16.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e7efa2681ea410b10dde31a52b18b0154d66f2485328830e45fdf183af5aefc6", size = 38796678, upload-time = "2025-10-28T17:35:26.354Z" }, + { url = "https://files.pythonhosted.org/packages/b4/1e/b3723d8ff64ab548c38d87055483714fefe6ee20e0189b62352b5e015bb1/scipy-1.16.3-cp313-cp313t-win_amd64.whl", hash = "sha256:2d1ae2cf0c350e7705168ff2429962a89ad90c2d49d1dd300686d8b2a5af22fc", size = 38640178, upload-time = "2025-10-28T17:35:35.304Z" }, + { url = "https://files.pythonhosted.org/packages/8e/f3/d854ff38789aca9b0cc23008d607ced9de4f7ab14fa1ca4329f86b3758ca/scipy-1.16.3-cp313-cp313t-win_arm64.whl", hash = "sha256:0c623a54f7b79dd88ef56da19bc2873afec9673a48f3b85b18e4d402bdd29a5a", size = 25803246, upload-time = "2025-10-28T17:35:42.155Z" }, +] + +[[package]] +name = "setuptools" +version = "80.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/18/5d/3bf57dcd21979b887f014ea83c24ae194cfcd12b9e0fda66b957c69d1fca/setuptools-80.9.0.tar.gz", hash = "sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c", size = 1319958, upload-time = "2025-05-27T00:56:51.443Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl", hash = "sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922", size = 1201486, upload-time = "2025-05-27T00:56:49.664Z" }, +] + [[package]] name = "shapely" version = "2.1.2" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "numpy" }, + { name = "numpy", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/4d/bc/0989043118a27cccb4e906a46b7565ce36ca7b57f5a18b78f4f1b0f72d9d/shapely-2.1.2.tar.gz", hash = "sha256:2ed4ecb28320a433db18a5bf029986aa8afcfd740745e78847e330d5d94922a9", size = 315489, upload-time = "2025-09-24T13:51:41.432Z" } wheels = [ @@ -4414,22 +4341,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/96/b3/c6655ee7232b417562bae192ae0d3ceaadb1cc0ffc2088a2ddf415456cc2/shapely-2.1.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6305993a35989391bd3476ee538a5c9a845861462327efe00dd11a5c8c709a99", size = 4170078, upload-time = "2025-09-24T13:51:08.584Z" }, { url = "https://files.pythonhosted.org/packages/a0/8e/605c76808d73503c9333af8f6cbe7e1354d2d238bda5f88eea36bfe0f42a/shapely-2.1.2-cp313-cp313t-win32.whl", hash = "sha256:c8876673449f3401f278c86eb33224c5764582f72b653a415d0e6672fde887bf", size = 1559178, upload-time = "2025-09-24T13:51:10.73Z" }, { url = "https://files.pythonhosted.org/packages/36/f7/d317eb232352a1f1444d11002d477e54514a4a6045536d49d0c59783c0da/shapely-2.1.2-cp313-cp313t-win_amd64.whl", hash = "sha256:4a44bc62a10d84c11a7a3d7c1c4fe857f7477c3506e24c9062da0db0ae0c449c", size = 1739756, upload-time = "2025-09-24T13:51:12.105Z" }, - { url = "https://files.pythonhosted.org/packages/fc/c4/3ce4c2d9b6aabd27d26ec988f08cb877ba9e6e96086eff81bfea93e688c7/shapely-2.1.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:9a522f460d28e2bf4e12396240a5fc1518788b2fcd73535166d748399ef0c223", size = 1831290, upload-time = "2025-09-24T13:51:13.56Z" }, - { url = "https://files.pythonhosted.org/packages/17/b9/f6ab8918fc15429f79cb04afa9f9913546212d7fb5e5196132a2af46676b/shapely-2.1.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1ff629e00818033b8d71139565527ced7d776c269a49bd78c9df84e8f852190c", size = 1641463, upload-time = "2025-09-24T13:51:14.972Z" }, - { url = "https://files.pythonhosted.org/packages/a5/57/91d59ae525ca641e7ac5551c04c9503aee6f29b92b392f31790fcb1a4358/shapely-2.1.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f67b34271dedc3c653eba4e3d7111aa421d5be9b4c4c7d38d30907f796cb30df", size = 2970145, upload-time = "2025-09-24T13:51:16.961Z" }, - { url = "https://files.pythonhosted.org/packages/8a/cb/4948be52ee1da6927831ab59e10d4c29baa2a714f599f1f0d1bc747f5777/shapely-2.1.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:21952dc00df38a2c28375659b07a3979d22641aeb104751e769c3ee825aadecf", size = 3073806, upload-time = "2025-09-24T13:51:18.712Z" }, - { url = "https://files.pythonhosted.org/packages/03/83/f768a54af775eb41ef2e7bec8a0a0dbe7d2431c3e78c0a8bdba7ab17e446/shapely-2.1.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:1f2f33f486777456586948e333a56ae21f35ae273be99255a191f5c1fa302eb4", size = 3980803, upload-time = "2025-09-24T13:51:20.37Z" }, - { url = "https://files.pythonhosted.org/packages/9f/cb/559c7c195807c91c79d38a1f6901384a2878a76fbdf3f1048893a9b7534d/shapely-2.1.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:cf831a13e0d5a7eb519e96f58ec26e049b1fad411fc6fc23b162a7ce04d9cffc", size = 4133301, upload-time = "2025-09-24T13:51:21.887Z" }, - { url = "https://files.pythonhosted.org/packages/80/cd/60d5ae203241c53ef3abd2ef27c6800e21afd6c94e39db5315ea0cbafb4a/shapely-2.1.2-cp314-cp314-win32.whl", hash = "sha256:61edcd8d0d17dd99075d320a1dd39c0cb9616f7572f10ef91b4b5b00c4aeb566", size = 1583247, upload-time = "2025-09-24T13:51:23.401Z" }, - { url = "https://files.pythonhosted.org/packages/74/d4/135684f342e909330e50d31d441ace06bf83c7dc0777e11043f99167b123/shapely-2.1.2-cp314-cp314-win_amd64.whl", hash = "sha256:a444e7afccdb0999e203b976adb37ea633725333e5b119ad40b1ca291ecf311c", size = 1773019, upload-time = "2025-09-24T13:51:24.873Z" }, - { url = "https://files.pythonhosted.org/packages/a3/05/a44f3f9f695fa3ada22786dc9da33c933da1cbc4bfe876fe3a100bafe263/shapely-2.1.2-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:5ebe3f84c6112ad3d4632b1fd2290665aa75d4cef5f6c5d77c4c95b324527c6a", size = 1834137, upload-time = "2025-09-24T13:51:26.665Z" }, - { url = "https://files.pythonhosted.org/packages/52/7e/4d57db45bf314573427b0a70dfca15d912d108e6023f623947fa69f39b72/shapely-2.1.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5860eb9f00a1d49ebb14e881f5caf6c2cf472c7fd38bd7f253bbd34f934eb076", size = 1642884, upload-time = "2025-09-24T13:51:28.029Z" }, - { url = "https://files.pythonhosted.org/packages/5a/27/4e29c0a55d6d14ad7422bf86995d7ff3f54af0eba59617eb95caf84b9680/shapely-2.1.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b705c99c76695702656327b819c9660768ec33f5ce01fa32b2af62b56ba400a1", size = 3018320, upload-time = "2025-09-24T13:51:29.903Z" }, - { url = "https://files.pythonhosted.org/packages/9f/bb/992e6a3c463f4d29d4cd6ab8963b75b1b1040199edbd72beada4af46bde5/shapely-2.1.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a1fd0ea855b2cf7c9cddaf25543e914dd75af9de08785f20ca3085f2c9ca60b0", size = 3094931, upload-time = "2025-09-24T13:51:32.699Z" }, - { url = "https://files.pythonhosted.org/packages/9c/16/82e65e21070e473f0ed6451224ed9fa0be85033d17e0c6e7213a12f59d12/shapely-2.1.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:df90e2db118c3671a0754f38e36802db75fe0920d211a27481daf50a711fdf26", size = 4030406, upload-time = "2025-09-24T13:51:34.189Z" }, - { url = "https://files.pythonhosted.org/packages/7c/75/c24ed871c576d7e2b64b04b1fe3d075157f6eb54e59670d3f5ffb36e25c7/shapely-2.1.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:361b6d45030b4ac64ddd0a26046906c8202eb60d0f9f53085f5179f1d23021a0", size = 4169511, upload-time = "2025-09-24T13:51:36.297Z" }, - { url = "https://files.pythonhosted.org/packages/b1/f7/b3d1d6d18ebf55236eec1c681ce5e665742aab3c0b7b232720a7d43df7b6/shapely-2.1.2-cp314-cp314t-win32.whl", hash = "sha256:b54df60f1fbdecc8ebc2c5b11870461a6417b3d617f555e5033f1505d36e5735", size = 1602607, upload-time = "2025-09-24T13:51:37.757Z" }, - { url = "https://files.pythonhosted.org/packages/9a/f6/f09272a71976dfc138129b8faf435d064a811ae2f708cb147dccdf7aacdb/shapely-2.1.2-cp314-cp314t-win_amd64.whl", hash = "sha256:0036ac886e0923417932c2e6369b6c52e38e0ff5d9120b90eef5cd9a5fc5cae9", size = 1796682, upload-time = "2025-09-24T13:51:39.233Z" }, ] [[package]] @@ -4441,6 +4352,42 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686", size = 9755, upload-time = "2023-10-24T04:13:38.866Z" }, ] +[[package]] +name = "simsimd" +version = "6.5.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/df/2f/5a9ccc385f4d6e30aac2b843ef57ba3668ea86756f77f6a9312a3c94f43d/simsimd-6.5.3.tar.gz", hash = "sha256:5ff341e84fe1c46e7268ee9e31f885936b29c38ce59f423433aef5f4bb5bfd18", size = 184865, upload-time = "2025-09-06T16:17:44.761Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/eb/02c2fffe99fb6e6575cbb72f361ca6aa3916fcd8363672028ff4b2baa1df/simsimd-6.5.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:aebeb084101ac880ad2962e1bef3c034a5eeec63ec256bdc2ec6dced9cc1659b", size = 177696, upload-time = "2025-09-06T16:16:02.641Z" }, + { url = "https://files.pythonhosted.org/packages/53/74/d6644f726ff52d4493dcc5739743ed18a6e65cad609431862e50cbd73ea3/simsimd-6.5.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:697b2cc147cecc8e9107a51877aec6078412c970cc780699d387f6450cb80392", size = 134114, upload-time = "2025-09-06T16:16:05.12Z" }, + { url = "https://files.pythonhosted.org/packages/ba/28/c5302e09bc2e44f6800e39e482d5bd0fadecbef384661d69c05117c062ed/simsimd-6.5.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:56f3547e569d42c9335e41eb03508558e4398efed34783c5ad9810d6dc1b4879", size = 563280, upload-time = "2025-09-06T16:16:06.595Z" }, + { url = "https://files.pythonhosted.org/packages/2b/b9/530ec25a399872351f1a1de08ed2bef3d35b5ef65c0150d3548ecf09eee1/simsimd-6.5.3-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl", hash = "sha256:4561a39c7957cd9f4c1ddf8c9e663de380e4d168527c8b929330e4eca5a69803", size = 355597, upload-time = "2025-09-06T16:16:08.264Z" }, + { url = "https://files.pythonhosted.org/packages/8b/4d/a4bcd734421260481c942ec2fff40896ae23c833a9b7207d2b5c11495a41/simsimd-6.5.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5c8cb2a868937775fe9bd4fabc05d05c59027badf39f4a6b5a20f60503146d1c", size = 411435, upload-time = "2025-09-06T16:16:09.784Z" }, + { url = "https://files.pythonhosted.org/packages/40/58/6aaede637fbfb00ab60860ba83b3cf36cdb09a27d5c82e681cce6c6ab6fc/simsimd-6.5.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f297be532613627271e1872d1e490e1d02a2df4e54603598e85e4cbc5cd4af38", size = 368062, upload-time = "2025-09-06T16:16:12.618Z" }, + { url = "https://files.pythonhosted.org/packages/93/0c/0fe8f9a82f1dbe62f9985057bed1d8263e5dec29ba0c39227ffa5346f3a1/simsimd-6.5.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6b4edfbad104b202675733bc711721da7c9063c256c635c2b2441acd79db5238", size = 1068474, upload-time = "2025-09-06T16:16:14.159Z" }, + { url = "https://files.pythonhosted.org/packages/71/86/df67fc2cdf1df89cdfedaf469ba12f1b29186dc671e4ccf8f65b523b1e92/simsimd-6.5.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:85896caa9b8dce370f5f1dee0f0469514351638ceb75796290413562c28ffe32", size = 598361, upload-time = "2025-09-06T16:16:15.749Z" }, + { url = "https://files.pythonhosted.org/packages/9a/27/8c5daeafee9725f16e13a218ceff41b2ed7accede4053b339c630e970c34/simsimd-6.5.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:46333c4d2f13f0d45f0407057b026068fdc66f383acf9936f8e02842d618b679", size = 402303, upload-time = "2025-09-06T16:16:17.574Z" }, + { url = "https://files.pythonhosted.org/packages/56/45/b95b8e4b7f272164e015a3f27361414c313fb0d7e24caa7a8e5802c1ff72/simsimd-6.5.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:bf43cc7bf0b0284fd02103300319dc0f29bf46eaa93dfb2478351e3087551920", size = 461052, upload-time = "2025-09-06T16:16:19.094Z" }, + { url = "https://files.pythonhosted.org/packages/0e/b1/ebbc87d697708a4413be98b3d061781c838a2a459f90f2a8d5a29d544f20/simsimd-6.5.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:bc5c20c8b46e7f5fa3922c8b0bfe7032c38cb3c4a953a09ed6934de791bf42ba", size = 372663, upload-time = "2025-09-06T16:16:20.687Z" }, + { url = "https://files.pythonhosted.org/packages/6e/7b/d7dcd93a6e298b1bd517ab2608b6ad5b1a0f28c5f575c430d37442b20887/simsimd-6.5.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b341f0ff17b9c34666d16047a9a031ff79ed558395af6923181dcc435c9b12eb", size = 1001318, upload-time = "2025-09-06T16:16:22.466Z" }, + { url = "https://files.pythonhosted.org/packages/5b/fb/0035e7f6679a4a15b52522d62ae95170228a6508c39697ff3125d24a4811/simsimd-6.5.3-cp313-cp313-win_amd64.whl", hash = "sha256:b62691ef929b64118f7d22af793a9efed267e37633aaede4363a71b6378dc7e8", size = 94872, upload-time = "2025-09-06T16:16:24.525Z" }, + { url = "https://files.pythonhosted.org/packages/22/8c/fc15378a8e599cb94711152588ca43c50ff11bcb5af0e3d40bf423a4b25a/simsimd-6.5.3-cp313-cp313-win_arm64.whl", hash = "sha256:406e4dd564e6b5e5dccab00d40950778a8684c65be3ef364b5f5e15a92df6770", size = 59512, upload-time = "2025-09-06T16:16:26.373Z" }, + { url = "https://files.pythonhosted.org/packages/f8/f9/5fb5a051e904f86c567243bd46401ba1db5edf8a5025091801c8278483ba/simsimd-6.5.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:7142baddb9e8579b1e9f741b33ea79fa1914dc364017e10d8a563ff55759b19f", size = 177854, upload-time = "2025-09-06T16:16:27.962Z" }, + { url = "https://files.pythonhosted.org/packages/80/98/59158bbeb0c398d849b28a5fb99db20a829a93794edd1f2f9fc3438a95c6/simsimd-6.5.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7a841727f9de8976bc5d4d4743b7c2d1e2a3aac255ceb6445a936696f1ad6001", size = 134395, upload-time = "2025-09-06T16:16:29.782Z" }, + { url = "https://files.pythonhosted.org/packages/0a/0f/2396d017c266865fe338f7e2a7590391668b49bbfd0cbd0315580c6bb9b6/simsimd-6.5.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:90f15af7dab040ea9c970eeadc8da6c3a62149f1fd213946ec2d41fc341e505d", size = 565047, upload-time = "2025-09-06T16:16:31.358Z" }, + { url = "https://files.pythonhosted.org/packages/e1/3a/9053327fea064fc14bcf55d74b02e042b1bde6c9c353ae11f637dfd22711/simsimd-6.5.3-cp313-cp313t-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl", hash = "sha256:6fa112ffde73c299afee40e27299f68b99008adbebfefc05e70f2d229d8696bf", size = 356593, upload-time = "2025-09-06T16:16:33.148Z" }, + { url = "https://files.pythonhosted.org/packages/4c/43/c459d9a520382b445bae61c52bc380672e8f75300c12dfe4b5765d0167b2/simsimd-6.5.3-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cc84a7398a6c0f2b12d0d7196a7767e9eddbcf03d0bad8aa8acde159587c522b", size = 413090, upload-time = "2025-09-06T16:16:34.856Z" }, + { url = "https://files.pythonhosted.org/packages/b4/62/5d4f0872abc88f53a9c96aa9f2d58cd3a4461b7c1e56396fedbce40bc6ce/simsimd-6.5.3-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6814a3a0297c421b8fce529b53ef7fb1a07caf09d351bf83f9c540cb14e27cac", size = 369584, upload-time = "2025-09-06T16:16:36.642Z" }, + { url = "https://files.pythonhosted.org/packages/4f/0d/af7842312d7ba71b78e530d52a295ca779e7ec270da588aabbbb019c13f4/simsimd-6.5.3-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:32a8bd20f9a830bc71ed0b8614b712b814df8f46f303895e71c2b2f788621cdb", size = 1069971, upload-time = "2025-09-06T16:16:38.291Z" }, + { url = "https://files.pythonhosted.org/packages/b6/97/3493c484f9e651c6b75eb48d36ad28bca315b67356992b45dc86f60a346d/simsimd-6.5.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:27a0524914090178628aef71eb8630c2ab36a2e95b2a5befa4af2c8f8fb9295c", size = 599873, upload-time = "2025-09-06T16:16:40.264Z" }, + { url = "https://files.pythonhosted.org/packages/5c/82/d29fa22c4e0c3aef79cb98e3c9d16d8ee098c4cacdcdc7426e5016ba5e50/simsimd-6.5.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:85fdda2e9bdf31440207cc2696991a6a163dcff329b0814f446fcbf1c54320d4", size = 403649, upload-time = "2025-09-06T16:16:42.434Z" }, + { url = "https://files.pythonhosted.org/packages/61/0d/9eed2ebf81ff5a9a2294060b7bf9dcf09122afb9e165a1cd1eb0d3713893/simsimd-6.5.3-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:123adaad09d96ab41763456cb9a61e2660bd28ddf3d46dabb9aacdff06e504f2", size = 462374, upload-time = "2025-09-06T16:16:44.12Z" }, + { url = "https://files.pythonhosted.org/packages/a5/e1/545298da37b4b4beb5bae8c67d6ed71e349e96229fa0d54dd945b6bdeb46/simsimd-6.5.3-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:3096d9bb2685b82b4354a58f94153ac22082c58e1a0771c68ad07d44a3e4567f", size = 374087, upload-time = "2025-09-06T16:16:45.925Z" }, + { url = "https://files.pythonhosted.org/packages/1a/36/c830b2855727b75e0cf80a09fd5dcaed3850737ebb37e53c3dcc1615d90e/simsimd-6.5.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ee19ed3b2098104c0d7f7f5d92c4b2caa1ab3cbe1a7c345bec75a21d33dc37a2", size = 1002568, upload-time = "2025-09-06T16:16:48.079Z" }, + { url = "https://files.pythonhosted.org/packages/e8/6e/11ec68d0971cf8292469cd288e30300104a909a440befbc04338c3385730/simsimd-6.5.3-cp313-cp313t-win_amd64.whl", hash = "sha256:06aab6b9ff2deb6e0a01621ecb6de4d575e29991a7e90395d69eaeb53c029339", size = 95029, upload-time = "2025-09-06T16:16:50.095Z" }, + { url = "https://files.pythonhosted.org/packages/2c/ec/7e24dc90bbc73459cf646d97c6265998ef8145631fdec2e31223f0de5d1e/simsimd-6.5.3-cp313-cp313t-win_arm64.whl", hash = "sha256:884a55249294e9293c7a67930d3d06e3c99e22de1696104691af524e55c02649", size = 59703, upload-time = "2025-09-06T16:16:51.668Z" }, +] + [[package]] name = "six" version = "1.17.0" @@ -4482,8 +4429,8 @@ name = "sqlalchemy" version = "2.0.44" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "greenlet", marker = "platform_machine == 'AMD64' or platform_machine == 'WIN32' or platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'ppc64le' or platform_machine == 'win32' or platform_machine == 'x86_64'" }, - { name = "typing-extensions" }, + { name = "greenlet", marker = "(platform_machine == 'AMD64' and platform_python_implementation != 'PyPy') or (platform_machine == 'WIN32' and platform_python_implementation != 'PyPy') or (platform_machine == 'aarch64' and platform_python_implementation != 'PyPy') or (platform_machine == 'amd64' and platform_python_implementation != 'PyPy') or (platform_machine == 'ppc64le' and platform_python_implementation != 'PyPy') or (platform_machine == 'win32' and platform_python_implementation != 'PyPy') or (platform_machine == 'x86_64' and platform_python_implementation != 'PyPy')" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/f0/f2/840d7b9496825333f532d2e3976b8eadbf52034178aac53630d09fe6e1ef/sqlalchemy-2.0.44.tar.gz", hash = "sha256:0ae7454e1ab1d780aee69fd2aae7d6b8670a581d8847f2d1e0f7ddfbf47e5a22", size = 9819830, upload-time = "2025-10-10T14:39:12.935Z" } wheels = [ @@ -4512,26 +4459,26 @@ wheels = [ [[package]] name = "sse-starlette" -version = "3.0.2" +version = "3.0.3" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "anyio" }, + { name = "anyio", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/42/6f/22ed6e33f8a9e76ca0a412405f31abb844b779d52c5f96660766edcd737c/sse_starlette-3.0.2.tar.gz", hash = "sha256:ccd60b5765ebb3584d0de2d7a6e4f745672581de4f5005ab31c3a25d10b52b3a", size = 20985, upload-time = "2025-07-27T09:07:44.565Z" } +sdist = { url = "https://files.pythonhosted.org/packages/db/3c/fa6517610dc641262b77cc7bf994ecd17465812c1b0585fe33e11be758ab/sse_starlette-3.0.3.tar.gz", hash = "sha256:88cfb08747e16200ea990c8ca876b03910a23b547ab3bd764c0d8eb81019b971", size = 21943, upload-time = "2025-10-30T18:44:20.117Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ef/10/c78f463b4ef22eef8491f218f692be838282cd65480f6e423d7730dfd1fb/sse_starlette-3.0.2-py3-none-any.whl", hash = "sha256:16b7cbfddbcd4eaca11f7b586f3b8a080f1afe952c15813455b162edea619e5a", size = 11297, upload-time = "2025-07-27T09:07:43.268Z" }, + { url = "https://files.pythonhosted.org/packages/23/a0/984525d19ca5c8a6c33911a0c164b11490dd0f90ff7fd689f704f84e9a11/sse_starlette-3.0.3-py3-none-any.whl", hash = "sha256:af5bf5a6f3933df1d9c7f8539633dc8444ca6a97ab2e2a7cd3b6e431ac03a431", size = 11765, upload-time = "2025-10-30T18:44:18.834Z" }, ] [[package]] name = "starlette" -version = "0.48.0" +version = "0.49.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "anyio" }, + { name = "anyio", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a7/a5/d6f429d43394057b67a6b5bbe6eae2f77a6bf7459d961fdb224bf206eee6/starlette-0.48.0.tar.gz", hash = "sha256:7e8cee469a8ab2352911528110ce9088fdc6a37d9876926e73da7ce4aa4c7a46", size = 2652949, upload-time = "2025-09-13T08:41:05.699Z" } +sdist = { url = "https://files.pythonhosted.org/packages/1b/3f/507c21db33b66fb027a332f2cb3abbbe924cc3a79ced12f01ed8645955c9/starlette-0.49.1.tar.gz", hash = "sha256:481a43b71e24ed8c43b11ea02f5353d77840e01480881b8cb5a26b8cae64a8cb", size = 2654703, upload-time = "2025-10-28T17:34:10.928Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/be/72/2db2f49247d0a18b4f1bb9a5a39a0162869acf235f3a96418363947b3d46/starlette-0.48.0-py3-none-any.whl", hash = "sha256:0764ca97b097582558ecb498132ed0c7d942f233f365b86ba37770e026510659", size = 73736, upload-time = "2025-09-13T08:41:03.869Z" }, + { url = "https://files.pythonhosted.org/packages/51/da/545b75d420bb23b5d494b0517757b351963e974e79933f01e05c929f20a6/starlette-0.49.1-py3-none-any.whl", hash = "sha256:d92ce9f07e4a3caa3ac13a79523bd18e3bc0042bb8ff2d759a8e7dd0e1859875", size = 74175, upload-time = "2025-10-28T17:34:09.13Z" }, ] [[package]] @@ -4539,7 +4486,7 @@ name = "sympy" version = "1.14.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "mpmath" }, + { name = "mpmath", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/83/d3/803453b36afefb7c2bb238361cd4ae6125a569b4db67cd9e79846ba2d68c/sympy-1.14.0.tar.gz", hash = "sha256:d3d3fe8df1e5a0b42f0e7bdf50541697dbe7d23746e894990c030e2b05e72517", size = 7793921, upload-time = "2025-04-27T18:05:01.611Z" } wheels = [ @@ -4551,13 +4498,32 @@ name = "syrupy" version = "4.9.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pytest" }, + { name = "pytest", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/8c/f8/022d8704a3314f3e96dbd6bbd16ebe119ce30e35f41aabfa92345652fceb/syrupy-4.9.1.tar.gz", hash = "sha256:b7d0fcadad80a7d2f6c4c71917918e8ebe2483e8c703dfc8d49cdbb01081f9a4", size = 52492, upload-time = "2025-03-24T01:36:37.225Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/ec/9d/aef9ec5fd5a4ee2f6a96032c4eda5888c5c7cec65cef6b28c4fc37671d88/syrupy-4.9.1-py3-none-any.whl", hash = "sha256:b94cc12ed0e5e75b448255430af642516842a2374a46936dd2650cfb6dd20eda", size = 52214, upload-time = "2025-03-24T01:36:35.278Z" }, ] +[[package]] +name = "tabulate" +version = "0.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ec/fe/802052aecb21e3797b8f7902564ab6ea0d60ff8ca23952079064155d1ae1/tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c", size = 81090, upload-time = "2022-10-06T17:21:48.54Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/40/44/4a5f08c96eb108af5cb50b41f76142f0afa346dfa99d5296fe7202a11854/tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f", size = 35252, upload-time = "2022-10-06T17:21:44.262Z" }, +] + +[[package]] +name = "tavily" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiohttp", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/63/ba/cd74acdb0537a02fb5657afbd5fd5a27a298c85fc27f544912cc001377bb/tavily-1.1.0.tar.gz", hash = "sha256:7730bf10c925dc0d0d84f27a8979de842ecf88c2882183409addd855e27d8fab", size = 5081, upload-time = "2025-10-31T09:32:40.555Z" } + [[package]] name = "tenacity" version = "9.1.2" @@ -4572,8 +4538,8 @@ name = "tiktoken" version = "0.12.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "regex" }, - { name = "requests" }, + { name = "regex", marker = "platform_python_implementation != 'PyPy'" }, + { name = "requests", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/7d/ab/4d017d0f76ec3171d469d80fc03dfbb4e48a4bcaddaa831b31d526f05edc/tiktoken-0.12.0.tar.gz", hash = "sha256:b18ba7ee2b093863978fcb14f74b3707cdc8d4d4d3836853ce7ec60772139931", size = 37806, upload-time = "2025-10-06T20:22:45.419Z" } wheels = [ @@ -4591,20 +4557,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/22/1f/ae535223a8c4ef4c0c1192e3f9b82da660be9eb66b9279e95c99288e9dab/tiktoken-0.12.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:04f0e6a985d95913cabc96a741c5ffec525a2c72e9df086ff17ebe35985c800e", size = 1194451, upload-time = "2025-10-06T20:22:15.545Z" }, { url = "https://files.pythonhosted.org/packages/78/a7/f8ead382fce0243cb625c4f266e66c27f65ae65ee9e77f59ea1653b6d730/tiktoken-0.12.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:0ee8f9ae00c41770b5f9b0bb1235474768884ae157de3beb5439ca0fd70f3e25", size = 1253794, upload-time = "2025-10-06T20:22:16.624Z" }, { url = "https://files.pythonhosted.org/packages/93/e0/6cc82a562bc6365785a3ff0af27a2a092d57c47d7a81d9e2295d8c36f011/tiktoken-0.12.0-cp313-cp313t-win_amd64.whl", hash = "sha256:dc2dd125a62cb2b3d858484d6c614d136b5b848976794edfb63688d539b8b93f", size = 878777, upload-time = "2025-10-06T20:22:18.036Z" }, - { url = "https://files.pythonhosted.org/packages/72/05/3abc1db5d2c9aadc4d2c76fa5640134e475e58d9fbb82b5c535dc0de9b01/tiktoken-0.12.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:a90388128df3b3abeb2bfd1895b0681412a8d7dc644142519e6f0a97c2111646", size = 1050188, upload-time = "2025-10-06T20:22:19.563Z" }, - { url = "https://files.pythonhosted.org/packages/e3/7b/50c2f060412202d6c95f32b20755c7a6273543b125c0985d6fa9465105af/tiktoken-0.12.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:da900aa0ad52247d8794e307d6446bd3cdea8e192769b56276695d34d2c9aa88", size = 993978, upload-time = "2025-10-06T20:22:20.702Z" }, - { url = "https://files.pythonhosted.org/packages/14/27/bf795595a2b897e271771cd31cb847d479073497344c637966bdf2853da1/tiktoken-0.12.0-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:285ba9d73ea0d6171e7f9407039a290ca77efcdb026be7769dccc01d2c8d7fff", size = 1129271, upload-time = "2025-10-06T20:22:22.06Z" }, - { url = "https://files.pythonhosted.org/packages/f5/de/9341a6d7a8f1b448573bbf3425fa57669ac58258a667eb48a25dfe916d70/tiktoken-0.12.0-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:d186a5c60c6a0213f04a7a802264083dea1bbde92a2d4c7069e1a56630aef830", size = 1151216, upload-time = "2025-10-06T20:22:23.085Z" }, - { url = "https://files.pythonhosted.org/packages/75/0d/881866647b8d1be4d67cb24e50d0c26f9f807f994aa1510cb9ba2fe5f612/tiktoken-0.12.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:604831189bd05480f2b885ecd2d1986dc7686f609de48208ebbbddeea071fc0b", size = 1194860, upload-time = "2025-10-06T20:22:24.602Z" }, - { url = "https://files.pythonhosted.org/packages/b3/1e/b651ec3059474dab649b8d5b69f5c65cd8fcd8918568c1935bd4136c9392/tiktoken-0.12.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:8f317e8530bb3a222547b85a58583238c8f74fd7a7408305f9f63246d1a0958b", size = 1254567, upload-time = "2025-10-06T20:22:25.671Z" }, - { url = "https://files.pythonhosted.org/packages/80/57/ce64fd16ac390fafde001268c364d559447ba09b509181b2808622420eec/tiktoken-0.12.0-cp314-cp314-win_amd64.whl", hash = "sha256:399c3dd672a6406719d84442299a490420b458c44d3ae65516302a99675888f3", size = 921067, upload-time = "2025-10-06T20:22:26.753Z" }, - { url = "https://files.pythonhosted.org/packages/ac/a4/72eed53e8976a099539cdd5eb36f241987212c29629d0a52c305173e0a68/tiktoken-0.12.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:c2c714c72bc00a38ca969dae79e8266ddec999c7ceccd603cc4f0d04ccd76365", size = 1050473, upload-time = "2025-10-06T20:22:27.775Z" }, - { url = "https://files.pythonhosted.org/packages/e6/d7/0110b8f54c008466b19672c615f2168896b83706a6611ba6e47313dbc6e9/tiktoken-0.12.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:cbb9a3ba275165a2cb0f9a83f5d7025afe6b9d0ab01a22b50f0e74fee2ad253e", size = 993855, upload-time = "2025-10-06T20:22:28.799Z" }, - { url = "https://files.pythonhosted.org/packages/5f/77/4f268c41a3957c418b084dd576ea2fad2e95da0d8e1ab705372892c2ca22/tiktoken-0.12.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:dfdfaa5ffff8993a3af94d1125870b1d27aed7cb97aa7eb8c1cefdbc87dbee63", size = 1129022, upload-time = "2025-10-06T20:22:29.981Z" }, - { url = "https://files.pythonhosted.org/packages/4e/2b/fc46c90fe5028bd094cd6ee25a7db321cb91d45dc87531e2bdbb26b4867a/tiktoken-0.12.0-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:584c3ad3d0c74f5269906eb8a659c8bfc6144a52895d9261cdaf90a0ae5f4de0", size = 1150736, upload-time = "2025-10-06T20:22:30.996Z" }, - { url = "https://files.pythonhosted.org/packages/28/c0/3c7a39ff68022ddfd7d93f3337ad90389a342f761c4d71de99a3ccc57857/tiktoken-0.12.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:54c891b416a0e36b8e2045b12b33dd66fb34a4fe7965565f1b482da50da3e86a", size = 1194908, upload-time = "2025-10-06T20:22:32.073Z" }, - { url = "https://files.pythonhosted.org/packages/ab/0d/c1ad6f4016a3968c048545f5d9b8ffebf577774b2ede3e2e352553b685fe/tiktoken-0.12.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5edb8743b88d5be814b1a8a8854494719080c28faaa1ccbef02e87354fe71ef0", size = 1253706, upload-time = "2025-10-06T20:22:33.385Z" }, - { url = "https://files.pythonhosted.org/packages/af/df/c7891ef9d2712ad774777271d39fdef63941ffba0a9d59b7ad1fd2765e57/tiktoken-0.12.0-cp314-cp314t-win_amd64.whl", hash = "sha256:f61c0aea5565ac82e2ec50a05e02a6c44734e91b51c10510b084ea1b8e633a71", size = 920667, upload-time = "2025-10-06T20:22:34.444Z" }, ] [[package]] @@ -4612,7 +4564,7 @@ name = "tinycss2" version = "1.4.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "webencodings" }, + { name = "webencodings", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/7a/fd/7a5ee21fd08ff70d3d33a5781c255cbe779659bd03278feb98b19ee550f4/tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7", size = 87085, upload-time = "2024-10-24T14:58:29.895Z" } wheels = [ @@ -4624,7 +4576,7 @@ name = "tokenizers" version = "0.22.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "huggingface-hub" }, + { name = "huggingface-hub", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/1c/46/fb6854cec3278fbfa4a75b50232c77622bc517ac886156e6afbfa4d8fc6e/tokenizers-0.22.1.tar.gz", hash = "sha256:61de6522785310a309b3407bac22d99c4db5dba349935e99e4d15ea2226af2d9", size = 363123, upload-time = "2025-09-19T09:49:23.424Z" } wheels = [ @@ -4658,7 +4610,7 @@ name = "tqdm" version = "4.67.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "colorama", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737, upload-time = "2024-11-24T20:12:22.481Z" } wheels = [ @@ -4667,39 +4619,56 @@ wheels = [ [[package]] name = "typer" -version = "0.19.2" +version = "0.20.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "click" }, - { name = "rich" }, - { name = "shellingham" }, - { name = "typing-extensions" }, + { name = "click", marker = "platform_python_implementation != 'PyPy'" }, + { name = "rich", marker = "platform_python_implementation != 'PyPy'" }, + { name = "shellingham", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/21/ca/950278884e2ca20547ff3eb109478c6baf6b8cf219318e6bc4f666fad8e8/typer-0.19.2.tar.gz", hash = "sha256:9ad824308ded0ad06cc716434705f691d4ee0bfd0fb081839d2e426860e7fdca", size = 104755, upload-time = "2025-09-23T09:47:48.256Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8f/28/7c85c8032b91dbe79725b6f17d2fffc595dff06a35c7a30a37bef73a1ab4/typer-0.20.0.tar.gz", hash = "sha256:1aaf6494031793e4876fb0bacfa6a912b551cf43c1e63c800df8b1a866720c37", size = 106492, upload-time = "2025-10-20T17:03:49.445Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/00/22/35617eee79080a5d071d0f14ad698d325ee6b3bf824fc0467c03b30e7fa8/typer-0.19.2-py3-none-any.whl", hash = "sha256:755e7e19670ffad8283db353267cb81ef252f595aa6834a0d1ca9312d9326cb9", size = 46748, upload-time = "2025-09-23T09:47:46.777Z" }, + { url = "https://files.pythonhosted.org/packages/78/64/7713ffe4b5983314e9d436a90d5bd4f63b6054e2aca783a3cfc44cb95bbf/typer-0.20.0-py3-none-any.whl", hash = "sha256:5b463df6793ec1dca6213a3cf4c0f03bc6e322ac5e16e13ddd622a889489784a", size = 47028, upload-time = "2025-10-20T17:03:47.617Z" }, ] [[package]] -name = "typing-extensions" -version = "4.15.0" +name = "types-pyyaml" +version = "6.0.12.20250915" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +sdist = { url = "https://files.pythonhosted.org/packages/7e/69/3c51b36d04da19b92f9e815be12753125bd8bc247ba0470a982e6979e71c/types_pyyaml-6.0.12.20250915.tar.gz", hash = "sha256:0f8b54a528c303f0e6f7165687dd33fafa81c807fcac23f632b63aa624ced1d3", size = 17522, upload-time = "2025-09-15T03:01:00.728Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, + { url = "https://files.pythonhosted.org/packages/bd/e0/1eed384f02555dde685fff1a1ac805c1c7dcb6dd019c916fe659b1c1f9ec/types_pyyaml-6.0.12.20250915-py3-none-any.whl", hash = "sha256:e7d4d9e064e89a3b3cae120b4990cd370874d2bf12fa5f46c97018dd5d3c9ab6", size = 20338, upload-time = "2025-09-15T03:00:59.218Z" }, ] [[package]] -name = "typing-inspect" -version = "0.9.0" +name = "types-requests" +version = "2.31.0.6" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "mypy-extensions" }, - { name = "typing-extensions" }, + { name = "types-urllib3", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f9/b8/c1e8d39996b4929b918aba10dba5de07a8b3f4c8487bb61bb79882544e69/types-requests-2.31.0.6.tar.gz", hash = "sha256:cd74ce3b53c461f1228a9b783929ac73a666658f223e28ed29753771477b3bd0", size = 15535, upload-time = "2023-09-27T06:19:38.443Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/a1/6f8dc74d9069e790d604ddae70cb46dcbac668f1bb08136e7b0f2f5cd3bf/types_requests-2.31.0.6-py3-none-any.whl", hash = "sha256:a2db9cb228a81da8348b49ad6db3f5519452dd20a9c1e1a868c83c5fe88fd1a9", size = 14516, upload-time = "2023-09-27T06:19:36.373Z" }, +] + +[[package]] +name = "types-urllib3" +version = "1.26.25.14" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/73/de/b9d7a68ad39092368fb21dd6194b362b98a1daeea5dcfef5e1adb5031c7e/types-urllib3-1.26.25.14.tar.gz", hash = "sha256:229b7f577c951b8c1b92c1bc2b2fdb0b49847bd2af6d1cc2a2e3dd340f3bda8f", size = 11239, upload-time = "2023-07-20T15:19:31.307Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/11/7b/3fc711b2efea5e85a7a0bbfe269ea944aa767bbba5ec52f9ee45d362ccf3/types_urllib3-1.26.25.14-py3-none-any.whl", hash = "sha256:9683bbb7fb72e32bfe9d2be6e04875fbe1b3eeec3cbb4ea231435aa7fd6b4f0e", size = 15377, upload-time = "2023-07-20T15:19:30.379Z" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/dc/74/1789779d91f1961fa9438e9a8710cdae6bd138c80d7303996933d117264a/typing_inspect-0.9.0.tar.gz", hash = "sha256:b23fc42ff6f6ef6954e4852c1fb512cdd18dbea03134f91f856a95ccc9461f78", size = 13825, upload-time = "2023-05-24T20:25:47.612Z" } + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/65/f3/107a22063bf27bdccf2024833d3445f4eea42b2e598abfbd46f6a63b6cb0/typing_inspect-0.9.0-py3-none-any.whl", hash = "sha256:9ee6fc59062311ef8547596ab6b955e1b8aa46242d854bfc78f4f6b0eff35f9f", size = 8827, upload-time = "2023-05-24T20:25:45.287Z" }, + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, ] [[package]] @@ -4707,7 +4676,7 @@ name = "typing-inspection" version = "0.4.2" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions" }, + { name = "typing-extensions", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464", size = 75949, upload-time = "2025-10-01T02:14:41.687Z" } wheels = [ @@ -4734,28 +4703,31 @@ wheels = [ [[package]] name = "urllib3" -version = "1.26.20" +version = "2.5.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.14' and platform_python_implementation == 'PyPy'", - "python_full_version < '3.14' and platform_python_implementation == 'PyPy'", -] -sdist = { url = "https://files.pythonhosted.org/packages/e4/e8/6ff5e6bc22095cfc59b6ea711b687e2b7ed4bdb373f7eeec370a97d7392f/urllib3-1.26.20.tar.gz", hash = "sha256:40c2dc0c681e47eb8f90e7e27bf6ff7df2e677421fd46756da1161c39ca70d32", size = 307380, upload-time = "2024-08-29T15:43:11.37Z" } +sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/33/cf/8435d5a7159e2a9c83a95896ed596f68cf798005fe107cc655b5c5c14704/urllib3-1.26.20-py2.py3-none-any.whl", hash = "sha256:0ed14ccfbf1c30a9072c7ca157e4319b70d65f623e91e7b32fadb2853431016e", size = 144225, upload-time = "2024-08-29T15:43:08.921Z" }, + { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" }, ] [[package]] -name = "urllib3" -version = "2.5.0" +name = "uuid-utils" +version = "0.11.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.14' and platform_python_implementation != 'PyPy'", - "python_full_version < '3.14' and platform_python_implementation != 'PyPy'", -] -sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e2/ef/b6c1fd4fee3b2854bf9d602530ab8b6624882e2691c15a9c4d22ea8c03eb/uuid_utils-0.11.1.tar.gz", hash = "sha256:7ef455547c2ccb712840b106b5ab006383a9bfe4125ba1c5ab92e47bcbf79b46", size = 19933, upload-time = "2025-10-02T13:32:09.526Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" }, + { url = "https://files.pythonhosted.org/packages/40/f5/254d7ce4b3aa4a1a3a4f279e0cc74eec8b4d3a61641d8ffc6e983907f2ca/uuid_utils-0.11.1-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:4bc8cf73c375b9ea11baf70caacc2c4bf7ce9bfd804623aa0541e5656f3dbeaf", size = 581019, upload-time = "2025-10-02T13:31:32.239Z" }, + { url = "https://files.pythonhosted.org/packages/68/e6/f7d14c4e1988d8beb3ac9bd773f370376c704925bdfb07380f5476bb2986/uuid_utils-0.11.1-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:0d2cb3bcc6f5862d08a0ee868b18233bc63ba9ea0e85ea9f3f8e703983558eba", size = 294377, upload-time = "2025-10-02T13:31:34.01Z" }, + { url = "https://files.pythonhosted.org/packages/8e/40/847a9a0258e7a2a14b015afdaa06ee4754a2680db7b74bac159d594eeb18/uuid_utils-0.11.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:463400604f623969f198aba9133ebfd717636f5e34257340302b1c3ff685dc0f", size = 328070, upload-time = "2025-10-02T13:31:35.619Z" }, + { url = "https://files.pythonhosted.org/packages/44/0c/c5d342d31860c9b4f481ef31a4056825961f9b462d216555e76dcee580ea/uuid_utils-0.11.1-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:aef66b935342b268c6ffc1796267a1d9e73135740a10fe7e4098e1891cbcc476", size = 333610, upload-time = "2025-10-02T13:31:37.058Z" }, + { url = "https://files.pythonhosted.org/packages/e1/4b/52edc023ffcb9ab9a4042a58974a79c39ba7a565e683f1fd9814b504cf13/uuid_utils-0.11.1-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fd65c41b81b762278997de0d027161f27f9cc4058fa57bbc0a1aaa63a63d6d1a", size = 475669, upload-time = "2025-10-02T13:31:38.38Z" }, + { url = "https://files.pythonhosted.org/packages/59/81/ee55ee63264531bb1c97b5b6033ad6ec81b5cd77f89174e9aef3af3d8889/uuid_utils-0.11.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ccfac9d5d7522d61accabb8c68448ead6407933415e67e62123ed6ed11f86510", size = 331946, upload-time = "2025-10-02T13:31:39.66Z" }, + { url = "https://files.pythonhosted.org/packages/cf/07/5d4be27af0e9648afa512f0d11bb6d96cb841dd6d29b57baa3fbf55fd62e/uuid_utils-0.11.1-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:003f48f05c01692d0c1f7e413d194e7299a1a364e0047a4eb904d3478b84eca1", size = 352920, upload-time = "2025-10-02T13:31:40.94Z" }, + { url = "https://files.pythonhosted.org/packages/5b/48/a69dddd9727512b0583b87bfff97d82a8813b28fb534a183c9e37033cfef/uuid_utils-0.11.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:a5c936042120bdc30d62f539165beaa4a6ba7e817a89e5409a6f06dc62c677a9", size = 509413, upload-time = "2025-10-02T13:31:42.547Z" }, + { url = "https://files.pythonhosted.org/packages/66/0d/1b529a3870c2354dd838d5f133a1cba75220242b0061f04a904ca245a131/uuid_utils-0.11.1-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:2e16dcdbdf4cd34ffb31ead6236960adb50e6c962c9f4554a6ecfdfa044c6259", size = 529454, upload-time = "2025-10-02T13:31:44.338Z" }, + { url = "https://files.pythonhosted.org/packages/bd/f2/04a3f77c85585aac09d546edaf871a4012052fb8ace6dbddd153b4d50f02/uuid_utils-0.11.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f8b21fed11b23134502153d652c77c3a37fa841a9aa15a4e6186d440a22f1a0e", size = 498084, upload-time = "2025-10-02T13:31:45.601Z" }, + { url = "https://files.pythonhosted.org/packages/89/08/538b380b4c4b220f3222c970930fe459cc37f1dfc6c8dc912568d027f17d/uuid_utils-0.11.1-cp39-abi3-win32.whl", hash = "sha256:72abab5ab27c1b914e3f3f40f910532ae242df1b5f0ae43f1df2ef2f610b2a8c", size = 174314, upload-time = "2025-10-02T13:31:47.269Z" }, + { url = "https://files.pythonhosted.org/packages/00/66/971ec830094ac1c7d46381678f7138c1805015399805e7dd7769c893c9c8/uuid_utils-0.11.1-cp39-abi3-win_amd64.whl", hash = "sha256:5ed9962f8993ef2fd418205f92830c29344102f86871d99b57cef053abf227d9", size = 179214, upload-time = "2025-10-02T13:31:48.344Z" }, ] [[package]] @@ -4772,8 +4744,8 @@ name = "uvicorn" version = "0.38.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "click" }, - { name = "h11" }, + { name = "click", marker = "platform_python_implementation != 'PyPy'" }, + { name = "h11", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/cb/ce/f06b84e2697fef4688ca63bdb2fdf113ca0a3be33f94488f2cadb690b0cf/uvicorn-0.38.0.tar.gz", hash = "sha256:fd97093bdd120a2609fc0d3afe931d4d4ad688b6e75f0f929fde1bc36fe0e91d", size = 80605, upload-time = "2025-10-18T13:46:44.63Z" } wheels = [ @@ -4782,13 +4754,13 @@ wheels = [ [package.optional-dependencies] standard = [ - { name = "colorama", marker = "sys_platform == 'win32'" }, - { name = "httptools" }, - { name = "python-dotenv" }, - { name = "pyyaml" }, + { name = "colorama", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" }, + { name = "httptools", marker = "platform_python_implementation != 'PyPy'" }, + { name = "python-dotenv", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pyyaml", marker = "platform_python_implementation != 'PyPy'" }, { name = "uvloop", marker = "platform_python_implementation != 'PyPy' and sys_platform != 'cygwin' and sys_platform != 'win32'" }, - { name = "watchfiles" }, - { name = "websockets" }, + { name = "watchfiles", marker = "platform_python_implementation != 'PyPy'" }, + { name = "websockets", marker = "platform_python_implementation != 'PyPy'" }, ] [[package]] @@ -4803,18 +4775,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/15/c0/0be24758891ef825f2065cd5db8741aaddabe3e248ee6acc5e8a80f04005/uvloop-0.22.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0530a5fbad9c9e4ee3f2b33b148c6a64d47bbad8000ea63704fa8260f4cf728e", size = 4366890, upload-time = "2025-10-16T22:16:40.547Z" }, { url = "https://files.pythonhosted.org/packages/d2/53/8369e5219a5855869bcee5f4d317f6da0e2c669aecf0ef7d371e3d084449/uvloop-0.22.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bc5ef13bbc10b5335792360623cc378d52d7e62c2de64660616478c32cd0598e", size = 4119472, upload-time = "2025-10-16T22:16:41.694Z" }, { url = "https://files.pythonhosted.org/packages/f8/ba/d69adbe699b768f6b29a5eec7b47dd610bd17a69de51b251126a801369ea/uvloop-0.22.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1f38ec5e3f18c8a10ded09742f7fb8de0108796eb673f30ce7762ce1b8550cad", size = 4239051, upload-time = "2025-10-16T22:16:43.224Z" }, - { url = "https://files.pythonhosted.org/packages/90/cd/b62bdeaa429758aee8de8b00ac0dd26593a9de93d302bff3d21439e9791d/uvloop-0.22.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3879b88423ec7e97cd4eba2a443aa26ed4e59b45e6b76aabf13fe2f27023a142", size = 1362067, upload-time = "2025-10-16T22:16:44.503Z" }, - { url = "https://files.pythonhosted.org/packages/0d/f8/a132124dfda0777e489ca86732e85e69afcd1ff7686647000050ba670689/uvloop-0.22.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:4baa86acedf1d62115c1dc6ad1e17134476688f08c6efd8a2ab076e815665c74", size = 752423, upload-time = "2025-10-16T22:16:45.968Z" }, - { url = "https://files.pythonhosted.org/packages/a3/94/94af78c156f88da4b3a733773ad5ba0b164393e357cc4bd0ab2e2677a7d6/uvloop-0.22.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:297c27d8003520596236bdb2335e6b3f649480bd09e00d1e3a99144b691d2a35", size = 4272437, upload-time = "2025-10-16T22:16:47.451Z" }, - { url = "https://files.pythonhosted.org/packages/b5/35/60249e9fd07b32c665192cec7af29e06c7cd96fa1d08b84f012a56a0b38e/uvloop-0.22.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c1955d5a1dd43198244d47664a5858082a3239766a839b2102a269aaff7a4e25", size = 4292101, upload-time = "2025-10-16T22:16:49.318Z" }, - { url = "https://files.pythonhosted.org/packages/02/62/67d382dfcb25d0a98ce73c11ed1a6fba5037a1a1d533dcbb7cab033a2636/uvloop-0.22.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:b31dc2fccbd42adc73bc4e7cdbae4fc5086cf378979e53ca5d0301838c5682c6", size = 4114158, upload-time = "2025-10-16T22:16:50.517Z" }, - { url = "https://files.pythonhosted.org/packages/f0/7a/f1171b4a882a5d13c8b7576f348acfe6074d72eaf52cccef752f748d4a9f/uvloop-0.22.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:93f617675b2d03af4e72a5333ef89450dfaa5321303ede6e67ba9c9d26878079", size = 4177360, upload-time = "2025-10-16T22:16:52.646Z" }, - { url = "https://files.pythonhosted.org/packages/79/7b/b01414f31546caf0919da80ad57cbfe24c56b151d12af68cee1b04922ca8/uvloop-0.22.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:37554f70528f60cad66945b885eb01f1bb514f132d92b6eeed1c90fd54ed6289", size = 1454790, upload-time = "2025-10-16T22:16:54.355Z" }, - { url = "https://files.pythonhosted.org/packages/d4/31/0bb232318dd838cad3fa8fb0c68c8b40e1145b32025581975e18b11fab40/uvloop-0.22.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:b76324e2dc033a0b2f435f33eb88ff9913c156ef78e153fb210e03c13da746b3", size = 796783, upload-time = "2025-10-16T22:16:55.906Z" }, - { url = "https://files.pythonhosted.org/packages/42/38/c9b09f3271a7a723a5de69f8e237ab8e7803183131bc57c890db0b6bb872/uvloop-0.22.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:badb4d8e58ee08dad957002027830d5c3b06aea446a6a3744483c2b3b745345c", size = 4647548, upload-time = "2025-10-16T22:16:57.008Z" }, - { url = "https://files.pythonhosted.org/packages/c1/37/945b4ca0ac27e3dc4952642d4c900edd030b3da6c9634875af6e13ae80e5/uvloop-0.22.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b91328c72635f6f9e0282e4a57da7470c7350ab1c9f48546c0f2866205349d21", size = 4467065, upload-time = "2025-10-16T22:16:58.206Z" }, - { url = "https://files.pythonhosted.org/packages/97/cc/48d232f33d60e2e2e0b42f4e73455b146b76ebe216487e862700457fbf3c/uvloop-0.22.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:daf620c2995d193449393d6c62131b3fbd40a63bf7b307a1527856ace637fe88", size = 4328384, upload-time = "2025-10-16T22:16:59.36Z" }, - { url = "https://files.pythonhosted.org/packages/e4/16/c1fd27e9549f3c4baf1dc9c20c456cd2f822dbf8de9f463824b0c0357e06/uvloop-0.22.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6cde23eeda1a25c75b2e07d39970f3374105d5eafbaab2a4482be82f272d5a5e", size = 4296730, upload-time = "2025-10-16T22:17:00.744Z" }, ] [[package]] @@ -4831,11 +4791,10 @@ name = "vcrpy" version = "7.0.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pyyaml" }, - { name = "urllib3", version = "1.26.20", source = { registry = "https://pypi.org/simple" }, marker = "platform_python_implementation == 'PyPy'" }, - { name = "urllib3", version = "2.5.0", source = { registry = "https://pypi.org/simple" }, marker = "platform_python_implementation != 'PyPy'" }, - { name = "wrapt" }, - { name = "yarl" }, + { name = "pyyaml", marker = "platform_python_implementation != 'PyPy'" }, + { name = "urllib3", marker = "platform_python_implementation != 'PyPy'" }, + { name = "wrapt", marker = "platform_python_implementation != 'PyPy'" }, + { name = "yarl", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/25/d3/856e06184d4572aada1dd559ddec3bedc46df1f2edc5ab2c91121a2cccdb/vcrpy-7.0.0.tar.gz", hash = "sha256:176391ad0425edde1680c5b20738ea3dc7fb942520a48d2993448050986b3a50", size = 85502, upload-time = "2024-12-31T00:07:57.894Z" } wheels = [ @@ -4868,7 +4827,7 @@ name = "watchfiles" version = "1.1.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "anyio" }, + { name = "anyio", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/c2/c9/8869df9b2a2d6c59d79220a4db37679e74f807c559ffe5265e08b227a210/watchfiles-1.1.1.tar.gz", hash = "sha256:a173cb5c16c4f40ab19cecf48a534c409f7ea983ab8fed0741304a1c0a31b3f2", size = 94440, upload-time = "2025-10-14T15:06:21.08Z" } wheels = [ @@ -4895,29 +4854,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/e1/f7/0a4467be0a56e80447c8529c9fce5b38eab4f513cb3d9bf82e7392a5696b/watchfiles-1.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f7eb7da0eb23aa2ba036d4f616d46906013a68caf61b7fdbe42fc8b25132e77", size = 455425, upload-time = "2025-10-14T15:05:23.348Z" }, { url = "https://files.pythonhosted.org/packages/8e/e0/82583485ea00137ddf69bc84a2db88bd92ab4a6e3c405e5fb878ead8d0e7/watchfiles-1.1.1-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:831a62658609f0e5c64178211c942ace999517f5770fe9436be4c2faeba0c0ef", size = 628826, upload-time = "2025-10-14T15:05:24.398Z" }, { url = "https://files.pythonhosted.org/packages/28/9a/a785356fccf9fae84c0cc90570f11702ae9571036fb25932f1242c82191c/watchfiles-1.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:f9a2ae5c91cecc9edd47e041a930490c31c3afb1f5e6d71de3dc671bfaca02bf", size = 622208, upload-time = "2025-10-14T15:05:25.45Z" }, - { url = "https://files.pythonhosted.org/packages/c3/f4/0872229324ef69b2c3edec35e84bd57a1289e7d3fe74588048ed8947a323/watchfiles-1.1.1-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:d1715143123baeeaeadec0528bb7441103979a1d5f6fd0e1f915383fea7ea6d5", size = 404315, upload-time = "2025-10-14T15:05:26.501Z" }, - { url = "https://files.pythonhosted.org/packages/7b/22/16d5331eaed1cb107b873f6ae1b69e9ced582fcf0c59a50cd84f403b1c32/watchfiles-1.1.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:39574d6370c4579d7f5d0ad940ce5b20db0e4117444e39b6d8f99db5676c52fd", size = 390869, upload-time = "2025-10-14T15:05:27.649Z" }, - { url = "https://files.pythonhosted.org/packages/b2/7e/5643bfff5acb6539b18483128fdc0ef2cccc94a5b8fbda130c823e8ed636/watchfiles-1.1.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7365b92c2e69ee952902e8f70f3ba6360d0d596d9299d55d7d386df84b6941fb", size = 449919, upload-time = "2025-10-14T15:05:28.701Z" }, - { url = "https://files.pythonhosted.org/packages/51/2e/c410993ba5025a9f9357c376f48976ef0e1b1aefb73b97a5ae01a5972755/watchfiles-1.1.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bfff9740c69c0e4ed32416f013f3c45e2ae42ccedd1167ef2d805c000b6c71a5", size = 460845, upload-time = "2025-10-14T15:05:30.064Z" }, - { url = "https://files.pythonhosted.org/packages/8e/a4/2df3b404469122e8680f0fcd06079317e48db58a2da2950fb45020947734/watchfiles-1.1.1-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b27cf2eb1dda37b2089e3907d8ea92922b673c0c427886d4edc6b94d8dfe5db3", size = 489027, upload-time = "2025-10-14T15:05:31.064Z" }, - { url = "https://files.pythonhosted.org/packages/ea/84/4587ba5b1f267167ee715b7f66e6382cca6938e0a4b870adad93e44747e6/watchfiles-1.1.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:526e86aced14a65a5b0ec50827c745597c782ff46b571dbfe46192ab9e0b3c33", size = 595615, upload-time = "2025-10-14T15:05:32.074Z" }, - { url = "https://files.pythonhosted.org/packages/6a/0f/c6988c91d06e93cd0bb3d4a808bcf32375ca1904609835c3031799e3ecae/watchfiles-1.1.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04e78dd0b6352db95507fd8cb46f39d185cf8c74e4cf1e4fbad1d3df96faf510", size = 474836, upload-time = "2025-10-14T15:05:33.209Z" }, - { url = "https://files.pythonhosted.org/packages/b4/36/ded8aebea91919485b7bbabbd14f5f359326cb5ec218cd67074d1e426d74/watchfiles-1.1.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c85794a4cfa094714fb9c08d4a218375b2b95b8ed1666e8677c349906246c05", size = 455099, upload-time = "2025-10-14T15:05:34.189Z" }, - { url = "https://files.pythonhosted.org/packages/98/e0/8c9bdba88af756a2fce230dd365fab2baf927ba42cd47521ee7498fd5211/watchfiles-1.1.1-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:74d5012b7630714b66be7b7b7a78855ef7ad58e8650c73afc4c076a1f480a8d6", size = 630626, upload-time = "2025-10-14T15:05:35.216Z" }, - { url = "https://files.pythonhosted.org/packages/2a/84/a95db05354bf2d19e438520d92a8ca475e578c647f78f53197f5a2f17aaf/watchfiles-1.1.1-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:8fbe85cb3201c7d380d3d0b90e63d520f15d6afe217165d7f98c9c649654db81", size = 622519, upload-time = "2025-10-14T15:05:36.259Z" }, - { url = "https://files.pythonhosted.org/packages/1d/ce/d8acdc8de545de995c339be67711e474c77d643555a9bb74a9334252bd55/watchfiles-1.1.1-cp314-cp314-win32.whl", hash = "sha256:3fa0b59c92278b5a7800d3ee7733da9d096d4aabcfabb9a928918bd276ef9b9b", size = 272078, upload-time = "2025-10-14T15:05:37.63Z" }, - { url = "https://files.pythonhosted.org/packages/c4/c9/a74487f72d0451524be827e8edec251da0cc1fcf111646a511ae752e1a3d/watchfiles-1.1.1-cp314-cp314-win_amd64.whl", hash = "sha256:c2047d0b6cea13b3316bdbafbfa0c4228ae593d995030fda39089d36e64fc03a", size = 287664, upload-time = "2025-10-14T15:05:38.95Z" }, - { url = "https://files.pythonhosted.org/packages/df/b8/8ac000702cdd496cdce998c6f4ee0ca1f15977bba51bdf07d872ebdfc34c/watchfiles-1.1.1-cp314-cp314-win_arm64.whl", hash = "sha256:842178b126593addc05acf6fce960d28bc5fae7afbaa2c6c1b3a7b9460e5be02", size = 277154, upload-time = "2025-10-14T15:05:39.954Z" }, - { url = "https://files.pythonhosted.org/packages/47/a8/e3af2184707c29f0f14b1963c0aace6529f9d1b8582d5b99f31bbf42f59e/watchfiles-1.1.1-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:88863fbbc1a7312972f1c511f202eb30866370ebb8493aef2812b9ff28156a21", size = 403820, upload-time = "2025-10-14T15:05:40.932Z" }, - { url = "https://files.pythonhosted.org/packages/c0/ec/e47e307c2f4bd75f9f9e8afbe3876679b18e1bcec449beca132a1c5ffb2d/watchfiles-1.1.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:55c7475190662e202c08c6c0f4d9e345a29367438cf8e8037f3155e10a88d5a5", size = 390510, upload-time = "2025-10-14T15:05:41.945Z" }, - { url = "https://files.pythonhosted.org/packages/d5/a0/ad235642118090f66e7b2f18fd5c42082418404a79205cdfca50b6309c13/watchfiles-1.1.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f53fa183d53a1d7a8852277c92b967ae99c2d4dcee2bfacff8868e6e30b15f7", size = 448408, upload-time = "2025-10-14T15:05:43.385Z" }, - { url = "https://files.pythonhosted.org/packages/df/85/97fa10fd5ff3332ae17e7e40e20784e419e28521549780869f1413742e9d/watchfiles-1.1.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6aae418a8b323732fa89721d86f39ec8f092fc2af67f4217a2b07fd3e93c6101", size = 458968, upload-time = "2025-10-14T15:05:44.404Z" }, - { url = "https://files.pythonhosted.org/packages/47/c2/9059c2e8966ea5ce678166617a7f75ecba6164375f3b288e50a40dc6d489/watchfiles-1.1.1-cp314-cp314t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f096076119da54a6080e8920cbdaac3dbee667eb91dcc5e5b78840b87415bd44", size = 488096, upload-time = "2025-10-14T15:05:45.398Z" }, - { url = "https://files.pythonhosted.org/packages/94/44/d90a9ec8ac309bc26db808a13e7bfc0e4e78b6fc051078a554e132e80160/watchfiles-1.1.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:00485f441d183717038ed2e887a7c868154f216877653121068107b227a2f64c", size = 596040, upload-time = "2025-10-14T15:05:46.502Z" }, - { url = "https://files.pythonhosted.org/packages/95/68/4e3479b20ca305cfc561db3ed207a8a1c745ee32bf24f2026a129d0ddb6e/watchfiles-1.1.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a55f3e9e493158d7bfdb60a1165035f1cf7d320914e7b7ea83fe22c6023b58fc", size = 473847, upload-time = "2025-10-14T15:05:47.484Z" }, - { url = "https://files.pythonhosted.org/packages/4f/55/2af26693fd15165c4ff7857e38330e1b61ab8c37d15dc79118cdba115b7a/watchfiles-1.1.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c91ed27800188c2ae96d16e3149f199d62f86c7af5f5f4d2c61a3ed8cd3666c", size = 455072, upload-time = "2025-10-14T15:05:48.928Z" }, - { url = "https://files.pythonhosted.org/packages/66/1d/d0d200b10c9311ec25d2273f8aad8c3ef7cc7ea11808022501811208a750/watchfiles-1.1.1-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:311ff15a0bae3714ffb603e6ba6dbfba4065ab60865d15a6ec544133bdb21099", size = 629104, upload-time = "2025-10-14T15:05:49.908Z" }, - { url = "https://files.pythonhosted.org/packages/e3/bd/fa9bb053192491b3867ba07d2343d9f2252e00811567d30ae8d0f78136fe/watchfiles-1.1.1-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:a916a2932da8f8ab582f242c065f5c81bed3462849ca79ee357dd9551b0e9b01", size = 622112, upload-time = "2025-10-14T15:05:50.941Z" }, ] [[package]] @@ -4925,13 +4861,31 @@ name = "wcmatch" version = "10.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "bracex" }, + { name = "bracex", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/79/3e/c0bdc27cf06f4e47680bd5803a07cb3dfd17de84cde92dd217dcb9e05253/wcmatch-10.1.tar.gz", hash = "sha256:f11f94208c8c8484a16f4f48638a85d771d9513f4ab3f37595978801cb9465af", size = 117421, upload-time = "2025-06-22T19:14:02.49Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/eb/d8/0d1d2e9d3fabcf5d6840362adcf05f8cf3cd06a73358140c3a97189238ae/wcmatch-10.1-py3-none-any.whl", hash = "sha256:5848ace7dbb0476e5e55ab63c6bbd529745089343427caa5537f230cc01beb8a", size = 39854, upload-time = "2025-06-22T19:14:00.978Z" }, ] +[[package]] +name = "weaviate-client" +version = "4.17.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "authlib", marker = "platform_python_implementation != 'PyPy'" }, + { name = "deprecation", marker = "platform_python_implementation != 'PyPy'" }, + { name = "grpcio", marker = "platform_python_implementation != 'PyPy'" }, + { name = "httpx", marker = "platform_python_implementation != 'PyPy'" }, + { name = "protobuf", marker = "platform_python_implementation != 'PyPy'" }, + { name = "pydantic", marker = "platform_python_implementation != 'PyPy'" }, + { name = "validators", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bd/0e/e4582b007427187a9fde55fa575db4b766c81929d2b43a3dd8becce50567/weaviate_client-4.17.0.tar.gz", hash = "sha256:731d58d84b0989df4db399b686357ed285fb95971a492ccca8dec90bb2343c51", size = 769019, upload-time = "2025-09-26T11:20:27.381Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5b/c5/2da3a45866da7a935dab8ad07be05dcaee48b3ad4955144583b651929be7/weaviate_client-4.17.0-py3-none-any.whl", hash = "sha256:60e4a355b90537ee1e942ab0b76a94750897a13d9cf13c5a6decbd166d0ca8b5", size = 582763, upload-time = "2025-09-26T11:20:25.864Z" }, +] + [[package]] name = "webencodings" version = "0.5.1" @@ -5009,30 +4963,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f2/d8/448728e6fe030e5c4f1022c82cd3af1de1c672fa53d2d5b36b32a55ce7bf/wrapt-2.0.0-cp313-cp313t-win32.whl", hash = "sha256:0a921b657a224e40e4bc161b5d33934583b34f0c9c5bdda4e6ac66f9d2fcb849", size = 59867, upload-time = "2025-10-19T23:46:49.593Z" }, { url = "https://files.pythonhosted.org/packages/8f/b1/ad812b1fe1cd85f6498dc3a3c9809a1e880d6108283b1735119bec217041/wrapt-2.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:c16f6d4eea98080f6659a8a7fc559d4a0a337ee66960659265cad2c8a40f7c0f", size = 63170, upload-time = "2025-10-19T23:46:46.87Z" }, { url = "https://files.pythonhosted.org/packages/7f/29/c105b1e76650c82823c491952a7a8eafe09b78944f7a43f22d37ed860229/wrapt-2.0.0-cp313-cp313t-win_arm64.whl", hash = "sha256:52878edc13dc151c58a9966621d67163a80654bc6cff4b2e1c79fa62d0352b26", size = 60339, upload-time = "2025-10-19T23:46:47.862Z" }, - { url = "https://files.pythonhosted.org/packages/f8/38/0dd39f83163fd28326afba84e3e416656938df07e60a924ac4d992b30220/wrapt-2.0.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:79a53d86c2aff7b32cc77267e3a308365d1fcb881e74bc9cbe26f63ee90e37f0", size = 78242, upload-time = "2025-10-19T23:46:51.096Z" }, - { url = "https://files.pythonhosted.org/packages/08/ef/fa7a5c1d73f8690c712f9d2e4615700c6809942536dd3f441b9ba650a310/wrapt-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:d731a4f22ed6ffa4cb551b4d2b0c24ff940c27a88edaf8e3490a5ee3a05aef71", size = 61207, upload-time = "2025-10-19T23:46:52.558Z" }, - { url = "https://files.pythonhosted.org/packages/23/d9/67cb93da492eb0a1cb17b7ed18220d059e58f00467ce6728b674d3441b3d/wrapt-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:3e02ab8c0ac766a5a6e81cd3b6cc39200c69051826243182175555872522bd5a", size = 61748, upload-time = "2025-10-19T23:46:54.468Z" }, - { url = "https://files.pythonhosted.org/packages/e5/be/912bbd70cc614f491b526a1d7fe85695b283deed19287b9f32460178c54d/wrapt-2.0.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:895870602d65d7338edb3b6a717d856632ad9f14f7ff566214e4fb11f0816649", size = 120424, upload-time = "2025-10-19T23:46:57.575Z" }, - { url = "https://files.pythonhosted.org/packages/b2/e1/10df8937e7da2aa9bc3662a4b623e51a323c68f42cad7b13f0e61a700ce2/wrapt-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0b9ad4fab76a0086dc364c4f17f39ad289600e73ef5c6e9ab529aff22cac1ac3", size = 122804, upload-time = "2025-10-19T23:46:59.308Z" }, - { url = "https://files.pythonhosted.org/packages/f3/60/576751b1919adab9f63168e3b5fd46c0d1565871b1cc4c2569503ccf4be6/wrapt-2.0.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e7ca0562606d7bad2736b2c18f61295d61f50cd3f4bfc51753df13614dbcce1b", size = 117398, upload-time = "2025-10-19T23:46:55.814Z" }, - { url = "https://files.pythonhosted.org/packages/ec/55/243411f360cc27bae5f8e21c16f1a8d87674c5534f4558e8a97c1e0d1c6f/wrapt-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fe089d9f5a4a3dea0108a8ae34bced114d0c4cca417bada1c5e8f42d98af9050", size = 121230, upload-time = "2025-10-19T23:47:01.347Z" }, - { url = "https://files.pythonhosted.org/packages/d6/23/2f21f692c3b3f0857cb82708ce0c341fbac55a489d4025ae4e3fd5d5de8c/wrapt-2.0.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:e761f2d2f8dbc80384af3d547b522a80e67db3e319c7b02e7fd97aded0a8a678", size = 116296, upload-time = "2025-10-19T23:47:02.659Z" }, - { url = "https://files.pythonhosted.org/packages/bd/ed/678957fad212cfb1b65b2359d62f5619f5087d1d1cf296c6a996be45171c/wrapt-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:17ba1bdc52d0c783481850996aa26cea5237720769197335abea2ae6b4c23bc0", size = 119602, upload-time = "2025-10-19T23:47:03.775Z" }, - { url = "https://files.pythonhosted.org/packages/dc/e3/aeb4c3b052d3eed95e61babc20dcb1a512651e098cca4b84a6896585c06a/wrapt-2.0.0-cp314-cp314-win32.whl", hash = "sha256:f73318741b141223a4674ba96992aa2291b1b3f7a5e85cb3c2c964f86171eb45", size = 58649, upload-time = "2025-10-19T23:47:07.382Z" }, - { url = "https://files.pythonhosted.org/packages/aa/2a/a71c51cb211798405b59172c7df5789a5b934b18317223cf22e0c6f852de/wrapt-2.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:8e08d4edb13cafe7b3260f31d4de033f73d3205774540cf583bffaa4bec97db9", size = 60897, upload-time = "2025-10-19T23:47:04.862Z" }, - { url = "https://files.pythonhosted.org/packages/f8/a5/acc5628035d06f69e9144cca543ca54c33b42a5a23b6f1e8fa131026db89/wrapt-2.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:af01695c2b7bbd8d67b869d8e3de2b123a7bfbee0185bdd138c2775f75373b83", size = 59306, upload-time = "2025-10-19T23:47:05.883Z" }, - { url = "https://files.pythonhosted.org/packages/a7/e6/1318ca07d7fcee57e4592a78dacd9d5493b8ddd971c553a62904fb2c0cf2/wrapt-2.0.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:057f02c13cce7b26c79624c06a3e1c2353e6dc9708525232232f6768118042ca", size = 81987, upload-time = "2025-10-19T23:47:08.7Z" }, - { url = "https://files.pythonhosted.org/packages/e7/bf/ffac358ddf61c3923d94a8b0e7620f2af1cd1b637a0fe4963a3919aa62b7/wrapt-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:79bdd84570267f3f43d609c892ae2d30b91ee4b8614c2cbfd311a2965f1c9bdb", size = 62902, upload-time = "2025-10-19T23:47:10.248Z" }, - { url = "https://files.pythonhosted.org/packages/b5/af/387c51f9e7b544fe95d852fc94f9f3866e3f7d7d39c2ee65041752f90bc2/wrapt-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:93c8b4f4d54fd401a817abbfc9bf482aa72fd447f8adf19ce81d035b3f5c762c", size = 63635, upload-time = "2025-10-19T23:47:11.746Z" }, - { url = "https://files.pythonhosted.org/packages/7c/99/d38d8c80b9cc352531d4d539a17e3674169a5cc25a7e6e5e3c27bc29893e/wrapt-2.0.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:5e09ffd31001dce71c2c2a4fc201bdba9a2f9f62b23700cf24af42266e784741", size = 152659, upload-time = "2025-10-19T23:47:15.344Z" }, - { url = "https://files.pythonhosted.org/packages/5a/2a/e154432f274e22ecf2465583386c5ceffa5e0bab3947c1c5b26cc8e7b275/wrapt-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d87c285ff04e26083c4b03546e7b74df7ba4f1f32f1dcb92e9ac13c2dbb4c379", size = 158818, upload-time = "2025-10-19T23:47:17.569Z" }, - { url = "https://files.pythonhosted.org/packages/c5/7a/3a40c453300e2898e99c27495b8109ff7cd526997d12cfb8ebd1843199a4/wrapt-2.0.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e52e50ea0a72ea48d1291cf8b8aaedcc99072d9dc5baba6b820486dcf4c67da8", size = 146113, upload-time = "2025-10-19T23:47:13.026Z" }, - { url = "https://files.pythonhosted.org/packages/9e/e2/3116a9eade8bea2bf5eedba3fa420e3c7d193d4b047440330d8eaf1098de/wrapt-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:1fd4c95536975895f32571073446e614d5e2810b666b64955586dcddfd438fd3", size = 155689, upload-time = "2025-10-19T23:47:19.397Z" }, - { url = "https://files.pythonhosted.org/packages/43/1c/277d3fbe9d177830ab9e54fe9253f38455b75a22d639a4bd9fa092d55ae5/wrapt-2.0.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:d6ebfe9283209220ed9de80a3e9442aab8fc2be5a9bbf8491b99e02ca9349a89", size = 144403, upload-time = "2025-10-19T23:47:20.779Z" }, - { url = "https://files.pythonhosted.org/packages/d8/37/ab6ddaf182248aac5ed925725ef4c69a510594764665ecbd95bdd4481f16/wrapt-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5d3ebd784804f146b7ea55359beb138e23cc18e5a5cc2cf26ad438723c00ce3a", size = 150307, upload-time = "2025-10-19T23:47:22.604Z" }, - { url = "https://files.pythonhosted.org/packages/f6/d7/df9e2d8040a3af618ff9496261cf90ca4f886fd226af0f4a69ac0c020c3b/wrapt-2.0.0-cp314-cp314t-win32.whl", hash = "sha256:9b15940ae9debc8b40b15dc57e1ce4433f7fb9d3f8761c7fab1ddd94cb999d99", size = 60557, upload-time = "2025-10-19T23:47:26.73Z" }, - { url = "https://files.pythonhosted.org/packages/b4/c2/502bd4557a3a9199ea73cc5932cf83354bd362682162f0b14164d2e90216/wrapt-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:7a0efbbc06d3e2077476a04f55859819d23206600b4c33f791359a8e6fa3c362", size = 63988, upload-time = "2025-10-19T23:47:23.826Z" }, - { url = "https://files.pythonhosted.org/packages/1f/f2/632b13942f45db7af709f346ff38b8992c8c21b004e61ab320b0dec525fe/wrapt-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:7fec8a9455c029c8cf4ff143a53b6e7c463268d42be6c17efa847ebd2f809965", size = 60584, upload-time = "2025-10-19T23:47:25.396Z" }, { url = "https://files.pythonhosted.org/packages/00/5c/c34575f96a0a038579683c7f10fca943c15c7946037d1d254ab9db1536ec/wrapt-2.0.0-py3-none-any.whl", hash = "sha256:02482fb0df89857e35427dfb844319417e14fae05878f295ee43fa3bf3b15502", size = 43998, upload-time = "2025-10-19T23:47:52.858Z" }, ] @@ -5041,7 +4971,7 @@ name = "wsproto" version = "1.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "h11" }, + { name = "h11", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/c9/4a/44d3c295350d776427904d73c189e10aeae66d7f555bb2feee16d1e4ba5a/wsproto-1.2.0.tar.gz", hash = "sha256:ad565f26ecb92588a3e43bc3d96164de84cd9902482b130d0ddbaa9664a85065", size = 53425, upload-time = "2022-08-23T19:58:21.447Z" } wheels = [ @@ -5084,36 +5014,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/19/fa/0172e350361d61febcea941b0cc541d6e6c8d65d153e85f850a7b256ff8a/xxhash-3.6.0-cp313-cp313t-win32.whl", hash = "sha256:1244460adc3a9be84731d72b8e80625788e5815b68da3da8b83f78115a40a7ec", size = 30916, upload-time = "2025-10-02T14:35:35.107Z" }, { url = "https://files.pythonhosted.org/packages/ad/e6/e8cf858a2b19d6d45820f072eff1bea413910592ff17157cabc5f1227a16/xxhash-3.6.0-cp313-cp313t-win_amd64.whl", hash = "sha256:b1e420ef35c503869c4064f4a2f2b08ad6431ab7b229a05cce39d74268bca6b8", size = 31799, upload-time = "2025-10-02T14:35:36.165Z" }, { url = "https://files.pythonhosted.org/packages/56/15/064b197e855bfb7b343210e82490ae672f8bc7cdf3ddb02e92f64304ee8a/xxhash-3.6.0-cp313-cp313t-win_arm64.whl", hash = "sha256:ec44b73a4220623235f67a996c862049f375df3b1052d9899f40a6382c32d746", size = 28044, upload-time = "2025-10-02T14:35:37.195Z" }, - { url = "https://files.pythonhosted.org/packages/7e/5e/0138bc4484ea9b897864d59fce9be9086030825bc778b76cb5a33a906d37/xxhash-3.6.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:a40a3d35b204b7cc7643cbcf8c9976d818cb47befcfac8bbefec8038ac363f3e", size = 32754, upload-time = "2025-10-02T14:35:38.245Z" }, - { url = "https://files.pythonhosted.org/packages/18/d7/5dac2eb2ec75fd771957a13e5dda560efb2176d5203f39502a5fc571f899/xxhash-3.6.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:a54844be970d3fc22630b32d515e79a90d0a3ddb2644d8d7402e3c4c8da61405", size = 30846, upload-time = "2025-10-02T14:35:39.6Z" }, - { url = "https://files.pythonhosted.org/packages/fe/71/8bc5be2bb00deb5682e92e8da955ebe5fa982da13a69da5a40a4c8db12fb/xxhash-3.6.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:016e9190af8f0a4e3741343777710e3d5717427f175adfdc3e72508f59e2a7f3", size = 194343, upload-time = "2025-10-02T14:35:40.69Z" }, - { url = "https://files.pythonhosted.org/packages/e7/3b/52badfb2aecec2c377ddf1ae75f55db3ba2d321c5e164f14461c90837ef3/xxhash-3.6.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4f6f72232f849eb9d0141e2ebe2677ece15adfd0fa599bc058aad83c714bb2c6", size = 213074, upload-time = "2025-10-02T14:35:42.29Z" }, - { url = "https://files.pythonhosted.org/packages/a2/2b/ae46b4e9b92e537fa30d03dbc19cdae57ed407e9c26d163895e968e3de85/xxhash-3.6.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:63275a8aba7865e44b1813d2177e0f5ea7eadad3dd063a21f7cf9afdc7054063", size = 212388, upload-time = "2025-10-02T14:35:43.929Z" }, - { url = "https://files.pythonhosted.org/packages/f5/80/49f88d3afc724b4ac7fbd664c8452d6db51b49915be48c6982659e0e7942/xxhash-3.6.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3cd01fa2aa00d8b017c97eb46b9a794fbdca53fc14f845f5a328c71254b0abb7", size = 445614, upload-time = "2025-10-02T14:35:45.216Z" }, - { url = "https://files.pythonhosted.org/packages/ed/ba/603ce3961e339413543d8cd44f21f2c80e2a7c5cfe692a7b1f2cccf58f3c/xxhash-3.6.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0226aa89035b62b6a86d3c68df4d7c1f47a342b8683da2b60cedcddb46c4d95b", size = 194024, upload-time = "2025-10-02T14:35:46.959Z" }, - { url = "https://files.pythonhosted.org/packages/78/d1/8e225ff7113bf81545cfdcd79eef124a7b7064a0bba53605ff39590b95c2/xxhash-3.6.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c6e193e9f56e4ca4923c61238cdaced324f0feac782544eb4c6d55ad5cc99ddd", size = 210541, upload-time = "2025-10-02T14:35:48.301Z" }, - { url = "https://files.pythonhosted.org/packages/6f/58/0f89d149f0bad89def1a8dd38feb50ccdeb643d9797ec84707091d4cb494/xxhash-3.6.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:9176dcaddf4ca963d4deb93866d739a343c01c969231dbe21680e13a5d1a5bf0", size = 198305, upload-time = "2025-10-02T14:35:49.584Z" }, - { url = "https://files.pythonhosted.org/packages/11/38/5eab81580703c4df93feb5f32ff8fa7fe1e2c51c1f183ee4e48d4bb9d3d7/xxhash-3.6.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:c1ce4009c97a752e682b897aa99aef84191077a9433eb237774689f14f8ec152", size = 210848, upload-time = "2025-10-02T14:35:50.877Z" }, - { url = "https://files.pythonhosted.org/packages/5e/6b/953dc4b05c3ce678abca756416e4c130d2382f877a9c30a20d08ee6a77c0/xxhash-3.6.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:8cb2f4f679b01513b7adbb9b1b2f0f9cdc31b70007eaf9d59d0878809f385b11", size = 414142, upload-time = "2025-10-02T14:35:52.15Z" }, - { url = "https://files.pythonhosted.org/packages/08/a9/238ec0d4e81a10eb5026d4a6972677cbc898ba6c8b9dbaec12ae001b1b35/xxhash-3.6.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:653a91d7c2ab54a92c19ccf43508b6a555440b9be1bc8be553376778be7f20b5", size = 191547, upload-time = "2025-10-02T14:35:53.547Z" }, - { url = "https://files.pythonhosted.org/packages/f1/ee/3cf8589e06c2164ac77c3bf0aa127012801128f1feebf2a079272da5737c/xxhash-3.6.0-cp314-cp314-win32.whl", hash = "sha256:a756fe893389483ee8c394d06b5ab765d96e68fbbfe6fde7aa17e11f5720559f", size = 31214, upload-time = "2025-10-02T14:35:54.746Z" }, - { url = "https://files.pythonhosted.org/packages/02/5d/a19552fbc6ad4cb54ff953c3908bbc095f4a921bc569433d791f755186f1/xxhash-3.6.0-cp314-cp314-win_amd64.whl", hash = "sha256:39be8e4e142550ef69629c9cd71b88c90e9a5db703fecbcf265546d9536ca4ad", size = 32290, upload-time = "2025-10-02T14:35:55.791Z" }, - { url = "https://files.pythonhosted.org/packages/b1/11/dafa0643bc30442c887b55baf8e73353a344ee89c1901b5a5c54a6c17d39/xxhash-3.6.0-cp314-cp314-win_arm64.whl", hash = "sha256:25915e6000338999236f1eb68a02a32c3275ac338628a7eaa5a269c401995679", size = 28795, upload-time = "2025-10-02T14:35:57.162Z" }, - { url = "https://files.pythonhosted.org/packages/2c/db/0e99732ed7f64182aef4a6fb145e1a295558deec2a746265dcdec12d191e/xxhash-3.6.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:c5294f596a9017ca5a3e3f8884c00b91ab2ad2933cf288f4923c3fd4346cf3d4", size = 32955, upload-time = "2025-10-02T14:35:58.267Z" }, - { url = "https://files.pythonhosted.org/packages/55/f4/2a7c3c68e564a099becfa44bb3d398810cc0ff6749b0d3cb8ccb93f23c14/xxhash-3.6.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1cf9dcc4ab9cff01dfbba78544297a3a01dafd60f3bde4e2bfd016cf7e4ddc67", size = 31072, upload-time = "2025-10-02T14:35:59.382Z" }, - { url = "https://files.pythonhosted.org/packages/c6/d9/72a29cddc7250e8a5819dad5d466facb5dc4c802ce120645630149127e73/xxhash-3.6.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:01262da8798422d0685f7cef03b2bd3f4f46511b02830861df548d7def4402ad", size = 196579, upload-time = "2025-10-02T14:36:00.838Z" }, - { url = "https://files.pythonhosted.org/packages/63/93/b21590e1e381040e2ca305a884d89e1c345b347404f7780f07f2cdd47ef4/xxhash-3.6.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:51a73fb7cb3a3ead9f7a8b583ffd9b8038e277cdb8cb87cf890e88b3456afa0b", size = 215854, upload-time = "2025-10-02T14:36:02.207Z" }, - { url = "https://files.pythonhosted.org/packages/ce/b8/edab8a7d4fa14e924b29be877d54155dcbd8b80be85ea00d2be3413a9ed4/xxhash-3.6.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b9c6df83594f7df8f7f708ce5ebeacfc69f72c9fbaaababf6cf4758eaada0c9b", size = 214965, upload-time = "2025-10-02T14:36:03.507Z" }, - { url = "https://files.pythonhosted.org/packages/27/67/dfa980ac7f0d509d54ea0d5a486d2bb4b80c3f1bb22b66e6a05d3efaf6c0/xxhash-3.6.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:627f0af069b0ea56f312fd5189001c24578868643203bca1abbc2c52d3a6f3ca", size = 448484, upload-time = "2025-10-02T14:36:04.828Z" }, - { url = "https://files.pythonhosted.org/packages/8c/63/8ffc2cc97e811c0ca5d00ab36604b3ea6f4254f20b7bc658ca825ce6c954/xxhash-3.6.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:aa912c62f842dfd013c5f21a642c9c10cd9f4c4e943e0af83618b4a404d9091a", size = 196162, upload-time = "2025-10-02T14:36:06.182Z" }, - { url = "https://files.pythonhosted.org/packages/4b/77/07f0e7a3edd11a6097e990f6e5b815b6592459cb16dae990d967693e6ea9/xxhash-3.6.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:b465afd7909db30168ab62afe40b2fcf79eedc0b89a6c0ab3123515dc0df8b99", size = 213007, upload-time = "2025-10-02T14:36:07.733Z" }, - { url = "https://files.pythonhosted.org/packages/ae/d8/bc5fa0d152837117eb0bef6f83f956c509332ce133c91c63ce07ee7c4873/xxhash-3.6.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:a881851cf38b0a70e7c4d3ce81fc7afd86fbc2a024f4cfb2a97cf49ce04b75d3", size = 200956, upload-time = "2025-10-02T14:36:09.106Z" }, - { url = "https://files.pythonhosted.org/packages/26/a5/d749334130de9411783873e9b98ecc46688dad5db64ca6e04b02acc8b473/xxhash-3.6.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:9b3222c686a919a0f3253cfc12bb118b8b103506612253b5baeaac10d8027cf6", size = 213401, upload-time = "2025-10-02T14:36:10.585Z" }, - { url = "https://files.pythonhosted.org/packages/89/72/abed959c956a4bfc72b58c0384bb7940663c678127538634d896b1195c10/xxhash-3.6.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:c5aa639bc113e9286137cec8fadc20e9cd732b2cc385c0b7fa673b84fc1f2a93", size = 417083, upload-time = "2025-10-02T14:36:12.276Z" }, - { url = "https://files.pythonhosted.org/packages/0c/b3/62fd2b586283b7d7d665fb98e266decadf31f058f1cf6c478741f68af0cb/xxhash-3.6.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5c1343d49ac102799905e115aee590183c3921d475356cb24b4de29a4bc56518", size = 193913, upload-time = "2025-10-02T14:36:14.025Z" }, - { url = "https://files.pythonhosted.org/packages/9a/9a/c19c42c5b3f5a4aad748a6d5b4f23df3bed7ee5445accc65a0fb3ff03953/xxhash-3.6.0-cp314-cp314t-win32.whl", hash = "sha256:5851f033c3030dd95c086b4a36a2683c2ff4a799b23af60977188b057e467119", size = 31586, upload-time = "2025-10-02T14:36:15.603Z" }, - { url = "https://files.pythonhosted.org/packages/03/d6/4cc450345be9924fd5dc8c590ceda1db5b43a0a889587b0ae81a95511360/xxhash-3.6.0-cp314-cp314t-win_amd64.whl", hash = "sha256:0444e7967dac37569052d2409b00a8860c2135cff05502df4da80267d384849f", size = 32526, upload-time = "2025-10-02T14:36:16.708Z" }, - { url = "https://files.pythonhosted.org/packages/0f/c9/7243eb3f9eaabd1a88a5a5acadf06df2d83b100c62684b7425c6a11bcaa8/xxhash-3.6.0-cp314-cp314t-win_arm64.whl", hash = "sha256:bb79b1e63f6fd84ec778a4b1916dfe0a7c3fdb986c06addd5db3a0d413819d95", size = 28898, upload-time = "2025-10-02T14:36:17.843Z" }, ] [[package]] @@ -5121,9 +5021,9 @@ name = "yarl" version = "1.22.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "idna" }, - { name = "multidict" }, - { name = "propcache" }, + { name = "idna", marker = "platform_python_implementation != 'PyPy'" }, + { name = "multidict", marker = "platform_python_implementation != 'PyPy'" }, + { name = "propcache", marker = "platform_python_implementation != 'PyPy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/57/63/0c6ebca57330cd313f6102b16dd57ffaf3ec4c83403dcb45dbd15c6f3ea1/yarl-1.22.0.tar.gz", hash = "sha256:bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71", size = 187169, upload-time = "2025-10-06T14:12:55.963Z" } wheels = [ @@ -5159,38 +5059,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/e0/e5/11f140a58bf4c6ad7aca69a892bff0ee638c31bea4206748fc0df4ebcb3a/yarl-1.22.0-cp313-cp313t-win32.whl", hash = "sha256:1834bb90991cc2999f10f97f5f01317f99b143284766d197e43cd5b45eb18d03", size = 86943, upload-time = "2025-10-06T14:11:10.284Z" }, { url = "https://files.pythonhosted.org/packages/31/74/8b74bae38ed7fe6793d0c15a0c8207bbb819cf287788459e5ed230996cdd/yarl-1.22.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ff86011bd159a9d2dfc89c34cfd8aff12875980e3bd6a39ff097887520e60249", size = 93715, upload-time = "2025-10-06T14:11:11.739Z" }, { url = "https://files.pythonhosted.org/packages/69/66/991858aa4b5892d57aef7ee1ba6b4d01ec3b7eb3060795d34090a3ca3278/yarl-1.22.0-cp313-cp313t-win_arm64.whl", hash = "sha256:7861058d0582b847bc4e3a4a4c46828a410bca738673f35a29ba3ca5db0b473b", size = 83857, upload-time = "2025-10-06T14:11:13.586Z" }, - { url = "https://files.pythonhosted.org/packages/46/b3/e20ef504049f1a1c54a814b4b9bed96d1ac0e0610c3b4da178f87209db05/yarl-1.22.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:34b36c2c57124530884d89d50ed2c1478697ad7473efd59cfd479945c95650e4", size = 140520, upload-time = "2025-10-06T14:11:15.465Z" }, - { url = "https://files.pythonhosted.org/packages/e4/04/3532d990fdbab02e5ede063676b5c4260e7f3abea2151099c2aa745acc4c/yarl-1.22.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:0dd9a702591ca2e543631c2a017e4a547e38a5c0f29eece37d9097e04a7ac683", size = 93504, upload-time = "2025-10-06T14:11:17.106Z" }, - { url = "https://files.pythonhosted.org/packages/11/63/ff458113c5c2dac9a9719ac68ee7c947cb621432bcf28c9972b1c0e83938/yarl-1.22.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:594fcab1032e2d2cc3321bb2e51271e7cd2b516c7d9aee780ece81b07ff8244b", size = 94282, upload-time = "2025-10-06T14:11:19.064Z" }, - { url = "https://files.pythonhosted.org/packages/a7/bc/315a56aca762d44a6aaaf7ad253f04d996cb6b27bad34410f82d76ea8038/yarl-1.22.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f3d7a87a78d46a2e3d5b72587ac14b4c16952dd0887dbb051451eceac774411e", size = 372080, upload-time = "2025-10-06T14:11:20.996Z" }, - { url = "https://files.pythonhosted.org/packages/3f/3f/08e9b826ec2e099ea6e7c69a61272f4f6da62cb5b1b63590bb80ca2e4a40/yarl-1.22.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:852863707010316c973162e703bddabec35e8757e67fcb8ad58829de1ebc8590", size = 338696, upload-time = "2025-10-06T14:11:22.847Z" }, - { url = "https://files.pythonhosted.org/packages/e3/9f/90360108e3b32bd76789088e99538febfea24a102380ae73827f62073543/yarl-1.22.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:131a085a53bfe839a477c0845acf21efc77457ba2bcf5899618136d64f3303a2", size = 387121, upload-time = "2025-10-06T14:11:24.889Z" }, - { url = "https://files.pythonhosted.org/packages/98/92/ab8d4657bd5b46a38094cfaea498f18bb70ce6b63508fd7e909bd1f93066/yarl-1.22.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:078a8aefd263f4d4f923a9677b942b445a2be970ca24548a8102689a3a8ab8da", size = 394080, upload-time = "2025-10-06T14:11:27.307Z" }, - { url = "https://files.pythonhosted.org/packages/f5/e7/d8c5a7752fef68205296201f8ec2bf718f5c805a7a7e9880576c67600658/yarl-1.22.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bca03b91c323036913993ff5c738d0842fc9c60c4648e5c8d98331526df89784", size = 372661, upload-time = "2025-10-06T14:11:29.387Z" }, - { url = "https://files.pythonhosted.org/packages/b6/2e/f4d26183c8db0bb82d491b072f3127fb8c381a6206a3a56332714b79b751/yarl-1.22.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:68986a61557d37bb90d3051a45b91fa3d5c516d177dfc6dd6f2f436a07ff2b6b", size = 364645, upload-time = "2025-10-06T14:11:31.423Z" }, - { url = "https://files.pythonhosted.org/packages/80/7c/428e5812e6b87cd00ee8e898328a62c95825bf37c7fa87f0b6bb2ad31304/yarl-1.22.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:4792b262d585ff0dff6bcb787f8492e40698443ec982a3568c2096433660c694", size = 355361, upload-time = "2025-10-06T14:11:33.055Z" }, - { url = "https://files.pythonhosted.org/packages/ec/2a/249405fd26776f8b13c067378ef4d7dd49c9098d1b6457cdd152a99e96a9/yarl-1.22.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:ebd4549b108d732dba1d4ace67614b9545b21ece30937a63a65dd34efa19732d", size = 381451, upload-time = "2025-10-06T14:11:35.136Z" }, - { url = "https://files.pythonhosted.org/packages/67/a8/fb6b1adbe98cf1e2dd9fad71003d3a63a1bc22459c6e15f5714eb9323b93/yarl-1.22.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:f87ac53513d22240c7d59203f25cc3beac1e574c6cd681bbfd321987b69f95fd", size = 383814, upload-time = "2025-10-06T14:11:37.094Z" }, - { url = "https://files.pythonhosted.org/packages/d9/f9/3aa2c0e480fb73e872ae2814c43bc1e734740bb0d54e8cb2a95925f98131/yarl-1.22.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:22b029f2881599e2f1b06f8f1db2ee63bd309e2293ba2d566e008ba12778b8da", size = 370799, upload-time = "2025-10-06T14:11:38.83Z" }, - { url = "https://files.pythonhosted.org/packages/50/3c/af9dba3b8b5eeb302f36f16f92791f3ea62e3f47763406abf6d5a4a3333b/yarl-1.22.0-cp314-cp314-win32.whl", hash = "sha256:6a635ea45ba4ea8238463b4f7d0e721bad669f80878b7bfd1f89266e2ae63da2", size = 82990, upload-time = "2025-10-06T14:11:40.624Z" }, - { url = "https://files.pythonhosted.org/packages/ac/30/ac3a0c5bdc1d6efd1b41fa24d4897a4329b3b1e98de9449679dd327af4f0/yarl-1.22.0-cp314-cp314-win_amd64.whl", hash = "sha256:0d6e6885777af0f110b0e5d7e5dda8b704efed3894da26220b7f3d887b839a79", size = 88292, upload-time = "2025-10-06T14:11:42.578Z" }, - { url = "https://files.pythonhosted.org/packages/df/0a/227ab4ff5b998a1b7410abc7b46c9b7a26b0ca9e86c34ba4b8d8bc7c63d5/yarl-1.22.0-cp314-cp314-win_arm64.whl", hash = "sha256:8218f4e98d3c10d683584cb40f0424f4b9fd6e95610232dd75e13743b070ee33", size = 82888, upload-time = "2025-10-06T14:11:44.863Z" }, - { url = "https://files.pythonhosted.org/packages/06/5e/a15eb13db90abd87dfbefb9760c0f3f257ac42a5cac7e75dbc23bed97a9f/yarl-1.22.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:45c2842ff0e0d1b35a6bf1cd6c690939dacb617a70827f715232b2e0494d55d1", size = 146223, upload-time = "2025-10-06T14:11:46.796Z" }, - { url = "https://files.pythonhosted.org/packages/18/82/9665c61910d4d84f41a5bf6837597c89e665fa88aa4941080704645932a9/yarl-1.22.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:d947071e6ebcf2e2bee8fce76e10faca8f7a14808ca36a910263acaacef08eca", size = 95981, upload-time = "2025-10-06T14:11:48.845Z" }, - { url = "https://files.pythonhosted.org/packages/5d/9a/2f65743589809af4d0a6d3aa749343c4b5f4c380cc24a8e94a3c6625a808/yarl-1.22.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:334b8721303e61b00019474cc103bdac3d7b1f65e91f0bfedeec2d56dfe74b53", size = 97303, upload-time = "2025-10-06T14:11:50.897Z" }, - { url = "https://files.pythonhosted.org/packages/b0/ab/5b13d3e157505c43c3b43b5a776cbf7b24a02bc4cccc40314771197e3508/yarl-1.22.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1e7ce67c34138a058fd092f67d07a72b8e31ff0c9236e751957465a24b28910c", size = 361820, upload-time = "2025-10-06T14:11:52.549Z" }, - { url = "https://files.pythonhosted.org/packages/fb/76/242a5ef4677615cf95330cfc1b4610e78184400699bdda0acb897ef5e49a/yarl-1.22.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d77e1b2c6d04711478cb1c4ab90db07f1609ccf06a287d5607fcd90dc9863acf", size = 323203, upload-time = "2025-10-06T14:11:54.225Z" }, - { url = "https://files.pythonhosted.org/packages/8c/96/475509110d3f0153b43d06164cf4195c64d16999e0c7e2d8a099adcd6907/yarl-1.22.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4647674b6150d2cae088fc07de2738a84b8bcedebef29802cf0b0a82ab6face", size = 363173, upload-time = "2025-10-06T14:11:56.069Z" }, - { url = "https://files.pythonhosted.org/packages/c9/66/59db471aecfbd559a1fd48aedd954435558cd98c7d0da8b03cc6c140a32c/yarl-1.22.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:efb07073be061c8f79d03d04139a80ba33cbd390ca8f0297aae9cce6411e4c6b", size = 373562, upload-time = "2025-10-06T14:11:58.783Z" }, - { url = "https://files.pythonhosted.org/packages/03/1f/c5d94abc91557384719da10ff166b916107c1b45e4d0423a88457071dd88/yarl-1.22.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e51ac5435758ba97ad69617e13233da53908beccc6cfcd6c34bbed8dcbede486", size = 339828, upload-time = "2025-10-06T14:12:00.686Z" }, - { url = "https://files.pythonhosted.org/packages/5f/97/aa6a143d3afba17b6465733681c70cf175af89f76ec8d9286e08437a7454/yarl-1.22.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:33e32a0dd0c8205efa8e83d04fc9f19313772b78522d1bdc7d9aed706bfd6138", size = 347551, upload-time = "2025-10-06T14:12:02.628Z" }, - { url = "https://files.pythonhosted.org/packages/43/3c/45a2b6d80195959239a7b2a8810506d4eea5487dce61c2a3393e7fc3c52e/yarl-1.22.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:bf4a21e58b9cde0e401e683ebd00f6ed30a06d14e93f7c8fd059f8b6e8f87b6a", size = 334512, upload-time = "2025-10-06T14:12:04.871Z" }, - { url = "https://files.pythonhosted.org/packages/86/a0/c2ab48d74599c7c84cb104ebd799c5813de252bea0f360ffc29d270c2caa/yarl-1.22.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:e4b582bab49ac33c8deb97e058cd67c2c50dac0dd134874106d9c774fd272529", size = 352400, upload-time = "2025-10-06T14:12:06.624Z" }, - { url = "https://files.pythonhosted.org/packages/32/75/f8919b2eafc929567d3d8411f72bdb1a2109c01caaab4ebfa5f8ffadc15b/yarl-1.22.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:0b5bcc1a9c4839e7e30b7b30dd47fe5e7e44fb7054ec29b5bb8d526aa1041093", size = 357140, upload-time = "2025-10-06T14:12:08.362Z" }, - { url = "https://files.pythonhosted.org/packages/cf/72/6a85bba382f22cf78add705d8c3731748397d986e197e53ecc7835e76de7/yarl-1.22.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:c0232bce2170103ec23c454e54a57008a9a72b5d1c3105dc2496750da8cfa47c", size = 341473, upload-time = "2025-10-06T14:12:10.994Z" }, - { url = "https://files.pythonhosted.org/packages/35/18/55e6011f7c044dc80b98893060773cefcfdbf60dfefb8cb2f58b9bacbd83/yarl-1.22.0-cp314-cp314t-win32.whl", hash = "sha256:8009b3173bcd637be650922ac455946197d858b3630b6d8787aa9e5c4564533e", size = 89056, upload-time = "2025-10-06T14:12:13.317Z" }, - { url = "https://files.pythonhosted.org/packages/f9/86/0f0dccb6e59a9e7f122c5afd43568b1d31b8ab7dda5f1b01fb5c7025c9a9/yarl-1.22.0-cp314-cp314t-win_amd64.whl", hash = "sha256:9fb17ea16e972c63d25d4a97f016d235c78dd2344820eb35bc034bc32012ee27", size = 96292, upload-time = "2025-10-06T14:12:15.398Z" }, - { url = "https://files.pythonhosted.org/packages/48/b7/503c98092fb3b344a179579f55814b613c1fbb1c23b3ec14a7b008a66a6e/yarl-1.22.0-cp314-cp314t-win_arm64.whl", hash = "sha256:9f6d73c1436b934e3f01df1e1b21ff765cd1d28c77dfb9ace207f746d4610ee1", size = 85171, upload-time = "2025-10-06T14:12:16.935Z" }, { url = "https://files.pythonhosted.org/packages/73/ae/b48f95715333080afb75a4504487cbe142cae1268afc482d06692d605ae6/yarl-1.22.0-py3-none-any.whl", hash = "sha256:1380560bdba02b6b6c90de54133c81c9f2a453dee9912fe58c1dcced1edb7cff", size = 46814, upload-time = "2025-10-06T14:12:53.872Z" }, ] @@ -5226,19 +5094,4 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/8e/e0/69a553d2047f9a2c7347caa225bb3a63b6d7704ad74610cb7823baa08ed7/zstandard-0.25.0-cp313-cp313-win32.whl", hash = "sha256:7030defa83eef3e51ff26f0b7bfb229f0204b66fe18e04359ce3474ac33cbc09", size = 436936, upload-time = "2025-09-14T22:17:52.658Z" }, { url = "https://files.pythonhosted.org/packages/d9/82/b9c06c870f3bd8767c201f1edbdf9e8dc34be5b0fbc5682c4f80fe948475/zstandard-0.25.0-cp313-cp313-win_amd64.whl", hash = "sha256:1f830a0dac88719af0ae43b8b2d6aef487d437036468ef3c2ea59c51f9d55fd5", size = 506232, upload-time = "2025-09-14T22:17:50.402Z" }, { url = "https://files.pythonhosted.org/packages/d4/57/60c3c01243bb81d381c9916e2a6d9e149ab8627c0c7d7abb2d73384b3c0c/zstandard-0.25.0-cp313-cp313-win_arm64.whl", hash = "sha256:85304a43f4d513f5464ceb938aa02c1e78c2943b29f44a750b48b25ac999a049", size = 462671, upload-time = "2025-09-14T22:17:51.533Z" }, - { url = "https://files.pythonhosted.org/packages/3d/5c/f8923b595b55fe49e30612987ad8bf053aef555c14f05bb659dd5dbe3e8a/zstandard-0.25.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:e29f0cf06974c899b2c188ef7f783607dbef36da4c242eb6c82dcd8b512855e3", size = 795887, upload-time = "2025-09-14T22:17:54.198Z" }, - { url = "https://files.pythonhosted.org/packages/8d/09/d0a2a14fc3439c5f874042dca72a79c70a532090b7ba0003be73fee37ae2/zstandard-0.25.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:05df5136bc5a011f33cd25bc9f506e7426c0c9b3f9954f056831ce68f3b6689f", size = 640658, upload-time = "2025-09-14T22:17:55.423Z" }, - { url = "https://files.pythonhosted.org/packages/5d/7c/8b6b71b1ddd517f68ffb55e10834388d4f793c49c6b83effaaa05785b0b4/zstandard-0.25.0-cp314-cp314-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:f604efd28f239cc21b3adb53eb061e2a205dc164be408e553b41ba2ffe0ca15c", size = 5379849, upload-time = "2025-09-14T22:17:57.372Z" }, - { url = "https://files.pythonhosted.org/packages/a4/86/a48e56320d0a17189ab7a42645387334fba2200e904ee47fc5a26c1fd8ca/zstandard-0.25.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:223415140608d0f0da010499eaa8ccdb9af210a543fac54bce15babbcfc78439", size = 5058095, upload-time = "2025-09-14T22:17:59.498Z" }, - { url = "https://files.pythonhosted.org/packages/f8/ad/eb659984ee2c0a779f9d06dbfe45e2dc39d99ff40a319895df2d3d9a48e5/zstandard-0.25.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2e54296a283f3ab5a26fc9b8b5d4978ea0532f37b231644f367aa588930aa043", size = 5551751, upload-time = "2025-09-14T22:18:01.618Z" }, - { url = "https://files.pythonhosted.org/packages/61/b3/b637faea43677eb7bd42ab204dfb7053bd5c4582bfe6b1baefa80ac0c47b/zstandard-0.25.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ca54090275939dc8ec5dea2d2afb400e0f83444b2fc24e07df7fdef677110859", size = 6364818, upload-time = "2025-09-14T22:18:03.769Z" }, - { url = "https://files.pythonhosted.org/packages/31/dc/cc50210e11e465c975462439a492516a73300ab8caa8f5e0902544fd748b/zstandard-0.25.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e09bb6252b6476d8d56100e8147b803befa9a12cea144bbe629dd508800d1ad0", size = 5560402, upload-time = "2025-09-14T22:18:05.954Z" }, - { url = "https://files.pythonhosted.org/packages/c9/ae/56523ae9c142f0c08efd5e868a6da613ae76614eca1305259c3bf6a0ed43/zstandard-0.25.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:a9ec8c642d1ec73287ae3e726792dd86c96f5681eb8df274a757bf62b750eae7", size = 4955108, upload-time = "2025-09-14T22:18:07.68Z" }, - { url = "https://files.pythonhosted.org/packages/98/cf/c899f2d6df0840d5e384cf4c4121458c72802e8bda19691f3b16619f51e9/zstandard-0.25.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:a4089a10e598eae6393756b036e0f419e8c1d60f44a831520f9af41c14216cf2", size = 5269248, upload-time = "2025-09-14T22:18:09.753Z" }, - { url = "https://files.pythonhosted.org/packages/1b/c0/59e912a531d91e1c192d3085fc0f6fb2852753c301a812d856d857ea03c6/zstandard-0.25.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:f67e8f1a324a900e75b5e28ffb152bcac9fbed1cc7b43f99cd90f395c4375344", size = 5430330, upload-time = "2025-09-14T22:18:11.966Z" }, - { url = "https://files.pythonhosted.org/packages/a0/1d/7e31db1240de2df22a58e2ea9a93fc6e38cc29353e660c0272b6735d6669/zstandard-0.25.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:9654dbc012d8b06fc3d19cc825af3f7bf8ae242226df5f83936cb39f5fdc846c", size = 5811123, upload-time = "2025-09-14T22:18:13.907Z" }, - { url = "https://files.pythonhosted.org/packages/f6/49/fac46df5ad353d50535e118d6983069df68ca5908d4d65b8c466150a4ff1/zstandard-0.25.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:4203ce3b31aec23012d3a4cf4a2ed64d12fea5269c49aed5e4c3611b938e4088", size = 5359591, upload-time = "2025-09-14T22:18:16.465Z" }, - { url = "https://files.pythonhosted.org/packages/c2/38/f249a2050ad1eea0bb364046153942e34abba95dd5520af199aed86fbb49/zstandard-0.25.0-cp314-cp314-win32.whl", hash = "sha256:da469dc041701583e34de852d8634703550348d5822e66a0c827d39b05365b12", size = 444513, upload-time = "2025-09-14T22:18:20.61Z" }, - { url = "https://files.pythonhosted.org/packages/3a/43/241f9615bcf8ba8903b3f0432da069e857fc4fd1783bd26183db53c4804b/zstandard-0.25.0-cp314-cp314-win_amd64.whl", hash = "sha256:c19bcdd826e95671065f8692b5a4aa95c52dc7a02a4c5a0cac46deb879a017a2", size = 516118, upload-time = "2025-09-14T22:18:17.849Z" }, - { url = "https://files.pythonhosted.org/packages/f0/ef/da163ce2450ed4febf6467d77ccb4cd52c4c30ab45624bad26ca0a27260c/zstandard-0.25.0-cp314-cp314-win_arm64.whl", hash = "sha256:d7541afd73985c630bafcd6338d2518ae96060075f9463d7dc14cfb33514383d", size = 476940, upload-time = "2025-09-14T22:18:19.088Z" }, ] diff --git a/reference/vercel.json b/reference/vercel.json index dc2863a0bb..9a40afaa5f 100644 --- a/reference/vercel.json +++ b/reference/vercel.json @@ -11,6 +11,26 @@ { "source": "/python/versions/latest", "destination": "/python" + }, + { + "source": "/v1.0/:path*", + "destination": "/python/:path*" + }, + { + "source": "/python/integrations/langchain_azure/ai/:path*", + "destination": "/python/integrations/langchain_azure_ai/:path*" + }, + { + "source": "/python/integrations/langchain_azure/dynamic_sessions/:path*", + "destination": "/python/integrations/langchain_azure_dynamic_sessions/:path*" + }, + { + "source": "/python/integrations/langchain_azure/storage/:path*", + "destination": "/python/integrations/langchain_azure_storage/:path*" + }, + { + "source": "/python/langsmith/observability/sdk/reference/:path*", + "destination": "/python/integrations/langchain_azure_storage/:path*" } ] } diff --git a/scripts/filter_broken_links.py b/scripts/filter_broken_links.py index 11f9b6dceb..b156835371 100755 --- a/scripts/filter_broken_links.py +++ b/scripts/filter_broken_links.py @@ -2,7 +2,8 @@ """Filter broken links output from Mintlify. This script can optionally filter the output from 'mint broken-links' to: -1. Skip entire sections for integration directories (oss/python/integrations/ and oss/javascript/integrations/) +1. Skip entire sections for integration directories (oss/python/integrations/ + and oss/javascript/integrations/) 2. Count only the visible broken links 3. Update the final summary with the correct count diff --git a/.github/scripts/packages_yml_get_downloads.py b/scripts/packages_yml_get_downloads.py similarity index 94% rename from .github/scripts/packages_yml_get_downloads.py rename to scripts/packages_yml_get_downloads.py index 2f23877674..c05e578cd2 100644 --- a/.github/scripts/packages_yml_get_downloads.py +++ b/scripts/packages_yml_get_downloads.py @@ -68,14 +68,14 @@ def _get_downloads(p: dict) -> int: ) if downloads_updated_at is not None and downloads_updated_at > yesterday: - print(f"done: {p['name']}: {p['downloads']}") # noqa: T201 + print(f"done: {p['name']}: {p['downloads']}") continue p["downloads"] = _get_downloads(p) p["downloads_updated_at"] = current_datetime.isoformat() with PACKAGE_YML.open("w") as f: yaml.dump(data, f) - print(f"{p['name']}: {p['downloads']}") # noqa: T201 + print(f"{p['name']}: {p['downloads']}") with PACKAGE_YML.open("w") as f: diff --git a/src/docs.json b/src/docs.json index 09177e1b14..f55bcbbffe 100644 --- a/src/docs.json +++ b/src/docs.json @@ -6,7 +6,7 @@ "colors": { "primary": "#2F6868", "light": "#84C4C0", - "dark": "#2F6868" + "dark": "#1C3C3C" }, "logo": { "light": "/images/brand/langchain-docs-teal.svg", @@ -18,7 +18,7 @@ }, "fonts": { "heading": { - "family": "Inter" + "family": "Manrope" } }, "appearance": { @@ -102,11 +102,15 @@ } }, "banner": { - "content": "We've raised a $125M Series B to build the platform for agent engineering. [Read more](https://blog.langchain.com/series-b/?utm_medium=internal&utm_source=docs&utm_campaign=q4-2025_october-launch-week_aw).", - "dismissible": true + "content": "🚀 [Share how you're building agents](https://bit.ly/agent-engineering-survey) for a chance to win LangChain swag!" }, "navbar": { "links": [ + { + "label": "Ask AI", + "href": "https://chat.langchain.com/", + "icon": "message" + }, { "label": "GitHub", "href": "https://github.com/langchain-ai", @@ -120,1261 +124,1340 @@ } }, "navigation": { - "products": [ - { - "product": "Home", - "icon": "house", - "pages": [ - "index" - ] - }, - { - "product": "LangChain + LangGraph", - "icon": "link", - "description": "Open source frameworks", - "dropdowns": [ - { - "dropdown": "Python", - "icon": "python", - "tabs": [ - { - "tab": "LangChain", - "pages": [ - "oss/python/langchain/overview", - { - "group": "LangChain v1.0", - "pages": [ - "oss/python/releases/langchain-v1", - "oss/python/migrate/langchain-v1" - ] - }, - { - "group": "Get started", - "pages": [ - "oss/python/langchain/install", - "oss/python/langchain/quickstart", - "oss/python/langchain/philosophy" - ] - }, - { - "group": "Core components", - "pages": [ - "oss/python/langchain/agents", - "oss/python/langchain/models", - "oss/python/langchain/messages", - "oss/python/langchain/tools", - "oss/python/langchain/short-term-memory", - "oss/python/langchain/streaming", - "oss/python/langchain/middleware", - "oss/python/langchain/structured-output" - ] - }, - { - "group": "Advanced usage", - "pages": [ - "oss/python/langchain/guardrails", - "oss/python/langchain/runtime", - "oss/python/langchain/context-engineering", - "oss/python/langchain/mcp", - "oss/python/langchain/human-in-the-loop", - "oss/python/langchain/multi-agent", - "oss/python/langchain/retrieval", - "oss/python/langchain/long-term-memory" - ] - }, - { - "group": "Use in production", - "pages": [ - "oss/python/langchain/studio", - "oss/python/langchain/test", - "oss/python/langchain/deploy", - "oss/python/langchain/ui", - "oss/python/langchain/observability" - ] - } - ] - }, - { - "tab": "LangGraph", - "pages": [ - "oss/python/langgraph/overview", - { - "group": "LangGraph v1.0", - "pages": [ - "oss/python/releases/langgraph-v1", - "oss/python/migrate/langgraph-v1" - ] - }, - { - "group": "Get started", - "pages": [ - "oss/python/langgraph/install", - "oss/python/langgraph/quickstart", - "oss/python/langgraph/local-server", - "oss/python/langgraph/thinking-in-langgraph", - "oss/python/langgraph/workflows-agents" - ] - }, - { - "group": "Capabilities", - "pages": [ - "oss/python/langgraph/persistence", - "oss/python/langgraph/durable-execution", - "oss/python/langgraph/streaming", - "oss/python/langgraph/interrupts", - "oss/python/langgraph/use-time-travel", - "oss/python/langgraph/add-memory", - "oss/python/langgraph/use-subgraphs" - ] - }, - { - "group": "Production", - "pages": [ - "oss/python/langgraph/application-structure", - "oss/python/langgraph/studio", - "oss/python/langgraph/test", - "oss/python/langgraph/deploy", - "oss/python/langgraph/ui", - "oss/python/langgraph/observability" - ] - }, - { - "group": "LangGraph APIs", - "pages": [ + "products": [ + { + "product": "Home", + "icon": "house", + "pages": [ + "index" + ] + }, + { + "product": "LangChain + LangGraph", + "icon": "link", + "description": "Open source frameworks", + "dropdowns": [ + { + "dropdown": "Python", + "icon": "python", + "tabs": [ + { + "tab": "LangChain", + "pages": [ + "oss/python/langchain/overview", + { + "group": "LangChain v1.0", + "pages": [ + "oss/python/releases/langchain-v1", + "oss/python/migrate/langchain-v1" + ] + }, + { + "group": "Get started", + "pages": [ + "oss/python/langchain/install", + "oss/python/langchain/quickstart", + "oss/python/langchain/philosophy" + ] + }, + { + "group": "Core components", + "pages": [ + "oss/python/langchain/agents", + "oss/python/langchain/models", + "oss/python/langchain/messages", + "oss/python/langchain/tools", + "oss/python/langchain/short-term-memory", + "oss/python/langchain/streaming", + "oss/python/langchain/structured-output" + ] + }, + { + "group": "Middleware", + "pages": [ + "oss/python/langchain/middleware/overview", + "oss/python/langchain/middleware/built-in", + "oss/python/langchain/middleware/custom" + ] + }, + { + "group": "Advanced usage", + "pages": [ + "oss/python/langchain/guardrails", + "oss/python/langchain/runtime", + "oss/python/langchain/context-engineering", + "oss/python/langchain/mcp", + "oss/python/langchain/human-in-the-loop", + "oss/python/langchain/multi-agent", + "oss/python/langchain/retrieval", + "oss/python/langchain/long-term-memory" + ] + }, + { + "group": "Agent development", + "pages": [ + "oss/python/langchain/studio", + "oss/python/langchain/test", + "oss/python/langchain/ui" + ] + }, + { + "group": "Deploy with LangSmith", + "pages": [ + "oss/python/langchain/deploy", + "oss/python/langchain/observability" + ] + } + ] + }, + { + "tab": "LangGraph", + "pages": [ + "oss/python/langgraph/overview", + { + "group": "LangGraph v1.0", + "pages": [ + "oss/python/releases/langgraph-v1", + "oss/python/migrate/langgraph-v1" + ] + }, + { + "group": "Get started", + "pages": [ + "oss/python/langgraph/install", + "oss/python/langgraph/quickstart", + "oss/python/langgraph/local-server", + "oss/python/langgraph/thinking-in-langgraph", + "oss/python/langgraph/workflows-agents" + ] + }, + { + "group": "Capabilities", + "pages": [ + "oss/python/langgraph/persistence", + "oss/python/langgraph/durable-execution", + "oss/python/langgraph/streaming", + "oss/python/langgraph/interrupts", + "oss/python/langgraph/use-time-travel", + "oss/python/langgraph/add-memory", + "oss/python/langgraph/use-subgraphs" + ] + }, + { + "group": "Production", + "pages": [ + "oss/python/langgraph/application-structure", + "oss/python/langgraph/test", + "oss/python/langgraph/studio", + "oss/python/langgraph/ui", + "oss/python/langgraph/deploy", + "oss/python/langgraph/observability" + ] + }, + { + "group": "LangGraph APIs", + "pages": [ + { + "group": "Graph API", + "pages": [ + "oss/python/langgraph/choosing-apis", + "oss/python/langgraph/graph-api", + "oss/python/langgraph/use-graph-api" + ] + }, + { + "group": "Functional API", + "pages": [ + "oss/python/langgraph/functional-api", + "oss/python/langgraph/use-functional-api" + ] + }, + "oss/python/langgraph/pregel" + ] + } + ] + }, + { + "tab": "Deep Agents", + "pages": [ + "oss/python/deepagents/overview", + { + "group": "Get started", + "pages": [ + "oss/python/deepagents/quickstart", + "oss/python/deepagents/customization" + ] + }, + { + "group": "Core capabilities", + "pages": [ + "oss/python/deepagents/harness", + "oss/python/deepagents/backends", + "oss/python/deepagents/subagents", + "oss/python/deepagents/human-in-the-loop", + "oss/python/deepagents/long-term-memory", + "oss/python/deepagents/middleware" + ] + }, + { + "group": "Command line interface", + "pages": [ + "oss/python/deepagents/cli" + ] + } + ] + }, + { + "tab": "Integrations", + "pages": [ + "oss/python/integrations/providers/overview", + "oss/python/integrations/providers/all_providers", + { + "group": "Popular Providers", + "icon": "user-group", + "pages": [ + "oss/python/integrations/providers/openai", + "oss/python/integrations/providers/anthropic", + "oss/python/integrations/providers/google", + "oss/python/integrations/providers/aws", + "oss/python/integrations/providers/huggingface", + "oss/python/integrations/providers/microsoft", + "oss/python/integrations/providers/ollama", + "oss/python/integrations/providers/groq" + ] + }, + { + "group": "Integrations by component", + "icon": "plug", + "pages": [ + "oss/python/integrations/chat/index", + "oss/python/integrations/tools/index", + "oss/python/integrations/retrievers/index", + "oss/python/integrations/splitters/index", + "oss/python/integrations/text_embedding/index", + "oss/python/integrations/vectorstores/index", + "oss/python/integrations/document_loaders/index", + "oss/python/integrations/stores/index" + ] + } + ] + }, + { + "tab": "Learn", + "pages": [ + "oss/python/learn", + { + "group": "Tutorials", + "icon": "code", + "pages": [ { - "group": "Graph API", + "group": "LangChain", + "expanded": true, "pages": [ - "oss/python/langgraph/graph-api", - "oss/python/langgraph/use-graph-api" + "oss/python/langchain/knowledge-base", + "oss/python/langchain/rag", + "oss/python/langchain/sql-agent", + "oss/python/langchain/supervisor" ] }, { - "group": "Functional API", - "pages": [ - "oss/python/langgraph/functional-api", - "oss/python/langgraph/use-functional-api" - ] - }, - "oss/python/langgraph/pregel" - ] - } - ] - }, - { - "tab": "Deep Agents", - "pages": [ - "oss/python/deepagents/overview", - { - "group": "Get started", - "pages": [ - "oss/python/deepagents/quickstart", - "oss/python/deepagents/customization" - ] - }, - { - "group": "Core capabilities", - "pages": [ - "oss/python/deepagents/subagents", - "oss/python/deepagents/human-in-the-loop", - "oss/python/deepagents/long-term-memory" - ] - } - ] - }, - { - "tab": "Integrations", - "pages": [ - "oss/python/integrations/providers/overview", - "oss/python/integrations/providers/all_providers", - { - "group": "Popular Providers", - "icon": "user-group", - "pages": [ - "oss/python/integrations/providers/openai", - "oss/python/integrations/providers/anthropic", - "oss/python/integrations/providers/google", - "oss/python/integrations/providers/aws", - "oss/python/integrations/providers/huggingface", - "oss/python/integrations/providers/microsoft", - "oss/python/integrations/providers/ollama" - ] - }, - { - "group": "Integrations by component", - "icon": "plug", - "pages": [ - "oss/python/integrations/chat/index", - "oss/python/integrations/tools/index", - "oss/python/integrations/retrievers/index", - "oss/python/integrations/splitters/index", - "oss/python/integrations/text_embedding/index", - "oss/python/integrations/vectorstores/index", - "oss/python/integrations/document_loaders/index", - "oss/python/integrations/stores/index" - ] - } - ] - }, - { - "tab": "Learn", - "pages": [ - "oss/python/learn", - { - "group": "Tutorials", - "icon": "code", - "pages": [ - { - "group": "LangChain", - "expanded": true, - "pages": [ - "oss/python/langchain/knowledge-base", - "oss/python/langchain/rag", - "oss/python/langchain/sql-agent", - "oss/python/langchain/supervisor" - ] - }, - { - "group": "LangGraph", - "expanded": true, - "pages": [ - "oss/python/langgraph/agentic-rag", - "oss/python/langgraph/sql-agent" - ] - } - ] - }, - { - "group": "Conceptual overviews", - "icon": "book", - "pages": [ - "oss/python/concepts/memory", - "oss/python/concepts/context", - "oss/python/langgraph/graph-api", - "oss/python/langgraph/functional-api" - ] - }, - { - "group": "Additional resources", - "icon": "list", - "pages": [ - "oss/python/langchain/academy", - "oss/python/langgraph/case-studies" - ] - } - ] - }, - { - "tab": "Reference", - "pages": [ - "oss/python/reference/overview", - { - "group": "Reference", - "pages": [ - "oss/python/reference/langchain-python", - "oss/python/reference/langgraph-python", - "oss/python/reference/integrations-python", - "oss/python/reference/deepagents-python" - ] - }, - { - "group": "Error troubleshooting", - "pages": [ - "oss/python/langgraph/common-errors", - { - "group": "Errors", - "pages": [ - "oss/python/langgraph/GRAPH_RECURSION_LIMIT", - "oss/python/langgraph/INVALID_CHAT_HISTORY", - "oss/python/langgraph/INVALID_CONCURRENT_GRAPH_UPDATE", - "oss/python/langgraph/INVALID_GRAPH_NODE_RETURN_VALUE", - "oss/python/langgraph/MULTIPLE_SUBGRAPHS", - "oss/python/langgraph/MISSING_CHECKPOINTER" - ] - } - ] - }, - { - "group": "Release versions", - "pages": [ - "oss/python/versioning", - "oss/python/release-policy", - { - "group": "Releases", - "pages": [ - "oss/python/releases/langchain-v1" - ] - }, - { - "group": "Migration guides", - "pages": [ - "oss/python/migrate/langchain-v1" - ] - } - ] - } - ] - }, - { - "tab": "Contributing", - "pages": [ - "oss/python/contributing/overview", - { - "group": "Contribute", - "icon": "heart-circle-plus", - "pages": [ - "oss/python/contributing/documentation", - "oss/python/contributing/code" - ] - }, - { - "group": "Integrations", - "icon": "plug", - "pages": [ - { - "group": "LangChain", - "pages": [ - "oss/python/contributing/integrations-langchain", - "oss/python/contributing/implement-langchain", - "oss/python/contributing/standard-tests-langchain", - "oss/python/contributing/publish-langchain" - ] - }, - { - "group": "LangGraph", - "pages": [ - "oss/python/contributing/integrations-langgraph", - "oss/python/contributing/implement-langgraph", - "oss/python/contributing/standard-tests-langgraph", - "oss/python/contributing/publish-langgraph" - ] - }, - "oss/python/contributing/comarketing" - ] - } - ] - } - ] - }, - { - "dropdown": "TypeScript", - "icon": "square-js", - "tabs": [ - { - "tab": "LangChain", - "pages": [ - "oss/javascript/langchain/overview", - { - "group": "LangChain v1.0", - "pages": [ - "oss/javascript/releases/langchain-v1", - "oss/javascript/migrate/langchain-v1" - ] - }, - { - "group": "Get started", - "pages": [ - "oss/javascript/langchain/install", - "oss/javascript/langchain/quickstart", - "oss/javascript/langchain/philosophy" - ] - }, - { - "group": "Core components", - "pages": [ - "oss/javascript/langchain/agents", - "oss/javascript/langchain/models", - "oss/javascript/langchain/messages", - "oss/javascript/langchain/tools", - "oss/javascript/langchain/short-term-memory", - "oss/javascript/langchain/streaming", - "oss/javascript/langchain/middleware", - "oss/javascript/langchain/structured-output" - ] - }, - { - "group": "Advanced usage", - "pages": [ - "oss/javascript/langchain/guardrails", - "oss/javascript/langchain/runtime", - "oss/javascript/langchain/context-engineering", - "oss/javascript/langchain/mcp", - "oss/javascript/langchain/human-in-the-loop", - "oss/javascript/langchain/multi-agent", - "oss/javascript/langchain/retrieval", - "oss/javascript/langchain/long-term-memory" - ] - }, - { - "group": "Use in production", - "pages": [ - "oss/javascript/langchain/studio", - "oss/javascript/langchain/test", - "oss/javascript/langchain/deploy", - "oss/javascript/langchain/ui", - "oss/javascript/langchain/observability" - ] - } - ] - }, - { - "tab": "LangGraph", - "pages": [ - "oss/javascript/langgraph/overview", - { - "group": "LangGraph v1.0", - "pages": [ - "oss/javascript/releases/langgraph-v1", - "oss/javascript/migrate/langgraph-v1" - ] - }, - { - "group": "Get started", - "pages": [ - "oss/javascript/langgraph/install", - "oss/javascript/langgraph/quickstart", - "oss/javascript/langgraph/local-server", - "oss/javascript/langgraph/thinking-in-langgraph", - "oss/javascript/langgraph/workflows-agents" - ] - }, - { - "group": "Capabilities", - "pages": [ - "oss/javascript/langgraph/persistence", - "oss/javascript/langgraph/durable-execution", - "oss/javascript/langgraph/streaming", - "oss/javascript/langgraph/interrupts", - "oss/javascript/langgraph/use-time-travel", - "oss/javascript/langgraph/add-memory", - "oss/javascript/langgraph/use-subgraphs" - ] - }, - { - "group": "Production", - "pages": [ - "oss/javascript/langgraph/application-structure", - "oss/javascript/langgraph/studio", - "oss/javascript/langgraph/test", - "oss/javascript/langgraph/deploy", - "oss/javascript/langgraph/ui", - "oss/javascript/langgraph/observability" - ] - }, - { - "group": "LangGraph APIs", - "pages": [ - { - "group": "Graph API", - "pages": [ - "oss/javascript/langgraph/graph-api", - "oss/javascript/langgraph/use-graph-api" - ] - }, - { - "group": "Functional API", - "pages": [ - "oss/javascript/langgraph/functional-api", - "oss/javascript/langgraph/use-functional-api" - ] - }, - "oss/javascript/langgraph/pregel" - ] - } - ] - }, - { - "tab": "Integrations", - "pages": [ - "oss/javascript/integrations/providers/overview", - "oss/javascript/integrations/providers/all_providers", - { - "group": "Popular Providers", - "icon": "user-group", - "pages": [ - { - "group": "OpenAI", - "pages": [ - "oss/javascript/integrations/providers/openai", - "oss/javascript/integrations/chat/openai", - "oss/javascript/integrations/text_embedding/openai" - ] - }, - { - "group": "Anthropic", - "pages": [ - "oss/javascript/integrations/providers/anthropic", - "oss/javascript/integrations/chat/anthropic" - ] - }, - { - "group": "Google", - "pages": [ - "oss/javascript/integrations/providers/google", - "oss/javascript/integrations/chat/google_generative_ai", - "oss/javascript/integrations/text_embedding/google_generativeai" - ] - }, - { - "group": "AWS", - "pages": [ - "oss/javascript/integrations/providers/aws", - "oss/javascript/integrations/chat/bedrock", - "oss/javascript/integrations/text_embedding/bedrock" - ] - }, - { - "group": "Microsoft", - "pages": [ - "oss/javascript/integrations/providers/microsoft", - "oss/javascript/integrations/chat/azure", - "oss/javascript/integrations/text_embedding/azure_openai" - ] - } - ] - }, - { - "group": "General integrations", - "icon": "plug", - "pages": [ - "oss/javascript/integrations/chat/index", - "oss/javascript/integrations/tools/index", - "oss/javascript/integrations/llms/index", - "oss/javascript/integrations/stores/index", - "oss/javascript/integrations/document_transformers/index", - "oss/javascript/integrations/llm_caching/index", - "oss/javascript/integrations/callbacks/index" - ] - }, - { - "group": "RAG integrations", - "icon": "database", - "pages": [ - "oss/javascript/integrations/retrievers/index", - "oss/javascript/integrations/splitters/index", - "oss/javascript/integrations/text_embedding/index", - "oss/javascript/integrations/vectorstores/index", - "oss/javascript/integrations/document_loaders/index", - "oss/javascript/integrations/stores/index" - ] - } - ] - }, - { - "tab": "Learn", - "pages": [ - "oss/javascript/learn", - { - "group": "Tutorials", - "icon": "code", - "pages": [ - "oss/javascript/langchain/knowledge-base", - "oss/javascript/langchain/rag", - "oss/javascript/langchain/sql-agent", - "oss/javascript/langchain/supervisor", - "oss/javascript/langgraph/agentic-rag" - ] - }, - { - "group": "Conceptual overviews", - "icon": "book", - "pages": [ - "oss/javascript/concepts/memory", - "oss/javascript/concepts/context", - "oss/javascript/langgraph/graph-api", - "oss/javascript/langgraph/functional-api" - ] - }, - { - "group": "LangChain Academy", - "icon": "graduation-cap", - "pages": [ - "oss/javascript/langchain/academy" - ] - }, - { - "group": "Additional resources", - "icon": "list", - "pages": [ - "oss/javascript/langgraph/case-studies" - ] - } - ] - }, - { - "tab": "Reference", - "pages": [ - "oss/javascript/reference/overview", - { - "group": "Reference", - "pages": [ - "oss/javascript/reference/langchain-javascript", - "oss/javascript/reference/langgraph-javascript" - ] - }, - { - "group": "Error troubleshooting", - "pages": [ - "oss/javascript/langgraph/common-errors", - { - "group": "Errors", - "pages": [ - "oss/javascript/langgraph/GRAPH_RECURSION_LIMIT", - "oss/javascript/langgraph/INVALID_CHAT_HISTORY", - "oss/javascript/langgraph/INVALID_CONCURRENT_GRAPH_UPDATE", - "oss/javascript/langgraph/INVALID_GRAPH_NODE_RETURN_VALUE", - "oss/javascript/langgraph/MULTIPLE_SUBGRAPHS", - "oss/javascript/langgraph/MISSING_CHECKPOINTER" - ] - } - ] - }, - { - "group": "Release versions", - "pages": [ - "oss/javascript/versioning", - "oss/javascript/release-policy", - { - "group": "Releases", - "pages": [ - "oss/javascript/releases/langchain-v1" - ] - }, - { - "group": "Migration guides", - "pages": [ - "oss/javascript/migrate/langchain-v1" - ] - } - ] - } - ] - }, - { - "tab": "Contributing", - "pages": [ - "oss/javascript/contributing/overview", - { - "group": "Contribute", - "icon": "heart-circle-plus", - "pages": [ - "oss/javascript/contributing/documentation", - "oss/javascript/contributing/code" - ] - }, - { - "group": "Integrations", - "icon": "plug", - "pages": [ - { - "group": "LangChain", - "pages": [ - "oss/javascript/contributing/integrations-langchain", - "oss/javascript/contributing/implement-langchain", - "oss/javascript/contributing/standard-tests-langchain", - "oss/javascript/contributing/publish-langchain" - ] - }, - { - "group": "LangGraph", - "pages": [ - "oss/javascript/contributing/integrations-langgraph", - "oss/javascript/contributing/implement-langgraph", - "oss/javascript/contributing/standard-tests-langgraph", - "oss/javascript/contributing/publish-langgraph" + "group": "LangGraph", + "expanded": true, + "pages": [ + "oss/python/langgraph/agentic-rag", + "oss/python/langgraph/sql-agent" + ] + } + ] + }, + { + "group": "Conceptual overviews", + "icon": "book", + "pages": [ + "oss/python/langchain/component-architecture", + "oss/python/concepts/memory", + "oss/python/concepts/context", + "oss/python/langgraph/graph-api", + "oss/python/langgraph/functional-api" + ] + }, + { + "group": "Additional resources", + "icon": "list", + "pages": [ + "oss/python/langchain/academy", + "oss/python/langgraph/case-studies" + ] + } + ] + }, + { + "tab": "Reference", + "pages": [ + "oss/python/reference/overview", + { + "group": "Reference", + "pages": [ + "oss/python/reference/langchain-python", + "oss/python/reference/langgraph-python", + "oss/python/reference/integrations-python", + "oss/python/reference/deepagents-python" + ] + }, + { + "group": "Errors", + "pages": [ + "oss/python/common-errors" + ] + }, + { + "group": "Releases", + "pages": [ + "oss/python/versioning", + { + "group": "Releases", + "pages": [ + "oss/python/releases/langchain-v1" + ] + }, + { + "group": "Migration guides", + "pages": [ + "oss/python/migrate/langchain-v1" + ] + } + ] + }, + { + "group": "Policies", + "pages": [ + "oss/python/release-policy", + "oss/python/security-policy" + ] + } + ] + }, + { + "tab": "Contribute", + "pages": [ + "oss/python/contributing/overview", + { + "group": "Contribute", + "icon": "heart-circle-plus", + "pages": [ + "oss/python/contributing/documentation", + "oss/python/contributing/code" + ] + }, + { + "group": "Integrations", + "icon": "plug", + "pages": [ + { + "group": "LangChain", + "pages": [ + "oss/python/contributing/integrations-langchain", + "oss/python/contributing/implement-langchain", + "oss/python/contributing/standard-tests-langchain", + "oss/python/contributing/publish-langchain" + ] + }, + { + "group": "LangGraph", + "pages": [ + "oss/python/contributing/integrations-langgraph", + "oss/python/contributing/implement-langgraph", + "oss/python/contributing/standard-tests-langgraph", + "oss/python/contributing/publish-langgraph" + ] + }, + "oss/python/contributing/comarketing" + ] + } + ] + } + ] + }, + { + "dropdown": "TypeScript", + "icon": "square-js", + "tabs": [ + { + "tab": "LangChain", + "pages": [ + "oss/javascript/langchain/overview", + { + "group": "LangChain v1.0", + "pages": [ + "oss/javascript/releases/langchain-v1", + "oss/javascript/migrate/langchain-v1" + ] + }, + { + "group": "Get started", + "pages": [ + "oss/javascript/langchain/install", + "oss/javascript/langchain/quickstart", + "oss/javascript/langchain/philosophy" + ] + }, + { + "group": "Core components", + "pages": [ + "oss/javascript/langchain/agents", + "oss/javascript/langchain/models", + "oss/javascript/langchain/messages", + "oss/javascript/langchain/tools", + "oss/javascript/langchain/short-term-memory", + "oss/javascript/langchain/streaming", + "oss/javascript/langchain/structured-output" + ] + }, + { + "group": "Middleware", + "pages": [ + "oss/javascript/langchain/middleware/overview", + "oss/javascript/langchain/middleware/built-in", + "oss/javascript/langchain/middleware/custom" + ] + }, + { + "group": "Advanced usage", + "pages": [ + "oss/javascript/langchain/guardrails", + "oss/javascript/langchain/runtime", + "oss/javascript/langchain/context-engineering", + "oss/javascript/langchain/mcp", + "oss/javascript/langchain/human-in-the-loop", + "oss/javascript/langchain/multi-agent", + "oss/javascript/langchain/retrieval", + "oss/javascript/langchain/long-term-memory" + ] + }, + { + "group": "Agent development", + "pages": [ + "oss/javascript/langchain/studio", + "oss/javascript/langchain/test", + "oss/javascript/langchain/ui" + ] + }, + { + "group": "Deploy with LangSmith", + "pages": [ + "oss/javascript/langchain/deploy", + "oss/javascript/langchain/observability" + ] + } + ] + }, + { + "tab": "LangGraph", + "pages": [ + "oss/javascript/langgraph/overview", + { + "group": "LangGraph v1.0", + "pages": [ + "oss/javascript/releases/langgraph-v1", + "oss/javascript/migrate/langgraph-v1" + ] + }, + { + "group": "Get started", + "pages": [ + "oss/javascript/langgraph/install", + "oss/javascript/langgraph/quickstart", + "oss/javascript/langgraph/local-server", + "oss/javascript/langgraph/thinking-in-langgraph", + "oss/javascript/langgraph/workflows-agents" + ] + }, + { + "group": "Capabilities", + "pages": [ + "oss/javascript/langgraph/persistence", + "oss/javascript/langgraph/durable-execution", + "oss/javascript/langgraph/streaming", + "oss/javascript/langgraph/interrupts", + "oss/javascript/langgraph/use-time-travel", + "oss/javascript/langgraph/add-memory", + "oss/javascript/langgraph/use-subgraphs" ] - }, - "oss/javascript/contributing/comarketing" - ] - } - ] - } - ] - } - ] - }, - { - "product": "LangSmith", - "icon": "screwdriver-wrench", - "description": "LLM observability, evaluation, and deployment", - "tabs": [ - { - "tab": "Get started", - "pages": [ - "langsmith/home", - "langsmith/pricing-plans", - "langsmith/create-account-api-key", - { - "group": "Account administration", - "pages": [ - "langsmith/administration-overview", - "langsmith/set-up-a-workspace", - "langsmith/manage-organization-by-api", - "langsmith/billing", - "langsmith/set-up-resource-tags", - "langsmith/user-management" - ] - }, - { - "group": "Reference", - "pages": [ - "langsmith/smith-python-sdk", - "langsmith/smith-js-ts-sdk", - "langsmith/langgraph-python-sdk", - "langsmith/langgraph-js-ts-sdk", - "langsmith/smith-api-ref", - { - "group": "API reference for LangSmith Deployment", - "pages": [ - "langsmith/server-api-ref", - "langsmith/api-ref-control-plane" - ] - } - ] - }, - { - "group": "Additional resources", - "pages": [ - { - "group": "Releases & changelogs", - "pages": [ - "langsmith/langgraph-server-changelog", - "langsmith/release-versions" - ] - }, - { - "group": "Data management", - "pages": [ - "langsmith/data-storage-and-privacy", - "langsmith/data-purging-compliance" - ] - }, - "langsmith/scalability-and-resilience", - "langsmith/authentication-methods", - "langsmith/faq", - "langsmith/regions-faq", - "langsmith/pricing-faq" - ] - } - ] - }, - { - "tab": "Observability", - "pages": [ - "langsmith/observability", - "langsmith/observability-quickstart", - "langsmith/observability-concepts", - "langsmith/observability-llm-tutorial", - { - "group": "Tracing setup", - "pages": [ - { - "group": "Integrations", - "pages": [ - "langsmith/integrations", - "langsmith/trace-with-langchain", - "langsmith/trace-with-langgraph", - "langsmith/trace-anthropic", - "langsmith/trace-openai", - "langsmith/trace-with-autogen", - "langsmith/trace-claude-agent-sdk", - "langsmith/trace-claude-code", - "langsmith/trace-with-crewai", - "langsmith/trace-with-google-adk", - "langsmith/trace-with-instructor", - "langsmith/trace-with-openai-agents-sdk", - "langsmith/trace-with-opentelemetry", - "langsmith/trace-with-semantic-kernel", - "langsmith/trace-with-vercel-ai-sdk" - ] - }, - { - "group": "Manual instrumentation", - "pages": [ - "langsmith/annotate-code", - "langsmith/trace-with-api", - "langsmith/log-llm-trace", - "langsmith/log-retriever-trace" - ] - }, - "langsmith/threads" - ] - }, - { - "group":"Configuration & troubleshooting", - "pages": [ - { - "group": "Project & environment settings", - "pages": [ - "langsmith/log-traces-to-project", - "langsmith/trace-without-env-vars", - "langsmith/sample-traces" - ] - }, - { - "group": "Advanced tracing techniques", - "pages": [ - "langsmith/distributed-tracing", - "langsmith/serverless-environments", - "langsmith/log-multimodal-traces", - "langsmith/trace-generator-functions" - ] - }, - { - "group": "Data & privacy", - "pages": [ - "langsmith/add-metadata-tags", - "langsmith/mask-inputs-outputs", - "langsmith/upload-files-with-traces" - ] - }, - { - "group": "Troubleshooting guides", - "pages": [ - "langsmith/nest-traces", - "langsmith/troubleshooting-variable-caching", - "langsmith/collector-proxy" - ] - } - ] - }, - { - "group": "Viewing & managing traces", - "pages": [ - "langsmith/filter-traces-in-application", - "langsmith/export-traces", - "langsmith/compare-traces", - "langsmith/share-trace", - "langsmith/platform-logs", - "langsmith/data-export" - ] - }, - { - "group": "Automations", - "pages": [ - "langsmith/rules", - "langsmith/webhooks" - ] - }, - { - "group": "Feedback & evaluation", - "pages": [ - "langsmith/attach-user-feedback", - "langsmith/online-evaluations" - ] - }, - { - "group": "Monitoring & alerting", - "pages": [ - "langsmith/dashboards", - "langsmith/alerts", - "langsmith/alerts-webhook", - "langsmith/insights" - ] - }, - { - "group": "Data type reference", - "pages": [ - "langsmith/run-data-format", - "langsmith/feedback-data-format", - "langsmith/trace-query-syntax" - ] - } - ] - }, - { - "tab": "Evaluation", - "pages": [ - "langsmith/evaluation", - "langsmith/evaluation-quickstart", - "langsmith/evaluation-concepts", - "langsmith/evaluation-approaches", - { - "group": "Datasets", - "pages": [ - { - "group": "Create a dataset", - "pages": [ - "langsmith/manage-datasets-in-application", - "langsmith/manage-datasets-programmatically" - ] - }, - "langsmith/manage-datasets" - ] - }, - { - "group": "Set up evaluations", - "pages": [ - { - "group": "Run an evaluation", - "pages": [ - "langsmith/evaluate-llm-application", - "langsmith/run-evaluation-from-prompt-playground", - "langsmith/prebuilt-evaluators" - ] - }, - { - "group": "Evaluation types", - "pages": [ - "langsmith/code-evaluator", - "langsmith/llm-as-judge", - "langsmith/composite-evaluators", - "langsmith/summary", - "langsmith/evaluate-pairwise" - ] - }, - { - "group": "Frameworks & integrations", - "pages": [ - "langsmith/evaluation-async", - "langsmith/pytest", - "langsmith/vitest-jest", - "langsmith/run-evals-api-only" - ] - }, - { - "group": "Evaluation techniques", - "pages": [ - "langsmith/define-target-function", - "langsmith/evaluate-on-intermediate-steps", - "langsmith/multiple-scores", - "langsmith/metric-type", - "langsmith/bind-evaluator-to-dataset", - "langsmith/repetition", - "langsmith/rate-limiting", - "langsmith/local", - "langsmith/langchain-runnable", - "langsmith/evaluate-graph", - "langsmith/evaluate-existing-experiment", - "langsmith/evaluate-with-attachments", - "langsmith/multi-turn-simulation", - "langsmith/trajectory-evals" - ] - }, - { - "group": "Improve evaluators", - "pages": [ - "langsmith/improve-judge-evaluator-feedback", - "langsmith/create-few-shot-evaluators", - "langsmith/index-datasets-for-dynamic-few-shot-example-selection" - ] - }, - { - "group": "Tutorials", - "pages": [ - "langsmith/evaluate-chatbot-tutorial", - "langsmith/evaluate-rag-tutorial", - "langsmith/test-react-agent-pytest", - "langsmith/evaluate-complex-agent", - "langsmith/run-backtests-new-agent" - ] - } - ] - }, - { - "group": "Analyze experiment results", - "pages": [ - "langsmith/analyze-an-experiment", - "langsmith/compare-experiment-results", - "langsmith/filter-experiments-ui", - "langsmith/fetch-perf-metrics-experiment", - "langsmith/upload-existing-experiments" - ] - }, - { - "group": "Annotation & human feedback", - "pages": [ - "langsmith/annotation-queues", - "langsmith/set-up-feedback-criteria", - "langsmith/annotate-traces-inline", - "langsmith/audit-evaluator-scores" - ] - }, - { - "group": "Common data types", - "pages": [ - "langsmith/example-data-format", - "langsmith/dataset-json-types", - "langsmith/dataset-transformations" - ] - } - ] - }, - { - "tab": "Prompt engineering", - "pages": [ - "langsmith/prompt-engineering", - "langsmith/prompt-engineering-quickstart", - "langsmith/prompt-engineering-concepts", - { - "group": "Create and update prompts", - "pages": [ - "langsmith/create-a-prompt", - "langsmith/manage-prompts", - "langsmith/manage-prompts-programmatically", - "langsmith/managing-model-configurations", - "langsmith/use-tools", - "langsmith/multimodal-content", - "langsmith/write-prompt-with-ai", - { - "group": "Connect to models", - "pages": [ - "langsmith/custom-openai-compliant-model", - "langsmith/custom-endpoint" - ] - } - ] - }, - { - "group": "Tutorials", - "pages": [ - "langsmith/optimize-classifier", - "langsmith/prompt-commit", - "langsmith/multiple-messages" - ] - } - ] - }, - { - "tab": "Deployment", - "pages": [ - "langsmith/deployments", - "langsmith/local-server", - "langsmith/app-development", - { - "group": "Deploy to Cloud", - "pages": [ - "langsmith/deployment-quickstart", - "langsmith/deploy-to-cloud" - ] - }, - { - "group": "Configure for deployment", - "pages": [ - "langsmith/application-structure", - { - "group": "Setup", - "pages": [ - "langsmith/setup-app-requirements-txt", - "langsmith/setup-pyproject", - "langsmith/setup-javascript", - "langsmith/monorepo-support" + }, + { + "group": "Production", + "pages": [ + "oss/javascript/langgraph/application-structure", + "oss/javascript/langgraph/test", + "oss/javascript/langgraph/studio", + "oss/javascript/langgraph/ui", + "oss/javascript/langgraph/deploy", + "oss/javascript/langgraph/observability" + ] + }, + { + "group": "LangGraph APIs", + "pages": [ + { + "group": "Graph API", + "pages": [ + "oss/javascript/langgraph/choosing-apis", + "oss/javascript/langgraph/graph-api", + "oss/javascript/langgraph/use-graph-api" + ] + }, + { + "group": "Functional API", + "pages": [ + "oss/javascript/langgraph/functional-api", + "oss/javascript/langgraph/use-functional-api" + ] + }, + "oss/javascript/langgraph/pregel" + ] + } + ] + }, + { + "tab": "Deep Agents", + "pages": [ + "oss/javascript/deepagents/overview", + { + "group": "Get started", + "pages": [ + "oss/javascript/deepagents/quickstart", + "oss/javascript/deepagents/customization" + ] + }, + { + "group": "Core capabilities", + "pages": [ + "oss/javascript/deepagents/harness", + "oss/javascript/deepagents/backends", + "oss/javascript/deepagents/subagents", + "oss/javascript/deepagents/human-in-the-loop", + "oss/javascript/deepagents/long-term-memory", + "oss/javascript/deepagents/middleware" + ] + }, + { + "group": "Deep Agents CLI", + "pages": [ + "oss/javascript/deepagents/cli" + ] + } + ] + }, + { + "tab": "Integrations", + "pages": [ + "oss/javascript/integrations/providers/overview", + "oss/javascript/integrations/providers/all_providers", + { + "group": "Popular Providers", + "icon": "user-group", + "pages": [ + { + "group": "OpenAI", + "pages": [ + "oss/javascript/integrations/providers/openai", + "oss/javascript/integrations/chat/openai", + "oss/javascript/integrations/text_embedding/openai" + ] + }, + { + "group": "Anthropic", + "pages": [ + "oss/javascript/integrations/providers/anthropic", + "oss/javascript/integrations/chat/anthropic" + ] + }, + { + "group": "Google", + "pages": [ + "oss/javascript/integrations/providers/google", + "oss/javascript/integrations/chat/google_generative_ai", + "oss/javascript/integrations/text_embedding/google_generativeai" + ] + }, + { + "group": "AWS", + "pages": [ + "oss/javascript/integrations/providers/aws", + "oss/javascript/integrations/chat/bedrock", + "oss/javascript/integrations/text_embedding/bedrock" + ] + }, + { + "group": "Microsoft", + "pages": [ + "oss/javascript/integrations/providers/microsoft", + "oss/javascript/integrations/chat/azure", + "oss/javascript/integrations/text_embedding/azure_openai" + ] + } + ] + }, + { + "group": "General integrations", + "icon": "plug", + "pages": [ + "oss/javascript/integrations/chat/index", + "oss/javascript/integrations/tools/index", + "oss/javascript/integrations/llms/index", + "oss/javascript/integrations/stores/index", + "oss/javascript/integrations/document_transformers/index", + "oss/javascript/integrations/llm_caching/index", + "oss/javascript/integrations/callbacks/index" + ] + }, + { + "group": "RAG integrations", + "icon": "database", + "pages": [ + "oss/javascript/integrations/retrievers/index", + "oss/javascript/integrations/splitters/index", + "oss/javascript/integrations/text_embedding/index", + "oss/javascript/integrations/vectorstores/index", + "oss/javascript/integrations/document_loaders/index", + "oss/javascript/integrations/stores/index" + ] + } + ] + }, + { + "tab": "Learn", + "pages": [ + "oss/javascript/learn", + { + "group": "Tutorials", + "icon": "code", + "pages": [ + "oss/javascript/langchain/knowledge-base", + "oss/javascript/langchain/rag", + "oss/javascript/langchain/sql-agent", + "oss/javascript/langchain/supervisor", + "oss/javascript/langgraph/agentic-rag" + ] + }, + { + "group": "Conceptual overviews", + "icon": "book", + "pages": [ + "oss/javascript/langchain/component-architecture", + "oss/javascript/concepts/memory", + "oss/javascript/concepts/context", + "oss/javascript/langgraph/graph-api", + "oss/javascript/langgraph/functional-api" ] }, { - "group": "Deployment components", + "group": "LangChain Academy", + "icon": "graduation-cap", "pages": [ - "langsmith/components", - "langsmith/langgraph-server", - "langsmith/data-plane", - "langsmith/control-plane" + "oss/javascript/langchain/academy" ] }, - "langsmith/graph-rebuild", - "langsmith/use-remote-graph", - "langsmith/semantic-search", - "langsmith/configure-ttl", - "langsmith/cicd-pipeline-example" + { + "group": "Additional resources", + "icon": "list", + "pages": [ + "oss/javascript/langgraph/case-studies" + ] + } ] - }, - { - "group": "App development", - "pages": [ - { - "group": "Data models", - "pages": [ - { - "group": "Assistants", - "pages": [ - "langsmith/assistants", - "langsmith/configuration-cloud", - "langsmith/use-threads" + }, + { + "tab": "Reference", + "pages": [ + "oss/javascript/reference/overview", + { + "group": "Reference", + "pages": [ + "oss/javascript/reference/langchain-javascript", + "oss/javascript/reference/langgraph-javascript", + "oss/javascript/reference/deepagents-javascript" + ] + }, + { + "group": "Errors", + "pages": [ + "oss/javascript/common-errors" + ] + }, + { + "group": "Releases", + "pages": [ + "oss/javascript/versioning", + { + "group": "Releases", + "pages": [ + "oss/javascript/releases/langchain-v1" + ] + }, + { + "group": "Migration guides", + "pages": [ + "oss/javascript/migrate/langchain-v1" + ] + } + ] + }, + { + "group": "Policies", + "pages": [ + "oss/javascript/release-policy", + "oss/javascript/security-policy" + ] + } + ] + }, + { + "tab": "Contribute", + "pages": [ + "oss/javascript/contributing/overview", + { + "group": "Contribute", + "icon": "heart-circle-plus", + "pages": [ + "oss/javascript/contributing/documentation", + "oss/javascript/contributing/code" + ] + }, + { + "group": "Integrations", + "icon": "plug", + "pages": [ + { + "group": "LangChain", + "pages": [ + "oss/javascript/contributing/integrations-langchain", + "oss/javascript/contributing/implement-langchain", + "oss/javascript/contributing/standard-tests-langchain", + "oss/javascript/contributing/publish-langchain" + ] + }, + { + "group": "LangGraph", + "pages": [ + "oss/javascript/contributing/integrations-langgraph", + "oss/javascript/contributing/implement-langgraph", + "oss/javascript/contributing/standard-tests-langgraph", + "oss/javascript/contributing/publish-langgraph" + ] + }, + "oss/javascript/contributing/comarketing" + ] + } + ] + } + ] + } + ] + }, + { + "product": "LangSmith", + "icon": "screwdriver-wrench", + "description": "LLM observability, evaluation, and deployment", + "tabs": [ + { + "tab": "Get started", + "pages": [ + "langsmith/home", + "langsmith/pricing-plans", + "langsmith/create-account-api-key", + { + "group": "Account administration", + "pages": [ + "langsmith/administration-overview", + "langsmith/set-up-a-workspace", + "langsmith/manage-organization-by-api", + "langsmith/billing", + "langsmith/set-up-resource-tags", + "langsmith/user-management" + ] + }, + { + "group": "Reference", + "pages": [ + "langsmith/smith-python-sdk", + "langsmith/smith-js-ts-sdk", + "langsmith/langgraph-python-sdk", + "langsmith/langgraph-js-ts-sdk", + "langsmith/smith-api-ref", + { + "group": "API reference for LangSmith Deployment", + "pages": [ + "langsmith/server-api-ref", + "langsmith/api-ref-control-plane" + ] + } + ] + }, + { + "group": "Additional resources", + "pages": [ + { + "group": "Releases & changelogs", + "pages": [ + "langsmith/agent-server-changelog", + "langsmith/release-versions" + ] + }, + { + "group": "Data management", + "pages": [ + "langsmith/data-storage-and-privacy", + "langsmith/data-purging-compliance" + ] + }, + { + "group": "Access control & Authentication", + "pages": [ + "langsmith/rbac", + "langsmith/organization-workspace-operations", + "langsmith/authentication-methods" + ] + }, + "langsmith/scalability-and-resilience", + "langsmith/faq", + "langsmith/regions-faq", + "langsmith/pricing-faq" + ] + } + ] + }, + { + "tab": "Observability", + "pages": [ + "langsmith/observability", + "langsmith/observability-quickstart", + "langsmith/observability-concepts", + "langsmith/observability-llm-tutorial", + { + "group": "Tracing setup", + "pages": [ + { + "group": "Integrations", + "pages": [ + "langsmith/integrations", + "langsmith/trace-with-langchain", + "langsmith/trace-with-langgraph", + "langsmith/trace-anthropic", + "langsmith/trace-openai", + "langsmith/trace-with-autogen", + "langsmith/trace-claude-agent-sdk", + "langsmith/trace-claude-code", + "langsmith/trace-with-crewai", + "langsmith/trace-with-google-adk", + "langsmith/trace-with-instructor", + "langsmith/trace-with-openai-agents-sdk", + "langsmith/trace-with-opentelemetry", + "langsmith/trace-with-semantic-kernel", + "langsmith/trace-with-vercel-ai-sdk" + ] + }, + { + "group": "Manual instrumentation", + "pages": [ + "langsmith/annotate-code", + "langsmith/trace-with-api", + "langsmith/log-llm-trace", + "langsmith/log-retriever-trace" + ] + }, + "langsmith/threads" + ] + }, + { + "group":"Configuration & troubleshooting", + "pages": [ + { + "group": "Project & environment settings", + "pages": [ + "langsmith/log-traces-to-project", + "langsmith/trace-without-env-vars", + "langsmith/sample-traces" + ] + }, + "langsmith/cost-tracking", + { + "group": "Advanced tracing techniques", + "pages": [ + "langsmith/distributed-tracing", + "langsmith/serverless-environments", + "langsmith/log-multimodal-traces", + "langsmith/trace-generator-functions" + ] + }, + { + "group": "Data & privacy", + "pages": [ + "langsmith/add-metadata-tags", + "langsmith/mask-inputs-outputs", + "langsmith/upload-files-with-traces" + ] + }, + { + "group": "Troubleshooting guides", + "pages": [ + "langsmith/nest-traces", + "langsmith/troubleshooting-variable-caching", + "langsmith/collector-proxy" + ] + } + ] + }, + { + "group": "Viewing & managing traces", + "pages": [ + "langsmith/filter-traces-in-application", + "langsmith/export-traces", + "langsmith/compare-traces", + "langsmith/share-trace", + "langsmith/platform-logs", + "langsmith/data-export" + ] + }, + { + "group": "Automations", + "pages": [ + "langsmith/rules", + "langsmith/webhooks" + ] + }, + { + "group": "Feedback & evaluation", + "pages": [ + "langsmith/attach-user-feedback", + "langsmith/online-evaluations" + ] + }, + { + "group": "Monitoring & alerting", + "pages": [ + "langsmith/dashboards", + "langsmith/alerts", + "langsmith/alerts-webhook", + "langsmith/insights" + ] + }, + { + "group": "Data type reference", + "pages": [ + "langsmith/run-data-format", + "langsmith/feedback-data-format", + "langsmith/trace-query-syntax" + ] + } + ] + }, + { + "tab": "Evaluation", + "pages": [ + "langsmith/evaluation", + "langsmith/evaluation-quickstart", + "langsmith/evaluation-concepts", + "langsmith/evaluation-approaches", + { + "group": "Datasets", + "pages": [ + { + "group": "Create a dataset", + "pages": [ + "langsmith/manage-datasets-in-application", + "langsmith/manage-datasets-programmatically" + ] + }, + "langsmith/manage-datasets", + "langsmith/custom-output-rendering" + ] + }, + { + "group": "Set up evaluations", + "pages": [ + { + "group": "Run an evaluation", + "pages": [ + "langsmith/evaluate-llm-application", + "langsmith/run-evaluation-from-prompt-playground", + "langsmith/prebuilt-evaluators" + ] + }, + { + "group": "Evaluation types", + "pages": [ + "langsmith/code-evaluator", + "langsmith/llm-as-judge", + "langsmith/composite-evaluators", + "langsmith/summary", + "langsmith/evaluate-pairwise" + ] + }, + { + "group": "Frameworks & integrations", + "pages": [ + "langsmith/evaluation-async", + "langsmith/pytest", + "langsmith/vitest-jest", + "langsmith/run-evals-api-only" + ] + }, + { + "group": "Evaluation techniques", + "pages": [ + "langsmith/define-target-function", + "langsmith/evaluate-on-intermediate-steps", + "langsmith/multiple-scores", + "langsmith/metric-type", + "langsmith/bind-evaluator-to-dataset", + "langsmith/repetition", + "langsmith/rate-limiting", + "langsmith/local", + "langsmith/read-local-experiment-results", + "langsmith/langchain-runnable", + "langsmith/evaluate-graph", + "langsmith/evaluate-existing-experiment", + "langsmith/evaluate-with-attachments", + "langsmith/multi-turn-simulation", + "langsmith/trajectory-evals" + ] + }, + { + "group": "Improve evaluators", + "pages": [ + "langsmith/improve-judge-evaluator-feedback", + "langsmith/create-few-shot-evaluators", + "langsmith/index-datasets-for-dynamic-few-shot-example-selection" + ] + }, + { + "group": "Tutorials", + "pages": [ + "langsmith/evaluate-chatbot-tutorial", + "langsmith/evaluate-rag-tutorial", + "langsmith/test-react-agent-pytest", + "langsmith/evaluate-complex-agent", + "langsmith/run-backtests-new-agent" + ] + } + ] + }, + { + "group": "Analyze experiment results", + "pages": [ + "langsmith/analyze-an-experiment", + "langsmith/compare-experiment-results", + "langsmith/filter-experiments-ui", + "langsmith/fetch-perf-metrics-experiment", + "langsmith/upload-existing-experiments" + ] + }, + { + "group": "Annotation & human feedback", + "pages": [ + "langsmith/annotation-queues", + "langsmith/set-up-feedback-criteria", + "langsmith/annotate-traces-inline", + "langsmith/audit-evaluator-scores" + ] + }, + { + "group": "Common data types", + "pages": [ + "langsmith/example-data-format", + "langsmith/dataset-json-types", + "langsmith/dataset-transformations" + ] + } + ] + }, + { + "tab": "Prompt engineering", + "pages": [ + "langsmith/prompt-engineering", + "langsmith/prompt-engineering-quickstart", + "langsmith/prompt-engineering-concepts", + { + "group": "Create and update prompts", + "pages": [ + "langsmith/create-a-prompt", + "langsmith/manage-prompts", + "langsmith/manage-prompts-programmatically", + "langsmith/managing-model-configurations", + "langsmith/use-tools", + "langsmith/multimodal-content", + "langsmith/write-prompt-with-ai", + { + "group": "Connect to models", + "pages": [ + "langsmith/custom-openai-compliant-model", + "langsmith/custom-endpoint" + ] + } + ] + }, + { + "group": "Tutorials", + "pages": [ + "langsmith/optimize-classifier", + "langsmith/prompt-commit", + "langsmith/multiple-messages" + ] + } + ] + }, + { + "tab": "Deployment", + "pages": [ + "langsmith/deployments", + "langsmith/local-server", + "langsmith/app-development", + "langsmith/deployment-quickstart", + { + "group": "Configure app for deployment", + "pages": [ + "langsmith/application-structure", + { + "group": "Setup", + "pages": [ + "langsmith/setup-app-requirements-txt", + "langsmith/setup-pyproject", + "langsmith/setup-javascript", + "langsmith/monorepo-support" ] }, { - "group": "Runs", - "pages": [ - "langsmith/background-run", - "langsmith/same-thread", - "langsmith/cron-jobs", - "langsmith/stateless-runs", - "langsmith/configurable-headers" - ] - } - ] - }, - { - "group": "Core capabilities", - "pages": [ - "langsmith/streaming", - "langsmith/add-human-in-the-loop", - "langsmith/human-in-the-loop-time-travel", - "langsmith/server-mcp", - "langsmith/server-a2a", - "langsmith/use-webhooks", - { - "group": "Double-texting", - "pages": [ - "langsmith/double-texting", - "langsmith/interrupt-concurrent", - "langsmith/rollback-concurrent", - "langsmith/reject-concurrent", - "langsmith/enqueue-concurrent" - ] - } - ] - }, - { - "group": "Tutorials", - "pages": [ - "langsmith/autogen-integration", - "langsmith/use-stream-react", - "langsmith/generative-ui-react" - ] - } - ] - }, - { - "group": "Studio", - "pages": [ - "langsmith/studio", - "langsmith/quick-start-studio", - "langsmith/use-studio", - "langsmith/observability-studio", - "langsmith/troubleshooting-studio" - ] - }, - { - "group": "Auth & access control", - "pages": [ - "langsmith/auth", - "langsmith/custom-auth", - "langsmith/set-up-custom-auth", - "langsmith/resource-auth", - "langsmith/add-auth-server", - "langsmith/openapi-security", - "langsmith/agent-auth" - ] - }, - { - "group": "Server customization", - "pages": [ - "langsmith/custom-lifespan", - "langsmith/custom-middleware", - "langsmith/custom-routes" - ] - }, - { - "group": "Reference", - "pages": [ - "langsmith/remote-graph", - "langsmith/cli", - "langsmith/env-var" - ] - } - ] - }, - { - "tab": "Agent Builder", - "pages": [ - "langsmith/agent-builder", - "langsmith/agent-builder-setup" - ] - }, - { - "tab": "Hosting", - "groups": [ - { - "group": "Overview", - "pages": [ - "langsmith/hosting", - "langsmith/cloud" - ] - }, - { - "group": "Hybrid", - "pages": [ - "langsmith/hybrid", - "langsmith/deploy-hybrid" - ] - }, - { - "group": "Self-hosted", - "pages": [ - "langsmith/self-hosted", - { - "group": "Setup guides", - "pages": [ - { - "group": "LangSmith", - "icon": "server", + "group": "Deployment components", "pages": [ - "langsmith/kubernetes", - "langsmith/docker" + "langsmith/components", + "langsmith/agent-server", + "langsmith/data-plane", + "langsmith/control-plane" ] }, - "langsmith/deploy-self-hosted-full-platform", - "langsmith/deploy-standalone-server", - { - "group": "Manage an installation", - "pages": [ - "langsmith/self-host-usage", - "langsmith/self-host-upgrades", - "langsmith/self-host-egress", - "langsmith/self-host-organization-charts", - "langsmith/langsmith-managed-clickhouse", - "langsmith/self-host-ingress", - "langsmith/self-host-mirroring-images" - ] - } - ] - }, - { - "group": "Configuration", - "pages": [ - "langsmith/self-host-scale", - "langsmith/self-host-ttl", - "langsmith/custom-docker", - "langsmith/self-host-playground-environment-settings", - "langsmith/troubleshooting" - ] - }, - { - "group": "Connect external services", - "pages": [ - "langsmith/self-host-blob-storage", - "langsmith/self-host-external-clickhouse", - "langsmith/self-host-external-postgres", - "langsmith/self-host-external-redis" - ] - }, - { - "group": "Platform auth & access control", - "pages": [ - "langsmith/self-host-basic-auth", - "langsmith/self-host-sso", - "langsmith/self-host-user-management", - "langsmith/self-host-custom-tls-certificates", - "langsmith/self-host-using-an-existing-secret" - ] - }, - { - "group": "Self-hosted observability", - "pages": [ - "langsmith/export-backend", - "langsmith/langsmith-collector", - "langsmith/observability-stack" - ] - }, - { - "group": "Scripts for management tasks", - "pages": [ - "langsmith/script-delete-a-workspace", - "langsmith/script-delete-an-organization", - "langsmith/script-delete-traces", - "langsmith/script-generate-clickhouse-stats", - "langsmith/script-generate-query-stats", - "langsmith/script-running-pg-support-queries", - "langsmith/script-running-ch-support-queries" + "langsmith/graph-rebuild", + "langsmith/use-remote-graph", + "langsmith/semantic-search", + "langsmith/configure-ttl", + "langsmith/agent-server-scale", + "langsmith/cicd-pipeline-example" + ] + }, + { + "group": "Deployment guides", + "pages": [ + "langsmith/deploy-to-cloud", + "langsmith/deploy-with-control-plane", + "langsmith/deploy-standalone-server" + ] + }, + { + "group": "App development", + "pages": [ + { + "group": "Data models", + "pages": [ + { + "group": "Assistants", + "pages": [ + "langsmith/assistants", + "langsmith/configuration-cloud", + "langsmith/use-threads" + ] + }, + { + "group": "Runs", + "pages": [ + "langsmith/background-run", + "langsmith/same-thread", + "langsmith/cron-jobs", + "langsmith/stateless-runs", + "langsmith/configurable-headers" + ] + } + ] + }, + { + "group": "Core capabilities", + "pages": [ + "langsmith/streaming", + "langsmith/add-human-in-the-loop", + "langsmith/human-in-the-loop-time-travel", + "langsmith/server-mcp", + "langsmith/server-a2a", + "langsmith/use-webhooks", + { + "group": "Double-texting", + "pages": [ + "langsmith/double-texting", + "langsmith/interrupt-concurrent", + "langsmith/rollback-concurrent", + "langsmith/reject-concurrent", + "langsmith/enqueue-concurrent" + ] + } + ] + }, + { + "group": "Tutorials", + "pages": [ + "langsmith/autogen-integration", + "langsmith/use-stream-react", + "langsmith/generative-ui-react" + ] + } + ] + }, + { + "group": "Studio", + "pages": [ + "langsmith/studio", + "langsmith/quick-start-studio", + "langsmith/use-studio", + "langsmith/observability-studio", + "langsmith/troubleshooting-studio" + ] + }, + { + "group": "Auth & access control", + "pages": [ + "langsmith/auth", + "langsmith/custom-auth", + "langsmith/set-up-custom-auth", + "langsmith/resource-auth", + "langsmith/add-auth-server", + "langsmith/openapi-security", + "langsmith/agent-auth" + ] + }, + { + "group": "Server customization", + "pages": [ + "langsmith/custom-lifespan", + "langsmith/custom-middleware", + "langsmith/custom-routes" + ] + }, + { + "group": "Reference", + "pages": [ + "langsmith/cli", + "langsmith/agent-server-api-ref", + "langsmith/langgraph-python-sdk", + "langsmith/langgraph-js-ts-sdk", + "langsmith/remote-graph", + "langsmith/env-var" + ] + } + ] + }, + { + "tab": "Agent Builder", + "pages": [ + "langsmith/agent-builder", + "langsmith/agent-builder-setup", + "langsmith/agent-builder-tools", + "langsmith/agent-builder-mcp-framework", + "langsmith/agent-builder-slack-app" + ] + }, + { + "tab": "Platform setup", + "groups": [ + { + "group": "Overview", + "pages": [ + "langsmith/platform-setup", + "langsmith/cloud" + ] + }, + { + "group": "Hybrid", + "pages": [ + "langsmith/hybrid", + "langsmith/deploy-hybrid" + ] + }, + { + "group": "Self-hosted", + "pages": [ + "langsmith/self-hosted", + { + "group": "Setup guides", + "pages": [ + { + "group": "LangSmith", + "icon": "server", + "pages": [ + "langsmith/kubernetes", + "langsmith/docker" + ] + }, + "langsmith/deploy-self-hosted-full-platform", + { + "group": "Manage an installation", + "pages": [ + "langsmith/self-host-usage", + "langsmith/self-host-upgrades", + "langsmith/self-host-egress", + "langsmith/self-host-organization-charts", + "langsmith/langsmith-managed-clickhouse", + "langsmith/self-host-ingress", + "langsmith/self-host-mirroring-images" + ] + } + ] + }, + { + "group": "Configuration", + "pages": [ + "langsmith/self-host-scale", + "langsmith/self-host-ttl", + "langsmith/custom-docker", + "langsmith/self-host-playground-environment-settings", + "langsmith/troubleshooting" + ] + }, + { + "group": "Connect external services", + "pages": [ + "langsmith/self-host-blob-storage", + "langsmith/self-host-external-clickhouse", + "langsmith/self-host-external-postgres", + "langsmith/self-host-external-redis" + ] + }, + { + "group": "Platform auth & access control", + "pages": [ + "langsmith/self-host-basic-auth", + "langsmith/self-host-sso", + "langsmith/self-host-user-management", + "langsmith/self-host-custom-tls-certificates", + "langsmith/self-host-using-an-existing-secret" + ] + }, + { + "group": "Self-hosted observability", + "pages": [ + "langsmith/export-backend", + "langsmith/langsmith-collector", + "langsmith/observability-stack" + ] + }, + { + "group": "Scripts for management tasks", + "pages": [ + "langsmith/script-delete-a-workspace", + "langsmith/script-delete-an-organization", + "langsmith/script-delete-traces", + "langsmith/script-generate-clickhouse-stats", + "langsmith/script-generate-query-stats", + "langsmith/script-running-pg-support-queries", + "langsmith/script-running-ch-support-queries" + ] + } ] } ] @@ -1382,8 +1465,6 @@ ] } ] - } - ] }, "interaction": { "drilldown": true @@ -1396,133 +1477,377 @@ } }, "redirects": [ - { - "source": "/langsmith/cloud-architecture-and-scalability", - "destination": "/langsmith/cloud#cloud-architecture-and-scalability" - }, - { - "source": "/langsmith/reference-overview", - "destination": "/langsmith/home" - }, - { - "source": "/oss/python/langchain-agents", - "destination": "/oss/python/langchain/agents" - }, - { - "source": "/oss/javascript/langchain-agents", - "destination": "/oss/javascript/langchain/agents" - }, - { - "source": "/oss/python/langchain-models", - "destination": "/oss/python/langchain/models" - }, - { - "source": "/oss/javascript/langchain-models", - "destination": "/oss/javascript/langchain/models" - }, - { - "source": "/oss/python/langchain-messages", - "destination": "/oss/python/langchain/messages" - }, - { - "source": "/oss/javascript/langchain-messages", - "destination": "/oss/javascript/langchain/messages" - }, - { - "source": "/oss/python/langchain-tools", - "destination": "/oss/python/langchain/tools" - }, - { - "source": "/oss/javascript/langchain-tools", - "destination": "/oss/javascript/langchain/tools" - }, - { - "source": "/oss/python/langchain-memory", - "destination": "/oss/python/langchain/short-term-memory" - }, - { - "source": "/oss/javascript/langchain-memory", - "destination": "/oss/javascript/langchain/short-term-memory" - }, - { - "source": "/oss/python/langchain-streaming", - "destination": "/oss/python/langchain/streaming" - }, - { - "source": "/oss/javascript/langchain-streaming", - "destination": "/oss/javascript/langchain/streaming" - }, - { - "source": "/oss/python/releases-v1", - "destination": "/oss/python/releases/langchain-v1" - }, - { - "source": "/oss/javascript/releases-v1", - "destination": "/oss/javascript/releases/langchain-v1" - }, - { - "source": "/oss/python/langgraph/human-in-the-loop", - "destination": "/oss/python/langgraph/interrupts" - }, - { - "source": "/oss/javascript/langgraph/human-in-the-loop", - "destination": "/oss/javascript/langgraph/interrupts" - }, - { - "source": "/langgraph-platform/index", - "destination": "/langsmith/deployments" - }, - { - "source": "/langsmith/langgraph-platform-logs", - "destination": "/langsmith/platform-logs" - }, - { - "source": "/langgraph-platform/deployment-options", - "destination": "/langsmith/hosting" - }, - { - "source": "/langgraph-platform/langgraph-studio", - "destination": "/langsmith/studio" - }, - { - "source": "/langgraph-platform/langgraph-cli", - "destination": "/langsmith/cli" - }, - { - "source": "/langsmith/api-ref", - "destination": "/langsmith/smith-api-ref" - }, - { - "source": "/langsmith/js-ts-sdk", - "destination": "/langsmith/smith-js-ts-sdk" - }, - { - "source": "/langsmith/python-sdk", - "destination": "/langsmith/smith-python-sdk" - }, - { - "source": "/langgraph-platform/egress-metrics-metadata", - "destination": "/langsmith/self-host-egress" - }, - { - "source": "/langgraph-platform/why-langgraph", - "destination": "/langsmith/app-development" - }, - { - "source": "/langgraph-platform/:path*", - "destination": "/langsmith/:path*" - }, - { - "source": "/oss/python/deepagents/index", - "destination": "/oss/python/deepagents/overview" - }, - { - "source": "/oss/python/integrations/document_loaders/azure_blob_storage_container", - "destination": "/oss/python/integrations/document_loaders/azure_blob_storage" - }, - { - "source": "/oss/python/integrations/document_loaders/azure_blob_storage_file", - "destination": "/oss/python/integrations/document_loaders/azure_blob_storage" - } -] + { + "source": "/langchain", + "destination": "/oss/python/langchain/overview" + }, + { + "source": "/langgraph", + "destination": "/oss/python/langgraph/overview" + }, + { + "source": "/deepagents", + "destination": "/oss/python/deepagents/overview" + }, + { + "source": "/langsmith", + "destination": "/langsmith/home" + }, + { + "source": "/js/langchain", + "destination": "/oss/javascript/langchain/overview" + }, + { + "source": "/js/langgraph", + "destination": "/oss/javascript/langgraph/overview" + }, + { + "source": "/python/langchain", + "destination": "/oss/python/langchain/overview" + }, + { + "source": "/python/langgraph", + "destination": "/oss/python/langgraph/overview" + }, + { + "source": "/python/deepagents", + "destination": "/oss/python/deepagents/overview" + }, + { + "source": "/javascript/langchain", + "destination": "/oss/javascript/langchain/overview" + }, + { + "source": "/javascript/langgraph", + "destination": "/oss/javascript/langgraph/overview" + }, + { + "source": "/langsmith/cloud-architecture-and-scalability", + "destination": "/langsmith/cloud#cloud-architecture-and-scalability" + }, + { + "source": "/langsmith/reference-overview", + "destination": "/langsmith/home" + }, + { + "source": "/langsmith/hosting", + "destination": "/langsmith/platform-setup" + }, + { + "source": "/oss/python/langchain-agents", + "destination": "/oss/python/langchain/agents" + }, + { + "source": "/oss/javascript/langchain-agents", + "destination": "/oss/javascript/langchain/agents" + }, + { + "source": "/oss/python/langchain-models", + "destination": "/oss/python/langchain/models" + }, + { + "source": "/oss/javascript/langchain-models", + "destination": "/oss/javascript/langchain/models" + }, + { + "source": "/oss/python/langchain-messages", + "destination": "/oss/python/langchain/messages" + }, + { + "source": "/oss/javascript/langchain-messages", + "destination": "/oss/javascript/langchain/messages" + }, + { + "source": "/oss/python/langchain-tools", + "destination": "/oss/python/langchain/tools" + }, + { + "source": "/oss/javascript/langchain-tools", + "destination": "/oss/javascript/langchain/tools" + }, + { + "source": "/oss/python/langchain-memory", + "destination": "/oss/python/langchain/short-term-memory" + }, + { + "source": "/oss/javascript/langchain-memory", + "destination": "/oss/javascript/langchain/short-term-memory" + }, + { + "source": "/oss/python/langchain-streaming", + "destination": "/oss/python/langchain/streaming" + }, + { + "source": "/oss/javascript/langchain-streaming", + "destination": "/oss/javascript/langchain/streaming" + }, + { + "source": "/oss/python/releases-v1", + "destination": "/oss/python/releases/langchain-v1" + }, + { + "source": "/oss/javascript/releases-v1", + "destination": "/oss/javascript/releases/langchain-v1" + }, + { + "source": "/oss/python/langgraph/human-in-the-loop", + "destination": "/oss/python/langgraph/interrupts" + }, + { + "source": "/oss/javascript/langgraph/human-in-the-loop", + "destination": "/oss/javascript/langgraph/interrupts" + }, + { + "source": "/langgraph-platform/index", + "destination": "/langsmith/deployments" + }, + { + "source": "/langsmith/langgraph-platform-logs", + "destination": "/langsmith/platform-logs" + }, + { + "source": "/langgraph-platform/deployment-options", + "destination": "/langsmith/platform-setup" + }, + { + "source": "/langgraph-platform/langgraph-studio", + "destination": "/langsmith/studio" + }, + { + "source": "/langgraph-platform/langgraph-cli", + "destination": "/langsmith/cli" + }, + { + "source": "/langsmith/api-ref", + "destination": "/langsmith/smith-api-ref" + }, + { + "source": "/langsmith/js-ts-sdk", + "destination": "/langsmith/smith-js-ts-sdk" + }, + { + "source": "/langsmith/python-sdk", + "destination": "/langsmith/smith-python-sdk" + }, + { + "source": "/langgraph-platform/egress-metrics-metadata", + "destination": "/langsmith/self-host-egress" + }, + { + "source": "/langgraph-platform/why-langgraph", + "destination": "/langsmith/app-development" + }, + { + "source": "/langgraph-platform/:path*", + "destination": "/langsmith/:path*" + }, + { + "source": "/oss/python/deepagents/index", + "destination": "/oss/python/deepagents/overview" + }, + { + "source": "/oss/python/integrations/document_loaders/azure_blob_storage_container", + "destination": "/oss/python/integrations/document_loaders/azure_blob_storage" + }, + { + "source": "/oss/python/integrations/document_loaders/azure_blob_storage_file", + "destination": "/oss/python/integrations/document_loaders/azure_blob_storage" + }, + { + "source": "oss/python/langgraph/GRAPH_RECURSION_LIMIT", + "destination": "oss/python/langgraph/errors/GRAPH_RECURSION_LIMIT" + }, + { + "source": "oss/python/langgraph/INVALID_CHAT_HISTORY", + "destination": "oss/python/langgraph/errors/INVALID_CHAT_HISTORY" + }, + { + "source": "oss/python/langgraph/INVALID_CONCURRENT_GRAPH_UPDATE", + "destination": "oss/python/langgraph/errors/INVALID_CONCURRENT_GRAPH_UPDATE" + }, + { + "source": "oss/python/langgraph/INVALID_GRAPH_NODE_RETURN_VALUE", + "destination": "oss/python/langgraph/errors/INVALID_GRAPH_NODE_RETURN_VALUE" + }, + { + "source": "oss/python/langgraph/MULTIPLE_SUBGRAPHS", + "destination": "oss/python/langgraph/errors/MULTIPLE_SUBGRAPHS" + }, + { + "source": "oss/python/langgraph/MISSING_CHECKPOINTER", + "destination": "oss/python/langgraph/errors/MISSING_CHECKPOINTER" + }, + { + "source": "oss/javascript/langgraph/GRAPH_RECURSION_LIMIT", + "destination": "oss/javascript/langgraph/errors/GRAPH_RECURSION_LIMIT" + }, + { + "source": "oss/javascript/langgraph/INVALID_CHAT_HISTORY", + "destination": "oss/javascript/langgraph/errors/INVALID_CHAT_HISTORY" + }, + { + "source": "oss/javascript/langgraph/INVALID_CONCURRENT_GRAPH_UPDATE", + "destination": "oss/javascript/langgraph/errors/INVALID_CONCURRENT_GRAPH_UPDATE" + }, + { + "source": "oss/javascript/langgraph/INVALID_GRAPH_NODE_RETURN_VALUE", + "destination": "oss/javascript/langgraph/errors/INVALID_GRAPH_NODE_RETURN_VALUE" + }, + { + "source": "oss/javascript/langgraph/MULTIPLE_SUBGRAPHS", + "destination": "oss/javascript/langgraph/errors/MULTIPLE_SUBGRAPHS" + }, + { + "source": "oss/javascript/langgraph/MISSING_CHECKPOINTER", + "destination": "oss/javascript/langgraph/errors/MISSING_CHECKPOINTER" + }, + { + "source": "oss/python/langgraph/common-errors", + "destination": "oss/python/common-errors" + }, + { + "source": "oss/javascript/langgraph/common-errors", + "destination": "oss/javascript/common-errors" + }, + { + "source": "oss/python/langchain/INVALID_PROMPT_INPUT", + "destination": "oss/python/langchain/errors/INVALID_PROMPT_INPUT" + }, + { + "source": "oss/python/langchain/MODEL_AUTHENTICATION", + "destination": "oss/python/langchain/errors/MODEL_AUTHENTICATION" + }, + { + "source": "oss/python/langchain/MODEL_NOT_FOUND", + "destination": "oss/python/langchain/errors/MODEL_NOT_FOUND" + }, + { + "source": "oss/python/langchain/MODEL_RATE_LIMIT", + "destination": "oss/python/langchain/errors/MODEL_RATE_LIMIT" + }, + { + "source": "oss/python/langchain/MESSAGE_COERCION_FAILURE", + "destination": "oss/python/langchain/errors/MESSAGE_COERCION_FAILURE" + }, + { + "source": "oss/python/langchain/INVALID_TOOL_RESULTS", + "destination": "oss/python/langchain/errors/INVALID_TOOL_RESULTS" + }, + { + "source": "oss/python/langchain/OUTPUT_PARSING_FAILURE", + "destination": "oss/python/langchain/errors/OUTPUT_PARSING_FAILURE" + }, + { + "source": "oss/javascript/langchain/INVALID_PROMPT_INPUT", + "destination": "oss/javascript/langchain/errors/INVALID_PROMPT_INPUT" + }, + { + "source": "oss/javascript/langchain/MODEL_AUTHENTICATION", + "destination": "oss/javascript/langchain/errors/MODEL_AUTHENTICATION" + }, + { + "source": "oss/javascript/langchain/MODEL_NOT_FOUND", + "destination": "oss/javascript/langchain/errors/MODEL_NOT_FOUND" + }, + { + "source": "oss/javascript/langchain/MODEL_RATE_LIMIT", + "destination": "oss/javascript/langchain/errors/MODEL_RATE_LIMIT" + }, + { + "source": "oss/javascript/langchain/MESSAGE_COERCION_FAILURE", + "destination": "oss/javascript/langchain/errors/MESSAGE_COERCION_FAILURE" + }, + { + "source": "oss/javascript/langchain/INVALID_TOOL_RESULTS", + "destination": "oss/javascript/langchain/errors/INVALID_TOOL_RESULTS" + }, + { + "source": "oss/javascript/langchain/OUTPUT_PARSING_FAILURE", + "destination": "oss/javascript/langchain/errors/OUTPUT_PARSING_FAILURE" + }, + { + "source": "/langsmith/langgraph-server", + "destination": "/langsmith/agent-server" + }, + { + "source": "/langsmith/langgraph-server-changelog", + "destination": "/langsmith/agent-server-changelog" + }, + { + "source": "/oss/python/langchain/middleware", + "destination": "/oss/python/langchain/middleware/overview" + }, + { + "source": "/oss/javascript/langchain/middleware", + "destination": "/oss/javascript/langchain/middleware/overview" + }, + { + "source": "/oss/python/integrations/tools/toolbox", + "destination": "/oss/python/integrations/tools/mcp_toolbox" + }, + { + "source": "/oss/integrations/tools/toolbox", + "destination": "/oss/integrations/tools/mcp_toolbox" + }, + { + "source": "/oss/python/integrations/tools/gmail", + "destination": "/oss/python/integrations/tools/google_gmail" + }, + { + "source": "/oss/integrations/tools/gmail", + "destination": "/oss/integrations/tools/google_gmail" + }, + { + "source": "/oss/javascript/integrations/tools/gmail", + "destination": "/oss/javascript/integrations/tools/google_gmail" + }, + { + "source": "/oss/python/integrations/chat_loaders/gmail", + "destination": "/oss/python/integrations/chat_loaders/google_gmail" + }, + { + "source": "/oss/integrations/chat_loaders/gmail", + "destination": "/oss/integrations/chat_loaders/google_gmail" + }, + { + "source": "/oss/python/integrations/vectorstores/scann", + "destination": "/oss/python/integrations/vectorstores/google_scann" + }, + { + "source": "/oss/integrations/vectorstores/scann", + "destination": "/oss/integrations/vectorstores/google_scann" + }, + { + "source": "/oss/python/integrations/chat/google_vertex_ai_palm", + "destination": "/oss/python/integrations/chat/google_vertex_ai" + }, + { + "source": "/oss/integrations/chat/google_vertex_ai_palm", + "destination": "/oss/integrations/chat/google_vertex_ai" + }, + { + "source": "/oss/python/integrations/text_embedding/google_vertex_ai_palm", + "destination": "/oss/python/integrations/text_embedding/google_vertex_ai" + }, + { + "source": "/oss/integrations/text_embedding/google_vertex_ai_palm", + "destination": "/oss/integrations/text_embedding/google_vertex_ai" + }, + { + "source": "/oss/python/integrations/llms/google_vertex_ai_palm", + "destination": "/oss/python/integrations/llms/google_vertex_ai" + }, + { + "source": "/oss/integrations/llms/google_vertex_ai_palm", + "destination": "/oss/integrations/llms/google_vertex_ai" + }, + { + "source": "/oss/javascript/integrations/text_embedding/google_generativeai", + "destination": "/oss/javascript/integrations/text_embedding/google_generative_ai" + }, + { + "source": "/oss/integrations/text_embedding/google_generativeai", + "destination": "/oss/integrations/text_embedding/google_generative_ai" + } + ] } diff --git a/src/images/cat.png b/src/images/cat.png new file mode 100644 index 0000000000..ef01b9c6cb Binary files /dev/null and b/src/images/cat.png differ diff --git a/src/index.mdx b/src/index.mdx index 7a13b49e74..cdf32d6be9 100644 --- a/src/index.mdx +++ b/src/index.mdx @@ -11,30 +11,6 @@ mode: "custom" LangChain is the platform for agent engineering. AI teams at Replit, Clay, Rippling, Cloudflare, Workday, and more trust LangChain's products to engineer reliable agents. - Our **open source frameworks** help you build agents: - - - [**LangChain**](/oss/python/langchain/overview) helps you quickly get started building agents, with any model provider of your choice. - - [**LangGraph**](/oss/python/langgraph/overview) allows you to control every step of your custom agent with low-level orchestration, memory, and human-in-the-loop support. You can manage long-running tasks with durable execution. - - [**LangSmith**](/langsmith/home) is a platform that helps AI teams use live production data for continuous testing and improvement. LangSmith provides: - - - **Observability** to see exactly how your agent thinks and acts with detailed tracing and aggregate trend metrics. - - **Evaluation** to test and score agent behavior on production data and offline datasets for continuous improvement. - - **Deployment** to ship your agent in one click, using scalable infrastructure built for long-running tasks. - - - LangGraph Platform is now [LangSmith Deployment](/langsmith/deployments). For more information, check out the [Changelog](https://changelog.langchain.com/announcements/product-naming-changes-langsmith-deployment-and-langsmith-studio). - - -

Get started

- - - - - - - -

Open source agent frameworks

@@ -57,7 +33,7 @@ mode: "custom" Control every step of your custom agent with low-level orchestration, memory, and human-in-the-loop support. - + Control every step of your custom agent with low-level orchestration, memory, and human-in-the-loop support. + + Build agents that can tackle complex, multi-step tasks. +

LangSmith

- + [**LangSmith**](/langsmith/home) is a platform that helps AI teams use live production data for continuous testing and improvement. LangSmith provides: + + + + + LangSmith meets the highest standards of data security and privacy with HIPAA, SOC 2 Type 2, and GDPR compliance. For more information, see the [Trust Center](https://trust.langchain.com/). + + +

Get started

+ + + + + + + + diff --git a/src/labs/deep-agents/built-in-components.mdx b/src/labs/deep-agents/built-in-components.mdx deleted file mode 100644 index 53e60abae2..0000000000 --- a/src/labs/deep-agents/built-in-components.mdx +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: Built-in components ---- - -Deep Agents comes with a number of built-in components that help agents perform complex tasks. - -## System prompt - -Deep Agents comes with a detailed system prompt heavily inspired by Claude Code's architecture. This prompt provides instructions for using the planning tool, file system tools, and sub agents effectively. - -## Planning tool - -A simple planning tool based on Claude Code's TodoWrite functionality that helps agents create and track plans in their context, keeping them on track for complex tasks. - -## File system tools - -Four built-in tools that mock a file system using LangGraph's state: - -- `ls` - List files and directories -- `read_file` - Read file contents -- `write_file` - Write to files -- `edit_file` - Edit existing files - -Files can be passed in and retrieved via the files key: - - - -```python Python -# Pass files to the agent -result = agent.invoke({ - "messages": [...], - "files": {"foo.txt": "file content", ...} -}) - -# Access files after execution -updated_files = result["files"] -``` - -```typescript JavaScript -const result = await agent.invoke({ - messages: [...], - // Pass in files to the agent using this key - files: {"foo.txt": "foo", ...} -}); - -// Access any files afterwards like this -result.files; -``` - - - -## Sub-agents - -Built-in support for calling specialized sub-agents with the following: - -- **Context quarantine**: Prevents polluting the main agent's context -- **Custom instructions**: Tailored prompts for specific tasks -- **Tool access control**: Subagents can have different tool sets - -A general-purpose sub-agent with the same instructions and tools as the main agent is always available. - -## MCP - -The `deepagents` library can be ran with MCP tools. This can be achieved by using the [LangChain MCP Adapter library](https://github.com/langchain-ai/langchain-mcp-adapters). - -For example: - -```python -# pip install langchain-mcp-adapters - -import asyncio -from langchain_mcp_adapters.client import MultiServerMCPClient -from deepagents import create_deep_agent - -async def main(): - # Collect MCP tools - mcp_client = MultiServerMCPClient(...) - mcp_tools = await mcp_client.get_tools() - - # Create agent - agent = create_deep_agent(tools=mcp_tools, ....) - - # Stream the agent - async for chunk in agent.astream( - {"messages": [{"role": "user", "content": "what is langgraph?"}]}, - stream_mode="values" - ): - if "messages" in chunk: - chunk["messages"][-1].pretty_print() - -asyncio.run(main()) -``` diff --git a/src/labs/deep-agents/configuration-options.mdx b/src/labs/deep-agents/configuration-options.mdx deleted file mode 100644 index 9ee5af699e..0000000000 --- a/src/labs/deep-agents/configuration-options.mdx +++ /dev/null @@ -1,122 +0,0 @@ ---- -title: Configuration options ---- - -Deep Agents provides a number of configuration options to customize the agent's behavior and capabilities: - -- **Tools** (required): The tools that the agent and any subagents will have access to. -- **Instructions** (required): Custom instructions that serve as part of the agent's prompt. This supplements the built-in system prompt. -- **Sub-agents**: Specialized subagents for specific tasks. -- **Model**: The model to use for the agent. - -## Tools - -Required. A list of tools that the agent and any subagents will have access to. - -## Instructions - -Required. Custom instructions that serve as part of the agent's prompt. This supplements the built-in system prompt. - -## Sub-agents - -Define specialized subagents for specific tasks: - - - -```python Python -subagents = [{ - "name": "research-agent", - "description": "Used to research more in depth questions", - "prompt": sub_research_prompt, - "tools": ["internet_search"] # Optional: defaults to all tools -}] - -agent = create_deep_agent( - tools=tools, - instructions=prompt, - subagents=subagents -) -``` - -```typescript JavaScript -interface SubAgent { - name: string; - description: string; - prompt: string; - tools?: string[]; -} - -const researchSubAgent: SubAgent = { - name: "research-agent", - description: "Used to research more in depth questions", - prompt: subResearchPrompt, -}; - -const agent = createDeepAgent({ - tools, - instructions: prompt, - subagents: [researchSubAgent] -}); -``` - - - -## Model - -Both the Python and JavaScript implementations default to `"claude-sonnet-4-20250514"` but support custom models: - - - -```python Python -from langchain_openai import ChatOpenAI - -custom_model = ChatOpenAI(model="gpt-4") -agent = create_deep_agent( - tools=tools, - instructions=instructions, - model=custom_model -) -``` - -```typescript JavaScript -import { ChatOpenAI } from "@langchain/openai"; - -const customModel = new ChatOpenAI({ model: "gpt-4" }); -const agent = createDeepAgent({ - tools, - instructions, - model: customModel -}); -``` - - - -### Custom models - - - -Custom models are only supported in the Python implementation. - - - -By default, `deepagents` uses `"claude-sonnet-4-20250514"`. You can customize this by passing any [LangChain model object](https://python.langchain.com/docs/integrations/chat/). - -For example, use OpenAI's `gpt-oss` model via Ollama: - -```python -# pip install langchain langchain-ollama - -from deepagents import create_deep_agent - -# ... existing agent definitions ... - -model = init_chat_model( - model="ollama:gpt-oss:20b", -) -agent = create_deep_agent( - tools=tools, - instructions=instructions, - model=model, - ... -) -``` diff --git a/src/labs/deep-agents/overview.mdx b/src/labs/deep-agents/overview.mdx deleted file mode 100644 index fbdda82a34..0000000000 --- a/src/labs/deep-agents/overview.mdx +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: Deep Agents -sidebarTitle: Overview ---- - -Using an LLM to call tools in a loop is the simplest form of an agent. This architecture, however, can yield agents that are "shallow" and fail to plan and act over longer, more complex tasks. Applications like "Deep Research", "Manus", and "Claude Code" have gotten around this limitation by implementing a combination of four things: a **planning tool**, **sub agents**, access to a **file system**, and a **detailed prompt**. - -Deep Agents implements these components in a general purpose way so that you can easily create sophisticated agents for your application, available in both **Python** and **JavaScript/TypeScript**. - -## Key features - -- **Planning Tool**: Built-in planning capabilities to break down complex tasks and enable long-term planning. -- **Persistent state**: Memory between tool calls beyond conversation history. -- **Sub-agents**: Specialized agents for specific tasks with context quarantine. -- **Virtual File System**: Mock file system for persistent state without conflicts. -- **Detailed System Prompt**: Prompts, heavily inspired by Claude Code, leverage proven patterns. - -Deep Agents implements the architectural patterns that make sophisticated agents like Claude Code effective. - -## Installation - - - -```bash pip -pip install deepagents -``` - -```bash yarn -yarn add deepagents -``` - -```bash npm -npm install deepagents -``` - - - -## Implementations - -Deep Agents is available in both [**Python**](https://github.com/hwchase17/deepagents) and [**JavaScript**](https://www.npmjs.com/package/deepagents). - -## Acknowledgements - -This project was primarily inspired by Claude Code and is an attempt to better understand Claude Code and extend it. diff --git a/src/labs/deep-agents/quickstart.mdx b/src/labs/deep-agents/quickstart.mdx deleted file mode 100644 index 3609186bc0..0000000000 --- a/src/labs/deep-agents/quickstart.mdx +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: Quickstart ---- - -To create a research agent that can conduct thorough investigations: - - - -```python Python -from tavily import TavilyClient -from deepagents import create_deep_agent -import os - -def internet_search(query): - tavily_client = TavilyClient(api_key=os.environ["TAVILY_API_KEY"]) - return tavily_client.search(query) - -research_instructions = """You are an expert researcher. -Your job is to conduct thorough research, and then write a polished report. - -You have access to tools for internet search and file operations. -""" - -agent = create_deep_agent( - tools=[internet_search], - instructions=research_instructions -) - -result = agent.invoke({ - "messages": [{"role": "user", "content": "what is langgraph?"}] -}) -``` - -```typescript JavaScript -import { TavilySearch } from "@langchain/tavily"; -import { createDeepAgent } from "deepagents"; - -// Search tool to use to do research -const internetSearch = new TavilySearch({ - maxResults: 5, - tavilyApiKey: process.env.TAVILY_API_KEY, -}); - -// Prompt prefix to steer the agent to be an expert researcher -const researchInstructions = `You are an expert researcher. Your job is to conduct thorough research, and then write a polished report. - -You have access to a few tools. - -## \`internet_search\` - -Use this to run an internet search for a given query. You can specify the number of results, the topic, and whether raw content should be included. -`; - -// Create the agent -const agent = createDeepAgent({ - tools: [internetSearch], - instructions: researchInstructions, -}); - -// Invoke the agent -const result = await agent.invoke({ - messages: [{ role: "user", content: "what is langgraph?" }] -}); -``` - - - -The agent created with `createDeepAgent` is a LangGraph graph, so you can interact with it (streaming, human-in-the-loop, memory, [Studio](/langsmith/studio)) the same way you would any LangGraph agent. diff --git a/src/labs/index.mdx b/src/labs/index.mdx deleted file mode 100644 index a82d39bbf0..0000000000 --- a/src/labs/index.mdx +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: LangChain Labs -sidebarTitle: List of products -description: LangChain Labs is a collection of agents and experimental AI products. ---- - -## Agents - - - - Create sophisticated AI agents that can plan, use subagents, and work with files for complex tasks. - - - - Open SWE is an open source cloud based coding agent. - - - - Open Agent Platform is a citizen developer platform, allowing non-technical users to build, prototype, and use agents. - - - - diff --git a/src/labs/oap/custom-agents/configuration.mdx b/src/labs/oap/custom-agents/configuration.mdx deleted file mode 100644 index 674fce8ecc..0000000000 --- a/src/labs/oap/custom-agents/configuration.mdx +++ /dev/null @@ -1,428 +0,0 @@ ---- -title: 'Agent Configuration' -description: 'Making your agents configurable in the Open Agent Platform' ---- - -# Agent Configuration - -To allow your agent to be configurable in Open Agent Platform, you must set custom configuration metadata on your agent's configurable fields. There are currently three types of configurable fields: - -1. **General Agent Config:** This consists of general configuration settings like the model name, system prompt, temperature, etc. These are where essentially all of your custom configurable fields should go. -2. **MCP Tools Config:** This is the config which defines the MCP server and tools to give your agent access to. -3. **RAG Config:** This is the config which defines the RAG server, and collection name to give your agent access to. - - -This section assumes you have a basic understanding of configurable fields in LangGraph. If you do not, read the LangGraph documentation ([Python](/oss/langgraph/graph-api/#add-runtime-configuration), [TypeScript](https://langchain-ai.github.io/langgraphjs/how-tos/configuration/)) for more information. - - -## General Agent Config - -By default, Open Agent Platform will show *all* fields listed in your configurable object as configurable in the UI. Each field will be configurable via a simple text input. To add more complex configurable field types (e.g boolean, dropdown, slider, etc), you should add a `x_oap_ui_config` object to `metadata` on the field. - -Inside this object is where you define the custom UI config for that specific field. The available options are: - -```typescript -export type ConfigurableFieldUIType = - | "text" - | "textarea" - | "number" - | "boolean" - | "slider" - | "select" - | "json"; - -/** - * The type interface for options in a select field. - */ -export interface ConfigurableFieldOption { - label: string; - value: string; -} - -/** - * The UI configuration for a field in the configurable object. - */ -export type ConfigurableFieldUIMetadata = { - /** - * The label of the field. This will be what is rendered in the UI. - */ - label: string; - /** - * The default value to render in the UI component. - * - * @default undefined - */ - default?: unknown; - /** - * The type of the field. - * @default "text" - */ - type?: ConfigurableFieldUIType; - /** - * The description of the field. This will be rendered below the UI component. - */ - description?: string; - /** - * The validator function to validate the field value. This is a string that will be parsed as a function. - * You can also include a custom error message to show to the user if the validation fails. - */ - validator?: { - /** - * The validator function to validate the field value. - */ - fn: string; - /** - * The error message to show to the user if the validation fails. If not provided, a default error message will be shown. - */ - message?: string; - }; - /** - * The component specific props. This is only used for certain field types. - * "slider" - will contain min, max, step - * "select" - will contain options (array of {label: string, value: string}) - */ - componentProps?: { - [key: string]: unknown; - }; -}; -``` - -Here's an example in TypeScript of how to define this configuration: - -```typescript TypeScript Configurable [expandable] -import "@langchain/langgraph/zod"; -import { z } from "zod"; - -export const GraphConfiguration = z.object({ - /** - * The model ID to use for the reflection generation. - * Should be in the format `provider/model_name`. - * Defaults to `anthropic/claude-3-7-sonnet-latest`. - */ - modelName: z - .string() - .optional() - .langgraph.metadata({ - x_oap_ui_config: { - type: "select", - default: "anthropic/claude-3-7-sonnet-latest", - description: "The model to use in all generations", - options: [ - { - label: "Claude 3.7 Sonnet", - value: "anthropic/claude-3-7-sonnet-latest", - }, - { - label: "Claude 3.5 Sonnet", - value: "anthropic/claude-3-5-sonnet-latest", - }, - { - label: "GPT 4o", - value: "openai/gpt-4o", - }, - { - label: "GPT 4.1", - value: "openai/gpt-4.1", - }, - { - label: "o3", - value: "openai/o3", - }, - { - label: "o3 mini", - value: "openai/o3-mini", - }, - { - label: "o4", - value: "openai/o4", - }, - ], - }, - }), - /** - * The temperature to use for the reflection generation. - * Defaults to `0.7`. - */ - temperature: z - .number() - .optional() - .langgraph.metadata({ - x_oap_ui_config: { - type: "slider", - default: 0.7, - min: 0, - max: 2, - step: 0.1, - description: "Controls randomness (0 = deterministic, 2 = creative)", - }, - }), - /** - * The maximum number of tokens to generate. - * Defaults to `1000`. - */ - maxTokens: z - .number() - .optional() - .langgraph.metadata({ - x_oap_ui_config: { - type: "number", - default: 4000, - min: 1, - description: "The maximum number of tokens to generate", - }, - }), - systemPrompt: z - .string() - .optional() - .langgraph.metadata({ - x_oap_ui_config: { - type: "textarea", - placeholder: "Enter a system prompt...", - description: "The system prompt to use in all generations", - }, - }), -}); - -// ENSURE YOU PASS THE GRAPH CONFIGURABLE SCHEMA TO THE StateGraph: -const workflow = new StateGraph(MyStateSchema, GraphConfiguration) -``` - -And in Python, this would look like: - -```python Python Configurable [expandable] -from pydantic import BaseModel, Field - -class GraphConfigPydantic(BaseModel): - model_name: str | None = Field( - default="anthropic:claude-3-7-sonnet-latest", - metadata={ - "x_oap_ui_config": { - "type": "select", - "default": "anthropic:claude-3-7-sonnet-latest", - "description": "The model to use in all generations", - "options": [ - { - "label": "Claude 3.7 Sonnet", - "value": "anthropic:claude-3-7-sonnet-latest", - }, - { - "label": "Claude 3.5 Sonnet", - "value": "anthropic:claude-3-5-sonnet-latest", - }, - {"label": "GPT 4o", "value": "openai:gpt-4o"}, - {"label": "GPT 4o mini", "value": "openai:gpt-4o-mini"}, - {"label": "GPT 4.1", "value": "openai:gpt-4.1"}, - ], - } - } - ) - temperature: float | None = Field( - default=0.7, - metadata={ - "x_oap_ui_config": { - "type": "slider", - "default": 0.7, - "min": 0, - "max": 2, - "step": 0.1, - "description": "Controls randomness (0 = deterministic, 2 = creative)", - } - } - ) - max_tokens: int | None = Field( - default=4000, - metadata={ - "x_oap_ui_config": { - "type": "number", - "default": 4000, - "min": 1, - "description": "The maximum number of tokens to generate", - } - } - ) - system_prompt: str | None = Field( - default=None, - metadata={ - "x_oap_ui_config": { - "type": "textarea", - "placeholder": "Enter a system prompt...", - "description": "The system prompt to use in all generations", - } - } - ) - -# ENSURE YOU PASS THE GRAPH CONFIGURABLE SCHEMA TO THE StateGraph: -workflow = StateGraph(State, config_schema=GraphConfigPydantic) -``` - -## MCP Tools Config - -To allow an agent to be configurable with MCP tools in Open Agent Platform, you must set a specific `x_oap_config_type` metadata field on the configurable field. This field should be set to `oap_mcp_tools_config`. You only need to set this on a single field in your configurable object. Optionally, you can provide a default value for this field, which will be used when the user is creating a new agent. - -Here's an example in TypeScript: - -```typescript TypeScript Configurable [expandable] -export const MCPConfig = z.object({ - /** - * The MCP server URL. - */ - url: z.string(), - /** - * The list of tools to provide to the LLM. - */ - tools: z.array(z.string()), - /** - * Whether or not the MCP server requires authentication. - * This is a field which is set on the client whenever a - * user creates a new agent. It will be set to true if the - * `NEXT_PUBLIC_MCP_AUTH_REQUIRED` environment variable is set to `true`, - * and false otherwise. - * @default false - */ - auth_required: z.boolean().optional(), -}); - -export const GraphConfiguration = z.object({ - /** - * MCP configuration for tool selection. The key (in this case it's `mcpConfig`) - * can be any value you want. - */ - mcpConfig: z - .lazy(() => MCPConfig) - .optional() - .langgraph.metadata({ - x_oap_ui_config: { - // Ensure the type is `mcp` - type: "mcp", - // Add custom tools to default to here: - // default: { - // tools: ["Math_Divide", "Math_Mod"] - // } - }, - }), -}); -``` - -And in Python: - -```python Python Configurable [expandable] -class MCPConfig(BaseModel): - url: str | None = Field( - default=None, - optional=True, - ) - """The URL of the MCP server""" - tools: list[str] | None = Field( - default=None, - optional=True, - ) - """The tools to make available to the LLM""" - auth_required: bool | None = Field( - default=False, - optional=True, - ) - """Whether the MCP server requires authentication""" - - -class GraphConfigPydantic(BaseModel): - # The key (in this case it's `mcp_config`) - # can be any value you want. - mcp_config: MCPConfig | None = Field( - default=None, - metadata={ - "x_oap_ui_config": { - # Ensure the type is `mcp` - "type": "mcp", - # Here is where you would set the default tools. - # "default": { - # "tools": ["Math_Divide", "Math_Mod"] - # } - } - } - ) -``` - -## RAG Config - -Configuring RAG is similar to MCP tools. You need to set a specific `x_oap_config_type` metadata field on the configurable field. This field should be set to `oap_rag_config`. You only need to set this on a single field in your configurable object. - -Here's an example in TypeScript: - -```typescript TypeScript Configurable [expandable] -export const RAGConfig = z.object({ - /** - * The LangConnect RAG server URL. - */ - rag_url: z.string(), - /** - * The collections to use for RAG. Will be an - * array of collection IDs - */ - collections: z.string().array(), -}); - -export const GraphConfiguration = z.object({ - /** - * LangConnect RAG configuration. The key (in this case it's `rag`) - * can be any value you want. - */ - rag: z - .lazy(() => RAGConfig) - .optional() - .langgraph.metadata({ - x_oap_ui_config: { - // Ensure the type is `rag` - type: "rag", - // Here is where you would set the default collection. Use collection IDs - // default: { - // collections: [ - // "fd4fac19-886c-4ac8-8a59-fff37d2b847f", - // "659abb76-fdeb-428a-ac8f-03b111183e25", - // ] - // } - }, - }), -}); -``` - -And in Python: - -```python Python Configurable [expandable] -class RagConfig(BaseModel): - rag_url: str | None = None - """The URL of the rag server""" - collections: list[str] | None = None - """The collections to use for rag. Will be a list of collection IDs""" - - -class GraphConfigPydantic(BaseModel): - # Once again, the key (in this case it's `rag`) - # can be any value you want. - rag: RagConfig | None = Field( - default=None, - optional=True, - metadata={ - "x_oap_ui_config": { - # Ensure the type is `rag` - "type": "rag", - # Here is where you would set the default collection. Use collection IDs - # "default": { - # "collections": [ - # "fd4fac19-886c-4ac8-8a59-fff37d2b847f", - # "659abb76-fdeb-428a-ac8f-03b111183e25", - # ] - # }, - } - } - ) -``` - -## Troubleshooting - -If your configurable fields aren't showing up correctly in the OAP UI, check the following: - -1. Make sure you've set the correct metadata fields on your configurable fields. -2. Ensure your configurable field schema matches the expected schema. -3. For select fields, make sure the options are formatted correctly. -4. For validator functions, ensure they're valid JavaScript functions. -5. If it's still not working, confirm your `x_oap_ui_config` metadata has the proper fields set. diff --git a/src/labs/oap/custom-agents/overview.mdx b/src/labs/oap/custom-agents/overview.mdx deleted file mode 100644 index b09a8b4f2f..0000000000 --- a/src/labs/oap/custom-agents/overview.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: 'Custom Agents Overview' -description: 'Building your own agents for the Open Agent Platform' ---- - -# Building Your Own Agents - -We built Open Agent Platform with custom agents in mind. Although we offer a few pre-built agents, we encourage you to build your own agents, and use OAP as a platform to prototype, test and use them! This guide will help you build agents that are compatible with all of Open Agent Platform's features. - -## Platform Requirements - -OAP is built on top of LangSmith, which means all agents which you build to be used in OAP must be LangGraph agents deployed on LangSmith. - -## Agent Types - -When building custom agents, you can create three main types: - -1. **Standard Agents**: These are single-purpose agents that handle specific tasks. -2. **Tools Agents**: Agents that can access external tools via the MCP protocol. -3. **Supervisor Agents**: Agents that can orchestrate and coordinate multiple other agents. - -## Development Flow - -The typical development flow for creating custom agents involves: - -1. Developing and testing your agent locally using LangGraph -2. Deploying your agent to LangSmith -3. Configuring your Open Agent Platform to connect to your deployed agent -4. Testing and refining your agent through the OAP interface - -## Getting Started - -To get started with building your own agents, we recommend: - -1. Familiarizing yourself with the [LangGraph framework](https://github.com/langchain-ai/langgraph) -2. Studying the example agents we provide: - - [Tools Agent](https://github.com/langchain-ai/oap-langgraph-tools-agent) - - [Supervisor Agent](https://github.com/langchain-ai/oap-agent-supervisor) - - [Deep Research Agent](https://github.com/langchain-ai/oap-deep-researcher) -3. Understanding how to make your agent configurable, as detailed in the [Configuration](/labs/oap/custom-agents/configuration) section - -Building custom agents allows you to create specialized AI assistants that can be easily managed and used through the Open Agent Platform interface. diff --git a/src/labs/oap/index.mdx b/src/labs/oap/index.mdx deleted file mode 100644 index 039f4a7092..0000000000 --- a/src/labs/oap/index.mdx +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: 'Introduction' -description: 'An introduction to Open Agent Platform' ---- - -Open Agent Platform is a citizen developer platform, allowing non-technical users to build, prototype, and use agents. These agents can be connected to a wide range of tools, RAG servers, and even other agents through an Agent Supervisor! - - - - Get your Open Agent Platform running quickly - - - Deploy and configure your agents - - - Connect your agents to knowledge bases - - - Extend your agents with powerful tools - - - -## What is Open Agent Platform? - -Open Agent Platform provides a modern, web-based interface for creating, managing, and interacting with LangGraph agents. It's designed with simplicity in mind, making it accessible to users without technical expertise, while still offering advanced capabilities for developers. - -## Key Features - -- **Agent Management**: Build, configure, and interact with agents through an intuitive interface -- **RAG Integration**: First-class support for Retrieval Augmented Generation with [LangConnect](https://github.com/langchain-ai/langconnect) -- **MCP Tools**: Connect your agents to external tools through MCP servers -- **Agent Supervision**: Orchestrate multiple agents working together through an Agent Supervisor -- **Authentication**: Built-in authentication and access control - -## Getting Started - -Follow our [quickstart guide](/labs/oap/quickstart) to set up your own instance of Open Agent Platform. diff --git a/src/labs/oap/quickstart.mdx b/src/labs/oap/quickstart.mdx deleted file mode 100644 index 7251919321..0000000000 --- a/src/labs/oap/quickstart.mdx +++ /dev/null @@ -1,154 +0,0 @@ ---- -title: 'Quick Start' -description: 'Follow these steps to get your Open Agent Platform up and running quickly.' ---- - - -**Prerequisites:** -- [Corepack](https://github.com/nodejs/corepack?tab=readme-ov-file#how-to-install) for building and running the platform locally -- [LangSmith](https://smith.langchain.com/) Account (free tier is sufficient) -- [Supabase](https://supabase.com/) Account -- MCP Server (e.g. [Arcade](https://arcade-ai.com/)) -- An LLM API Key (e.g. [OpenAI](https://platform.openai.com/), [Anthropic](https://console.anthropic.com/), [Google](https://aistudio.google.com/)) - - -## 1. Download the Open Agent Platform code - - - - Clone the [Open Agent Platform Repository](https://github.com/langchain-ai/open-agent-platform) from GitHub - - - - The repository contains a `.env.example` file listing all of the environment variables you need to run the platform. - - Set the following environment variables: - ```bash - NEXT_PUBLIC_BASE_API_URL="http://localhost:3000/api" - LANGSMITH_API_KEY="lsv2_..." - # Or whichever LLM's API key you're using - OPENAI_API_KEY="..." - ``` - - - -## 2. Authentication Setup - -Open Agent Platform uses Supabase for authentication by default. - - - - Create a new project in [Supabase](https://supabase.com/). - - - Set the following environment variables inside the `apps/web/` directory: - - You can find these Next.js-specific variables in the "Connect" window in the Supabase dashboard, under "App Frameworks" - - ```bash - NEXT_PUBLIC_SUPABASE_URL="" - NEXT_PUBLIC_SUPABASE_ANON_KEY="" - ``` - - - Enable Google authentication in your Supabase project, or set `NEXT_PUBLIC_GOOGLE_AUTH_DISABLED=true` in your environment variables to disable showing Google as an authentication option in the UI. - - - -## 3. Deploying Agents - -The next step in setting up Open Agent Platform is to deploy and configure your agents. - - - - We've released three pre-built agents specifically for Open Agent Platform: - - [Tools Agent](https://github.com/langchain-ai/oap-langgraph-tools-agent) - - [Supervisor Agent](https://github.com/langchain-ai/oap-agent-supervisor) - - [Deep Research Agent](https://github.com/langchain-ai/oap-deep-researcher) - - - For each agent repository: - 1. Clone the repository - 2. Follow the instructions in the README - 3. Deploy the agents to LangSmith, or run `langgraph dev` to run the agents locally. Optionally pass `--port ` to use a custom port. This is useful if running multiple graphs locally. - - - After deployment, create a configuration object for each agent (for the next step): - ```json - { - "id": "The project ID of the deployment", - "tenantId": "The tenant ID of your LangSmith account", - "deploymentUrl": "The API URL to your deployment", - "name": "A custom name for your deployment", - "isDefault": "Whether this deployment is the default deployment (only one can be default)", - "defaultGraphId": "The graph ID of the default graph (optional, only required if isDefault is true)" - } - ``` - - You can find your project & tenant IDs with a GET request to the `/info` endpoint on your LangSmith deployment. - - - If you are running agents locally via `langgraph dev`, the `id` (project ID), and `tenantId` should be any valid UUID version 4, such as those generated by `uuid.uuid4()`. Ensure each graph has a unique `id`, and all graphs share the same `tenantId`. - - - - Combine your agent configurations into a JSON array and set the `NEXT_PUBLIC_DEPLOYMENTS` environment variable inside the `apps/web/` directory: - - ```bash - NEXT_PUBLIC_DEPLOYMENTS=[{"id":"bf63dc89-1de7-4a65-8336-af9ecda479d6","deploymentUrl":"http://localhost:2024","tenantId":"42d732b3-1324-4226-9fe9-513044dceb58","name":"Local deployment","isDefault":true,"defaultGraphId":"agent"}] - ``` - - - -## 4. RAG Server Setup - - - - Follow the instructions in the [LangConnect README](https://github.com/langchain-ai/langconnect) to set up and deploy a LangConnect RAG server. - - - Set the RAG server URL inside the `apps/web/` directory: - ```bash - NEXT_PUBLIC_RAG_API_URL="http://localhost:8080" - ``` - - - -## 5. MCP Server Setup - - -Open Agent Platform only supports connecting to MCP servers which support Streamable HTTP requests. -If you don't have an MCP server set up yet, you can use [Arcade](https://docs.arcade.dev/home/mcp-desktop-clients/vscode-client)'s public beta MCP server. - - - - - Set your MCP server URL inside the `apps/web/` directory (ensure it does not end with `/mcp`. This will be auto-applied by OAP): - ```bash - NEXT_PUBLIC_MCP_SERVER_URL="https://api.arcade.dev/v1/mcps/arcade-anon/" - ``` - - - For authenticated MCP servers: - ```bash - NEXT_PUBLIC_MCP_AUTH_REQUIRED=true - ``` - - - -## 6. Run Your Platform - -Start the application with your configured environment variables: - -```bash -# Navigate to the web app directory -cd apps/web - -# Install dependencies -yarn install - -# Start the development server -yarn dev -``` - -Your Open Agent Platform should now be running at http://localhost:3000! diff --git a/src/labs/oap/setup/agents.mdx b/src/labs/oap/setup/agents.mdx deleted file mode 100644 index aaffa336c3..0000000000 --- a/src/labs/oap/setup/agents.mdx +++ /dev/null @@ -1,65 +0,0 @@ ---- -title: 'Agents Setup' -description: 'Deploy and configure your agents for Open Agent Platform' ---- - -The first step in setting up Open Agent Platform is to deploy and configure your agents. To help with this, we're releasing three pre-built agents, customized specifically for Open Agent Platform: - -- [Tools Agent](https://github.com/langchain-ai/oap-langgraph-tools-agent) -- [Supervisor Agent](https://github.com/langchain-ai/oap-agent-supervisor) -- [Deep Research Agent](https://github.com/langchain-ai/oap-deep-researcher) - -## Deploying Agents - -To use these agents in your instance, you should: - -1. Clone the repositories -2. Follow the instructions in the READMEs -3. Deploy the agents to LangSmith, or run `langgraph dev` to run the agents locally. - -## API Keys - -These agents will require API keys for models and in some cases for other features (like search tools). -As a developer, you can allow users to configure these API keys in the settings page on Open Agent Platform. -We've exposed `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `GOOGLE_API_KEY`, and `TAVILY_API_KEY` for use in our demo agents, but this is easily extendable by you for any custom agents. - - -The keys that users set in this page will be passed to any agents as part of the runtime config, under the `apiKeys` configurable field. -As a developer, you can choose to require users to bring their own API keys, or to fallback to the environment variables set in LangSmith deployment itself. - - - When using the demo instance of OAP, the Tools Agent and Supervisor will first use any API keys set by the user in OAP, but will fall back to API Keys set by the LangChain team in the base deployments. - The Deep Researcher **requires** the user to set their own API keys in OAP on our demo instance. - - -## Configuration - -Once deployed or running locally, you can connect them to your instance of Open Agent Platform by setting the configuration environment variables. The configuration object is as follows: - -```json -{ - "id": "The project ID of the deployment. For locally running LangGraph servers, this can be any UUID Version 4.", - "tenantId": "The tenant ID of your LangSmith account. For locally running LangGraph servers, this can be any UUID Version 4.", - "deploymentUrl": "The API URL to your deployment.", - "name": "A custom name for your deployment", - "isDefault": "Whether this deployment is the default deployment. Should only be set to true for one deployment.", - "defaultGraphId": "The graph ID of the default graph for the entire OAP instance. We recommend this is set to the graph ID of a graph which supports RAG & MCP tools. This must be set in the same deployment which isDefault is set to true on. Optional, but required in at least one deployment.", -} -``` - - If you are running agents locally via `langgraph dev`, the `id` (project ID), and `tenantId` should be any valid UUID version 4, such as those generated by `uuid.uuid4()`. Ensure each graph has a unique `id`, and all graphs share the same `tenantId`. - - -## Finding Project & Tenant IDs - -To easily find your project & tenant IDs for agents deployed to LangSmith, you can make a GET request to the `/info` endpoint of your deployment URL. Then, copy the `project_id` value into `id`, and `tenant_id` into `tenantId`. - -## Setting Environment Variables - -After constructing the JSON objects with these values for each of the deployments you want to include in your Open Agent Platform instance, you should stringify them into a single, flat array, then set them under the `NEXT_PUBLIC_DEPLOYMENTS` environment variable inside the `apps/web/` directory. - -The following is an example of what this variable would look like for a single, local deployment: - -```bash -NEXT_PUBLIC_DEPLOYMENTS=[{"id":"bf63dc89-1de7-4a65-8336-af9ecda479d6","deploymentUrl":"http://localhost:2024","tenantId":"42d732b3-1324-4226-9fe9-513044dceb58","name":"Local deployment","isDefault":true,"defaultGraphId":"agent"}] -``` diff --git a/src/labs/oap/setup/authentication.mdx b/src/labs/oap/setup/authentication.mdx deleted file mode 100644 index fc812adb7c..0000000000 --- a/src/labs/oap/setup/authentication.mdx +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: 'Authentication Setup' -description: 'Configure authentication for Open Agent Platform' ---- - -The default authentication provider Open Agent Platform is configured to use is Supabase. - -## Setting Up Supabase - -To set up Supabase authentication, you must first create a new Supabase project. After creating a new project, set the following environment variables inside the `apps/web/` directory: - -```bash -NEXT_PUBLIC_SUPABASE_URL="" -NEXT_PUBLIC_SUPABASE_ANON_KEY="" -``` - -You should also enable Google authentication in your Supabase project. If you do not want to allow signing up with Google, set `NEXT_PUBLIC_GOOGLE_AUTH_DISABLED=true` in your environment variables to disable showing Google as an authentication option in the UI. - -## LangGraph Server Authentication - -Since the pre-built LangGraph agents implement custom authentication, there is no need to specify a LangSmith API key when making requests to them. Instead, we pass the user's Supabase access token (JWT token) in the `Authorization` header of the request. - -Inside the auth middleware of the LangGraph server, we extract this token and verify it's valid with Supabase. If it is, we receive back a user ID, which is used to verify each user is *only* able to access their own agents and threads. If you want to allow users access to agents they did not create, you should update the custom authentication middleware in the LangGraph server to allow access to the agents you want users to be able to access. - -Along with the `Authorization` header, we duplicate passing the Supabase JWT via the `x-supabase-access-token` header. This is because all non-LangSmith specific headers which are sent to LangGraph servers which are prefixed with `x-` are included in the configurable fields of the thread. We will need this JWT to later authenticate with the MCP server. - -## LangSmith API Key Authentication - -If you do *not* want to use custom authentication in your LangGraph server, and instead allow anyone to access your agents, you can do so by setting the `NEXT_PUBLIC_USE_LANGSMITH_AUTH` environment variable to `true`, and setting your `LANGSMITH_API_KEY` in the environment variables inside the `apps/web/` directory. - -Lastly, ensure you have the `NEXT_PUBLIC_BASE_API_URL` environment variable set to the base API URL of your **web** server. For local development, this should be set to: - -```bash -NEXT_PUBLIC_BASE_API_URL="http://localhost:3000/api" -``` - -This will cause all requests made to your web client to first pass through a proxy route, which injects the LangSmith API key into the request from the server, as to not expose the API key to the client. The request is then forwarded on to your LangGraph server. - - -Remember *not* to prefix your LangSmith API key environment variable with `NEXT_PUBLIC_`, as this is a **secret** and should never be exposed to the client. - - -## RAG Authentication - -Authenticating to your LangConnect RAG server from the web client is handled in a similar way to LangGraph authentication. We pass the Supabase JWT in the `Authorization` header of the request. Then, inside the LangConnect RAG server, we extract this token and verify it's valid with Supabase. - -If it is, we receive back a user ID, which is used to verify each user is *only* able to access their own collections. We do not currently support sharing collections between users. diff --git a/src/labs/oap/setup/mcp-server.mdx b/src/labs/oap/setup/mcp-server.mdx deleted file mode 100644 index da346b427b..0000000000 --- a/src/labs/oap/setup/mcp-server.mdx +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: MCP Server ---- - -Open Agent Platform only supports connecting to MCP servers which support Streamable HTTP requests. As of **05/10/2025**, there aren't many MCP servers which support this, which is why we've released the demo application connected to [Arcade's](https://arcade-ai.com/) MCP server. - - -Open Agent Platform was built with first class support for connecting agents to MCP servers which support Streamable HTTP requests. You can configure your MCP server in one of two ways. - -First, set your MCP server URL under the environment variable `NEXT_PUBLIC_MCP_SERVER_URL` inside the `apps/web/` directory. Ensure this URL does *not* end in `/mcp`, as the OAP web app will append this to the URL when making requests to the MCP server. - -E.g. if your MCP server URL is: - -```bash -https://api.arcade.dev/v1/mcps/arcade-anon/mcp -``` - -You should set the environment variable as: - -```bash -NEXT_PUBLIC_MCP_SERVER_URL="https://api.arcade.dev/v1/mcps/arcade-anon" # no /mcp -``` - -### Authenticated Servers - -To connect to an MCP server which requires authentication, you should set `NEXT_PUBLIC_MCP_AUTH_REQUIRED=true`. The way MCP authentication works is as follows: - -The web client makes a request to the proxy route (`/api/oap_mcp`). Inside this API route, we use Supabase's JWT to authenticate with the MCP server. This means you must implement an endpoint on your MCP server which allows for exchanging a Supabase JWT (or any other JWT if you choose to use a different authentication provider) for an MCP access token. This access token is then used to authenticate requests to the MCP server. After this exchange, we use the MCP access token to make requests to the MCP server on behalf of the user, passing it through the `Authorization` header of the request. When sending the request response back to the client, we include the MCP access token in the `x-mcp-access-token` header of the response. This allows the client to use the MCP access token in future requests to the MCP server, without having to authenticate with the MCP server each time. It's set to expire after one hour by default. - -The URL set to `NEXT_PUBLIC_MCP_SERVER_URL` must be formatted so that the proxy route can append `/mcp` at the end to make requests to the MCP server, and `/oauth/token` at the end to make requests to the MCP server's OAuth token endpoint. - -Optionally, you can set the `MCP_TOKENS` environment variable to contain an object with an `access_token` field. If this environment variable is set, we will attempt to use that access token to authenticate requests to the MCP server. This is useful for testing, or if you want to use a different authentication provider than Supabase. - -### Unauthenticated Servers - -To connect to an MCP server which does not require authentication, you should set the `NEXT_PUBLIC_MCP_SERVER_URL` environment variable to the URL of your MCP server. If this URL is set, and `NEXT_PUBLIC_MCP_AUTH_REQUIRED` is not set/not set to `true`, we will not execute the OAuth request in the proxy route, and instead directly call your MCP server. - -### Changing MCP Server URL - -If you change the MCP server URL, you'll need to update all of your agents to use the new URL. We've included a script in this repo to do just that. This script can be found in [`apps/web/scripts/update-agents-mcp-url.ts`](https://github.com/langchain-ai/open-agent-platform/blob/main/apps/web/scripts/update-agents-mcp-url.ts). - -To update your agent's MCP server URL, ensure the latest MCP server URL is set under the environment variable `NEXT_PUBLIC_MCP_SERVER_URL`, along with your deployments under `NEXT_PUBLIC_DEPLOYMENTS`, and a LangSmith API key under `LANGSMITH_API_KEY` (this is because the script uses LangSmith auth to authenticate with your LangGraph server, bypassing any user authentication). Then, run the script: - -```bash -# Ensure you're inside the `apps/web` directory -cd apps/web - -# Run the script via TSX. -npx tsx scripts/update-agents-mcp-url.ts -``` - -This will fetch every agent, from every deployment listed. It then checks to see if a given agent supports MCP servers. If it does it checks the MCP server URL is not already set to the new URL. If it is not, it updates the agent's config to use the new URL. diff --git a/src/labs/oap/setup/rag-server.mdx b/src/labs/oap/setup/rag-server.mdx deleted file mode 100644 index ee3e27d7ab..0000000000 --- a/src/labs/oap/setup/rag-server.mdx +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: 'RAG Server Setup' ---- - -Open Agent Platform has first class support for RAG with your agents. To use this feature, you must deploy your own instance of a LangConnect RAG server. - -## About LangConnect - -[LangConnect](https://github.com/langchain-ai/langconnect) is an open source managed retrieval service for RAG applications. It's built on top of LangChain's RAG integrations (vectorstores, document loaders, indexing API, etc.) and allows you to quickly spin up an API server for managing your collections & documents for any RAG application. - -## Deployment - -To set up LangConnect, follow the instructions in the [LangConnect README](https://github.com/langchain-ai/langconnect/blob/main/README.md). After setting it up, and either running the server locally via Docker, or deploying it to a cloud provider, you should set the `NEXT_PUBLIC_RAG_API_URL` environment variable inside the `apps/web/` directory, to the API URL of your LangConnect server. - -For local development, this should be set to: - -```bash -NEXT_PUBLIC_RAG_API_URL="http://localhost:8080" -``` - -## Using the RAG Feature - -Once this is set, you can visit the `/rag` page in the web app to create your first collection, and upload documents to it. - -After setting up your RAG server, and configuring Open Agent Platform with an agent which can call it (like the Tools Agent), you can start to use it in your agents by selecting a collection when creating/editing an agent. This will give the agent access to a tool which can make requests to your RAG server, and retrieve relevant documents for the user's query. - -## Best Practices - -Since the RAG server is exposed to the agent as a tool, we recommend setting detailed descriptions on your collections when creating them, since these are the descriptions which will be attached to the tool. - -## Authentication - -As mentioned in the Authentication section, we pass the Supabase JWT in the `Authorization` header of the request. Then, inside the LangConnect RAG server, we extract this token and verify it's valid with Supabase. - -If it is, we receive back a user ID, which is used to verify each user is *only* able to access their own collections. We do not currently support sharing collections between users. diff --git a/src/labs/swe/faq.mdx b/src/labs/swe/faq.mdx deleted file mode 100644 index 4f03b215f6..0000000000 --- a/src/labs/swe/faq.mdx +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: FAQ -description: Frequently Asked Questions ---- - - - The cost per run varies greatly based on the complexity of the task, the size of the repository, and the number of files that need to be changed. - - For most tasks, you can expect to pay between `$0.50` -> `$3.00` when using Claude Sonnet 4. - For the same tasks running on Claude Opus 4/4.1, you can expect to pay between `$1.50` -> `$9.00`. - - Always remember to monitor your runs if you're cost conscious. The most expensive run I've seen Open SWE complete was ~50M Opus 4 tokens, costing `$25.00`. - - - - Yes. When using Anthropic models, all input tokens are cached on Anthropic's servers. - - - - Yes. There's two ways to disable Open SWE from creating an issue when you submit a request: - - 1. Toggle the 'eye' icon in the main chat area when submitting a request. - 2. In the configuration tab in settings, toggle the 'Should Create Issue' switch. - - By default, it's set to `true`. By modifying this setting in the configuration tab, all runs will default to that setting. You may override this setting on a per-run basis by toggling the 'eye' icon in the main chat area. - - ![Should Create Issue Toggle](/images/dont_create_issue_eye_screenshot.png) - ![Global Should Create Issue Toggle](/images/dont_create_issue_global_toggle_screenshot.png) - - - - We're sorry you're experiencing this! Open SWE will automatically commit any changes it makes to a draft pull request. This means all of your progress is saved, and you can restart the run from the last checkpoint. - - To restart the run, click the `Restart from last checkpoint` button. This will create a new thread and will resume from where it left off. - - ![Restart Run Screenshot](/images/restart_run_screenshot.png) - - - - Yes! We've been using Open SWE internally at LangChain for a while now, and it's been giving us great results. - - We recommend forking and deploying Open SWE yourself if you plan on using it in a production environment. For checking out the product, the [demo application](https://swe.langchain.com) will work fine. - - - - Some GitHub organizations require administrator approval to install GitHub apps. Please reach out to an administrator in your organization to approve the installation request. - - - - Open SWE's sandbox environment is powered by [Daytona.io](https://daytona.io). - - - - Yes! We're always looking for contributors to help us improve Open SWE. Feel free to pick up an [open issue](https://github.com/langchain-ai/open-swe/issues) or submit a pull request with a new feature or bug fix. - diff --git a/src/labs/swe/index.mdx b/src/labs/swe/index.mdx deleted file mode 100644 index 58492d11fd..0000000000 --- a/src/labs/swe/index.mdx +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: "Introduction" -description: "An introduction to Open SWE" ---- - -Open SWE is an open source cloud-based coding agent built with [LangGraph](https://docs.langchain.com/oss/javascript/langgraph/overview). It's designed to autonomously understand, plan, and execute code changes across entire repositories. - -## How It Works - -Open SWE operates through three specialized LangGraph agents: - -- **Manager Graph**: Orchestrates user interactions and coordinates between other graphs -- **Planner Graph**: Analyzes requirements and creates detailed execution plans -- **Programmer Graph**: Executes code changes based on approved plans - -The agent can be used through a web interface or triggered automatically via GitHub webhooks, making it flexible for both interactive development and automated workflows. - -![Open SWE UI Screenshot](/images/ui-screenshot.png) - - - - How to set up Open SWE for development - - - Examples of tasks you can try out - - - Open SWE features, and how to use them - - - -## What's in These Docs - -This documentation covers everything you need to know about Open SWE: - -- **Usage**: How to interact with Open SWE through the web interface and GitHub webhooks -- **Setup**: Complete development environment setup including monorepo structure, dependencies, and authentication - - - Try out the [live demo](https://swe.langchain.com) to see Open SWE in action. - diff --git a/src/labs/swe/secrets.mdx b/src/labs/swe/secrets.mdx deleted file mode 100644 index e63eb794d5..0000000000 --- a/src/labs/swe/secrets.mdx +++ /dev/null @@ -1,113 +0,0 @@ ---- -title: "Secrets" -description: "Environment variables & secrets access in dev environments" ---- - -Open-SWE implements a secure, encrypted way to share user environment variables with the agent and pass them to the development server. - -## Environment Variables & API Keys - -### How API Keys Are Protected - -Your API keys are protected with industry-standard AES-256-GCM encryption both in transit and at rest. - -**Storage Process:** -1. **Frontend**: Temporarily stored in browser localStorage (plain text) -2. **Transit**: Encrypted with AES-256-GCM before sending to backend -3. **Backend**: Stored encrypted in LangGraph's database -4. **Runtime**: Decrypted when necessary using server-side encryption keys - - - **Encryption Details:** - - **Algorithm**: [AES-256-GCM](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf) (authenticated encryption) - - **Key Derivation**: SHA-256 hash of system `SECRETS_ENCRYPTION_KEY` - - **IV Generation**: Random 12-byte initialization vector per encryption - - **Authentication**: 16-byte authentication tag prevents tampering - - -### System vs User Environment Variables - -Open-SWE handles two types of environment variables: - -**System Environment Variables:** -- **Purpose**: Environment variables required to run Open-SWE. If you're self-hosting, you can set LLM, infrastructure, and authentication keys -- **Examples**: `DAYTONA_API_KEY`, `SECRETS_ENCRYPTION_KEY`, `GITHUB_APP_PRIVATE_KEY` -- **Access**: Server-side only via `process.env` -- **Security**: Never exposed to users or sandboxes - -**User-Defined Environment Variables:** -- **Purpose**: Personal API keys and custom development variables -- **Examples**: `ANTHROPIC_API_KEY`, `MY_DATABASE_URL`, `STRIPE_TEST_KEY` -- **Access**: User-controlled via settings page in UI -- **Security**: AES-256-GCM encrypted + explicit user consent required to pass them to the development server - -### When API Keys Are Exposed to Sandbox Environments - -Your API keys are **never automatically exposed** to sandbox environments. Exposure requires explicit user consent. - -You may wonder, why does the sandbox environment even need API keys? We've designed Open-SWE to be your junior dev. Part of development is testing code in real-time. **Open-SWE has the ability to spin up development servers that can run your LangGraph agents, Next.js apps, Flask servers, and more, all within the sandbox its running in.** If you think this option can be useful, please review what it means to pass your keys to the sandbox. - - - Consider using separate development API keys with limited permissions instead of your production keys when enabling sandbox access. This reduces the impact of potential exposure while maintaining functionality. - - -**Default Behavior (Secure):** -- API keys are only used for LLM model initialization & setting up Daytona using your own key, if you passed it -- Keys are NOT available as environment variables in sandboxes or accessible to LLMs -- Each key has `allowedInDev: false` by default - -**When You Enable "Include in Dev Server":** -- You manually toggle the switch for each API key -- Key becomes available as an environment variable in sandbox -- You maintain control over which keys are exposed - -## Sandbox Security & Isolation - -### Container Isolation - -Each user session runs in a completely isolated Daytona container with multiple security boundaries. These containers can modify the code in your repo on a new branch and don't exchange information across sessions. - - - **Container Isolation:** - - Separate container per user session - - No shared file systems between containers - - Container-level resource limits and quotas - - **Process Isolation:** - - User environment variables vs system environment variables - - Sandboxed processes cannot access host system or code - - **Temporal Isolation:** - - Automatic deletion after 15 minutes of inactivity - - No persistent storage across sessions - - Fresh environment for each new session - - **Network Isolation:** - - Containers cannot communicate with each other - - -## Data Handling & Access Control - - - When enabling "Include in Dev Server" for API keys, you're expanding the attack surface of your credentials. AI agent may inadvertently expose environment variables in generated code or logs. Only use this feature when necessary for development server monitoring. - - -### Development Environment Exposure Risks - -You should only use this feature if you find it useful to monitor development servers. We recommend not using your main keys and having access control for keys that you pass to sandbox environments. - -While the Open-SWE UI and agent exchange these using encryption, **LLM may leave environment variables exposed in the code.** - -## Security Best Practices - -Our team loves using Open-SWE internally and we recommend the following best practices: - -- Use the minimum required permissions for each API key -- Regularly rotate your API keys -- Only enable "Include in Dev Server" when necessary for specific tools -- Monitor the "Last Used" timestamps in settings -- Consider using separate development keys instead of production keys for sandbox environments -- Never enable sandbox access for production database credentials or high-privilege API keys -- Review generated code for accidentally exposed environment variables before deploying - ---- \ No newline at end of file diff --git a/src/labs/swe/setup/authentication.mdx b/src/labs/swe/setup/authentication.mdx deleted file mode 100644 index 891ba47b54..0000000000 --- a/src/labs/swe/setup/authentication.mdx +++ /dev/null @@ -1,198 +0,0 @@ ---- -title: "Authentication" -description: "How authentication works in Open SWE" ---- - -Open SWE implements a comprehensive authentication system that secures both client-side interactions and server-side operations. The authentication flow involves GitHub OAuth for user authentication, encrypted token handling, and multi-layered security for LangGraph server requests. - -## GitHub OAuth Authentication - -Open SWE uses GitHub OAuth for client-side authentication, providing secure access to user accounts and repository permissions. - -### Authentication Flow - -- **Unauthenticated users** are automatically redirected to GitHub OAuth login -- **Authenticated users** are redirected directly to the chat interface -- **Settings management** is available at `/settings` for updating GitHub authentication - - - GitHub OAuth provides the foundation for all user interactions, enabling Open - SWE to access repositories and perform actions on behalf of authenticated - users. - - -## LangGraph Server Authentication - -All requests to the LangGraph server are authenticated through a sophisticated proxy system that ensures secure communication between the web interface and the agent backend. - -### Proxy Route Architecture - -The Next.js application includes a proxy route (`apps/web/src/app/api/[..._path]/route.ts`) that acts as an intermediary for all LangGraph server requests. This proxy uses the [`langgraph-nextjs-api-passthrough`](https://www.npmjs.com/package/langgraph-nextjs-api-passthrough) package to handle request forwarding with enhanced security. - - - The proxy route ensures that sensitive authentication tokens never reach the - client directly, maintaining security while enabling seamless communication - with the LangGraph server. - - -## Simple API Key (Bearer) Authentication - -For local development and scripted access, the LangGraph server also supports a simple bearer token scheme. When a request includes an `Authorization: Bearer ` header, this path is used and the rest of the auth flow is skipped. - -### Setup (development) - -- **Generate a token** (32+ bytes, URL-safe): - - OpenSSL: `openssl rand -hex 32` -- **Add to your `.env` for the LangGraph server**: - -```bash -API_BEARER_TOKEN= -``` - -- For multiple/rotation: use comma-separated tokens - -```bash -API_BEARER_TOKENS=,, -``` - -Restart the LangGraph server after updating environment variables. - -### Usage - -```typescript -import { Client } from "@langchain/langgraph-sdk"; - -const client = new Client({ - apiUrl: process.env.LANGGRAPH_API_URL, - defaultHeaders: { - authorization: `Bearer ${process.env.API_BEARER_TOKEN}`, - }, -}); -``` - -### Notes - -- **Precedence**: If the `Authorization` header is present, bearer auth is used; otherwise the existing GitHub-based flow applies. -- **Rotation**: Add a new token to `API_BEARER_TOKENS`, deploy/restart, migrate clients, then remove old tokens and redeploy. -- **Scope**: All bearer tokens currently map to the same internal identity and permissions. If you need per-token identities/quotas, reach out to adjust the configuration. - -### Header Injection System - -The proxy route automatically injects the following encrypted headers into each request: - -#### Authentication Headers - -- **`x-github-access-token`** - User's GitHub access token for user-specific actions (creating issues, comments) -- **`x-github-installation-token`** - GitHub App installation token for app-level actions (commits, pull requests) -- **`x-github-installation-name`** - Installation name (username or organization name) - - - All headers are prefixed with `x-` to ensure they're included in LangGraph run - configurations, making them accessible during execution while maintaining - security through encryption. - - -### Token Encryption - -Open SWE implements AES-256-GCM encryption for all secrets passed to the LangGraph server to prevent exposure in: - -- LangSmith trace metadata -- Run configurations -- Potential unauthorized access scenarios - -The encryption process uses the `SECRETS_ENCRYPTION_KEY` environment variable and includes: - -- **Initialization Vector (IV)** for unique encryption per token -- **Authentication Tag** for data integrity verification -- **Base64 encoding** for safe transport - - - The same encryption key must be configured in both the web application and - LangGraph agent for proper token decryption. - - -## Authentication Middleware - -The LangGraph server implements comprehensive authentication middleware (`apps/open-swe/src/security/auth.ts`) that validates all incoming requests. - -### Webhook Authentication - -The middleware first checks for GitHub webhook requests by detecting the `X-Hub-Signature-256` header: - -1. **Signature verification** using the configured webhook secret -2. **Automatic authorization** for valid webhook signatures -3. **Separate user verification** in subsequent run creation requests - - - Webhook authentication is handled separately from user authentication to - enable automated GitHub issue processing while maintaining security. - - -### Standard Request Authentication - -For non-webhook requests, the middleware validates: - -#### Required Headers - -- **Installation name** (`x-github-installation-name`) -- **Installation token** (`x-github-installation-token`) - -Missing either header results in a 401 Unauthorized error. - -#### User Verification Process - -The middleware supports two authentication paths: - -**Web Application Requests:** - -- Uses encrypted GitHub access token (`x-github-access-token`) -- Verifies user identity through GitHub API -- Extracts user ID and login from token - -**Webhook-Generated Requests:** - -- Uses explicit user headers (`x-github-user-id`, `x-github-user-login`) -- Validates user ID and login against installation token -- Ensures webhook-created runs are properly attributed - -### Identity and Permissions - -Upon successful authentication, the middleware returns an identity object containing: - -- **User ID** for resource ownership verification -- **Display name** (GitHub login) -- **Installation name** for repository context -- **Comprehensive permissions** for LangGraph operations - - - The user ID serves as the primary identifier for resource access control, - ensuring users can only access their own threads, runs, and assistants. - - -## Resource Access Control - -Open SWE implements fine-grained access control for all LangGraph resources: - -### Metadata-Based Ownership - -- **Create operations** automatically add user ID to resource metadata -- **Read/Update/Delete operations** verify user ID matches resource owner -- **Search operations** filter results by user ownership - -## Token Access During Execution - -During LangGraph run execution, encrypted tokens are accessible through the run's configurable field: - -1. **Token extraction** from run configuration -2. **Decryption** using the shared encryption key -3. **Action execution** (creating issues, making commits, etc.) - - - This design ensures tokens remain encrypted in storage and traces while being - available for necessary GitHub operations during run execution. - - - - Always ensure the `SECRETS_ENCRYPTION_KEY` environment variable is identical - between your web application and LangGraph agent deployments. - diff --git a/src/labs/swe/setup/ci.mdx b/src/labs/swe/setup/ci.mdx deleted file mode 100644 index bf34cb9b4d..0000000000 --- a/src/labs/swe/setup/ci.mdx +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: "CI Configuration" -description: "How to configure your CI pipeline for Open SWE" ---- - -## Skip CI until last commit - -Open SWE will push a commit after every change to the repository. This will cause your GitHub CI workflows to run for every commit, which is unnecessary. - -To prevent this, Open SWE supports adding an environment variable which will append `[skip ci]` to the commit message. This can be used to make GitHub skip CI for that commit. - -Below are instructions showing how to use this to skip creating Vercel CI preview deployments on every commit: - - - - Set the environment variable `SKIP_CI_UNTIL_LAST_COMMIT` to `true` in Open SWE's environment variables: - - `apps/open-swe/.env` - ```bash - SKIP_CI_UNTIL_LAST_COMMIT="true" - ``` - - - - - Add a custom 'Ignored Build Step' in Vercel to skip CI when commit messages contain the string `[skip ci]`. - - 1. Navigate to your Vercel project dashboard - 2. Go to **Settings** → **Git** tab - 3. Scroll to **Ignored Build Step** section - 4. Select **Custom** and add the following script: - - ![Vercel Custom Build Step Screenshot](/images/vercel_ignored_build_script_screenshot.png) - - ```bash - git log -1 --pretty=oneline --abbrev-commit | grep -w "\[skip ci\]" && exit 0 || exit 1 - ``` - - - **Do not test this command locally** as it will close your terminal. Use the testing method below instead. - - - - - - To verify your setup works without closing your terminal, use this safe testing command: - - ```bash - # Safe local testing - won't close your terminal - if git log -1 --pretty=oneline --abbrev-commit | grep -w "\[skip ci\]"; then - echo "Found [skip ci] - Vercel would skip this build" - else - echo "No [skip ci] found - Vercel would proceed with build" - fi - ``` - - Test with both types of commits: - - Commits with `[skip ci]` should show "Vercel would skip this build" - - Commits without `[skip ci]` should show "Vercel would proceed with build" - - - - -### How it works - -1. **During task execution**: Open SWE includes `[skip ci]` in commit messages -2. **Vercel behavior**: Skips creating preview deployments for these commits (script exits with code 1) -3. **Task completion**: Open SWE pushes a final commit without `[skip ci]` to trigger deployment (script exits with code 0) -4. **Result**: Only one preview deployment per Open SWE task diff --git a/src/labs/swe/setup/customization.mdx b/src/labs/swe/setup/customization.mdx deleted file mode 100644 index 53a6cb9593..0000000000 --- a/src/labs/swe/setup/customization.mdx +++ /dev/null @@ -1,108 +0,0 @@ ---- -title: "Custom Framework Configuration" -description: "How to configure and customize OpenSWE for custom libraries" ---- - -Open SWE includes support for LangGraph development through the **LangGraph Engineer** toggle. This feature adds framework-specific prompts and MCP tools for building LangGraph agents and workflows. - -You can use a similar approach to build your own customization. - -## LangGraph Engineer Configuration - -### Setting Configuration in the UI - -Enabling the **LangGraph Engineer** toggle in the main input area adds specific LangGraph prompts and allows LangGraph documentation access. - -This sets the following configuration: - -```typescript -const config = { - configurable: { - customFramework: true - } -} -``` - -## How Custom Framework Configuration Works - -The configuration is passed to all agent nodes and used to conditionally include specialized prompts: - -```typescript -// In prompt formatting functions -.replace( - "{CUSTOM_FRAMEWORK_PROMPT}", - shouldUseCustomFramework(config) ? CUSTOM_FRAMEWORK_PROMPT : "", -) -``` - -The `shouldUseCustomFramework(config)` function checks if `config.configurable?.customFramework === true`. - -## Custom Framework Files - -When `customFramework` is `true`, we inject a series of custom prompts and tools into the agent. The table below shows every place in the codebase that needs updating if you're customizing it for a framework other than LangGraph. - -### Prompt Files - -| Component | File | Prompt Constant | Description | -|-----------|------|-----------------|-------------| -| Planner | [prompt.ts](https://github.com/langchain-ai/open-swe/tree/main/apps/open-swe/src/graphs/planner/nodes/generate-message/prompt.ts) | `EXTERNAL_FRAMEWORK_DOCUMENTATION_PROMPT` | Adds framework documentation access instructions | -| Planner | [prompt.ts](https://github.com/langchain-ai/open-swe/tree/main/apps/open-swe/src/graphs/planner/nodes/generate-message/prompt.ts) | `EXTERNAL_FRAMEWORK_PLAN_PROMPT` | Provides framework-specific planning requirements | -| Programmer | [prompt.ts](https://github.com/langchain-ai/open-swe/tree/main/apps/open-swe/src/graphs/programmer/nodes/generate-message/prompt.ts) | `CUSTOM_FRAMEWORK_PROMPT` | Comprehensive framework implementation patterns and best practices | -| Reviewer | [prompt.ts](https://github.com/langchain-ai/open-swe/tree/main/apps/open-swe/src/graphs/reviewer/nodes/generate-review-actions/prompt.ts) | `CUSTOM_FRAMEWORK_PROMPT` | Framework validation and testing requirements | - -### Agent & UI Configuration Files - -| Component | File | Description | -|-----------|------|-------------| -| Toggle Button | [default-view.tsx](https://github.com/langchain-ai/open-swe/tree/main/apps/web/src/components/v2/default-view.tsx) | Contains the LangGraph Engineer toggle button - modify this to add your own button or change the existing one | -| Framework Logic | [should-use-custom-framework.ts](https://github.com/langchain-ai/open-swe/tree/main/apps/open-swe/src/utils/should-use-custom-framework.ts) | Logic function that determines when to enable custom framework features. Currently a boolean based on the UI toggle | -| Documentation | [constants.ts](https://github.com/langchain-ai/open-swe/tree/main/packages/shared/src/constants.ts) | MCP server configuration for framework documentation access | - - -## Customizing for Your Own Framework - -Follow these steps to adapt Open SWE for your own framework: - -### Modify Prompt Constants - -1. **Update prompt files** from the table above to replace LangGraph-specific content: - - Replace `CUSTOM_FRAMEWORK_PROMPT` with your framework's patterns - - Update `EXTERNAL_FRAMEWORK_DOCUMENTATION_PROMPT` with your docs access instructions - - Modify `EXTERNAL_FRAMEWORK_PLAN_PROMPT` with your planning requirements - -### Update UI Configuration - -1. **Modify the toggle button** in [`default-view.tsx`](https://github.com/langchain-ai/open-swe/tree/main/apps/web/src/components/v2/default-view.tsx): - - Change button text from "LangGraph Engineer" to your framework name - - Update tooltip text and descriptions - -2. **Optional**: Create a new toggle button for your framework while keeping the LangGraph one - -### Configure Framework Logic - -You can either: - -- **Reuse the existing `customFramework: true` configuration** and modify the prompts to match your framework instead of LangGraph (no additional code changes needed) -- **Create a separate config variable** by adding a new field in your graph configuration (e.g., `yourFramework: true`) and adding the detection logic similar to [`should-use-custom-framework.ts`](https://github.com/langchain-ai/open-swe/tree/main/apps/open-swe/src/utils/should-use-custom-framework.ts) - -### Add Documentation Access - -1. **Configure MCP servers** in [`constants.ts`](https://github.com/langchain-ai/open-swe/tree/main/packages/shared/src/constants.ts): - ```typescript - export const DEFAULT_MCP_SERVERS = { - "your-framework-docs-mcp": { - command: "uvx", - args: ["your-framework-docs-mcp"], - }, - }; - ``` - -### Build and Test - -1. **Rebuild the application**: - ```bash - cd apps/open-swe - yarn build - ``` - -2. **Test your customization** by enabling the toggle and verifying framework-specific prompts are used diff --git a/src/labs/swe/setup/development.mdx b/src/labs/swe/setup/development.mdx deleted file mode 100644 index 2c110c7add..0000000000 --- a/src/labs/swe/setup/development.mdx +++ /dev/null @@ -1,305 +0,0 @@ ---- -title: "Development Setup" -description: "How to set up Open SWE for development" ---- - -This guide will walk you through setting up Open SWE for local development. You'll need to clone the repository, install dependencies, configure environment variables, create a GitHub App, and start the development servers. - - - This setup is for development purposes. For production deployment, you'll need - to adjust URLs and create separate GitHub Apps for production use. - - -## Prerequisites - -Before starting, ensure you have the following installed: - -- Node.js (version 18 or higher) -- Yarn (version 3.5.1 or higher) -- Git - -## Setup Steps - - - - Clone the Open SWE repository to your local machine: - - ```bash - git clone https://github.com/langchain-ai/open-swe.git - ``` - ```bash - cd open-swe - ``` - - - - - Install all dependencies using Yarn from the repository root: - - ```bash - yarn install - ``` - - This will install dependencies for all packages in the monorepo workspace. - - - - - Copy the environment example files and configure them: - - ```bash - # Copy web app environment file - cp apps/web/.env.example apps/web/.env - ``` - ```bash - # Copy agent environment file - cp apps/open-swe/.env.example apps/open-swe/.env - ``` - - ### Web App Environment Variables (`apps/web/.env`) - - Fill in the following variables (GitHub App values will be added in the next step): - - ```bash Environment Variables [expandable] - # API URLs for development - NEXT_PUBLIC_API_URL="http://localhost:3000/api" - LANGGRAPH_API_URL="http://localhost:2024" - - # Encryption key for secrets (generate with: openssl rand -hex 32) - SECRETS_ENCRYPTION_KEY="" - - # GitHub App OAuth settings (will be filled after creating GitHub App) - NEXT_PUBLIC_GITHUB_APP_CLIENT_ID="" - GITHUB_APP_CLIENT_SECRET="" - GITHUB_APP_REDIRECT_URI="http://localhost:3000/api/auth/github/callback" - - # GitHub App details (will be filled after creating GitHub App) - GITHUB_APP_NAME="open-swe-dev" # this must match the name of your GitHub app, excluding spaces - GITHUB_APP_ID="" - GITHUB_APP_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY----- - ...add your private key here... - -----END RSA PRIVATE KEY----- - " - - # List of GitHub usernames that are allowed to use Open SWE without providing API keys - # This is only used in production. In development every user is an "allowed user". - # Must be a valid JSON array of strings. - NEXT_PUBLIC_ALLOWED_USERS_LIST='["your-github-username", "teammate-username"]' - ``` - - ### Agent Environment Variables (`apps/open-swe/.env`) - - Configure the agent environment variables: - - ```bash Environment Variables [expandable] - # LangSmith tracing & LangSmith deployment - LANGCHAIN_PROJECT="default" - LANGCHAIN_API_KEY="lsv2_pt_..." # Get from LangSmith - LANGCHAIN_TRACING_V2="true" - LANGCHAIN_TEST_TRACKING="false" - - # LLM Provider Keys (at least one required) - ANTHROPIC_API_KEY="" # Recommended - default provider - OPENAI_API_KEY="" # Optional - GOOGLE_API_KEY="" # Optional - - # Infrastructure - DAYTONA_API_KEY="" # Required. For cloud sandboxes - - # Tools - FIRECRAWL_API_KEY="" # For URL content extraction - - # GitHub App settings (same as web app) - GITHUB_APP_NAME="open-swe-dev" # this must match the name of your GitHub app, excluding spaces - GITHUB_APP_ID="" - GITHUB_APP_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY----- - ...add your private key here... - -----END RSA PRIVATE KEY----- - " - GITHUB_WEBHOOK_SECRET="" # Will be generated in next step - - # Server configuration - PORT="2024" - OPEN_SWE_APP_URL="http://localhost:3000" - SECRETS_ENCRYPTION_KEY="" # Must match web app value - - # CI/CD. See the /labs/swe/setup/ci for more information - SKIP_CI_UNTIL_LAST_COMMIT="true" - - # List of GitHub usernames that are allowed to use Open SWE without providing API keys - # This is only used in production. In development every user is an "allowed user". - # Must be a valid JSON array of strings. - NEXT_PUBLIC_ALLOWED_USERS_LIST='["your-github-username", "teammate-username"]' - ``` - - If you don't set the `NEXT_PUBLIC_ALLOWED_USERS_LIST` environment variable, every user will be required to set their own LLM API keys to use the agent. Additionally, none of the webhook features (triggering new runs by adding labels to GitHub issues, tagging the agent in PR reviews, etc.) will work unless you include the username's of the GitHub users you want to allow access to in the `NEXT_PUBLIC_ALLOWED_USERS_LIST` environment variable (in both web and agent deployments). - - - Generate the `SECRETS_ENCRYPTION_KEY` using: `openssl rand -hex 32`. This key must be identical in both environment files. - - - - - - - You'll need to create a **GitHub App** (not a GitHub OAuth App). These are different types of applications with different capabilities. Consider creating separate GitHub apps for development and production environments. - - - ### Create the GitHub App - - 1. Go to [GitHub App creation page](https://github.com/settings/apps/new) - 2. Fill in the basic information: - - **GitHub App name**: Your preferred name - - **Description**: Development instance of Open SWE coding agent - - **Homepage URL**: Your repository URL - - **Callback URL**: `http://localhost:3000/api/auth/github/callback` - - ### Configure OAuth Settings - - - ✅ **Request user authorization (OAuth) during installation** - Allows users to log in to the web app - - ✅ **Redirect on update** - Redirects users back to your app after permission updates - - ❌ **Expire user authorization tokens** - Keep tokens from expiring - - ### Set Up Webhook - - 1. ✅ **Enable webhook** - 2. **Webhook URL**: You'll need to use a tool like ngrok to expose your local server: - ```bash - # Install ngrok if you haven't already - # Then expose your local LangGraph server - ngrok http 2024 - ``` - Use the ngrok URL + `/webhooks/github` (e.g., `https://abc123.ngrok.io/webhooks/github`) - - 3. **Webhook secret**: Generate and save this value: - ```bash - openssl rand -hex 32 - ``` - Add this value to `GITHUB_WEBHOOK_SECRET` in `apps/open-swe/.env` - - ### Configure Permissions - - **Repository permissions:** - - **Contents**: Read & Write - - **Issues**: Read & Write - - **Pull requests**: Read & Write - - **Metadata**: Read only (automatically enabled) - - **Organization permissions:** None - - **Account permissions:** None - - This gif shows how/where to enable the permissions on the GitHub App: - - - ### Subscribe to Events - - - ✅ **Issues** - Required for webhook functionality - - ✅ **Pull request review** - Required for PR tagging functionality - - ✅ **Pull request review comment** - Required for PR tagging functionality - - ✅ **Issue comment** - Required for PR tagging functionality - - ### Installation Settings - - - **Where can this GitHub App be installed?**: - - Choose "Any account" for broader testing - - Or "Only on this account" to limit to your repositories - - ### Complete App Creation - - Click **Create GitHub App** to finish the setup. - - ### Collect App Credentials - - After creating the app, collect the following values and add them to both environment files: - - - **GITHUB_APP_NAME**: The name you chose - - **GITHUB_APP_ID**: Found in the "About" section (e.g., `12345678`) - - **NEXT_PUBLIC_GITHUB_APP_CLIENT_ID**: Found in the "About" section - - **GITHUB_APP_CLIENT_SECRET**: - 1. Scroll to "Client secrets" section - 2. Click "Generate new client secret" - 3. Copy the generated value - - **GITHUB_APP_PRIVATE_KEY**: - 1. Scroll to "Private keys" section - 2. Click "Generate a private key" - 3. Download the `.pem` file and copy its contents - 4. Format as a single line with `\\n` for line breaks, or use the multiline format shown in the example - - **GITHUB_APP_REDIRECT_URI**: Should be `http://localhost:3000/api/auth/github/callback` for local development, or `https://your-production-url.com/api/auth/github/callback` for production. - - **GITHUB_WEBHOOK_SECRET**: Generate and save this value: - ```bash - openssl rand -hex 32 - ``` - Add this value to `GITHUB_WEBHOOK_SECRET` in `apps/open-swe/.env` and `apps/web/.env`. - - Below are screenshots showing where in the GitHub App settings you can find the values for the environment variables. - - - The following screenshots show where to find the following values: - - - `GITHUB_APP_ID` - - `NEXT_PUBLIC_GITHUB_APP_CLIENT_ID` - - `GITHUB_APP_CLIENT_SECRET` - - `GITHUB_APP_REDIRECT_URI` - - `GITHUB_APP_PRIVATE_KEY` - - ![GitHub Secrets Screenshot 1](/images/gh_app_token_screenshot_1.png) - ![GitHub Secrets Screenshot 2](/images/gh_app_token_screenshot_2.png) - ![GitHub Secrets Screenshot 3](/images/gh_app_token_screenshot_3.png) - - - - Keep your GitHub App credentials secure and never commit them to version control. The `.env` files are already included in `.gitignore`. - - - - - - With all environment variables configured, start both development servers: - - **Terminal 1 - Start the LangGraph Agent:** - ```bash - # apps/open-swe - yarn dev - ``` - This starts the LangGraph server at `http://localhost:2024` - - **Terminal 2 - Start the Web Application:** - ```bash - # apps/web - yarn dev - ``` - This starts the Next.js web app at `http://localhost:3000` - - - Both servers need to be running simultaneously for full functionality. The web app communicates with the LangGraph agent through API calls. - - - - - -## Verification - -Once both servers are running: - -1. **Visit the web app**: Navigate to `http://localhost:3000` -2. **Test GitHub authentication**: Try logging in with your GitHub account - - - If you encounter issues, check the console logs in both terminal windows for - error messages. Common issues include missing environment variables or - incorrect GitHub App configuration. - - -## Next Steps - -- Learn about [Authentication](/labs/swe/setup/authentication) to understand how the GitHub App integration works -- Explore [Usage](/labs/swe/usage/intro) to start using Open SWE for code changes -- Review the [Monorepo Structure](/labs/swe/setup/monorepo) for development best practices - diff --git a/src/labs/swe/setup/intro.mdx b/src/labs/swe/setup/intro.mdx deleted file mode 100644 index ec0d59da10..0000000000 --- a/src/labs/swe/setup/intro.mdx +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: "Introduction" -description: "How to set up Open SWE for development" ---- - -# Development Setup Overview - -Welcome to the Open SWE development setup guide. This section will walk you through everything you need to know to get Open SWE running locally for development. - -## Setup Sections - -The setup process is organized into focused sections to help you get up and running efficiently: - - - - Complete guide to cloning the repository, installing dependencies, - configuring environment variables, and starting the development servers. - - - Understanding the authentication flow, GitHub App configuration, and - security mechanisms used throughout Open SWE. - - - -## Technology Stack - -Open SWE is built with modern technologies designed for scalability and developer experience: - -### Core Technologies - -- **TypeScript** - Strict type safety across the entire codebase -- **Yarn** - Package manager with workspace support (v3.5.1) -- **Turbo** - Monorepo build orchestration and task running - -### Agent Infrastructure - -- **LangGraph** - Multi-agent orchestration framework with three specialized graphs: - - Manager graph for user interaction orchestration - - Planner graph for execution plan creation - - Programmer graph for code change execution -- **Daytona** - Sandboxed development environments for safe code execution - -### Web Application - -- **Next.js** - React framework with App Router -- **Shadcn UI** - Component library built on Radix UI primitives -- **Tailwind CSS** - Utility-first CSS framework - -### Documentation - -- **Mintlify** - Documentation platform with MDX support - -## Monorepo Structure - - - Open SWE uses a Yarn workspace monorepo with three main applications and a - shared package for common utilities and types. - - -- **`apps/open-swe`** - LangGraph agent application -- **`apps/web`** - Next.js web interface -- **`apps/docs`** - Mintlify documentation site -- **`packages/shared`** - Shared utilities, types, and constants - -The monorepo is orchestrated by Turbo, which handles build dependencies and parallel task execution across packages. diff --git a/src/labs/swe/setup/monorepo.mdx b/src/labs/swe/setup/monorepo.mdx deleted file mode 100644 index 85024dc7b9..0000000000 --- a/src/labs/swe/setup/monorepo.mdx +++ /dev/null @@ -1,152 +0,0 @@ ---- -title: "Monorepo" -description: "How the Open SWE monorepo is configured" ---- - -Open SWE is organized as a Yarn workspace monorepo with Turbo build orchestration, designed to efficiently manage multiple applications and shared code. This structure enables code reuse, consistent tooling, and streamlined development workflows. - -## Repository Structure - -The monorepo is organized into two main directories: - -### Applications (`apps/`) - -**`apps/open-swe`** - LangGraph Agent Application - -- Contains the core LangGraph agent implementation with TypeScript -- Includes three specialized graphs: manager, planner, and programmer -- Handles GitHub webhook integration and LLM interactions - -**`apps/web`** - Next.js Web Interface - -- React frontend with Next.js framework -- Uses Shadcn UI components (Radix UI) with Tailwind CSS -- Provides the user interface for interacting with the LangGraph agent -- Includes authentication and proxy routes for secure communication - -**`apps/docs`** - Mintlify Documentation - -- Contains this documentation site built with Mintlify -- Provides comprehensive setup and usage guides -- Includes API documentation and development resources - -### Packages (`packages/`) - -**`packages/shared`** - Common Utilities Package - -- Centralized location for shared types, constants, and utilities -- Used by both the agent and web applications -- Exports modules via `@openswe/shared` namespace -- Contains crypto utilities, GraphState types, and Open SWE specific modules - - - The shared package must be built before other packages can import from it. Any - code used by both the agent and web app should be placed here to avoid - duplication. - - -## Turbo Orchestration - -The monorepo uses [Turbo](https://turbo.build/) for efficient build orchestration and task management: - -### Task Dependencies - -```json -{ - "build": { - "dependsOn": ["^build"], - "outputs": ["dist/**", ".next/**", "!.next/cache/**"] - }, - "lint": { - "dependsOn": ["^lint"] - } -} -``` - -The `^build` dependency ensures that shared packages are built before dependent packages, maintaining proper build order across the monorepo. - -### Available Scripts - -Run these commands from the repository root: - -- `yarn build` - Build all packages in dependency order -- `yarn lint` - Run linting across all packages -- `yarn format` - Format code using Prettier - -## Dependency Management Best Practices - - - - Always install dependencies in the specific package where they're used, never in the root `package.json` unless adding a resolution. - - ```bash - # Correct - install in specific package - cd apps/web - yarn add some-package - - # Incorrect - don't install in root - yarn add some-package - ``` - - - - When multiple packages need the same dependency, add a resolution to the root `package.json` to ensure version consistency. - - ```json - { - "resolutions": { - "@langchain/langgraph-sdk": "^0.0.95", - "@langchain/core": "^0.3.58" - } - } - ``` - - - - Run `yarn build` from the root when making changes to `packages/shared` to make them available to other packages. - - ```bash - # After modifying packages/shared - yarn build - ``` - - - -## Postinstall Hook Requirements - -The `apps/open-swe` package includes a critical `postinstall` hook: - -```json -{ - "scripts": { - "postinstall": "turbo build" - } -} -``` - - - This postinstall hook is **required** for LangSmith deployment. Since - Open SWE is a monorepo and the agent requires access to built files from the - shared package, we must run the build process before starting the LangGraph - server. - - -### Why This Matters - -1. **Deployment Compatibility**: LangSmith needs all dependencies built and available -2. **Shared Package Access**: The agent imports utilities from `@openswe/shared` which must be compiled -3. **Build Order**: Ensures the shared package is built before the agent attempts to use it - - - If you encounter import errors related to the shared package during - development, run `yarn build` from the root to ensure all packages are - properly built and linked. - - -## Workspace Configuration - -The monorepo uses Yarn 3.5.1 with the following configuration: - -- **Node Linker**: `node-modules` for compatibility -- **Workspaces**: Automatically discovers packages in `apps/*` and `packages/*` -- **Package Manager**: Enforced via `packageManager` field in `package.json` diff --git a/src/labs/swe/usage/best-practices.mdx b/src/labs/swe/usage/best-practices.mdx deleted file mode 100644 index 5fbe35033d..0000000000 --- a/src/labs/swe/usage/best-practices.mdx +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: Best Practices -description: Guidelines for effective use of Open SWE ---- - -# Best Practices - -Follow these guidelines to get the best results from Open SWE. - -## Prompting Tips - -### Be Clear and Direct - -- Include specific file paths and function names in your requests. Open SWE preforms best when its given a clear starting point. -- Provide concrete examples of what you want to achieve. Describe the end state you want to reach so Open SWE knows what it's working towards. - -### Create Custom Rules - -Create an `AGENTS.md` file in your repository root to provide project-specific context. This helps Open SWE understand your codebase conventions and requirements. - - - See the [Custom Rules](/labs/swe/usage/custom-rules) page for detailed guidance on - setting up your `AGENTS.md` file. - - -### Keep Tasks Well-Scoped - -- Focus on one specific feature or fix per request -- Break large changes into smaller, manageable tasks -- Avoid combining multiple unrelated changes in a single request - -### Avoid Multiple Tasks - -Submit separate requests for different features or fixes. This allows Open SWE to: - -- Generate more focused plans -- Provide better error handling -- Make changes easier to review - -## Model Selection - -- **Claude Sonnet 4 (Default)**: The default model for planning, writing code, and reviewing changes. This model offers the best balance of performance, speed and cost. -- **Claude Opus 4.1**: A larger, more powerful model for difficult, or open-ended tasks. Opus 4.1 is more expensive and slower, but will provide better results for complex tasks. - -### Avoid Other Models - -Although Open SWE allows you to select any model from Anthropic, OpenAI and Google, its prompts are tuned specifically for Anthropic models, and other providers will not preform as well. - -## Mode Selection - -### `open-swe` vs `open-swe-max` - -**`open-swe`**: Uses Claude Sonnet 4 - -- Suitable for most development tasks -- Faster execution -- Cost-effective - -**`open-swe-max`**: Uses Claude Opus 4 (only for the planning and code writing agents) - -- For complex tasks requiring advanced reasoning -- Higher quality output for challenging problems -- More expensive but better for difficult tasks - -### Auto vs Manual Labels - -**Auto Mode (`-auto` labels)** - -It's recommended to use the auto mode for most tasks. Open SWE is very good at planning, and in most cases it does not need a manual review before execution. - -If you're running Open SWE against an open-ended or very complex task, you may want to use manual mode to review the plan before execution. - -## Label Reference - -- `open-swe`: Manual mode with Sonnet 4 -- `open-swe-auto`: Auto mode with Sonnet 4 -- `open-swe-max`: Manual mode with Opus 4.1 -- `open-swe-max-auto`: Auto mode with Opus 4.1 - - - In development environments, append `-dev` to all labels (e.g., - `open-swe-dev`, `open-swe-auto-dev`). - diff --git a/src/labs/swe/usage/custom-rules.mdx b/src/labs/swe/usage/custom-rules.mdx deleted file mode 100644 index b61eb25a6f..0000000000 --- a/src/labs/swe/usage/custom-rules.mdx +++ /dev/null @@ -1,165 +0,0 @@ ---- -title: Custom Rules -description: Configure Open SWE with project-specific rules using `AGENTS.md` ---- - -# Custom Rules - -Custom rules allow you to provide project-specific context and guidelines to Open SWE through a markdown file in your repository root. - -## Getting Started - -The easiest way to get started is to have Open SWE itself write this file for you! The Open SWE UI provides a "Generate `AGENTS.md`" quick action which will insert a predefined prompt into the input. This prompt has been designed to generate a well-formatted `AGENTS.md` file from the agent. - -![Quick Action Generate AGENTS.md](/images/quick_action_generate_agents_md.png) - -## What is `AGENTS.md`? - -`AGENTS.md` is a markdown file that tells Open SWE about your project's: - -- Coding standards and conventions -- Repository structure and architecture -- Dependencies and installation procedures -- Testing frameworks and practices -- Pull request formatting requirements - -## Why Use Custom Rules? - -Custom rules help Open SWE: - -- Follow your project's specific conventions -- Understand your codebase architecture -- Use the correct package managers and tools -- Write tests that match your testing patterns -- Generate properly formatted pull requests - -Without custom rules, Open SWE uses generic best practices that may not align with your project. - -## Supported Sections - -### `` - -Project-specific coding standards and conventions: - -- Package manager preferences (e.g., "Always use Yarn") -- Code style requirements -- Import/export patterns -- Architectural guidelines -- Common scripts, and how to run them - -Example: "Run `yarn test` to run tests", or "Run `yarn build` to build the project" - -### `` - -Description of your codebase organization: - -- Monorepo vs single package structure -- Key directories and their purposes -- Package relationships and dependencies -- Build system configuration - -Include context about where/how to create new files, apps, packages, etc. in this section. - -Example: "When creating new packages, place them inside the `packages` directory." - -### `` - -Package management and setup instructions: - -- Package manager commands -- Installation procedures -- Key dependencies and their purposes -- Workspace configuration details - -This section should include information about the package manager(s) used in the project, and how/where to install dependencies. - -Example: "Always install dependencies inside the specific app/package where they're used, never in the root `package.json` unless adding a resolution." - -### `` - -Testing framework and practices: - -- Test runner configuration (Jest, Vitest, etc.) -- Test file naming conventions -- How to run different test types -- Testing best practices for your project (e.g. what types of tests to write) - -Example: "Always run `yarn test` after making changes." - -### `` - -PR creation and formatting guidelines: - -- Title and description templates -- Required sections or checklists -- Review process requirements -- Linking conventions - -Example: "The pull request body should include a `Testing Steps` section which includes bullet points describing how to test the changes." - -## File Names - -Open SWE reads custom rules from these files (in order of precedence): - -1. `AGENTS.md` (recommended) -2. `AGENT.md` -3. `CLAUDE.md` -4. `CURSOR.md` - - - Use `AGENTS.md` as the standard filename for consistency across projects. - - -## Missing Sections - -If your custom rules file doesn't include XML section tags, the entire file content will be passed to the prompt inside a custom rules section. - -## Formatting Example - -If your custom rules file does include the proper XML section tags, only the content from inside the known tags will be passed to the system prompt. - -Known tags: -- `` -- `` -- `` -- `` -- `` - -Each tag _must_ contain a proper closing tag. If a tag is missing a closing tag, the entire file content will be passed to the prompt inside a custom rules section. - -Here is an example showing what your `AGENTS.md` file should look like: - -```markdown - - -- Always use Yarn as the package manager -- Follow strict TypeScript practices -- Use ESLint and Prettier for code quality - - - -This is a Yarn workspace monorepo with three main packages: - -- apps/web: Next.js frontend -- apps/api: Express backend -- packages/shared: Common utilities - - - -Run `yarn install` from the repository root to install all dependencies. -Key dependencies include React 18, TypeScript, and Jest for testing. - - - - -- Run `yarn test` for unit tests -- Run `yarn test:e2e` for end-to-end tests -- Test files use `.test.ts` extension -- Use Jest with React Testing Library - - - -PR titles should follow: "feat: description" or "fix: description" -Include a brief description and link any related issues. - -``` diff --git a/src/labs/swe/usage/examples.mdx b/src/labs/swe/usage/examples.mdx deleted file mode 100644 index 5570b8aa3d..0000000000 --- a/src/labs/swe/usage/examples.mdx +++ /dev/null @@ -1,106 +0,0 @@ ---- -title: Examples -description: A collection of example tasks for Open SWE ---- - -If you want to try out Open SWE, but aren't sure where to start, here are a few example tasks you can try out. - - - - The examples below are all for TypeScript tasks. For these, you should clone an empty TypeScript template repository: - - [bracesproul/typescript-template](https://github.com/bracesproul/typescript-template) - - Visit the GitHub UI, and click `Use this template` to create a new repository based on this template. - - - - - If you did not give Open SWE to all of your repositories when setting it up the first time, you'll need to give Open SWE access to this repository. - - 1. Visit the settings page on Open SWE: [swe.langchain.com/settings](https://swe.langchain.com/settings) - 2. To the right of your user inside the `Current User` section, click the `+` button. This will redirect you to GitHub where you can authorize Open SWE to access your repositories. - 3. Select the new TypeScript template you just created. - - Once done, it will redirect you back to Open SWE. Once here, find the new repository under the repo dropdown above the chat input. - - - - - After cloning the template and giving Open SWE access to it, you can submit one of the example tasks! - - - -Below are a series of examples you can try out: - - - ```txt - Create an Express-based API exposing CRUD endpoints for `/books`. - Include request validation with `zod`, proper HTTP status codes, and an - in-memory repository layer that can later be swapped for a database. Add Jest - tests covering happy-path and a 'missing ISBN' error case. - ``` - - - - ```txt - Add a small WebSocket server (using `ws`) that tracks how many clients - are currently connected and broadcasts the updated count every 5 seconds. - Expose a health-check HTTP route returning the same value for monitoring - tools. Provide a minimal HTML demo page that shows the live number. - ``` - - - - ```txt - Implement a CLI (`src/sync-issues.ts`) that reads a `config.json` with - one or more GitHub repos, fetches their open issues via the GitHub REST API, - and writes a local `issues.{owner}.{repo}.csv`. Use `yargs` for parsing and - include a `--since YYYY-MM-DD` flag to filter by creation date. - ``` - - - - ```txt - Build a middleware that issues short-lived access tokens and long-lived - refresh tokens. Store refresh tokens in a signed, HttpOnly cookie and expose - `/auth/refresh` to rotate them. Protect a sample route (`/profile`) and supply - Postman collections for login and refresh flows. - ``` - - - - ```txt - Design a generic cache interface with `get`, `set`, and `invalidate` - methods, then provide two adapters: an in-memory `Map` implementation and a - Redis adapter (mock Redis with `ioredis-mock` for tests). Demonstrate - hot-swapping the adapter via an environment variable without code changes. - ``` - - - - ```txt - Stand up an Apollo Server that federates data from the public - JSONPlaceholder `/users` and `/posts` endpoints. Expose a `user(id)` query - returning the user plus their posts in a single round-trip. Add schema-driven - TypeScript types (`codegen.yml`) and example queries in `README.md`. - ``` - - - - ```txt - Create an endpoint that returns a time-limited pre-signed PUT URL for - an S3 bucket (use `@aws-sdk/client-s3`). Include a small React demo (Vite) - that lets a user pick an image and upload it directly. Validate MIME type on - the server before signing. - ``` - - - - ```txt - Publish an internal `/src/date` module that formats, parses, and - time-zone-converts dates using `luxon`. Support at least 'en-US', 'de-DE', and - 'ja-JP'. Provide type-safe wrappers, exhaustive unit tests, and a benchmark - script comparing it to native `Intl.DateTimeFormat`. - ``` - diff --git a/src/labs/swe/usage/github.mdx b/src/labs/swe/usage/github.mdx deleted file mode 100644 index d132ebeb10..0000000000 --- a/src/labs/swe/usage/github.mdx +++ /dev/null @@ -1,130 +0,0 @@ ---- -title: "From Github" -description: "How to use Open SWE from Github" ---- - - - GitHub webhooks are _not_ available via the demo application. To use GitHub webhooks, you must set up your own instance of Open SWE following the [development setup guide](/labs/swe/setup/development). - - -# GitHub Webhook Integration - -Open SWE integrates seamlessly with GitHub through webhooks, allowing you to trigger automated code changes directly from GitHub issues. This provides a streamlined workflow where you can request code changes by simply adding labels to issues in repositories where Open SWE is installed. - -## Triggering Runs with Labels - -Open SWE monitors GitHub issues for specific labels that trigger automated runs. When you add one of these labels to an issue, Open SWE will automatically create a new run to process your request. - -### Label Types - -Open SWE supports three types of labels that control how the agent operates: - -**Manual Mode (`open-swe`)** - -- Requires manual approval of the generated plan before code execution -- Gives you full control over what changes will be made -- Ideal for complex or sensitive changes where you want to review the approach first - -**Auto Mode (`open-swe-auto`)** - -- Automatically approves and executes the generated plan -- Provides faster turnaround for straightforward requests -- Best for simple changes or when you trust the agent to proceed autonomously - -**Max Mode (`open-swe-max` and `open-swe-max-auto`)** - -- Uses Claude Opus 4.1 for both planning and programming tasks -- Provides enhanced performance and reasoning capabilities for complex problems -- `open-swe-max`: Requires manual plan approval with premium model performance -- `open-swe-max-auto`: Combines automatic execution with premium model capabilities -- Ideal for challenging tasks that benefit from the most advanced AI reasoning - - - In development environments, the labels are `open-swe-dev`, - `open-swe-auto-dev`, `open-swe-max-dev`, and `open-swe-max-auto-dev` - respectively. The system automatically uses the appropriate labels based on - the `NODE_ENV` environment variable. - - -## Automatic Run Creation - -When you add a supported label to a GitHub issue, Open SWE's webhook handler automatically: - -1. **Validates the request** - Verifies webhook signatures and authentication -2. **Extracts issue context** - Captures the issue title, description, and metadata -3. **Creates a new thread** - Generates a unique thread ID for the conversation -4. **Starts the Manager Graph** - Initiates the agent workflow with the issue content -5. **Configures execution mode** - Sets auto-accept based on the label type used - -The entire process happens within seconds of adding the label, providing immediate feedback through issue comments. - -## Issue Comments and Run Links - -Once a run is created, Open SWE automatically posts a comment on the triggering issue to confirm processing has started. This comment includes: - -- **Status confirmation** - "🤖 Open SWE has been triggered for this issue. Processing..." -- **Run link** - Direct URL to view the run in the Open SWE web interface -- **Access restriction notice** - Clarifies that only the issue creator can access the run -- **Development metadata** - Run ID and thread ID for debugging (in a collapsible section) - - - The run link allows you to monitor progress in real-time, view the generated - plan, and interact with the agent if needed. You can switch between manual and - auto mode even after the run has started. - - -## User Access Restrictions - -Open SWE implements strict access controls to ensure security and privacy: - -### Issue Creator Access - -- **Only the user who created the issue** can access the generated run URL -- This prevents unauthorized users from viewing or modifying runs triggered by others -- Access is enforced through GitHub authentication and user verification - -### Repository Permissions - -- Open SWE respects GitHub's repository permissions -- Users must have appropriate access to the repository to trigger runs -- The GitHub App installation determines which repositories can use Open SWE - - - If you need to share access to a run with team members, you can do so through - the Open SWE web interface after the run is created, or by having team members - with repository access create their own issues. - - -## Pull Request Integration - -When Open SWE successfully completes code changes, it automatically creates pull requests that are linked back to the original issue: - -### Automatic PR Creation - -- **Generated after plan execution** - PRs are created once the Programmer Graph completes its work -- **Linked to triggering issue** - PRs reference the original issue in their description -- **Preserves commit history** - All intermediate commits are maintained for transparency - -### Issue Resolution - -- **Automatic closure** - When the generated PR is merged, GitHub automatically closes the linked issue -- **Clear audit trail** - The connection between issue, run, and PR provides complete traceability -- **Status updates** - Issue comments track the progress from request to completion - - - You can review the generated PR before merging, even in auto mode. The - auto-accept setting only applies to plan approval, not PR merging, giving you - final control over what code enters your repository. - - -## Getting Started - -To start using Open SWE with webhooks: - -1. **Ensure Open SWE is installed** on your repository as a GitHub App -2. **Create a detailed issue** describing the changes you want -3. **Add the appropriate label** (`open-swe` for manual mode or `open-swe-auto` for automatic mode) -4. **Monitor the issue comments** for the run link and status updates -5. **Review and merge the PR** when Open SWE completes the changes - -For setup instructions, see the [Development Setup](/labs/swe/setup/development) guide. diff --git a/src/labs/swe/usage/intro.mdx b/src/labs/swe/usage/intro.mdx deleted file mode 100644 index ec95d438d9..0000000000 --- a/src/labs/swe/usage/intro.mdx +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: "Introduction" -description: "How to use Open SWE" ---- - -# Using Open SWE - -Open SWE provides two primary ways to interact with the coding agent, each designed for different workflows and use cases. Whether you prefer direct interaction through a web interface or automated triggers through GitHub webhooks, Open SWE adapts to your development process. - -## Usage Methods - - - - Interactive chat interface with manual and auto modes for direct agent - communication - - - Automated triggers through GitHub issue labels for seamless repository - integration - - - -## Getting Started - -### Try the Demo - -You can explore Open SWE's capabilities using our hosted demo at [swe.langchain.com](https://swe.langchain.com). - - - The demo application requires you to provide your own LLM API keys. For - production use or development, we recommend setting up your own instance - following our [development setup guide](/labs/swe/setup/development). - - -### Choose Your Workflow - -- **Web Interface**: Best for interactive development, experimentation, and when you want direct control over the agent's planning and execution process -- **GitHub Webhooks**: Ideal for automated workflows, issue-driven development, and team collaboration where coding tasks are tracked through GitHub issues - -## What's Next? - - - Start with the [Web Interface guide](/labs/swe/usage/ui) to understand Open - SWE's core capabilities, then explore [GitHub - Webhooks](/labs/swe/usage/github) for automated integration into your - development workflow. - - -Both usage methods leverage the same underlying LangGraph agent architecture with specialized graphs for planning, programming, and management, ensuring consistent behavior regardless of how you interact with Open SWE. diff --git a/src/labs/swe/usage/pr-tagging.mdx b/src/labs/swe/usage/pr-tagging.mdx deleted file mode 100644 index cfe0391ba3..0000000000 --- a/src/labs/swe/usage/pr-tagging.mdx +++ /dev/null @@ -1,185 +0,0 @@ ---- -title: "PR Tagging" -description: "How to trigger Open SWE runs by tagging it in PR comments and reviews" ---- - - - PR tagging functionality is **not available** on the demo application at [swe.langchain.com](https://swe.langchain.com). To use PR tagging, you must self-host Open SWE following the [development setup guide](/labs/swe/setup/development). - - -# PR Tagging Integration - -Open SWE supports triggering automated runs directly from pull request interactions by tagging the agent in comments and reviews. This feature provides a seamless way to request code changes, ask questions, or resolve review feedback without leaving the GitHub interface. - -## How PR Tagging Works - -You can trigger Open SWE by mentioning `@open-swe` in any of the following contexts: - -### PR Reviews -- **Leave a review** on a pull request and tag `@open-swe` in the review body -- Open SWE will process the entire review and resolve all comments within it -- Ideal for comprehensive feedback that requires multiple changes - -### Review Comments -- **Tag `@open-swe`** in specific line-by-line review comments -- Open SWE will focus on resolving that particular comment -- Perfect for targeted fixes on specific code sections - -### General PR Comments -- **Comment on the PR** and tag `@open-swe` to request general changes -- Open SWE will implement the requested modifications -- Best for broader changes or new feature requests - - - Each time you tag `@open-swe`, it creates a **new independent run**. Multiple tags in the same comment or across different comments will result in separate runs being executed. - - -## Context and Security Considerations - - - **Security Notice**: When you tag Open SWE in a PR, it will have access to **all comments, reviews, and review comments** on that pull request, along with any linked issues. Be aware of potential prompt injection attacks and avoid including sensitive information in PR discussions, or linked issues, when using this feature. - - -### What Context is Included - -When Open SWE processes a PR tagging request, it automatically gathers: - -- **All PR comments** (general discussion comments) -- **All reviews** (including their associated review comments) -- **All review comments** (line-by-line feedback) -- **Linked issues** referenced in the PR description (issue title and description) - -### Linked Issues Detection - -Open SWE automatically detects and includes linked issues using these keywords in the PR description: -- `fixes #123` or `fix #123` -- `closes #456` or `close #456` -- `resolves #789` or `resolve #789` - -When these patterns are found, Open SWE will include the issue title and description as additional context for better understanding of the requirements. - -## How Open SWE Responds - -Open SWE can handle both **code changes** and **questions** depending on your request: - -### Code Changes -When you request code modifications, Open SWE will: -1. **Create a new branch** pointing to the original PR branch -2. **Implement the requested changes** on this new branch -3. **Create a new pull request** with the changes -4. **Link the new PR** back to the original PR for easy review - -This workflow ensures your original PR remains unchanged while allowing you to review the proposed modifications separately. - -### Questions and Investigations -Open SWE can also respond to questions that don't require code changes: -- Ask about code functionality or architecture decisions -- Request explanations of existing implementations -- Get suggestions for alternative approaches - -### Response Types by Comment Location - -**Review Comments (line-by-line)** -- Open SWE replies **directly to the review comment** -- Response appears in the same conversation thread - -**Review Messages (overall review)** -- Open SWE creates a **new comment** on the PR -- Quotes the original review and tags the reviewer -- Provides a comprehensive response to the review - -**General PR Comments** -- Open SWE creates a **new comment** on the PR -- Quotes the original comment and tags the commenter -- Addresses the specific request or question - -## Getting Started - -To start using PR tagging: - -1. **Ensure Open SWE is properly configured** for your repository (see self-hosting section below) -2. **Navigate to any pull request** in a repository where Open SWE is installed -3. **Leave a comment, review, or review comment** describing what you want -4. **Tag `@open-swe`** anywhere in your message -5. **Wait for Open SWE to respond** - it will reply immediately and begin processing - -### Example Usage - -```markdown -@open-swe can you refactor this function to use async/await instead of promises? -``` - -```markdown -This code looks good overall, but I think we need better error handling. -@open-swe please add try-catch blocks and proper error logging. -``` - -```markdown -@open-swe what's the performance impact of this approach compared to the previous implementation? -``` - -## Self-Hosting Configuration - -To use PR tagging with your self-hosted Open SWE instance, you'll need to configure a custom trigger username: - -### Step 1: Create a GitHub User Account - -Create a dedicated GitHub user account that will serve as your tagging trigger: -- Choose a username that's easy to remember (e.g., matching your GitHub App name) -- This account doesn't need any special permissions - it's just used for tagging - -### Step 2: Update the Trigger Function - -Modify the `mentionsGitHubUserForTrigger` function in `apps/open-swe/src/routes/github/utils.ts`: - -```typescript -export function mentionsGitHubUserForTrigger(commentBody: string): boolean { - return /@your-custom-username\b/.test(commentBody); -} -``` - -Replace `your-custom-username` with the GitHub username you created. - -### Step 3: Set Environment Variable - -Add the trigger username to your environment configuration in `apps/open-swe/.env`: - -```bash -GITHUB_TRIGGER_USERNAME="your-custom-username" -``` - -This should match the username from Step 1 (without the @ symbol). - -### Step 4: Update Allowed Users - -Add the GitHub usernames who should be allowed to trigger runs to the `NEXT_PUBLIC_ALLOWED_USERS_LIST` environment variable in your agent's deployment environment (include in the production deployments for both the web app and agent to take advantage of the allowed users functionality). - -```bash -NEXT_PUBLIC_ALLOWED_USERS_LIST='["your-github-username", "teammate-username"]' -``` - -When running locally, every user is an "allowed user". It's also recommended to set this environment variable in your web app's production environment variables so your users won't need to set their own API keys when invoking Open SWE via the web app. - - - After making these configuration changes, restart your Open SWE instance to ensure the new settings take effect. You can then test the functionality by tagging your custom username in a PR comment. - - -## Best Practices - -- **Be specific** in your requests to get better results -- **Use separate tags** for different types of changes to keep runs focused -- **Review generated PRs** before merging to ensure quality -- **Be mindful of context** - avoid sensitive information in PR discussions -- **Test with simple requests** first when setting up self-hosting - -## Troubleshooting - -If PR tagging isn't working: - -1. **Check GitHub App permissions** - Ensure you have the required event subscriptions enabled -2. **Verify environment variables** - Confirm `GITHUB_TRIGGER_USERNAME` is set correctly -3. **Review allowed users** - Make sure your GitHub username is in the `ALLOWED_USERS` list -4. **Check webhook configuration** - Ensure webhooks are properly configured and receiving events -5. **Monitor logs** - Check the Open SWE logs for any error messages or debugging information - -For additional help, refer to the [development setup guide](/labs/swe/setup/development) or check the GitHub repository for troubleshooting resources. diff --git a/src/labs/swe/usage/ui.mdx b/src/labs/swe/usage/ui.mdx deleted file mode 100644 index d3f1fdea69..0000000000 --- a/src/labs/swe/usage/ui.mdx +++ /dev/null @@ -1,224 +0,0 @@ ---- -title: "From the UI" -description: "How to use Open SWE from the UI" ---- - -Open SWE provides a powerful web interface that allows you to interact with the coding agent through a chat-like experience. The UI supports both automated and manual workflows, giving you control over how the agent processes your requests. - -## Auto vs Manual Mode - -The UI offers two distinct modes for handling your coding requests: - - - You can toggle between auto and manual mode using the checklist icon in the - main input area. - - -### Auto Mode - -When **Auto Mode** is enabled (checklist icon is highlighted): - -- Plans are automatically accepted and executed without user intervention -- The agent proceeds directly from planning to implementation -- Ideal for straightforward requests where you trust the agent's planning - -### Manual Mode - -When **Manual Mode** is active (checklist icon is not highlighted): - -- You must manually review and accept proposed plans before execution -- Provides opportunity to edit, modify, or reject plans -- Allows for more control over the implementation approach - - - Start with manual mode for important changes to review the agent's approach - before execution. - - -## Manager Agent Capabilities - -The Manager agent acts as the central orchestrator, intelligently routing your messages and managing the overall workflow. Here's what the Manager can and cannot do: - -### What the manager _can_ do - - - - Provides contextual responses and status updates about ongoing operations. - You can ask the manager what it can do, what the status of different agents - is, etc. - - - Initiates new planning sessions when you submit coding requests. If your - message contains a coding request, the manager will create a new planning - session & corresponding GitHub issue. - - - Forwards additional context or requirements to running planner sessions. If - you send a message while the planner is running, the manager can forward - that message to the planner, without interrupting its flow. - - - Resumes planner sessions that were paused for the user to accept or reject - plans. If the planner has paused for plan acceptance, you can message the - manager with feedback about the plan. This will be forwarded to the planner, - and it will continue its flow based on your feedback. - - - Provides additional context or instructions to running implementation - sessions. If you send a message while the programmer is running, the manager - can forward that message to the programmer, without interrupting its flow. - - - Creates new tasks, independent of the current request. If you send a message - to the manager with a request for a task that is unrelated to the current - request, or can be implemented in parallel via a different session, the - manager will create a new GitHub issue, and initiate a new planning session - for that issue. - - - -### What the Manager _cannot_ Do - - - The Manager has several important limitations to ensure proper workflow - control: - - -- **Cannot create new Programmer runs** - This only happens after plan acceptance or in auto mode. -- **Cannot stop running Planner/Programmer sessions** - To stop a session, you must click the cancel button in the UI. -- **Cannot re-plan while Programmer is running** - Once the programmer session has started, you can not go back to the planner. However, you can send a message to the manager which can be forwarded to the programmer. -- **Cannot open Pull Requests directly** - PRs are created automatically after Programmer completion (and changes are automatically committed anytime a file is modified). -- **Cannot accept plans in manual mode** - You must manually click accept for plan approval. - -## Message Handling and Routing - -The Manager intelligently classifies your messages and routes them to the appropriate component: - -### Message Classification - -When you send a message, the Manager analyzes: - -- Current status of Planner and Programmer graphs -- Content and intent of your message -- Existing conversation context -- Active plans and tasks - -### Routing Options - -Based on the analysis, messages are routed to: - -- **Start Planner**: For new coding requests requiring planning -- **Update Planner**: To add context to active planning sessions -- **Resume Planner**: To continue interrupted planning with new information -- **Update Programmer**: To provide context to active implementation sessions -- **Create New Issue**: For independent requests that should be separate GitHub issues -- **No Operation**: For messages that don't require specific routing - -## Planning Runs - -Planning runs are handled by the Planner graph, which creates detailed execution plans for your requests. - -### Planning Process - - - - The Planner analyzes your repository and gathers relevant context about the - codebase - - - Creates a structured plan with specific, actionable steps - - - Presents the proposed plan for review (in manual mode) or automatic - acceptance (in auto mode) - - - -### Plan Interruption - -Plans are presented as interruptions that require user response: - -- **Manual Mode**: You must explicitly accept or reject the plan -- **Auto Mode**: Plans are automatically accepted and execution begins -- **Plan Editing**: You can modify proposed plans before acceptance -- **Feedback**: You can provide feedback to the manager if you want the plan to be changed in some way - -### Automatic Approval - -When auto mode is enabled, plans are automatically accepted and implementation begins immediately after plan generation. - -## Programmer Runs - -Once a plan is accepted, the Programmer graph executes the implementation. - -### Programming Process - - - - Works through each step of the accepted plan systematically - - - Makes actual changes to files in your repository - - - Updates plan status and provides summaries of completed work - - - Automatically opens a PR with all changes when implementation is complete - - - - - The Programmer automatically commits changes after each step, ensuring your - work is preserved even if the session is interrupted. - - -## LangGraph Engineer Toggle - -The UI includes a **LangGraph Engineer** toggle button that optimizes the agent's performance when working with LangGraph code: - - - The LangGraph Engineer toggle is located in the main input area, represented by the Open SWE icon. - - -### When to Enable LangGraph Engineer - -Enable this toggle when your request involves creating or modifying LangGraph agents or workflows. It is very useful for building LLM apps from scratch. - -### What LangGraph Engineer Does - -When enabled, the toggle: - -- **Provides specific prompts**: Adds LangGraph-specific guidance and best practices to all agent prompts -- **Includes documentation access**: Agents can automatically fetch up-to-date LangGraph documentation during planning and implementation through an MCP server. -- **Follows LangGraph patterns**: Ensures agents use proper LangGraph structure, primitives, and deployment methods. - - - Enable LangGraph Engineer for any project that imports from `@langchain/langgraph` or `langgraph` to get the best results. - - -## Getting Started - -To begin using the Open SWE UI: - - - - Choose your GitHub repository and branch using the repository selector - - - Toggle auto/manual mode based on your preference for plan approval - - - Type your coding request in the terminal input and press Cmd+Enter to send - - - Watch as the Manager routes your request and coordinates the planning and - implementation - - - - - Make sure you have properly configured your GitHub App and authentication - before using the UI. See the [Development Setup](/labs/swe/setup/development) - guide for details. - diff --git a/src/langsmith/add-auth-server.mdx b/src/langsmith/add-auth-server.mdx index b3d138027b..00428b2084 100644 --- a/src/langsmith/add-auth-server.mdx +++ b/src/langsmith/add-auth-server.mdx @@ -4,7 +4,7 @@ sidebarTitle: Connect an authentication provider --- In [the last tutorial](/langsmith/resource-auth), you added resource authorization to give users private conversations. However, you are still using hard-coded tokens for authentication, which is not secure. Now you'll replace those tokens with real user accounts using [OAuth2](/langsmith/deployment-quickstart). -You'll keep the same [`Auth`](/langsmith/langgraph-python-sdk#langgraph_sdk.auth.Auth) object and [resource-level access control](/langsmith/auth#single-owner-resources), but upgrade authentication to use Supabase as your identity provider. While Supabase is used in this tutorial, the concepts apply to any OAuth2 provider. You'll learn how to: +You'll keep the same @[`Auth`][Auth] object and [resource-level access control](/langsmith/auth#single-owner-resources), but upgrade authentication to use Supabase as your identity provider. While Supabase is used in this tutorial, the concepts apply to any OAuth2 provider. You'll learn how to: 1. Replace test tokens with real JWT tokens 2. Integrate with OAuth2 providers for secure user authentication @@ -82,9 +82,9 @@ Since you're using Supabase for this, you can do this in the Supabase dashboard: ## 3. Implement token validation -In the previous tutorials, you used the [`Auth`](/langsmith/langgraph-python-sdk#langgraph_sdk.auth.Auth) object to [validate hard-coded tokens](/langsmith/set-up-custom-auth) and [add resource ownership](/langsmith/resource-auth). +In the previous tutorials, you used the @[`Auth`][Auth] object to [validate hard-coded tokens](/langsmith/set-up-custom-auth) and [add resource ownership](/langsmith/resource-auth). -Now you'll upgrade your authentication to validate real JWT tokens from Supabase. The main changes will all be in the [`@auth.authenticate`](/langsmith/langgraph-python-sdk#langgraph_sdk.auth.Auth.authenticate) decorated function: +Now you'll upgrade your authentication to validate real JWT tokens from Supabase. The main changes will all be in the @[`@auth.authenticate`][Auth.authenticate] decorated function: * Instead of checking against a hard-coded list of tokens, you'll make an HTTP request to Supabase to validate the token. * You'll extract real user information (ID, email) from the validated token. @@ -270,7 +270,7 @@ You've successfully built a production-ready authentication system for your Lang 1. Set up an authentication provider (Supabase in this case) 2. Added real user accounts with email/password authentication -3. Integrated JWT token validation into your LangGraph server +3. Integrated JWT token validation into your Agent Server 4. Implemented proper authorization to ensure users can only access their own data 5. Created a foundation that's ready to handle your next authentication challenge 🚀 @@ -278,4 +278,4 @@ Now that you have production authentication, consider: 1. Building a web UI with your preferred framework (see the [Custom Auth](https://github.com/langchain-ai/custom-auth) template for an example) 2. Learn more about the other aspects of authentication and authorization in the [conceptual guide on authentication](/langsmith/auth). -3. Customize your handlers and setup further after reading the [reference docs](/langsmith/langgraph-python-sdk#langgraph_sdk.auth.Auth). +3. Customize your handlers and setup further after reading the @[reference docs][Auth]. diff --git a/src/langsmith/add-human-in-the-loop.mdx b/src/langsmith/add-human-in-the-loop.mdx index aa6cdaf935..b3c05ec472 100644 --- a/src/langsmith/add-human-in-the-loop.mdx +++ b/src/langsmith/add-human-in-the-loop.mdx @@ -133,7 +133,7 @@ To review, edit, and approve tool calls in an agent or workflow, use LangGraph's - This is an example graph you can run in the LangGraph API server. + This is an example graph you can run in the Agent Server. See [LangSmith quickstart](/langsmith/deployment-quickstart) for more details. ```python {highlight={7,13}} @@ -171,7 +171,7 @@ To review, edit, and approve tool calls in an agent or workflow, use LangGraph's 2. Any JSON serializable value can be passed to the @[`interrupt`] function. Here, a dict containing the text to revise. 3. Once resumed, the return value of `interrupt(...)` is the human-provided input, which is used to update the state. - Once you have a running LangGraph API server, you can interact with it using + Once you have a running Agent Server, you can interact with it using [LangGraph SDK](/langsmith/langgraph-python-sdk) diff --git a/src/langsmith/administration-overview.mdx b/src/langsmith/administration-overview.mdx index 5a3e0e7dc7..e7919703a4 100644 --- a/src/langsmith/administration-overview.mdx +++ b/src/langsmith/administration-overview.mdx @@ -3,6 +3,9 @@ title: Overview sidebarTitle: Overview --- +import OrgWorkspaceRole from '/snippets/langsmith/multi-workspace-org-roles.mdx'; +import PermissionReference from '/snippets/langsmith/permissions-reference.mdx'; + This overview covers topics related to managing users, organizations, and workspaces within LangSmith. ## Resource Hierarchy @@ -117,35 +120,45 @@ To see how to create a service key or Personal Access Token, see the [setup guid ### Organization roles -Organization roles are distinct from the Enterprise feature (RBAC) below and are used in the context of multiple [workspaces](#workspaces). Your organization role determines your workspace membership characteristics and your organization-level permissions. See the [organization setup guide](/langsmith/set-up-a-workspace#organization-roles) for more information. +Organization roles are distinct from the [Enterprise feature workspace RBAC](#workspace-roles-rbac) and are used in the context of multiple [workspaces](#workspaces). Your organization role determines your workspace membership characteristics and your [organization-level permissions](/langsmith/organization-workspace-operations). The organization role selected also impacts workspace membership as described here: -* `Organization Admin` grants full access to manage all organization configuration, users, billing, and workspaces. **An `Organization Admin` has `Admin` access to all workspaces in an organization** -* `Organization User` may read organization information but cannot execute any write actions at the organization level. **An `Organization User` can be added to a subset of workspaces and assigned workspace roles as usual (if RBAC is enabled), which specify permissions at the workspace level.** +- [Organization Admin](/langsmith/rbac#organization-admin) grants full access to manage all organization configuration, users, billing, and workspaces. + - An Organization Admin has `Admin` access to all workspaces in an organization. +- [Organization User](/langsmith/rbac#organization-user) may read organization information but cannot execute any write actions at the organization level. An Organization User may create [Personal Access Tokens](#personal-access-tokens-pats). + - An Organization User can be added to a subset of workspaces and assigned workspace roles as usual (if RBAC is enabled), which specify permissions at the workspace level. +- [Organization Viewer](/langsmith/rbac#organization-viewer) is equivalent to Organization User, but **cannot** create Personal Access Tokens. (for self-hosted, available in Helm chart version 0.11.25+). -The `Organization User` role is only available in organizations on plans with multiple workspaces. In organizations limited to a single workspace, all users are `Organization Admins`. Custom organization-scoped roles are not available yet. + + +See [security settings](/langsmith/manage-organization-by-api#security-settings) for instructions on how to disable PAT creation for the entire organization. -See the table below for all organization permissions: - -| | Organization User | Organization Admin | -| ------------------------------------------- | ----------------- | ------------------ | -| View organization configuration | ✅ | ✅ | -| View organization roles | ✅ | ✅ | -| View organization members | ✅ | ✅ | -| View data retention settings | ✅ | ✅ | -| View usage limits | ✅ | ✅ | -| Admin access to all workspaces | | ✅ | -| Manage billing settings | | ✅ | -| Create workspaces | | ✅ | -| Create, edit, and delete organization roles | | ✅ | -| Invite new users to organization | | ✅ | -| Delete user invites | | ✅ | -| Remove users from an organization | | ✅ | -| Update data retention settings\* | | ✅ | -| Update usage limits\* | | ✅ | +For more information on setting up organizations and workspaces, refer to the [organization setup guide](/langsmith/set-up-a-workspace#organization-roles) for more information. + +The following table provdies an overview of organization level permissions: + +| | Organization Viewer | Organization User | Organization Admin | +| ------------------------------------------- | ------------------- | ----------------- | ------------------ | +| View organization configuration | ✅ | ✅ | ✅ | +| View organization roles | ✅ | ✅ | ✅ | +| View organization members | ✅ | ✅ | ✅ | +| View data retention settings | ✅ | ✅ | ✅ | +| View usage limits | ✅ | ✅ | ✅ | +| Create personal access tokens (PATs) | ❌ | ✅ | ✅ | +| Admin access to all workspaces | ❌ | ❌ | ✅ | +| Manage billing settings | ❌ | ❌ | ✅ | +| Create workspaces | ❌ | ❌ | ✅ | +| Create, edit, and delete organization roles | ❌ | ❌ | ✅ | +| Invite new users to organization | ❌ | ❌ | ✅ | +| Delete user invites | ❌ | ❌ | ✅ | +| Remove users from an organization | ❌ | ❌ | ✅ | +| Update data retention settings | ❌ | ❌ | ✅ | +| Update usage limits | ❌ | ❌ | ✅ | + + ### Workspace roles (RBAC) @@ -155,23 +168,36 @@ RBAC (Role-Based Access Control) is a feature that is only available to Enterpri Roles are used to define the set of permissions that a user has within a workspace. There are three built-in system roles that cannot be edited: -* `Admin` - has full access to all resources within the workspace -* `Viewer` - has read-only access to all resources within the workspace -* `Editor` - has full permissions except for workspace management (adding/removing users, changing roles, configuring service keys) +- [Workspace Admin](/langsmith/rbac#workspace-admin) has full access to all resources within the workspace. +- [Workspace Editor](/langsmith/rbac#workspace-editor) has full permissions except for workspace management (adding/removing users, changing roles, configuring service keys). +- [Workspace Viewer](/langsmith/rbac#workspace-viewer) has read-only access to all resources within the workspace. -Organization admins can also create/edit custom roles with specific permissions for different resources. +[Organization admins](/langsmith/rbac#organization-admin) can also create/edit custom roles with specific permissions for different resources. -Roles can be managed in organization settings under the `Roles` tab: +Roles can be managed in **Organization Settings** under the **Roles** tab: -![Roles](/langsmith/images/roles-tab-rbac.png) +![The Organization members and roles view showing a list of the roles.](/langsmith/images/roles-tab-rbac.png) -For more details on assigning and creating roles, see the [access control setup guide](/langsmith/user-management). +- For comprehensive documentation on roles and permissions, refer to the [Role-based access control](/langsmith/rbac) guide. +- For more details on assigning and creating roles, refer to the [User Management](/langsmith/user-management) guide. +- ## Best Practices ### Environment Separation -Use [resource tags](#resource-tags) to organize resources by environment using the default tag key `Environment` and different values for the environment (e.g. `dev`, `staging`, `prod`). This tagging structure will allow you to organize your tracing projects today and easily enforce permissions when we release attribute based access control (ABAC). ABAC on the resource tag will provide a fine-grained way to restrict access to production tracing projects, for example. We do not recommend that you use Workspaces for environment separation as you cannot share resources across Workspaces. If you would like to promote a prompt from `staging` to `prod`, we recommend you use commit tags instead. See [docs](/langsmith/prompt-engineering-concepts#tags) for more information. +Use [resource tags](#resource-tags) to organize resources by environment using the default tag key `Environment` and different values for the environment (e.g., `dev`, `staging`, `prod`). We do not recommend using separate workspaces for environment separation because resources cannot be shared across workspaces, which would prevent you from promoting resources (like prompts) between environments. + + +**Resource tags vs. commit tags for prompt management** + +While both types of tags can use environment terminology like `dev`, `staging`, and `prod`, they serve different purposes: + +- **Resource tags** (`Environment: prod`): Use these to *organize and filter* resources across your workspace. Apply resource tags to tracing projects, datasets, and other resources (including prompts) to group them by environment, which enables filtering in the UI. +- [Commit tags](/langsmith/manage-prompts#commit-tags) (`prod` tag): Use these to manage which [prompt version](/langsmith/prompt-engineering) your code references. Commit tags are labels that point to specific commits in a prompt's history. When your code pulls a prompt by tag name (e.g., `client.pull_prompt("prompt-name:prod")`), it retrieves whichever commit that tag currently points to. To promote a prompt from `staging` to `prod`, move the commit tag to point to the desired version. + +Resource tags organize **which resources** belong to an environment. Commit tags let you control **which version** of a prompt your code references without changing the code itself. + ## Usage and Billing @@ -255,9 +281,7 @@ LangSmith has rate limits which are designed to ensure the stability of the serv To ensure access and stability, LangSmith will respond with HTTP Status Code 429 indicating that rate or usage limits have been exceeded under the following circumstances: -#### Scenarios - -###### Temporary throughput limit over a 1 minute period at our application load balancer +#### Temporary throughput limit over a 1 minute period at our application load balancer This 429 is the the result of exceeding a fixed number of API calls over a 1 minute window on a per API key/access token basis. The start of the window will vary slightly — it is not guaranteed to start at the start of a clock minute — and may change depending on application deployment events. @@ -265,18 +289,19 @@ After the max events are received we will respond with a 429 until 60 seconds fr This 429 is thrown by our application load balancer and is a mechanism in place for all LangSmith users independent of plan tier to ensure continuity of service for all users. -| Method | Endpoint | Limit | Window | -| ------------- | -------- | ----- | -------- | -| DELETE | Sessions | 30 | 1 minute | -| POST OR PATCH | Runs | 5000 | 1 minute | -| POST | Feedback | 5000 | 1 minute | -| \* | \* | 2000 | 1 minute | +| Method | Endpoints | Limit | Window | +| ----------------- | ------------- | ----- | -------- | +| `DELETE` | `/sessions*` | 30 | 1 minute | +| `POST` OR `PATCH` | `/runs*` | 5000 | 1 minute | +| `GET` | `/runs/:id` | 30 | 1 minute | +| `POST` | `/feedbacks*` | 5000 | 1 minute | +| `*` | `*` | 2000 | 1 minute | The LangSmith SDK takes steps to minimize the likelihood of reaching these limits on run-related endpoints by batching up to 100 runs from a single session ID into a single API call. -###### Plan-level hourly trace event limit +#### Plan-level hourly trace event limit This 429 is the result of reaching your maximum hourly events ingested and is evaluated in a fixed window starting at the beginning of each clock hour in UTC and resets at the top of each new hour. @@ -291,7 +316,7 @@ This is thrown by our application and varies by plan tier, with organizations on | Startup/Plus | 500,000 events | 1 hour | | Enterprise | Custom | Custom | -###### Plan-level hourly trace data ingest limit +#### Plan-level hourly trace data ingest limit This 429 is the result of reaching the maximum amount of data ingested across your trace inputs, outputs, and metadata and is evaluated in a fixed window starting at the beginning of each clock hour in UTC and resets at the top of each new hour. @@ -306,7 +331,7 @@ This is thrown by our application and varies by plan tier, with organizations on | Startup/Plus | 5.0GB | 1 hour | | Enterprise | Custom | Custom | -###### Plan-level monthly unique traces limit +#### Plan-level monthly unique traces limit This 429 is the result of reaching your maximum monthly traces ingested and is evaluated in a fixed window starting at the beginning of each calendar month in UTC and resets at the beginning of each new month. @@ -316,7 +341,7 @@ This is thrown by our application and applies only to the Developer Plan Tier wh | ------------------------------ | ------------ | ------- | | Developer (no payment on file) | 5,000 traces | 1 month | -###### Self-configured monthly usage limits +#### Self-configured monthly usage limits This 429 is the result of reaching your usage limit as configured by your organization admin and is evaluated in a fixed window starting at the beginning of each calendar month in UTC and resets at the beginning of each new month. diff --git a/src/langsmith/agent-builder-mcp-framework.mdx b/src/langsmith/agent-builder-mcp-framework.mdx new file mode 100644 index 0000000000..f54be11cc5 --- /dev/null +++ b/src/langsmith/agent-builder-mcp-framework.mdx @@ -0,0 +1,122 @@ +--- +title: LangSmith Tool Server +sidebarTitle: MCP Framework +mode: wide +--- + +The LangSmith Tool Server is our MCP Framework that powers the tools available in the LangSmith Agent Builder. This framework enables you to build and deploy custom tools that can be integrated with your agents. It provides a standardized way to create, deploy, and manage tools with built-in authentication and authorization. + +The PyPi package that defines the framework is available [here](https://pypi.org/project/langsmith-tool-server/). + +## Quick start + +Install the LangSmith Tool Server and LangChain CLI: + +```bash +pip install langsmith-tool-server +pip install langchain-cli-v2 +``` + +Create a new toolkit: + +```bash +langchain tools new my-toolkit +cd my-toolkit +``` + +This creates a toolkit with the following structure: + +``` +my-toolkit/ +├── pyproject.toml +├── toolkit.toml +└── my_toolkit/ + ├── __init__.py + ├── auth.py + └── tools/ + ├── __init__.py + └── ... +``` + +Define your tools using the `@tool` decorator: + +```python +from langsmith_tool_server import tool + +@tool +def hello(name: str) -> str: + """Greet someone by name.""" + return f"Hello, {name}!" + +@tool +def add(x: int, y: int) -> int: + """Add two numbers.""" + return x + y + +TOOLS = [hello, add] +``` + +Run the server: + +```bash +langchain tools serve +``` + +Your tool server will start on `http://localhost:8000`. + +## Simple client example + +Here's a simple example that lists available tools and calls the `add` tool: + +```python +import asyncio +import aiohttp + +async def mcp_request(url: str, method: str, params: dict = None): + async with aiohttp.ClientSession() as session: + payload = {"jsonrpc": "2.0", "method": method, "params": params or {}, "id": 1} + async with session.post(f"{url}/mcp", json=payload) as response: + return await response.json() + +async def main(): + url = "http://localhost:8000" + + tools = await mcp_request(url, "tools/list") + print(f"Tools: {tools}") + + result = await mcp_request(url, "tools/call", {"name": "add", "arguments": {"a": 5, "b": 3}}) + print(f"Result: {result}") + +asyncio.run(main()) +``` + +## Adding OAuth authentication + +For tools that need to access third-party APIs (like Google, GitHub, Slack, etc.), you can use OAuth authentication with [Agent Auth](/langsmith/agent-auth). + +Before using OAuth in your tools, you'll need to configure an OAuth provider in your LangSmith workspace settings. See the [Agent Auth documentation](/langsmith/agent-auth) for setup instructions. + +Once configured, specify the `auth_provider` in your tool decorator: + +```python +from langsmith_tool_server import tool, Context +from google.oauth2.credentials import Credentials +from googleapiclient.discovery import build + +@tool( + auth_provider="google", + scopes=["https://www.googleapis.com/auth/gmail.readonly"], + integration="gmail" +) +async def read_emails(context: Context, max_results: int = 10) -> str: + """Read recent emails from Gmail.""" + credentials = Credentials(token=context.token) + service = build('gmail', 'v1', credentials=credentials) + # ... Gmail API calls + return f"Retrieved {max_results} emails" +``` + +Tools with `auth_provider` must: +- Have `context: Context` as the first parameter +- Specify at least one scope +- Use `context.token` to make authenticated API calls diff --git a/src/langsmith/agent-builder-slack-app.mdx b/src/langsmith/agent-builder-slack-app.mdx new file mode 100644 index 0000000000..f3054b0a69 --- /dev/null +++ b/src/langsmith/agent-builder-slack-app.mdx @@ -0,0 +1,70 @@ +--- +title: LangSmith Agent Builder Slack App +description: Connect the LangSmith Agent Builder to your Slack workspace to power AI agents. +sidebarTitle: Slack app +mode: wide +--- + +The LangSmith Agent Builder Slack app integrates your agents with Slack for secure, context-aware communication inside your Slack workspace. + +After installation, your agents will be able to: + +- Send direct messages. +- Post to channels. +- Read thread messages. +- Reply in threads. +- Read conversation history. + +## How to install + +To install the LangSmith Agent Builder for Slack: + +1. Navigate to Agent Builder in your [LangSmith workspace](https://smith.langchain.com). +2. Create or edit an agent. +3. Add Slack as a trigger or enable Slack tools. +4. When prompted, authorize the Slack connection. +5. Follow the OAuth flow to grant permissions to your Slack workspace. + +The app will be installed automatically when you complete the authorization. + +## Permissions + +The LangSmith Agent Builder requires the following permissions to your Slack workspace: + +- **Send messages** - Send direct messages and post to channels +- **Read messages** - Read channel history and thread messages +- **View channels** - Access basic channel information +- **View users** - Look up user information for messaging + +These permissions enable agents to communicate effectively within your Slack workspace. + +## Privacy policy + +The LangSmith Agent Builder Slack app collects, manages, and stores third-party data in accordance with our privacy policy. For full details on how your data is handled, please see [our privacy policy](https://www.langchain.com/privacy-policy). + +## AI components and disclaimers + +The LangSmith Agent Builder uses large language models (LLMs) to power AI agents that interact with users in Slack. While these models are powerful, they have the potential to generate inaccurate responses, summaries, or other outputs. + +### What you should know + +- **AI-generated content**: All responses from agents are generated by AI and may contain errors or inaccuracies. Always verify important information. +- **Data usage**: Slack data is not used to train LLMs. Your workspace data remains private and is only used to provide agent functionality. +- **Transparency**: The Agent Builder is transparent about the actions it will take once added to your workspace, as outlined in the permissions section above. + +### Technical details + +The Agent Builder uses the following approach to AI: + +- **Model**: Uses LLMs provided through the LangSmith platform +- **Data retention**: User data is retained according to LangSmith's data retention policies +- **Data tenancy**: Data is handled according to your LangSmith organization settings +- **Data residency**: Data residency follows your LangSmith configuration + +For more information about AI safety and best practices, see the [Agent Builder documentation](/langsmith/agent-builder). + +## Pricing + +The LangSmith Agent Builder Slack app itself does not have any direct pricing. However, agent runs and traces are billed through the [LangSmith platform](https://smith.langchain.com) according to your organization's plan. + +For current pricing information, see the [LangSmith pricing page](https://www.langchain.com/pricing). diff --git a/src/langsmith/agent-builder-slack-install.mdx b/src/langsmith/agent-builder-slack-install.mdx new file mode 100644 index 0000000000..73a5c5e8f5 --- /dev/null +++ b/src/langsmith/agent-builder-slack-install.mdx @@ -0,0 +1,49 @@ +--- +title: Install LangSmith Agent Builder for Slack +description: Connect the LangSmith Agent Builder to your Slack workspace to power AI agents. +sidebarTitle: Slack installation +mode: wide +--- + +After installation, your agents will be able to: + +- Send direct messages. +- Post to channels. +- Read thread messages. +- Reply in threads. +- Read conversation history. + +LangSmith Agent Builder integrates your agents with Slack for secure, context-aware communication inside your Slack workspace. + +## How to install + +To install the LangSmith Agent Builder for Slack: + +1. Navigate to Agent Builder in your [LangSmith workspace](https://smith.langchain.com). +2. Create or edit an agent. +3. Add one of the several available Slack tools to your agent. +4. When prompted, authorize the Slack connection. +5. Follow the OAuth flow to grant permissions to your Slack workspace. + +The app will be installed automatically when you complete the authorization. + +## Permissions + +The LangSmith Agent Builder requires the following permissions to your Slack workspace: + +- **Send messages** - Send direct messages and post to channels +- **Read messages** - Read channel history and thread messages +- **View channels** - Access basic channel information +- **View users** - Look up user information for messaging + +These permissions enable agents to communicate effectively within your Slack workspace. + +## Getting started + +After installation, configure your agent: + +1. Set up Slack as a trigger to activate your agent when messages are received. +2. Enable Slack tools to allow your agent to send messages. +3. Configure which channels or users your agent should monitor. + +For full setup instructions, see the [Agent Builder documentation](/langsmith/agent-builder). diff --git a/src/langsmith/agent-builder-tools.mdx b/src/langsmith/agent-builder-tools.mdx new file mode 100644 index 0000000000..bb1c0d9eae --- /dev/null +++ b/src/langsmith/agent-builder-tools.mdx @@ -0,0 +1,100 @@ +--- +title: Supported tools +sidebarTitle: Tools +mode: wide +--- + +Use these built-in tools to give your agents access to email, calendars, chat, project management, search, social, and general web utilities. + + + Google, Slack, Linear, and LinkedIn use OAuth. Exa, Tavily, and Twitter/X use workspace secrets. + + + + + Read and send email +
    +
  • Read emails (optionally include body, filter with search)
  • +
  • Send email or reply to an existing message
  • +
  • Create draft emails
  • +
  • Mark messages as read
  • +
  • Get a conversation thread
  • +
  • Apply or create labels
  • +
  • List mailbox labels
  • +
+
+ + + Send and read messages +
    +
  • Send a direct message to a user
  • +
  • Post a message to a channel
  • +
  • Reply in a thread
  • +
  • Read channel history
  • +
  • Read thread messages
  • +
+
+ +
+ +
    +
  • Exa web search (optionally fetch page contents)
  • +
  • Exa LinkedIn profile search
  • +
  • Tavily web search
  • +
+
+
+ + + +
+
+ + + Post to profile +
    +
  • Publish a post with optional image or link
  • +
+
+ + + Manage events +
    +
  • List events for a date
  • +
  • Get event details
  • +
  • Create new events
  • +
+
+ + + Manage issues and teams +
    +
  • List teams and team members
  • +
  • List issues with filters
  • +
  • Get issue details
  • +
  • Create, update, or delete issues
  • +
+
+ +
+ +
    +
  • Read a tweet by ID
  • +
  • Read recent posts from a list
  • +
+
+
+ + + +
+
+ + +
    +
  • Read webpage text content
  • +
  • Extract image URLs and metadata
  • +
  • Notify user (for confirmations/updates)
  • +
+
+
diff --git a/src/langsmith/agent-builder.mdx b/src/langsmith/agent-builder.mdx index 308e0f4de5..4e63feb68c 100644 --- a/src/langsmith/agent-builder.mdx +++ b/src/langsmith/agent-builder.mdx @@ -10,6 +10,14 @@ Agent Builder is in private preview. Sign up for the waitlist [today](https://ww Agent Builder lets you turn natural-language ideas into production agents. It's powered by [deep-agents](https://github.com/langchain-ai/deepagents), and is not workflow based. +## Memory and updates + +Agent Builder includes persistent agent memory and supports self-updates. This lets agents adapt over time and refine how they work without manual edits. + +- Persistent memory: Agents retain relevant information across runs to inform future decisions. +- What can be updated: Tools (add, remove, or reconfigure), and instructions/system prompts. +- Agents cannot modify their name, description, and/or triggers attached. + ## Triggers Triggers define when your agent should start running. You can connect your agent to external tools or time-based schedules, letting it respond automatically to messages, emails, or recurring events. diff --git a/src/langsmith/agent-server-api-ref.mdx b/src/langsmith/agent-server-api-ref.mdx new file mode 100644 index 0000000000..da8cef8f73 --- /dev/null +++ b/src/langsmith/agent-server-api-ref.mdx @@ -0,0 +1,5 @@ +--- +title: Agent Server +sidebarTitle: Agent Server API Reference +url: "https://langchain-ai.github.io/langgraph/cloud/reference/api/api_ref.html" +--- diff --git a/src/langsmith/langgraph-server-changelog.mdx b/src/langsmith/agent-server-changelog.mdx similarity index 82% rename from src/langsmith/langgraph-server-changelog.mdx rename to src/langsmith/agent-server-changelog.mdx index 277e53c6e7..8579171346 100644 --- a/src/langsmith/langgraph-server-changelog.mdx +++ b/src/langsmith/agent-server-changelog.mdx @@ -1,9 +1,122 @@ --- -title: LangGraph Server changelog -sidebarTitle: LangGraph Server changelog +title: Agent Server changelog +sidebarTitle: Agent Server changelog --- -[LangGraph Server](/langsmith/langgraph-server) is an API platform for creating and managing agent-based applications. It provides built-in persistence, a task queue, and supports deploying, configuring, and running assistants (agentic workflows) at scale. This changelog documents all notable updates, features, and fixes to LangGraph Server releases. +[Agent Server](/langsmith/agent-server) is an API platform for creating and managing agent-based applications. It provides built-in persistence, a task queue, and supports deploying, configuring, and running assistants (agentic workflows) at scale. This changelog documents all notable updates, features, and fixes to Agent Server releases. + + +## v0.5.20 +- Resolved an error in the executor service that occurred when handling large messages. + + +## v0.5.19 +- Upgraded built-in langchain-core to version 1.0.7 to address a prompt formatting vulnerability. + + +## v0.5.18 +- Introduced persistent cron threads with `on_run_completed: {keep,delete}` for enhanced cron management and retrieval options. + + +## v0.5.17 +- Enhanced task handling to support multiple interrupts, aligning with open-source functionality. + + +## v0.5.15 +- Added custom JSON unmarshalling for `Resume` and `Goto` commands to fix map-style null resume interpretation issues. + + +## v0.5.14 +- Ensured `pg make start` command functions correctly with core-api enabled. + + +## v0.5.13 +- Support `include` and `exclude` (plural form key for `includes` and `excludes`) since a doc incorrectly claimed support for that. Now the server accepts either. + + +## v0.5.11 +- Ensured auth handlers are applied consistently when streaming threads, aligning with recent security practices. +- Bumped `undici` dependency from version 6.21.3 to 7.16.0, introducing various performance improvements and bug fixes. +- Updated `p-queue` from version 8.0.1 to 9.0.0, introducing new features and breaking changes, including the removal of the `throwOnTimeout` option. + + +## v0.5.10 +- Implemented healthcheck calls in the queue /ok handler to improve Kubernetes liveness and readiness probe compatibility. + + +## v0.5.9 +- Resolved an issue causing an "unbound local error" for the `elapsed` variable during a SIGINT interruption. +- Mapped the "interrupted" status to A2A's "input-required" status for better task status alignment. + + +## v0.5.8 +- Ensured environment variables are passed as a dictionary when starting langgraph-ui for compatibility with `uvloop`. +- Implemented CRUD operations for runs in Go, simplifying JSON merges and improving transaction readability, with PostgreSQL as a reference. + + +## v0.5.7 +- Replaced no-retry Redis client with a retry client to handle connection errors more effectively and reduced corresponding logging severity. + + +## v0.5.6 +- Added pending time metrics to provide better insights into task waiting times. +- Replaced `pb.Value` with `ChannelValue` to streamline code structure. + + +## v0.5.5 +- Made the Redis `health_check_interval` more frequent and configurable for better handling of idle connections. + + +## v0.5.4 +- Implemented `ormsgpack` with `OPT_REPLACE_SURROGATES` and updated for compatibility with the latest FastAPI release affecting custom authentication dependencies. + + +## v0.5.2 +- Added retry logic for PostgreSQL connections during startup to enhance deployment reliability and improved error logging for easier debugging. + + +## v0.5.1 +- Resolved an issue where persistence was not functioning correctly with LangChain.js's createAgent feature. +- Optimized assistants CRUD performance by improving database connection pooling and gRPC client reuse, reducing latency for large payloads. + + +## v0.5.0 +- Updated dependency requirements to support the latest security patch, removed JSON fallback for serialization, and adjusted deserialization behavior for enhanced security. + + +## v0.4.47 +- Validated and auto-corrected environment configuration types using TypeAdapter. +- Added support for LangChain.js and LangGraph.js version 1.x, ensuring compatibility. +- Updated hono library from version 4.9.7 to 4.10.3, addressing a CORS middleware security issue and enhancing JWT audience validation. +- Introduced a modular benchmark framework, adding support for assistants and streams, with improvements to the existing ramp benchmark methodology. +- Introduced a gRPC API for core threads CRUD operations, with updated Python and TypeScript clients. +- Updated `hono` package from version 4.9.7 to 4.10.2, including security improvements for JWT audience validation. +- Updated `hono` dependency from version 4.9.7 to 4.10.3 to fix a security issue and improve CORS middleware handling. +- Introduced basic CRUD operations for threads, including create, get, patch, delete, search, count, and copy, with support for Go, gRPC server, and Python and TypeScript clients. + + +## v0.4.46 +- Added an option to enable message streaming from subgraph events, giving users more control over event notifications. + + +## v0.4.45 +- Implemented support for authorization on custom routes, controlled by the `enable_custom_route_auth` flag. +- Set default tracing to off for improved performance and simplified debugging. + + +## v0.4.44 +- Used Redis key prefix for license-related keys to prevent conflicts with existing setups. + + +## v0.4.43 +- Implemented a health check for Redis connections to prevent them from idling out. + + +## v0.4.40 +- Prevented duplicate messages in resumable run and thread streams by addressing a race condition and adding tests to ensure consistent behavior. +- Ensured that runs don't start until the pubsub subscription is confirmed to prevent message drops on startup. +- Renamed platform from langgraph to improve clarity and branding. +- Reset PostgreSQL connections after use to prevent lock holding and improved error reporting for transaction issues. ## v0.4.39 diff --git a/src/langsmith/agent-server-scale.mdx b/src/langsmith/agent-server-scale.mdx new file mode 100644 index 0000000000..80cbc54123 --- /dev/null +++ b/src/langsmith/agent-server-scale.mdx @@ -0,0 +1,403 @@ +--- +title: Configure LangSmith Agent Server for scale +sidebarTitle: Configure Agent Server for scale +--- + +The default configuration for LangSmith Agent Server is designed to handle substantial read and write load across a variety of different workloads. By following the best practices outlined below, you can tune your Agent Server to perform optimally for your specific workload. This page describes scaling considerations for the Agent Server and provides examples to help configure your deployment. + +For some example self-hosted configurations, refer to the [Example Agent Server configurations for scale](#example-agent-server-configurations-for-scale) section. + +## Scaling for write load + +Write load is primarily driven by the following factors: + +- Creation of new [runs](/langsmith/background-run) +- Creation of new checkpoints during run execution +- Writing to long term memory +- Creation of new [threads](/langsmith/use-threads) +- Creation of new [assistants](/langsmith/assistants) +- Deletion of runs, checkpoints, threads, assistants and cron jobs + +The following components are primarily responsible for handling write load: + +- API server: Handles initial request and persistence of data to the database. +- Queue worker: Handles the execution of runs. +- Redis: Handles the storage of ephemeral data about on-going runs. +- Postgres: Handles the storage of all data, including run, thread, assistant, cron job, checkpointing and long term memory. + +### Best practices for scaling the write path + +#### Change `N_JOBS_PER_WORKER` based on assistant characteristics + +The default value of [`N_JOBS_PER_WORKER`](/langsmith/env-var#n-jobs-per-worker) is 10. You can change this value to scale the maximum number of runs that can be executed at a time by a single queue worker based on the characteristics of your assistant. + +Some general guidelines for changing `N_JOBS_PER_WORKER`: + +- If your assistant is CPU bounded, the default value of 10 is likely sufficient. You might lower `N_JOBS_PER_WORKER` if you notice excessive CPU usage on queue workers or delays in run execution. +- If your assistant is IO bounded, increase `N_JOBS_PER_WORKER` to handle more concurrent runs per worker. + +There is no upper limit to `N_JOBS_PER_WORKER`. However, queue workers are greedy when fetching new runs, which means they will try to pick up as many runs as they have available jobs and begin executing them immediately. Setting `N_JOBS_PER_WORKER` too high in environments with bursty traffic can lead to uneven worker utilization and increased run execution times. + +#### Avoid synchronous blocking operations + +Avoid synchronous blocking operations in your code and prefer asynchronous operations. Long synchronous operations can block the main event loop, causing longer request and run execution times and potential timeouts. + +For example, consider an application that needs to sleep for 1 second. Instead of using synchronous code like this: +```python +import time + +def my_function(): + time.sleep(1) +``` + +Prefer asynchronous code like this: +```python +import asyncio + +async def my_function(): + await asyncio.sleep(1) +``` + +If an assistant requires synchronous blocking operations, set [`BG_JOB_ISOLATED_LOOPS`](/langsmith/env-var#bg-job-isolated-loops) to `True` to execute each run in a separate event loop. + +#### Minimize redundant checkpointing + +Minimize redundant checkpointing by setting [`durability`](/oss/langgraph/durable-execution#durability-modes) to the minimum value necessary to ensure your data is durable. + +The default durability mode is `"async", meaning checkpoints are written after each step asynchronously. If an assistant needs to persist only the final state of the run, `durability` can be set to `"exit"`, storing only the final state of the run. This can be set when creating the run: + +```python +from langgraph_sdk import get_client + +client = get_client(url=) +thread = await client.threads.create() +run = await client.runs.create( + thread_id=thread["thread_id"], + assistant_id="agent", + durability="exit" +) +``` + +#### Self-hosted + + +These settings are only required for [self-hosted](/langsmith/self-hosted) deployments. By default, [cloud](/langsmith/cloud) deployments already have these best practices enabled. + + +##### Enable the use of queue workers + +By default, the API server manages the queue and does not use queue workers. You can enable the use of queue workers by setting the `queue.enabled` configuration to `true`. + +```yaml +queue: + enabled: true +``` + +This will allow the API server to offload the queue management to the queue workers, significantly reducing the load on the API server and allowing it to focus on handling requests. + +##### Support a number of jobs equal to expected throughput + +The more runs you execute in parallel, the more jobs you will need to handle the load. There are two main parameters to scale the available jobs: + +- `number_of_queue_workers`: The number of queue workers provisioned. +- `N_JOBS_PER_WORKER`: The number of runs that a single queue work can execute at a time. Defaults to 10. + +You can calculate the available jobs with the following equation: +``` +available_jobs = number_of_queue_workers * `N_JOBS_PER_WORKER` +``` + +Throughput is then the number of runs that can be executed per second by the available jobs: +``` +throughput_per_second = available_jobs / average_run_execution_time_seconds +``` + +Therefore, the minimum number of queue workers you should provision to support your expected steady state throughput is: +``` +number_of_queue_workers = throughput_per_second * average_run_execution_time_seconds / `N_JOBS_PER_WORKER` +``` + +##### Configure autoscaling for bursty workloads + +Autoscaling is disabled by default, but should be configured for bursty workloads. Using the same calculations as the [previous section](#support-a-number-of-jobs-equal-to-expected-throughput), you can determine the maximum number of queue workers you should allow the autoscaler to scale to based on maximum expected throughput. + +## Scaling for read load + +Read load is primarily driven by the following factors: + +- Getting the results of a [run](/langsmith/background-run) +- Getting the state of a [thread](/langsmith/use-threads) +- Searching for [runs](/langsmith/background-run), [threads](/langsmith/use-threads), [cron jobs](/langsmith/cron-jobs) and [assistants](/langsmith/assistants) +- Retrieving checkpoints and long term memory + +The following components are primarily responsible for handling read load: + +- API server: Handles the request and direct retrieval of data from the database. +- Postgres: Handles the storage of all data, including run, thread, assistant, cron job, checkpointing and long term memory. +- Redis: Handles the storage of ephemeral data about on-going runs, including streaming messages from queue workers to api servers. + +### Best practices for scaling the read path + +#### Use filtering to reduce the number of resources returned per request + +[Agent Server](/langsmith/agent-server) provides a search API for each resource type. These APIs implement pagination by default and offer many filtering options. Use filtering to reduce the number of resources returned per request and improve performance. + +#### Set a TTLs to automatically delete old data + +Set a [TTL on threads](/langsmith/configure-ttl) to automatically clean up old data. Runs and checkpoints are automatically deleted when the associated thread is deleted. + +#### Avoid polling and use /join to monitor the state of a run + +Avoid polling the state of a run by using the `/join` API endpoint. This method returns the final state of the run once the run is complete. + +If you need to monitor the output of a run in real-time, use the `/stream` API endpoint. This method streams the run output including the final state of the run. + +#### Self-hosted + + +These settings are only required for [self-hosted](/langsmith/self-hosted) deployments. By default, [cloud](/langsmith/cloud) deployments already have these best practices enabled. + + +##### Configure autoscaling for bursty workloads + +Autoscaling is disabled by default, but should be configured for bursty workloads. You can determine the maximum number of api servers you should allow the autoscaler to scale to based on maximum expected throughput. The default for [cloud](/langsmith/cloud) deployments is a maximum of 10 API servers. + +## Example self-hosted Agent Server configurations + + +The exact optimal configuration depends on your application complexity, request patterns, and data requirements. Use the following examples in combination with the information in the previous sections and your specific usage to update your deployment configuration as needed. If you have any questions, reach out to the LangChain team at [support@langchain.dev](mailto:support@langchain.dev). + + +The following table provides an overview comparing different LangSmith Agent Server configurations for various load patterns (read requests per second / write requests per second) and standard assistant characteristics (average run execution time of 1 second, moderate CPU and memory usage): + +| | **[Low / low](#low-reads-low-writes)** | **[Low / high](#low-reads-high-writes)** | **[High / low](#high-reads-low-writes)** | [Medium / medium](#medium-reads-medium-writes) | [High / high](#high-reads-high-writes) | +| :--- | :--- | :--- | :--- | :--- | :--- | +| Write requests per second | 5 | 5 | 500 | 50 | 500 | +| Read requests per second | 5 | 500 | 5 | 50 | 500 | +| **API servers**
(1 CPU, 2Gi per server) | 1 (default) | 6 | 10 | 3 | 15 | +| **Queue workers**
(1 CPU, 2Gi per worker) | 1 (default) | 10 | 1 (default) | 5 | 10 | +| **`N_JOBS_PER_WORKER`** | 10 (default) | 50 | 10 | 10 | 50 | +| **Redis resources** | 2 Gi (default) | 2 Gi (default) | 2 Gi (default) | 2 Gi (default) | 2 Gi (default) | +| **Postgres resources** | 2 CPU
8 Gi (default) | 4 CPU
16 Gi memory | 4 CPU
16 Gi | 4 CPU
16 Gi memory | 8 CPU
32 Gi memory | + +The following sample configurations enable each of these setups. Load levels are defined as: + +- Low means approximately 5 requests per second +- Medium means approximately 50 requests per second +- High means approximately 500 requests per second + +### Low reads, low writes + +The default [LangSmith Deployment](/langsmith/deployments) configuration will handle this load. No custom resource configuration is needed here. + +### Low reads, high writes + +You have a high volume of write requests (500 per second) being processed by your deployment, but relatively few read requests (5 per second). + +For this, we recommend a configuration like this: + +```yaml +# Example configuration for low reads, high writes (5 read/500 write requests per second) +api: + replicas: 6 + resources: + requests: + cpu: "1" + memory: "2Gi" + limits: + cpu: "2" + memory: "4Gi" + +queue: + replicas: 10 + resources: + requests: + cpu: "1" + memory: "2Gi" + limits: + cpu: "2" + memory: "4Gi" + +config: + numberOfJobsPerWorker: 50 + +redis: + resources: + requests: + memory: "2Gi" + limits: + memory: "2Gi" + +postgres: + resources: + requests: + cpu: "4" + memory: "16Gi" + limits: + cpu: "8" + memory: "32Gi" +``` + +### High reads, low writes + +You have a high volume of read requests (500 per second) but relatively few write requests (5 per second). + +For this, we recommend a configuration like this: + +```yaml +# Example configuration for high reads, low writes (500 read/5 write requests per second) +api: + replicas: 10 + resources: + requests: + cpu: "1" + memory: "2Gi" + limits: + cpu: "2" + memory: "4Gi" + +queue: + replicas: 1 # Default, minimal write load + resources: + requests: + cpu: "1" + memory: "2Gi" + limits: + cpu: "2" + memory: "4Gi" + +redis: + resources: + requests: + memory: "2Gi" + limits: + memory: "2Gi" + +postgres: + resources: + requests: + cpu: "4" + memory: "16Gi" + limits: + cpu: "8" + memory: "32Gi" + # Consider read replicas for high read scenarios + readReplicas: 2 +``` + +### Medium reads, medium writes + +This is a balanced configuration that should handle moderate read and write loads (50 read/50 write requests per second). + +For this, we recommend a configuration like this: + +```yaml +# Example configuration for medium reads, medium writes (50 read/50 write requests per second) +api: + replicas: 3 + resources: + requests: + cpu: "1" + memory: "2Gi" + limits: + cpu: "2" + memory: "4Gi" + +queue: + replicas: 5 + resources: + requests: + cpu: "1" + memory: "2Gi" + limits: + cpu: "2" + memory: "4Gi" + +redis: + resources: + requests: + memory: "2Gi" + limits: + memory: "2Gi" + +postgres: + resources: + requests: + cpu: "4" + memory: "16Gi" + limits: + cpu: "8" + memory: "32Gi" +``` + +### High reads, high writes + +You have high volumes of both read and write requests (500 read/500 write requests per second). + +For this, we recommend a configuration like this: + +```yaml +# Example configuration for high reads, high writes (500 read/500 write requests per second) +api: + replicas: 15 + resources: + requests: + cpu: "1" + memory: "2Gi" + limits: + cpu: "2" + memory: "4Gi" + +queue: + replicas: 10 + resources: + requests: + cpu: "1" + memory: "2Gi" + limits: + cpu: "2" + memory: "4Gi" + +config: + numberOfJobsPerWorker: 50 + +redis: + resources: + requests: + memory: "2Gi" + limits: + memory: "2Gi" + +postgres: + resources: + requests: + cpu: "8" + memory: "32Gi" + limits: + cpu: "16" + memory: "64Gi" +``` + +### Autoscaling + +If your deployment experiences bursty traffic, you can enable autoscaling to scale the number of API servers and queue workers to handle the load. + +Here is a sample configuration for autoscaling for high reads and high writes: + +```yaml +api: + autoscaling: + enabled: true + minReplicas: 15 + maxReplicas: 25 + +queue: + autoscaling: + enabled: true + minReplicas: 10 + maxReplicas: 20 +``` + + +Ensure that your deployment environment has sufficient resources to scale to the recommended size. Monitor your applications and infrastructure to ensure optimal performance. Consider implementing monitoring and alerting to track resource usage and application performance. + diff --git a/src/langsmith/agent-server.mdx b/src/langsmith/agent-server.mdx new file mode 100644 index 0000000000..6e3f399cb4 --- /dev/null +++ b/src/langsmith/agent-server.mdx @@ -0,0 +1,59 @@ +--- +title: Agent Server +--- + +LangSmith Deployment's **Agent Server** offers an API for creating and managing agent-based applications. It is built on the concept of [assistants](/langsmith/assistants), which are agents configured for specific tasks, and includes built-in [persistence](/oss/langgraph/persistence#memory-store) and a **task queue**. This versatile API supports a wide range of agentic application use cases, from background processing to real-time interactions. + +Use Agent Server to create and manage [assistants](/langsmith/assistants), [threads](/oss/langgraph/persistence#threads), [runs](/langsmith/assistants#execution), [cron jobs](/langsmith/cron-jobs), [webhooks](/langsmith/use-webhooks), and more. + + +**API reference**

+For detailed information on the API endpoints and data models, refer to the [API reference docs](https://langchain-ai.github.io/langgraph/cloud/reference/api/api_ref.html). +
+ +To use the Enterprise version of the Agent Server, you must acquire a license key that you will need to specify when running the Docker image. To acquire a license key, [contact our sales team](https://www.langchain.com/contact-sales). + +You can run the Enterprise version of the Agent Server on the following LangSmith [platform](/langsmith/platform-setup) options: + +- [Cloud](/langsmith/cloud) +- [Hybrid](/langsmith/hybrid) +- [Self-hosted](/langsmith/self-hosted) + +## Application structure + +To deploy an Agent Server application, you need to specify the graph(s) you want to deploy, as well as any relevant configuration settings, such as dependencies and environment variables. + +Read the [application structure](/langsmith/application-structure) guide to learn how to structure your LangGraph application for deployment. + +## Parts of a deployment + +When you deploy Agent Server, you are deploying one or more [graphs](#graphs), a database for [persistence](/oss/langgraph/persistence), and a task queue. + +### Graphs + +When you deploy a graph with Agent Server, you are deploying a "blueprint" for an [Assistant](/langsmith/assistants). + +An [Assistant](/langsmith/assistants) is a graph paired with specific configuration settings. You can create multiple assistants per graph, each with unique settings to accommodate different use cases +that can be served by the same graph. + +Upon deployment, Agent Server will automatically create a default assistant for each graph using the graph's default configuration settings. + + +We often think of a graph as implementing an [agent](/oss/langgraph/workflows-agents), but a graph does not necessarily need to implement an agent. For example, a graph could implement a simple +chatbot that only supports back-and-forth conversation, without the ability to influence any application control flow. In reality, as applications get more complex, a graph will often implement a more complex flow that may use [multiple agents](/oss/langchain/multi-agent) working in tandem. + + +### Persistence and task queue + +Agent Server leverages a database for [persistence](/oss/langgraph/persistence) and a task queue. + +[PostgreSQL](https://www.postgresql.org/) is supported as a database for Agent Server and [Redis](https://redis.io/) as the task queue. + +If you're deploying using [LangSmith cloud](/langsmith/cloud), these components are managed for you. If you're deploying Agent Server on your [own infrastructure](/langsmith/self-hosted), you'll need to set up and manage these components yourself. + +For more information on how these components are set up and managed, review the [hosting options](/langsmith/platform-setup) guide. + +## Learn more + +- [Application Structure](/langsmith/application-structure) guide explains how to structure your application for deployment. +- The [API Reference](https://langchain-ai.github.io/langgraph/cloud/reference/api/api_ref.html) provides detailed information on the API endpoints and data models. diff --git a/src/langsmith/annotation-queues.mdx b/src/langsmith/annotation-queues.mdx index d232e3da04..4c73a1f820 100644 --- a/src/langsmith/annotation-queues.mdx +++ b/src/langsmith/annotation-queues.mdx @@ -3,86 +3,92 @@ title: Use annotation queues sidebarTitle: Use annotation queues --- -Annotation queues are a powerful LangSmith feature that provide a streamlined, directed view for human annotators to attach feedback to specific runs. While you can always annotate traces inline, annotation queues provide another option to group runs together, then have annotators review and provide feedback on them. +_Annotation queues_ provide a streamlined, directed view for human annotators to attach feedback to specific [runs](/langsmith/observability-concepts#runs). While you can always annotate [traces](/langsmith/observability-concepts#traces) inline, annotation queues provide another option to group runs together, then have annotators review and provide [feedback](/langsmith/observability-concepts#feedback) on them. ## Create an annotation queue -![](/langsmith/images/create-annotation-queue.png) +To create an annotation queue: -To create an annotation queue, navigate to the **Annotation queues** section through the homepage or left-hand navigation bar. Then click **+ New annotation queue** in the top right corner. +1. Navigate to the **Annotation queues** section on the left-hand navigation panel of the [LangSmith UI](https://smith.langchain.com). +1. Click **+ New annotation queue** in the top right corner. -![](/langsmith/images/create-annotation-queue-new.png) + ![Create Annotation Queue form with Basic Details, Annotation Rubric, and Feedback sections.](/langsmith/images/create-annotation-queue-new.png) ### Basic Details -Fill in the form with the **name** and **description** of the queue. You can also assign a **default dataset** to queue, which will streamline the process of sending the inputs and outputs of certain runs to datasets in your LangSmith workspace. +1. Fill in the form with the **Name** and **Description** of the queue. You can also assign a **default dataset** to queue, which will streamline the process of sending the inputs and outputs of certain runs to datasets in your LangSmith [workspace](/langsmith/administration-overview#workspaces). ### Annotation Rubric -Begin by drafting some high-level instructions for your annotators, which will be shown in the sidebar on every run. +1. Draft some high-level instructions for your annotators, which will be shown in the sidebar on every run. +1. Click **+ Desired Feedback** to add feedback keys to your annotation queue. Annotators will be presented with these feedback keys on each run. +1. Add a description for each, as well as a short description of each category, if the feedback is categorical. -Next, click "+ Desired Feedback" to add feedback keys to your annotation queue. Annotators will be presented with these feedback keys on each run. Add a description for each, as well as a short description of each category if the feedback is categorical. + ![Annotation queue rubric form with instructions and desired feedback entered.](/langsmith/images/create-annotation-rubric.png) -![annotation queue rubric](/langsmith/images/create-annotation-rubric.png) + For example, with the descriptions in the previous screenshot, reviewers will see the **Annotation Rubric** details in the right-hand pane of the UI. -Reviewers will see this: - -![rubric for annotators](/langsmith/images/rubric-for-annotators.png) + ![The rendered rubric for reviewers from the example instructions.](/langsmith/images/rubric-for-annotators.png) ### Collaborator Settings -There are a few settings related to multiple annotators: - -* **Number of reviewers per run**: This determines the number of reviewers that must mark a run as "Done" for it to be removed from the queue. If you check "All workspace members review each run," then a run will remain in the queue until all workspace members have marked it "Done". +When there are multiple annotators for a run: - * Reviewers cannot view the feedback left by other reviewers. - * Comments on runs are visible to all reviewers. +- **Number of reviewers per run**: This determines the number of reviewers that must mark a run as **Done** for it to be removed from the queue. If you check **All workspace members review each run**, then a run will remain in the queue until all [workspace](/langsmith/administration-overview#workspaces) members have marked their review as **Done**. -* **Enable reservations on runs**: We recommend enabling reservations. This will prevent multiple annotators from reviewing the same run at the same time. + - Reviewers cannot view the feedback left by other reviewers. + - Comments on runs are visible to all reviewers. -1. **How do reservations work?** +- **Enable reservations on runs**: When a reviewer views a run, the run is reserved for that reviewer for the specified **Reservation length**. If there are multiple reviewers per run as specified above, the run can be reserved by multiple reviewers (up to the number of reviewers per run) at the same time. -When a reviewer views a run, the run is reserved for that reviewer for the specified "reservation length". If there are multiple reviewers per run as specified above, the run can be reserved by multiple reviewers (up to the number of reviewers per run) at the same time. + + We recommend enabling reservations. This will prevent multiple annotators from reviewing the same run at the same time. + -2. **What happens if time runs out?** + If a reviewer has viewed a run and then leaves the run without marking it **Done**, the reservation will expire after the specified **Reservation length**. The run is then released back into the queue and can be reserved by another reviewer. -If a reviewer has viewed a run and then leaves the run without marking it "Done", the reservation will expire after the specified "reservation length". The run is then released back into the queue and can be reserved by another reviewer. + + Clicking **Requeue** for a run's annotation will only move the current run to the end of the current user's queue; it won't affect the queue order of any other user. It will also release the reservation that the current user has on that run. + - -Clicking "Requeue at end" will only move the current run to the end of the current user's queue; it won't affect the queue order of any other user. It will also release the reservation that the current user has on that run. - +As a result of the **Collaborator settings**, it's possible (and likely) that the number of runs visible to an individual in an annotation queue differs from the total number of runs in the queue compared to another user's queue size. -Because of these settings, it's possible (and likely) that the number of runs visible to an individual in an annotation queue differs from the total number of runs in the queue as well as anyone else's queue size. +You can update these settings at any time by clicking on the pencil icon in the **Annotation Queues** section. -You can update these settings at any time by clicking on the pencil icon in the **Annotation Queues** section. +## Assign runs to an annotation queue -![](/langsmith/images/annotation-queue-edit.png) +To assign runs to an annotation queue, do one of the following: -## Assign runs to an annotation queue +- Click on **Add to Annotation Queue** in top right corner of any [trace](/langsmith/observability-concepts#traces) view. You can add any intermediate [run](/langsmith/observability-concepts#runs) (span) of the trace to an annotation queue, but not the root span. -To assign runs to an annotation queue, either: + ![Trace view with the Add to Annotation Queue button highglighted at the top of the screen.](/langsmith/images/add-to-annotation-queue.png) -1. Click on **Add to Annotation Queue** in top right corner of any trace view. You can add ANY intermediate run (span) of the trace to an annotation queue, not just the root span. ![](/langsmith/images/add-to-annotation-queue.png) +- Select multiple runs in the runs table then click **Add to Annotation Queue** at the bottom of the page. -2. Select multiple runs in the runs table then click **Add to Annotation Queue** at the bottom of the page. ![](/langsmith/images/multi-select-annotation-queue.png) + ![View of the runs table with runs selected. Add to Annotation Queue button at the botton of the page.](/langsmith/images/multi-select-annotation-queue.png) -3. [Set up an automation rule](/langsmith/rules) that automatically assigns runs which pass a certain filter and sampling condition to an annotation queue. +- [Set up an automation rule](/langsmith/rules) that automatically assigns runs that pass a certain filter and sampling condition to an annotation queue. +- Navigate to the **Datasets & Experiments** page and select a dataset. On the dataset's page select one or multiple [experiments](/langsmith/evaluation-concepts#experiment). At the bottom of the page, click ** Annotate**. From the resulting popup, you can either create a new queue or add the runs to an existing one. -4. Select one or multiple experiments from the dataset page and click **Annotate**. From the resulting popup, you may either create a new queue or add the runs to an existing one: ![](/langsmith/images/annotate-experiment.png) + ![Selected experiments with the Annotate button at the bottom of the page.](/langsmith/images/annotate-experiment.png) -It is often a very good idea to assign runs that have a certain user feedback score (eg thumbs up, thumbs down) from the application to an annotation queue. This way, you can identify and address issues that are causing user dissatisfaction. To learn more about how to capture user feedback from your LLM application, follow [this guide](/langsmith/attach-user-feedback). +It is often a good idea to assign runs that have a particular type of user feedback score (e.g., thumbs up, thumbs down) from the application to an annotation queue. This way, you can identify and address issues that are causing user dissatisfaction. To learn more about how to capture user feedback from your LLM application, follow the guide on [attaching user feedback](/langsmith/attach-user-feedback). ## Review runs in an annotation queue -To review runs in an annotation queue, navigate to the **Annotation Queues** section through the homepage or left-hand navigation bar. Then click on the queue you want to review. This will take you to a focused, cyclical view of the runs in the queue that require review. +To review runs in an annotation queue: -You can attach a comment, attach a score for a particular feedback criteria, add the run a dataset and/or mark the run as reviewed. You can also remove the run from the queue for all users, despite any current reservations or settings for the queue, by clicking the **Trash** icon next to "View run". +1. Navigate to the **Annotation Queues** section through the left-hand navigation bar. +1. Click on the queue you want to review. This will take you to a focused, cyclical view of the runs in the queue that require review. +1. You can attach a comment, attach a score for a particular [feedback](/langsmith/observability-concepts#feedback) criteria, add the run to a dataset or mark the run as reviewed. You can also remove the run from the queue for all users, despite any current reservations or settings for the queue, by clicking the **Trash** icon next to **View run**. -The keyboard shortcuts shown can help streamline the review process. + + The keyboard shortcuts that are next to each option can help streamline the review process. + -![](/langsmith/images/review-runs.png) + ![View or a run with the Annotate side panel. Keyboard shortcuts visible for options.](/langsmith/images/review-runs.png) ## Video guide - +This pages describes how to set up Studio with your local LangChain agent. ## Prerequisites Before you begin, ensure you have the following: -* An API key for [LangSmith](https://smith.langchain.com/settings) (free to sign up) -## Setup local LangGraph server +- **A LangSmith account**: Sign up (for free) or log in at [smith.langchain.com](https://smith.langchain.com). +- **A LangSmith API key**: Follow the [Create an API key](/langsmith/create-account-api-key#create-an-api-key) guide. +- If you don't want data [traced](/langsmith/observability-concepts#traces) to LangSmith, set `LANGSMITH_TRACING=false` in your application's `.env` file. With tracing disabled, no data leaves your local server. + +## Set up local Agent server ### 1. Install the LangGraph CLI +The [LangGraph CLI](/langsmith/cli) provides a local development server (also called [Agent Server](/langsmith/agent-server)) that connects your agent to Studio. + :::python ```shell # Python >= 3.11 is required. @@ -37,7 +33,7 @@ npx @langchain/langgraph-cli ### 2. Prepare your agent -We'll use the following simple agent as an example: +If you already have a LangChain agent, you can use it directly. This example uses a simple email agent: ```python title="agent.py" from langchain.agents import create_agent @@ -54,7 +50,7 @@ def send_email(to: str, subject: str, body: str): return f"Email sent to {to}" agent = create_agent( - "openai:gpt-4o", + "gpt-4o", tools=[send_email], system_prompt="You are an email assistant. Always use the send_email tool.", ) @@ -62,10 +58,10 @@ agent = create_agent( ### 3. Environment variables -Create a `.env` file in the root of your project and fill in the necessary API keys. We'll need to set the `LANGSMITH_API_KEY` environment variable to the API key you get from [LangSmith](https://smith.langchain.com/settings). +Studio requires a LangSmith API key to connect your local agent. Create a `.env` file in the root of your project and add your API key from [LangSmith](https://smith.langchain.com/settings). - Be sure not to commit your `.env` to version control systems such as Git! + Ensure your `.env` file is not committed to version control, such as Git. ```bash .env @@ -74,7 +70,7 @@ LANGSMITH_API_KEY=lsv2... ### 4. Create a LangGraph config file -Inside your app's directory, create a configuration file `langgraph.json`: +The LangGraph CLI uses a configuration file to locate your agent and manage dependencies. Create a `langgraph.json` file in your app's directory: ```json title="langgraph.json" { @@ -86,13 +82,13 @@ Inside your app's directory, create a configuration file `langgraph.json`: } ``` -@[`create_agent`] automatically returns a compiled LangGraph graph that we can pass to the `graphs` key in our configuration file. +The @[`create_agent`] function automatically returns a compiled LangGraph graph, which is what the `graphs` key expects in the configuration file. -See the [LangGraph configuration file reference](/langsmith/cli#configuration-file) for detailed explanations of each key in the JSON object of the configuration file. +For detailed explanations of each key in the JSON object of the configuration file, refer to the [LangGraph configuration file reference](/langsmith/cli#configuration-file). -So far, our project structure looks like this: +At this point, the project structure will look like this: ```bash my-app/ @@ -105,7 +101,7 @@ my-app/ ### 5. Install dependencies :::python -In the root of your new LangGraph app, install the dependencies: +Install your project dependencies from the root directory: ```shell pip @@ -125,7 +121,7 @@ yarn install ### 6. View your agent in Studio -Start your LangGraph server: +Start the development server to connect your agent to Studio: :::python ```shell @@ -143,18 +139,34 @@ npx @langchain/langgraph-cli dev Safari blocks `localhost` connections to Studio. To work around this, run the above command with `--tunnel` to access Studio via a secure tunnel. -Your agent will be accessible via API (`http://127.0.0.1:2024`) and the Studio UI `https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024`: +Once the server is running, your agent is accessible both via API at `http://127.0.0.1:2024` and through the Studio UI at `https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024`: ![Agent view in the Studio UI](/oss/images/studio_create-agent.png) -Studio makes each step of your agent easily observable. Replay any input and inspect the exact prompt, tool arguments, return values, and token/latency metrics. If a tool throws an exception, Studio records it with surrounding state so you can spend less time debugging. +With Studio connected to your local agent, you can iterate quickly on your agent's behavior. Run a test input, inspect the full execution trace including prompts, tool arguments, return values, and token/latency metrics. When something goes wrong, Studio captures exceptions with the surrounding state to help you understand what happened. -Keep your dev server running, edit prompts or tool signatures, and watch Studio hot-reload. Re-run the conversation thread from any step to verify behavior changes. See [Manage threads](/langsmith/use-studio#edit-thread-history) for more details. +The development server supports hot-reloading—make changes to prompts or tool signatures in your code, and Studio reflects them immediately. Re-run conversation threads from any step to test your changes without starting over. This workflow scales from simple single-tool agents to complex multi-node graphs. -As your agent grows, the same view scales from a single-tool demo to multi-node graphs, keeping decisions legible and reproducible. +For more information on how to run Studio, refer to the following guides in the [LangSmith docs](/langsmith/home): - -For an in-depth look at Studio, check out the [overview page](/langsmith/studio). - +- [Run application](/langsmith/use-studio#run-application) +- [Manage assistants](/langsmith/use-studio#manage-assistants) +- [Manage threads](/langsmith/use-studio#manage-threads) +- [Iterate on prompts](/langsmith/observability-studio) +- [Debug LangSmith traces](/langsmith/observability-studio#debug-langsmith-traces) +- [Add node to dataset](/langsmith/observability-studio#add-node-to-dataset) + +## Video guide + + + + diff --git a/src/snippets/oss/ui-js.mdx b/src/snippets/oss/ui-js.mdx index 31008b53e4..b2c8b41cff 100644 --- a/src/snippets/oss/ui-js.mdx +++ b/src/snippets/oss/ui-js.mdx @@ -1,4 +1,4 @@ -LangChain provides a powerful prebuilt user interface that work seamlessly with agents created using [`create_agent()`](/oss/javascript/langchain/agents). This UI is designed to provide rich, interactive experiences for your agents with minimal setup, whether you're running locally or in a deployed context (such as [LangSmith](/langsmith/)). +LangChain provides a powerful prebuilt user interface that work seamlessly with agents created using [`create_agent`](/oss/javascript/langchain/agents). This UI is designed to provide rich, interactive experiences for your agents with minimal setup, whether you're running locally or in a deployed context (such as [LangSmith](/langsmith/)). ## Agent Chat UI diff --git a/src/snippets/trace-with-anthropic.mdx b/src/snippets/trace-with-anthropic.mdx index 285d1e5991..f9898c9d83 100644 --- a/src/snippets/trace-with-anthropic.mdx +++ b/src/snippets/trace-with-anthropic.mdx @@ -31,7 +31,7 @@ def chat_pipeline(question: str): { "role": "user", "content": f"Question: {question}\nContext: {context}"} ] messages = client.messages.create( - model="claude-sonnet-4-20250514", + model="claude-sonnet-4-5-20250929", messages=messages, max_tokens=1024, system="You are a helpful assistant. Please respond to the user's request only based on the given context." diff --git a/src/snippets/vectorstore-tabs-js.mdx b/src/snippets/vectorstore-tabs-js.mdx index 0e2c4e0939..23f9bf9f5a 100644 --- a/src/snippets/vectorstore-tabs-js.mdx +++ b/src/snippets/vectorstore-tabs-js.mdx @@ -123,7 +123,11 @@ import { PineconeStore } from "@langchain/pinecone"; import { Pinecone as PineconeClient } from "@pinecone-database/pinecone"; - const pinecone = new PineconeClient(); + const pinecone = new PineconeClient({ + apiKey: process.env.PINECONE_API_KEY, + }); + const pineconeIndex = pinecone.Index("your-index-name"); + const vectorStore = new PineconeStore(embeddings, { pineconeIndex, maxConcurrency: 5, diff --git a/src/snippets/vectorstore-tabs-py.mdx b/src/snippets/vectorstore-tabs-py.mdx index 44624d018f..97ad523ffd 100644 --- a/src/snippets/vectorstore-tabs-py.mdx +++ b/src/snippets/vectorstore-tabs-py.mdx @@ -44,7 +44,7 @@ ```shell - pip install -qU langchain-community + pip install -qU langchain-community faiss-cpu ``` ```python diff --git a/src/style.css b/src/style.css index 6d4503006a..076cca7f75 100644 --- a/src/style.css +++ b/src/style.css @@ -1,51 +1,14 @@ -/* Light mode CSS variables */ -:root { - /* Light Mode Colors - Figma Design Tokens */ - --bg-primary: #ffffff; - --bg-tertiary: #f4f4f5; - --text-primary-900: #101828; - --text-secondary-700: #3f3f46; - --text-tertiary-600: #51525c; - --text-quaternary-500: #70707b; - --border-primary: #d1d1d6; - --border-secondary: #e4e4e7; - --border-tertiary: #f4f4f5; - --brand-600: #2f6868; - --brand-100: #d9eeec; - --fg-primary-900: #1a1a1e; - - /* Typography - Figma Tokens */ - --font-family: "Inter", system-ui, -apple-system, sans-serif; -} - -/* Dark Mode Colors */ -@media (prefers-color-scheme: dark) { - :root { - --bg-primary: #1a1a1e; - --bg-tertiary: #2a2a2e; - --text-primary-900: #ffffff; - --text-secondary-700: #d1d1d6; - --text-tertiary-600: #a1a1aa; - --text-quaternary-500: #8a8a95; - --border-primary: #3f3f46; - --border-secondary: #2a2a2e; - --border-tertiary: #1f1f23; - --brand-600: #2f6868; - --brand-100: #1a2c2a; - --fg-primary-900: #ffffff; +/* Make sidebar title heavier weight */ +#sidebar-title { + font-weight: 600 !important; } -} - -/* Hide arrow in topbar CTA button */ -#topbar-cta-button svg, -#topbar-cta-button svg path { - display: none !important; -} - -#banner { - max-width: 100% !important; - color: var(--brand-600) !important; /* Use the dark green brand color */ +/* Inline code links have same color and underline as regular links */ +a code, +a[href] code { + color: inherit !important; + text-decoration: none !important; /* Remove underline from code itself */ + padding: 0 !important; /* Remove padding to prevent gaps in parent link underline */ } /* Ensure callout links and lists match callout text formatting */ @@ -53,7 +16,6 @@ [class*="callout"] a { font-size: inherit !important; /* Match callout text size */ color: inherit !important; /* Match callout text color */ - text-decoration: inherit !important; /* Inherit callout text decoration */ } .callout ul, @@ -105,3 +67,4 @@ #pagination { display: none; } + diff --git a/src/use-these-docs.mdx b/src/use-these-docs.mdx index d157c0dab9..53674604b8 100644 --- a/src/use-these-docs.mdx +++ b/src/use-these-docs.mdx @@ -59,6 +59,14 @@ claude mcp add --transport http docs-langchain https://docs.langchain.com/mcp 2. Go to Settings > Connectors 3. Add our MCP server URL: `https://docs.langchain.com/mcp` +### Connect with Codex CLI + +If you're using OpenAI Codex CLI, run this command in your terminal to add the server globally: + +```sh +codex mcp add langchain-docs --url https://docs.langchain.com/mcp +``` + ### Connect with Cursor or VS Code Add the following to your MCP settings configuration file: