Skip to content

Conversation

@fern-api
Copy link
Contributor

@fern-api fern-api bot commented Dec 9, 2025

This PR regenerates code to match the latest API Definition.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR regenerates the Pipedream Python SDK code from the latest API definition (December 9, 2025). The changes include significant improvements to type safety, pagination, authentication, retry logic, and new API endpoints.

Key changes:

  • Simplified type definitions by removing redundant typing.Optional[typing.Optional[T]] patterns to typing.Optional[T] or typing.Any
  • Introduced discriminated unions for ConfigurableProp and Emitter types with proper Pydantic discriminator support
  • Added new Project management endpoints with CRUD operations
  • Enhanced retry logic with improved backoff strategy, jitter, and X-RateLimit-Reset header support
  • Added support for direct bearer token authentication alongside OAuth credentials
  • Refactored pagination to include typed response data
  • Added remove_none_from_dict utility for multipart form data handling
  • Created ConfigurablePropBase to eliminate code duplication across prop types
  • Added thread-safe and async-safe OAuth token providers with locking mechanisms
  • Introduced new error classes (BadRequestError, NotFoundError)
  • Added registry filtering for components, actions, and triggers list operations

Reviewed changes

Copilot reviewed 84 out of 85 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
tests/utils/test_http_client.py Added comprehensive tests for None value handling in request bodies and the new remove_none_from_dict utility function
src/pipedream/types/*.py Simplified type annotations by removing redundant Optional wrappers and introduced discriminated unions with Pydantic Field discriminators
src/pipedream/types/configurable_prop_base.py New base class extracting common fields from all ConfigurableProp variants to reduce duplication
src/pipedream/types/project.py, list_projects_response.py New types for Project management API
src/pipedream/core/http_client.py Enhanced retry logic with improved exponential backoff, jitter strategies, X-RateLimit-Reset support, and multipart None filtering
src/pipedream/core/oauth_token_provider.py Added AsyncOAuthTokenProvider with async lock for thread-safe token management
src/pipedream/core/pagination.py Updated pagers to include typed response data as second generic parameter
src/pipedream/core/client_wrapper.py Added async header support for async token providers and updated SDK version to 1.0.13
src/pipedream/client.py Added token parameter and overloads for dual authentication modes (OAuth vs bearer token)
src/pipedream/pipedream.py Simplified initialization logic to properly handle token vs OAuth credential paths
src/pipedream/projects/*.py New client methods for listing, creating, retrieving, updating, and deleting projects
src/pipedream/errors/*.py Updated TooManyRequestsError and added BadRequestError and NotFoundError
src/pipedream/{actions,triggers,components}/*.py Added registry parameter for filtering public/private/all components
pyproject.toml, poetry.lock Version bump to 1.0.13 and added pytest-xdist dependency
Comments suppressed due to low confidence (1)

src/pipedream/pipedream.py:31


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants