Skip to main content

github repo watching client .

Project description


# Repo Watching

Github repos watching framework

## Install

```shell
pip install watching
```

## Simple Usage

function `ctx.upsert_file_and_pr` is a helper to update or create file and create pull request .

```python
watcher = Watcher({
'github_access_token': ACCESS_TOKEN,
})


def license_middleware(ctx: Context):
branch = 'watcher_license_create'
path = '/LICENSE'
new_content = 'MIT\n\ncreated by joway'
message = 'add MIT license'
pr_title = 'Init: MIT License'
pr_body = '- create MIT License'

file_branch = 'master'

ctx.upsert_file_and_pr(
path=path, content=new_content, branch=branch,
should_upsert=lambda new, old: new != old, message=message,
pr_title=pr_title, pr_body=pr_body,
)


def other_middleware(ctx: Context):
pass


def filter_func(repo: Repo):
if repo.name == 'repo-watching-demo':
return True


# task chain , it will be executed by every repo
watcher.use(license_middleware, other_middleware)

# filter the repos you need
repos = watcher.get_all_repos(filter_func=filter_func)

# listen repos
watcher.listen(repos)

# traverse all repos you listened
watcher.run()

```

## Advanced Usage

```python
# get commit list
ctx.repo.commit_list()

# access your github username | org name
ctx.repo.login
ctx.repo.name

# create file
ctx.repo.file_create()
# update file
ctx.repo.file_update()
# get file
ctx.repo.file_get()
# create branch
ctx.repo.branch_create()
# create pr
ctx.repo.pr_create()
```

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

watching-0.0.4.tar.gz (3.8 kB view details)

Uploaded Source

File details

Details for the file watching-0.0.4.tar.gz.

File metadata

  • Download URL: watching-0.0.4.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/2.7

File hashes

Hashes for watching-0.0.4.tar.gz
Algorithm Hash digest
SHA256 448e401911838b424b5218bd699bf593c3e5e6ce884380786640c922f2416374
MD5 bd813e0a6f8fbff5c35930320d57d09d
BLAKE2b-256 1e7ae3c6fe45a92ac11fac41d76967f9cf350322aa55092a531e46cdc1677d25

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page