Skip to main content

Manage your github repo as code!

Project description

Build Status PyPI Version Code Health Coveralls Report

dothub

Stop managing your github configuration through an UI like a mere human and do everything through beautiful config YAML files.

dothub allows you to declare your configuration in a config file and update it by just updating the file. This way you can configure your labels, collaborators, default repo and organization parameters and other as code and have them version controlled.

If you are not sure how to configure something through the config file just change it in the UI and sync it locally with your file, you will see the changes! Next time you wont need to do any clicks!

Install

pip install dothub

Usage

The first time you run dothub it will run a wizard to help you configure your credentials.

Repository configuration

Retrieve locally:

$ dothub pull mariocj89/dothub
.dothub.repo.yml updated

This creates a file that represents your repo configuration

Updating from local changes:

dothub push mariocj89/dothub
Changes:
+ root['collaborators']['dnaranjo89']
+ root['labels']['new-tag']
C root['hooks']['travis']['active'] (True -> False)
Apply changes? [Y/n]: Y
Updated!

You can check the repo configuration in github. dnarnajo89 has been invited as a collaborator, travis hooks have been disabled and you have a new awesome “new-tag”

Organization Configuration

Retrieve locally:

dothub pull <org_name>

Updating from local changes:

dothub push <org_name>

Updating all repositories within an organization

You can update all the repositories of an organization from your .dothub.repo.yml file.

To make a repo configuration be a template for all the repositories of your org you can use dothub as follows:

dothub pull <org/repo> .dothub.org.repos.yml
dothub push --bulk org/*

Note that some repository specific options like the name or the description will be ignored on the update.

Future features

This is justa prototype, dothub aims to be the configuration tool for your whole github see here for the features that are going to come available soon.

FAQ

How can I retriger the reconfigure step?

Just run dothub configure

How can I use the tool if I am need to provide a custom SSL certificate?

Pass the envvar REQUESTS_CA_BUNDLE=YOURCERTPATH.cer before running dothub

I don’t want the tool to manage a part of the config

Just remove that part! If there is full section missing (hooks, options, members, etc.). It will be ignored

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

dothub-0.16.4.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

dothub-0.16.4-py2.py3-none-any.whl (18.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file dothub-0.16.4.tar.gz.

File metadata

  • Download URL: dothub-0.16.4.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for dothub-0.16.4.tar.gz
Algorithm Hash digest
SHA256 1689c5d05c5451cc3c3213a8a1d7341fcd01da5b332c8a0f49cac3b5e611a5fe
MD5 56dd8eee161177466df22130457c8280
BLAKE2b-256 56fa36fac0cc6a7590e5316792728ed9b02aabb63cbeef2fe2e6a924e9950cd4

See more details on using hashes here.

File details

Details for the file dothub-0.16.4-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for dothub-0.16.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 005087f796c0ba3def5edbfbec9ee7f4e5a8ad13b991b633c453ca70b9a15b29
MD5 591973112f40196056ee720f088da1cf
BLAKE2b-256 99e53e8a714020e805895436e6e1bd492608a0c41336ade9d6c5342cd9112753

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