All Projects → softprops → Hubcaps

softprops / Hubcaps

Licence: mit
a rust interface for github

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Hubcaps

Materialchipsinput
Implementation of Material Design Chips component for Android
Stars: ✭ 2,605 (+963.27%)
Mutual labels:  library
Svelte Forms Lib
📝. A lightweight library for managing forms in Svelte
Stars: ✭ 238 (-2.86%)
Mutual labels:  library
Androidx
Development environment for Android Jetpack extension libraries under the androidx namespace. Synchronized with Android Jetpack's primary development branch on AOSP.
Stars: ✭ 3,358 (+1270.61%)
Mutual labels:  library
Rust Imap
IMAP client library for Rust
Stars: ✭ 237 (-3.27%)
Mutual labels:  library
Typescript Starter
Quickly create and configure a new library or Node.js project
Stars: ✭ 2,953 (+1105.31%)
Mutual labels:  library
Cwebsocket
cWebsocket is lightweight websocket server library
Stars: ✭ 241 (-1.63%)
Mutual labels:  library
Csv
[DEPRECATED] See https://github.com/p-ranav/csv2
Stars: ✭ 237 (-3.27%)
Mutual labels:  library
Fannypack
[UNMAINTAINED] An accessible-focused, themeable, friendly React UI Kit.
Stars: ✭ 245 (+0%)
Mutual labels:  library
Bandit
Human-friendly unit testing for C++11
Stars: ✭ 240 (-2.04%)
Mutual labels:  library
Cordova Plugins
Apache Cordova
Stars: ✭ 242 (-1.22%)
Mutual labels:  library
Counterpart
A translation and localization library for Node.js and the browser.
Stars: ✭ 239 (-2.45%)
Mutual labels:  library
Chroma
A general purpose syntax highlighter in pure Go
Stars: ✭ 3,013 (+1129.8%)
Mutual labels:  library
Alertift
Swifty, modern UIAlertController wrapper.
Stars: ✭ 242 (-1.22%)
Mutual labels:  library
Titled navigation bar
A beautiful and simple bottom navigation bar with smooth animation when switching selected item.
Stars: ✭ 232 (-5.31%)
Mutual labels:  library
Just
A library of dependency-free JavaScript functions that do just do one thing.
Stars: ✭ 3,837 (+1466.12%)
Mutual labels:  library
Sparrow
A simple database toolkit for PHP
Stars: ✭ 236 (-3.67%)
Mutual labels:  library
Aff3ct
A fast simulator and a library dedicated to the channel coding.
Stars: ✭ 240 (-2.04%)
Mutual labels:  library
Mtproto Core
Telegram API JS (MTProto) client library for browser and nodejs
Stars: ✭ 242 (-1.22%)
Mutual labels:  library
Tentacle
A Swift framework for the GitHub API
Stars: ✭ 244 (-0.41%)
Mutual labels:  github-api
Ethereum Input Data Decoder
Ethereum smart contract transaction input data decoder
Stars: ✭ 242 (-1.22%)
Mutual labels:  library

hubcaps

a Rust interface for GitHub


installation

Add the following to your Cargo.toml file

[dependencies]
hubcaps = "0.6"

usage

Basic usage requires a user agent string and optionally a flavor of hubcaps::Credentials for making requests as a particular GitHub user.

For user authenticated requests you'll typically want to use hubcaps::Credentials::Token with a personal access token.

use hubcaps::{Credentials, Github};

fn main() {
  let github = Github::new(
    "my-cool-user-agent/0.1.0",
    Credentials::Token("personal-access-token".to_string()),
  );
}

GitHub instances define methods for accessing api services that map closely to their url structure.

As a convention, api methods that expect arguments are represented as functions that accept a struct representing those arguments with an optional builder interface for convenience of construction.

See examples directory for some getting started examples

repositories

Typically the reference point of most GitHub services is a repository

let repo = github.repo("user", "repo");

With a repo instance on hand, you can access a number of sub services, like labels, deployments, pulls, issues, releases, and many more. Each of this are named functions exported from the repo interface.

See examples directory for examples

branches

Branches is a service for listing repository branches

let branches = repo.branches();

labels

Labels is a service for tagging resources like issues and pulls with names which you can later group and filter on.

use hubcaps::labels::LabelOptions;

let labels = repo.labels();

// create new labels
labels.create(
    &LabelOptions::new(
      "rustic", "ccc"
    )
  )

deployments

Deployments is a service for orchestrating deployments of applications sourced from GitHub repositories

let deployments = repo.deployments();

See examples directory for examples

pulls

Pulls is a service for issuing code change requests against a repository

let pulls = repo.pulls();

See examples directory for examples

issues

Issues is a service for tracking bugs for a repository

let issues = repo.issues();

See examples directory for examples

releases

Releases is a service for tracking changes for a stable releases of a versioned library or application

let releases = repo.releases();

gists

Gists is a service for micro repositories

let gists = github.gists();

See examples directory for examples

hooks

Hooks is a service for managing repository hooks

let hooks = repo.hooks();

See examples directory for examples

search

Search provides a raw string query search for indexed data. Currently only search for issues is supported

let search_issues = github.search().issues();

teams

Teams is a service for listing repository and organization teams

let teams = repo.teams();

See examples directory for examples

Doug Tangren (softprops) 2015-2020

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].