App and Installation API Objects — github3.py 4.0.1 documentation (original) (raw)

This section of the documentation covers the representations of various objects related to the Apps API.

class github3.apps.App(json, session: GitHubSession)

An object representing a GitHub App.

New in version 1.2.0.

This object has the following attributes:

created_at

A datetime object representing the day and time the App was created.

description

The description of the App provided by the owner.

events

An array of the event types an App receives

external_url

The URL provided for the App by the owner.

html_url

The HTML URL provided for the App by the owner.

id

The unique identifier for the App. This is useful in cases where you may want to authenticate either as an App or as a specific installation of an App.

name

The display name of the App that the user sees.

node_id

A base64-encoded blob returned by the GitHub API for who knows what reason.

owner

A ShortUser object representing the GitHub user who owns the App.

permissions

A dictionary describing the permissions the App has

slug

A short string used to identify the App

updated_at

A datetime object representing the day and time the App was last updated.

as_dict()

Return the attributes for this object as a dictionary.

This is equivalent to calling:

json.loads(obj.as_json())

Returns:

this object’s attributes serialized to a dictionary

Return type:

dict

as_json()

Return the json data for this object.

This is equivalent to calling:

json.dumps(obj.as_dict())

Returns:

this object’s attributes as a JSON string

Return type:

str

classmethod from_dict(json_dict, session)

Return an instance of this class formed from json_dict.

classmethod from_json(json, session)

Return an instance of this class formed from json.

new_session()

Generate a new session.

Returns:

A brand new session

Return type:

GitHubSession

property ratelimit_remaining

Number of requests before GitHub imposes a ratelimit.

Returns:

int

refresh(conditional: bool = False) → GitHubCore

Re-retrieve the information for this object.

The reasoning for the return value is the following example:

repos = [r.refresh() for r in g.repositories_by('kennethreitz')]

Without the return value, that would be an array of None’s and you would otherwise have to do:

repos = [r for i in g.repositories_by('kennethreitz')] [r.refresh() for r in repos]

Which is really an anti-pattern.

Changed in version 0.5.

Parameters:

conditional (bool) – If True, then we will search for a stored header (‘Last-Modified’, or ‘ETag’) on the object and send that as described in the Conditional Requests section of the docs

Returns:

self

class github3.apps.Installation(json, session: GitHubSession)

An installation of a GitHub App either on a User or Org.

New in version 1.2.0.

This has the following attributes:

access_tokens_url

account

app_id

created_at

events

html_url

id

permissions

repositories_url

repository_selection

single_file_name

target_id

target_type

updated_at

as_dict()

Return the attributes for this object as a dictionary.

This is equivalent to calling:

json.loads(obj.as_json())

Returns:

this object’s attributes serialized to a dictionary

Return type:

dict

as_json()

Return the json data for this object.

This is equivalent to calling:

json.dumps(obj.as_dict())

Returns:

this object’s attributes as a JSON string

Return type:

str

classmethod from_dict(json_dict, session)

Return an instance of this class formed from json_dict.

classmethod from_json(json, session)

Return an instance of this class formed from json.

new_session()

Generate a new session.

Returns:

A brand new session

Return type:

GitHubSession

property ratelimit_remaining

Number of requests before GitHub imposes a ratelimit.

Returns:

int

refresh(conditional: bool = False) → GitHubCore

Re-retrieve the information for this object.

The reasoning for the return value is the following example:

repos = [r.refresh() for r in g.repositories_by('kennethreitz')]

Without the return value, that would be an array of None’s and you would otherwise have to do:

repos = [r for i in g.repositories_by('kennethreitz')] [r.refresh() for r in repos]

Which is really an anti-pattern.

Changed in version 0.5.

Parameters:

conditional (bool) – If True, then we will search for a stored header (‘Last-Modified’, or ‘ETag’) on the object and send that as described in the Conditional Requests section of the docs

Returns:

self