Giter VIP home page Giter VIP logo

octokit.py's Introduction

Octokit.py - Experimental. Don't use it.

Build Status

A GitHub API client for Python.

Testing

Run ./script/test

octokit.py's People

Contributors

btoews avatar eduardoramirez avatar howeik avatar pengwynn avatar tchangg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

octokit.py's Issues

Things to do

Things to do

  • Broader exception handling
  • Unit test Resource class
  • Pagination
  • Unit test exception handling using requests-mock
  • Convert style to pep8 and enforce style on future code
  • Write docs (maybe just the README)
  • pep8 linting in CI
  • Code coverage
  • Maybe wrapper class parity with octokit.rb?

/cc @octokit/ucsd-octokit-py

Attribute names versus schema keys

If the endpoint has an attribute that is named the same as any of the properties of Resource they cannot be accessed using the dot operator. For example:

c = octokit.Client()

c.current_user.name

Decouple and De-hack Session, Client, and Resource

At the moment, our Client is subclassing Resource. Resource is our workhorse that performs all the logic for querying the GitHub API for data. To address the issue of global state we created a wrapper around Session that maintains the state for the Client and we pass this session around through the Resource tree. While this addresses functionality needs, this is hacky and couples state to Session instead of Client. Ideally, it should be the case that Client maintains state while at the same time being able to enhance the functionality of the API, such as pagination and rate limiting.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.