Gist API Objects¶
The Gists API has a rich set of objects it returns.
Gist Representations¶
-
class
github3.gists.gist.
ShortGist
(json, session)¶ Short representation of a gist.
GitHub’s API returns different amounts of information about gists based upon how that information is retrieved. This object exists to represent the full amount of information returned for a specific gist. For example, you would receive this class when calling
all_gists()
. To provide a clear distinction between the types of gists, github3.py uses different classes with different sets of attributes.This object only has the following attributes:
-
url
¶ The GitHub API URL for this repository, e.g.,
https://api.github.com/gists/6faaaeb956dec3f51a9bd630a3490291
.
-
comments_count
¶ Number of comments on this gist
-
description
¶ Description of the gist as written by the creator
-
html_url
¶ The URL of this gist on GitHub, e.g.,
https://gist.github.com/sigmavirus24/6faaaeb956dec3f51a9bd630a3490291
-
id
¶ The unique identifier for this gist.
-
public
¶ This is a boolean attribute describing if the gist is public or private
-
git_pull_url
¶ The git URL to pull this gist, e.g.,
git://gist.github.com/sigmavirus24/6faaaeb956dec3f51a9bd630a3490291.git
-
git_push_url
¶ The git URL to push to gist, e.g.,
git@gist.github.com/sigmavirus24/6faaaeb956dec3f51a9bd630a3490291.git
-
created_at
¶ This is a datetime object representing when the gist was created.
-
updated_at
¶ -
This is a datetime object representing the last time this gist was
-
most recently updated.
-
files
¶ A dictionary mapping the filename to a
GistFile
object.Changed in version 1.0.0: Previously this was a list but it has been converted to a dictionary to preserve the structure of the API.
-
comments_url
¶ The URL to retrieve the list of comments on the Gist via the API.
-
-
class
github3.gists.gist.
GistFork
(json, session)¶ This object represents a forked Gist.
This has a subset of attributes of a
ShortGist
:-
created_at
¶ The date and time when the gist was created.
-
id
¶ The unique identifier of the gist.
-
owner
¶ The user who forked the gist.
-
updated_at
¶ The date and time of the most recent modification of the fork.
-
url
¶ The API URL for the fork.
-
-
class
github3.gists.gist.
Gist
(json, session)¶ This object constitutes the full representation of a Gist.
GitHub’s API returns different amounts of information about gists based upon how that information is retrieved. This object exists to represent the full amount of information returned for a specific gist. For example, you would receive this class when calling
gist()
. To provide a clear distinction between the types of gists, github3.py uses different classes with different sets of attributes.This object has all the same attributes as
ShortGist
as well as:-
commits_url
¶ The URL to retrieve gist commits from the GitHub API.
-
original_forks
¶ A list of
GistFork
objects representing each fork of this gist. To retrieve the most recent list of forks, use theforks()
method.
-
forks_url
¶ The URL to retrieve the current listing of forks of this gist.
-
history
¶ A list of
GistHistory
objects representing each change made to this gist.
-
truncated
¶ This is a boolean attribute that indicates whether the content of this Gist has been truncated or not.
-
Files in a Gist¶
Gists have files which have two representations:
-
class
github3.gists.file.
GistFile
(json, session)¶ This represents the full file object returned by interacting with gists.
The object has all of the attributes as returned by the API for a ShortGistFile as well as:
-
truncated
¶ A boolean attribute that indicates whether
original_content
contains all of the file’s contents.
-
original_content
¶ The contents of the file (potentially truncated) returned by the API. If the file was truncated use
content()
to retrieve it in its entirety.
-
-
class
github3.gists.file.
ShortGistFile
(json, session)¶ This represents the file object returned by interacting with gists.
The object has the following attributes as returned by the API for a Gist:
-
raw_url
¶ This URL provides access to the complete, untruncated content of the file represented by this object.
-
filename
¶ The string for the filename.
-
language
¶ The GitHub detected language for the file, e.g., Erlang, Python, text.
-
size
¶ The file size in bytes.
-
The History of a Gist¶
-
class
github3.gists.history.
GistHistory
(json, session)¶ This object represents one version (or revision) of a gist.
The GitHub API returns the following attributes:
-
url
¶ The URL to the revision of the gist retrievable through the API.
-
version
¶ The commit ID of the revision of the gist.
-
committed_at
¶ The date and time of the revision’s commit.
-
change_status
¶ A dictionary with the number of deletions, additions, and total changes to the gist.
For convenience, github3.py also exposes the following attributes from the
change_status
:-
additions
¶ The number of additions to the gist compared to the previous revision.
-
deletions
¶ The number of deletions from the gist compared to the previous revision.
-
totoal
¶ The total number of changes to the gist compared to the previous revision.
-