Skip to content

Update to master#1

Open
Thembahank wants to merge 655 commits intoadvantch:masterfrom
apify:master
Open

Update to master#1
Thembahank wants to merge 655 commits intoadvantch:masterfrom
apify:master

Conversation

@Thembahank
Copy link
Copy Markdown

No description provided.

github-actions bot and others added 30 commits September 1, 2025 11:01
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
### 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]>
### Description
- Add `KeyValueStoreClient.get_record_public_url`.
- Add `KeyValueStoreClientAsync.get_record_public_url`.
- Add tests.
### Issues

Closes: #497
vdusek and others added 30 commits March 19, 2026 13:23
## 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]>
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.