Python class for reading and writing data to a GitHub repository
Project description
github-contents
Read and write both small and large files to Github.
The regular GitHub Contents API can't handle files larger than 1MB - this class knows how to spot that problem and switch to the large-file-supporting low level Git Data API instead.
Note that file contents is passed and returned as bytestrings, not regular strings.
Installation
pip install github-contents
Usage
You will need a GitHub OAuth token with full repository access.
The easiest way to create one of these is using https://github.com/settings/tokens
from github_contents import GithubContents
# For repo simonw/disaster-data:
github = GithubContents(
"simonw",
"disaster-data",
token=GITHUB_OAUTH_TOKEN,
branch="main"
)
To read a file:
content_in_bytes, sha = github.read(path_within_repo)
To write a file:
content_sha, commit_sha = github.write(
filepath=path_within_repo,
content_bytes=contents_in_bytes,
sha=previous_sha, # Optional
commit_message=commit_message,
committer={
"name": COMMITTER_NAME,
"email": COMMITTER_EMAIL,
},
)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
github-contents-0.2.tar.gz
(3.6 kB
view hashes)
Built Distribution
Close
Hashes for github_contents-0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 042918b0680ac76764006f99d95784b1c27bcd702eff4a3adecd077009da6660 |
|
MD5 | 26ba2bbebffed440aec516a2ede96c8c |
|
BLAKE2b-256 | b41fa8e06c2ce2f7438d557031eae2fb7f5d9cc02dad726f233d3cc205565b71 |