Skip to content

simonw/github-contents

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

github-contents

PyPI Changelog Tests License

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, }, )

About

Python class for reading and writing data to a GitHub repository

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages