beekeeper
Rapidly Scaffold API Client Packages
A code generator that turns an OpenAPI spec into a working R client package, milestone by milestone.
◆Recent moves
- 2mo ago
Generates authenticated R client code from an OpenAPI spec URL
⚡ SPARKChronologically the first milestone, despite carrying the newest timestamp in this backfilled set. It establishes the premise everything after it extends: point the package at a spec and get real R source and tests back, rather than a runtime client.
View source ↗ - 2mo ago
JSON OpenAPI support; spec discovery spun off to a separate package
Support for the JSON form of OpenAPI broadens what specs can be consumed, but the more telling change is what left: finding where an API publishes its definition became the anyapi package instead of a beekeeper feature. That is the first of the two scope handoffs that shape this package.
View source ↗ - 2mo ago
Pagination guidance and helpers, delivered out of milestone order
Batching and rate limiting turned out to mean pagination, and the milestone was developed after 0.4.0 despite its number, which is worth noting when reading this history in version order. The output is mostly a vignette, an honest outcome given how little API pagination behaviour generalises.
View source ↗ - 2mo ago
Scaffolds a working function and test for every endpoint in a spec
The milestone that scales the premise from one endpoint to all of them, generating working functions and tests for every path in the specification. Error checking, documentation and tests are minimal at this point by design, which 0.5.0 then addresses.
View source ↗ - 2mo ago
Parameter docs and type checking; generation split into modular steps
Generated code stops being a bare skeleton: parameters get documentation and type checking for the common types, with the rest gated on the spun-off stbl package. Splitting generation into separate auth, paths, request-preparation and shared-parameter functions lets a package author regenerate one part without the others, which matters once generated code has been edited by hand.
View source ↗