-
Notifications
You must be signed in to change notification settings - Fork 3
🌿 Fern Regeneration -- December 9, 2025 #255
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this 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 totyping.Optional[T]ortyping.Any - Introduced discriminated unions for
ConfigurablePropandEmittertypes 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_dictutility for multipart form data handling - Created
ConfigurablePropBaseto 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
- This initialization method calls Client.init multiple times, via this call and this call.
This initialization method calls Client.init multiple times, via this call and this call.
This initialization method calls Client.init multiple times, via this call and this call.
This initialization method calls Client.init multiple times, via this call and this call, resolving to Client.init and Client.init respectively.
This initialization method calls Client.init multiple times, via this call and this call, resolving to Client.init and Client.init respectively.
This initialization method calls Client.init multiple times, via this call and this call, resolving to Client.init and Client.init respectively.
This initialization method calls Client.init multiple times, via this call and this call, resolving to Client.init and Client.init respectively.
This initialization method calls Client.init multiple times, via this call and this call, resolving to Client.init and Client.init respectively.
This initialization method calls Client.init multiple times, via this call and this call, resolving to Client.init and Client.init respectively.
This initialization method calls Client.init multiple times, via this call and this call, resolving to Client.init and Client.init respectively.
This initialization method calls Client.init multiple times, via this call and this call, resolving to Client.init and Client.init respectively.
This initialization method calls Client.init multiple times, via this call and this call, resolving to Client.init and Client.init respectively.
This initialization method calls Client.init multiple times, via this call and this call, resolving to Client.init and Client.init respectively.
This initialization method calls Client.init multiple times, via this call and this call, resolving to Client.init and Client.init respectively.
This initialization method calls Client.init multiple times, via this call and this call, resolving to Client.init and Client.init respectively.
This initialization method calls Client.init multiple times, via this call and this call, resolving to Client.init and Client.init respectively.
This initialization method calls Client.init multiple times, via this call and this call, resolving to Client.init and Client.init respectively.
This initialization method calls Client.init multiple times, via this call and this call, resolving to Client.init and Client.init respectively.
This initialization method calls Client.init multiple times, via this call and this call, resolving to Client.init and Client.init respectively.
This initialization method calls Client.init multiple times, via this call and this call, resolving to Client.init and Client.init respectively.
This initialization method calls Client.init multiple times, via this call and this call, resolving to Client.init and Client.init respectively.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This PR regenerates code to match the latest API Definition.