Open
Conversation
We want Actor developers to be able to easily test their full permission Actors with limited permissions without changing the Actor configuration for everybody or redeploying the Actor under a different name. For that reason, we have introduced a new forcePermissionLevel run option. This PR adds the option to the client. Full context here: apify/apify-core#22681 This has been already done in Apify JS client: apify/apify-client-js#743
Co-authored-by: Vlada Dusek <[email protected]>
### Description - Allow the possibility to define a custom public URL; if not used, the default API public URL will be used. - Python version of the following fix JS client fix apify/apify-client-js#745 ### Issues - Closes: #496 ### Testing - Added new tests for relevant kvs and datasets clients' methods. --------- Co-authored-by: Jindřich Bär <[email protected]>
## Summary - Same as in apify/apify-sdk-python#834 - Remove redundant `transformDocs.js` and `pydoc-markdown` and other relevant part of code - Align versioned docs sidebar and its content (same as it is for JS projects) --------- Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
Sending `1` and `0` is working, but the validator is complaining about that. Lets align with the JS client. [JS client uses `false`, `true`](https://github.com/apify/apify-client-js/blob/v2.22.2/src/utils.ts) [OpenAPI spec does not define](https://spec.openapis.org/oas/v3.2.0.html#boolean-query-parameter-examples) serialization of Booleans, but tools frequently choose `false/true` ### Issues: Related to: apify/apify-docs#2286
This PR contains the following updates: | Update | Change | |---|---| | lockFileMaintenance | All locks refreshed | 🔧 This Pull Request updates lock files to use the latest dependency versions. --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on monday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/apify/apify-client-python). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My42Ni40IiwidXBkYXRlZEluVmVyIjoiNDMuNjYuNCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
- Update Renovate and project settings to use only package versions older than 24 hours - Motivation is to add minimal defence to supply chain attacks.
## Summary - Replace `logger.warning()` with `warnings.warn(DeprecationWarning)` for deprecated params in `batch_add_requests()` (both sync and async) to match the pattern used in `DatasetClient.download_items()` - `DeprecationWarning` is the Python standard — visible by default, caught by `pytest -W error::DeprecationWarning`, and filterable via `warnings.filterwarnings()` - Remove unused `logging` import --- Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
## Summary
- **Fix error handling examples** — `except Exception as ApifyApiError`
was catching all exceptions and shadowing the class name; now properly
uses `from apify_client.errors import ApifyApiError` with `except
ApifyApiError as err`
- **Fix retries page** — default retry count corrected from 8 to 4
(matches `DEFAULT_MAX_RETRIES`); updated outdated
`min_delay_between_retries_millis` to `min_delay_between_retries` (takes
`timedelta`)
- **Fix convenience methods page** — `start()` was described as waiting
for finish (it doesn't); added missing `wait_for_finish()` method
- **Fix nested client examples** — replaced `ty: ignore` comments with
proper `ActorJobStatus.SUCCEEDED` enum usage
- **Fix README** — updated Quick Start to typed attribute access
(`actor_call.default_dataset_id`), corrected retry count and parameter
name
- **Fix comment grammar** — "waits" → "wait" in code examples
- **Add `description` frontmatter** to all 20 doc pages for SEO
- **Standardize guide titles** to imperative form ("Pass input to an
Actor", "Integrate with data libraries", "Use HTTPX as the HTTP client")
---
Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
…696) ### Description Adds an `ownership` query parameter (`ownedByMe | sharedWithMe`) to the `list()` method on `DatasetCollectionClient`, `KeyValueStoreCollectionClient`, and `RequestQueueCollectionClient` (both sync and async variants). This allows filtering listed storages by whether they are owned by the user or shared with the user. ### Testing Includes unit tests verifying the parameter is correctly passed through to the API request for all three storage types.
…697) ## Summary - Standardize opening paragraphs to follow "what it is + why it matters" pattern - Unify example intro phrasing to "The following example shows how to..." - Migrate all API reference links from raw markdown to `<ApiLink>` component - Trim verbose "benefits" paragraphs in pagination and streaming pages - Add `:::tip` admonitions to convenience methods and pagination pages --------- Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
## Summary - **Pagination page**: Added "Generator-based iteration" section documenting `iterate_items()` as the recommended approach, with sync/async code examples and a mention of `iterate_keys()` for key-value stores. - **Async support & Error handling pages**: Added closing notes with `<ApiLink>` references to `ApifyClientAsync` and `ApifyApiError` so pages no longer end abruptly after the code block. - **Timeouts page** (new): Added `docs/02_concepts/11_timeouts.mdx` covering the tiered timeout system (short/medium/long/no_timeout), global configuration via constructor, per-call overrides with `timedelta` or tier literals, and interaction with the retry system. --------- Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
## Summary - Add `workflow_dispatch` workflow that regenerates Pydantic models from an `apify-docs` PR's OpenAPI spec - Builds the spec locally, runs `datamodel-codegen`, and opens a PR if models changed - Comments back on the source `apify-docs` PR with a link ## Issues - Closes: #618 ## Context - apify/apify-docs#2381 - #694 --------- Co-authored-by: Claude Opus 4.6 <[email protected]>
## Summary Fixes two bugs in the `manual_regenerate_models` workflow that caused the [manual run](https://github.com/apify/apify-client-python/actions/runs/24075156216/job/70221653926) to fail: - **Pre-commit hook blocked commit**: `git commit` triggered the type-check hook, which failed because regenerated models removed symbols (`ScheduleCreateActions`, `TaskOptions`) still imported by client code. Added `commit: --no-verify` to bypass hooks — the resulting PR will get proper CI checks anyway. - pre commit failures should be addressed manually - **Push failed for new branch**: `push: --force` ran `git push --force` without setting upstream tracking. Changed to `push: -u origin $BRANCH --force` so the new branch is correctly pushed. --------- Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
## Summary - Expanded the v3 upgrade guide to document all 6 breaking changes from the changelog: Python version support, fully typed clients (Pydantic models for responses and parameters), pluggable HTTP client architecture, and tiered timeout system. - Converted both upgrading guides (`upgrading_to_v2`, `upgrading_to_v3`) from `.md` to `.mdx` and replaced plain markdown API references with `ApiLink` components for consistent linking to the API reference docs. - Fixed the guide link to use the correct `custom-http-client-httpx` id. --------- Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
## Summary - Add `generate-models-from-file` poe task that accepts a local file path, working around `datamodel-codegen` ignoring `--input` when `url` is set in `pyproject.toml` - Update CI workflow to call poe tasks instead of `datamodel-codegen` directly, ensuring the downloaded artifact from apify-docs PRs is actually used --------- Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
This PR updates the auto-generated Pydantic models based on OpenAPI specification changes in [apify-docs PR #2398](apify/apify-docs#2398). ## Summary - Regenerated `_models.py` from updated OpenAPI spec - Adapted resource clients to renamed/restructured models: - `TaskOptions` → `OptionalRunOptions` - `ScheduleCreateActions` → discriminated union in `ScheduleCreate` - `EnvVar` → `EnvVarRequest` for create/update requests --------- Co-authored-by: Vlada Dusek <[email protected]>
This PR updates the auto-generated Pydantic models from the published OpenAPI specification. ## Changes - Regenerated `src/apify_client/_models.py` using `datamodel-codegen`
## Summary
- Add reviewer, assignee, and label to auto-created PRs
- Add `@docs_group('Models')` post-processing step for API docs
- Replace force push with incremental commits to preserve reviewer changes
- Simplify PR description body
### Issues
- Closes: #642
---------
Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.