fussybeaver/roctogen

Roctogen: a rust client library for the GitHub v3 API

This client API is generated from the Isahc HTTP client

Roctogen: a rust client library for the GitHub v3 API

This client API is generated from the upstream OpenAPI specification. The library currently supports webassembly and both tokio and non-tokio based asynchronous requests and minimal dependency blocking synchronous requests with a choice of different clients, enabled through cargo features:

  • isahc feature (sync and non-tokio based async): Isahc HTTP client
  • reqwest feature (async) Reqwest client
  • ureq feature (sync) Ureq client

Install

Add the following to your Cargo.toml file

API

Documentation

API docs.

Endpoints.

Supported endpoints:

  • Meta
  • Issues
  • Licenses
  • Reactions
  • Activity
  • Projects
  • Orgs
  • Users
  • Apps
  • RateLimit
  • Repos
  • SecretScanning
  • Packages
  • Search
  • Teams
  • Markdown
  • OauthAuthorizations
  • Actions
  • Migrations
  • Gists
  • CodesOfConduct
  • Pulls
  • Gitignore
  • EnterpriseAdmin
  • Git
  • Scim
  • CodeScanning
  • Checks
  • Billing
  • Interactions
  • Codespaces
  • Emojis

Usage

A quick example of this library:

Async

All the async methods are suffixed with _async, and are available on the wasm target or isahc and reqwest adapters.

Webassembly

To compile for webassembly, you can use wasm-pack or compile with the wasm32-unknown-unknown target:

If you are building a cloudflare worker, you would use the wrangler wrapper:

Client adapters

Building on non-wasm targets generally requires adopting a feature for the desired client adapter.

Isahc

Compiling for the isahc client required the isahc feature:

Reqwest

Compiling for the reqwest client required the reqwest feature:

Ureq

Compiling for the ureq client required the ureq feature:

GitHub preview features

GitHub supports a phased rollout of non-stable endpoints behind header flags. These are supported in this library through cargo feature flags.

Generate the API

