Skip to main content

This repo contains a number of tools Open edX uses for working with GitHub repositories.

Project description

This repo contains a number of tools Open edX engineers use for working with GitHub repositories.

The set of tools has grown over the years. Some are old and in current use, some have fallen out of use, some are quite new.

Setting up GitHub authentication

Most of these make GitHub API calls, and so will need GitHub credentials in order to not be severely rate-limited. Edit (or create) ~/.netrc so that it has an entry like this:

machine api.github.com
  login your_user_name
  password ghp_XyzzyfGXFooBar8nBqQuuxY9brgXYz4Xyzzy

Change the login to your GitHub user name. The password is a Personal Access Token you get from https://github.com/settings/tokens. Visit that page, click “Generate new token.” It will prompt you for your password, then you’ll see a scary list of scopes. Check the “repo” option and click “Generate token.” Copy the token that appears. Paste it into your ~/.netrc in the “password” entry.

Working in the repo

To work on these tools:

  1. Use a virtualenv.

  2. Install dependencies:

    make dev-install
  3. Run tests:

    make test
  4. Older tools were Python files run from the root of the repo. Now we are being more disciplined and putting code into importable modules with entry points in setup.py.

  5. Simple tools can go into an existing subdirectory of edx_repo_tools. Follow the structure of existing tools you find here. More complex tools, or ones that need unusual third-party requirements, should go into a new subdirectory of edx_repo_tools.

  6. Add a new entry_point in setup.py for your command:

    entry_points={
        'console_scripts': [
            ...
            'new_tool = edx_repo_tools.new_tool_dir.new_tool:main',
            ...
  7. If your tool is in its own directory, you can create an extra.in file there with third-party requirements intended just for your tool. This will automatically create an installable “extra” for your requirements.

Older Tools

There are many programs in this repo in various stages of disrepair. A few of them are described in this repo’s older README.md file. Others are not described at all, but may be useful, or have useful tidbits in the code.

Feedback

Please send any feedback to oscm@edx.org.

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

edx-repo-tools-0.8.3.tar.gz (83.1 kB view details)

Uploaded Source

Built Distribution

edx_repo_tools-0.8.3-py3-none-any.whl (102.1 kB view details)

Uploaded Python 3

File details

Details for the file edx-repo-tools-0.8.3.tar.gz.

File metadata

  • Download URL: edx-repo-tools-0.8.3.tar.gz
  • Upload date:
  • Size: 83.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for edx-repo-tools-0.8.3.tar.gz
Algorithm Hash digest
SHA256 62786c4d237f3c5f7305d61da031695f909c63623f12c9ddd4919bda1d8449ab
MD5 af846cbdb58e43b9806cfa8b5d13ed62
BLAKE2b-256 0c19fee353f5b5fe7eb9db7bcbe56801e89b0a0fe5f2dad2e87f0c1e675b5bd5

See more details on using hashes here.

File details

Details for the file edx_repo_tools-0.8.3-py3-none-any.whl.

File metadata

File hashes

Hashes for edx_repo_tools-0.8.3-py3-none-any.whl
Algorithm Hash digest
SHA256 bd0593fbeac244378e33dc7ebc69789b8be9295dbdf4d9a64cd7f3837712c187
MD5 bbbea35f030990ad2483cd551d95efa5
BLAKE2b-256 9eff3a71ffca59786933d62ee5f449de06f14cf379a799951dca50fc19311234

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