feat: Apify API client for Go (OpenAPI v2-2026-06-16T064758Z) - #1
Merged
Conversation
…16T064758Z Generated with openapi-generator 7.23.0 (go generator). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Develop the openapi-generator draft into a complete, idiomatic, fully OpenAPI-compliant Apify API client (package apify, stdlib-only) mirroring the canonical JS reference and the Rust sibling: resource-oriented client, replaceable HTTP backend, retries with exponential backoff, mandated User-Agent, convenience methods (call, wait, pagination, log redirection, URL signing), versioning constants, integration + unit tests, doc examples, CI workflow, docs and CHANGELOG. Based on OpenAPI spec v2-2026-06-16T064758Z. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fix waitForFinish indefinite-wait 404 hang (finite default budget, poll through 404s on a pure time bound, descriptive error on never-appearing resource); read both APIFY_IS_AT_HOME and isAtHome for User-Agent; add golangci-lint to CI with .golangci.yml; make Abort gracefully omittable; document browser-info/tools scope omission; doc/nit fixes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The .golangci.yml uses the v2 config schema; the v6 action installed a v1.x binary that rejects it (additional properties version/default). Pin the v7 action + v2.5.0 to match local tooling. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Address external-reviewer documentation hints: - Export apify.Ptr[T](v T) *T so doc snippets compile when copy-pasted; switch docs and the create_build_run_actor example to apify.Ptr. - Document PaginationList[T] fields and the Total-lag-after-write quirk. - Enumerate the DownloadItemsFormat constants (incl. the previously omitted FormatJSONL). - Note that NewClient does not auto-read APIFY_TOKEN. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.
Summary
Adds a complete, idiomatic Apify API client for Go, generated from the Apify OpenAPI specification
v2-2026-06-16T064758Zand developed into a fully-compliant client mirroring the canonicalapify-client-jsreference and the Rust sibling.Highlights
apify, stdlib-only, zero third-party deps), with functional-optionsApifyClientand accessors for actors (+versions, env vars), builds, runs, tasks, datasets, key-value stores, request queues, schedules, webhooks, webhook dispatches, store, log, and user.HTTPBackendinterface with a default implementation.User-Agentheader, retries on 429/5xx/network with randomized exponential backoff, growing-but-capped per-attempt timeouts, unified error handling, charge idempotency-key safety on retries.Call, run/buildWaitForFinish(finite-bounded, polls through transient 404s), dataset push/list/download, KVS records, request-queue lock lifecycle + batch chunking + lazy iteration, log streaming/redirection, lazy store iteration, HMAC URL signing.CLIENT_VERSIONandAPI_SPEC_VERSION(v2-2026-06-16T064758Z).APIFY_TOKENsecret guard, gofmt/vet/golangci-lint/build/test).Developed via the orchestrated
create-client/review-clientloop until the review gate passed with no open items.