The majority of code is generated through the Swagger OpenAPI generator (version 3). Building requires the mvn Java build tool, pegged at Java version 8 (so you'll need an appropriate JDK).

Tests

Beware, tests that are not run with the mock feature are currently still doing real HTTP requests to the GitHub API.

Run the wasm tests:

Run the sync tests:

In order to avoid GitHub's API rate limiting, you can run the non-wasm tests using wiremock. You'll need to start wiremock in the background:

Regenerate the wiremock stubs

You should regenerate the stubs if the remote API has changed:

License: Apache-2.0

Issues

Collection of the latest Issues

Versions

Find the latest versions by id

v0.12.0 - Jan 06, 2022

  • [closed] Upstream changes (codespaces) #56
  • [closed] Add check and fix github release action #55
  • [maintenance][rust] 🚧 OpenAPI types changed #54
  • [closed] Generate types in update workflow #53
  • [closed] Add an experimental update workflow #51
  • [closed] Update sync with upstream #46
  • [closed] Update from upstream #43
  • [closed] Update from upstream changes #37
  • [closed] Update upstream openapi changes #32
  • [closed] Fix OneOf/AnyOf references in props #27
  • [closed] Update OpenAPI descriptions #22
  • [closed] Do not peg bindgen version #18
  • [closed] Update due to upstream changes #14
  • [closed] Tweak README and minor upstream change #12
  • [closed] Re-word parts of readme #10
  • [closed] Partial impl for one-of/any-of polymorphism #9
  • [closed] GitHub update issue bot #7
  • [closed] Allow build without any features #5
  • [closed] Async Isahc, Reqwest and Ureq support #4
  • [closed] Add JWT auth mechanism #3
  • [closed] Add wiremock and github action #2
  • [closed] Fix GitHub API links #1

v0.11.0 - Oct 24, 2021

  • [maintenance][rust] 🚧 OpenAPI types changed #54
  • [closed] Generate types in update workflow #53
  • [closed] Add an experimental update workflow #51

v0.10.0 - Aug 15, 2021

  • [closed] Update sync with upstream #46

v0.9.0 - Aug 03, 2021

  • [closed] Update from upstream #43

v0.8.0 - Jul 12, 2021

  • [closed] Update from upstream changes #37

v0.7.0 - Jun 20, 2021

  • [closed] Update upstream openapi changes #32

v0.6.0 - May 23, 2021

  • [closed] Fix OneOf/AnyOf references in props #27

v0.5.0 - May 16, 2021

  • [closed] Update OpenAPI descriptions #22

v0.4.0 - May 05, 2021

  • [closed] Do not peg bindgen version #18

v0.3.0 - Apr 25, 2021

  • [closed] Update due to upstream changes #14
  • [closed] Tweak README and minor upstream change #12
  • [closed] Re-word parts of readme #10
  • [closed] Partial impl for one-of/any-of polymorphism #9
  • [closed] GitHub update issue bot #7

v0.2.2 - Apr 09, 2021

  • [closed] Allow build without any features #5

v0.2.1 - Apr 09, 2021

  • [closed] Async Isahc, Reqwest and Ureq support #4

v0.2.0 - Apr 03, 2021

  • [closed] Add JWT auth mechanism #3

v0.1.2 - Mar 22, 2021

  • [closed] Add wiremock and github action #2

v0.1.1 - Mar 16, 2021

  • [closed] Fix GitHub API links #1

v0.1.0 - Mar 14, 2021

  • [closed] Upstream changes (codespaces) #56
  • [closed] Add check and fix github release action #55
  • [maintenance][rust] 🚧 OpenAPI types changed #54
  • [closed] Generate types in update workflow #53
  • [closed] Add an experimental update workflow #51
  • [closed] Update sync with upstream #46
  • [closed] Update from upstream #43
  • [closed] Update from upstream changes #37
  • [closed] Update upstream openapi changes #32
  • [closed] Fix OneOf/AnyOf references in props #27
  • [closed] Update OpenAPI descriptions #22
  • [closed] Do not peg bindgen version #18
  • [closed] Update due to upstream changes #14
  • [closed] Tweak README and minor upstream change #12
  • [closed] Re-word parts of readme #10
  • [closed] Partial impl for one-of/any-of polymorphism #9
  • [closed] GitHub update issue bot #7
  • [closed] Allow build without any features #5
  • [closed] Async Isahc, Reqwest and Ureq support #4
  • [closed] Add JWT auth mechanism #3
  • [closed] Add wiremock and github action #2
  • [closed] Fix GitHub API links #1

Information - Updated Mar 06, 2022

Stars: 4
Forks: 5
Issues: 1

genevo provides building blocks to run simulations of optimization and search

The library's API utilizes lots of traits and

genevo provides building blocks to run simulations of optimization and search

Run ONNX and TensorFlow inference in the browser

A thin wrapper on top of Open Neural Network Exchange is a format which many popular libraries like PyTorch, TensorFlow and MXNet can export to...

Run ONNX and TensorFlow inference in the browser

Visual System Simulator (VSS)

VSS is a cross-platform framework for simulating various aspects of the Visualization Research Center and eye diseases

Visual System Simulator (VSS)

Research and Development (WIP) libraries of Solidity smart-contracts for the Cardano KEVM and Blockchain

This repository includes Rust-Cardano (Modular Toolbox), Cardano-Launcher, Hydra POC node, 2 jormungandr node implementations, and a Cardano Full-Node, Which is the core component used to...

Research and Development (WIP) libraries of Solidity smart-contracts for the Cardano KEVM and Blockchain

Smush-Material-DB

A Rust CLI program for generating an SQLite database for rendering research

Smush-Material-DB

Composable Entropy Coding Primitives for Research and Production

The constriction library provides a set of composable implementations of entropy coding

Composable Entropy Coding Primitives for Research and Production

Research code for computing phonons of certain materials

Contains a small ecosystem of utility crates for working with crystal structures

Research code for computing phonons of certain materials

This repository contains the source code for my

senior research project, a Unix shell in Rust!

This repository contains the source code for my

Genx provides modular building blocks to run simulations of optimization and search problems using Genetic...

Genx provides modular building blocks to run simulations of optimization and search problems using

Genx provides modular building blocks to run simulations of optimization and search problems using Genetic...

Prebuilt binaries and web version

Martin Korth, for summarizing resources on the DS on test ROMs and StrikerX3, for his research on 3D rendering on the DS

Prebuilt binaries and web version

OldMusa Server Rust

This is an old project that I developed with CNR (Italy's National Research Institute)

OldMusa Server Rust

Benchmark of modding languages in Rust

This is a project that aims to research the different performance costs of using and calling various bindings for scripting languages

Benchmark of modding languages in Rust
Facebook Instagram Twitter GitHub Dribbble
Privacy