Skip to main content

repo-tools

pre-commit CircleCI

Development • Documentation • Contribute • Support

This is a small Multi Repo CLI that allows you to apply changes to multiple projects at the same time.


Use it!

pip install repo-tools
$ rt --help
Usage: rt [OPTIONS] COMMAND [ARGS]...

Options:
  --install-completion  Install completion for the current shell.
  --show-completion     Show completion for the current shell, to copy it or
                        customize the installation.

  --help                Show this message and exit.

Commands:
  config   Configure repo_tools
  exec     Execute an arbitrary command
  gh       Interact with github
  snippet  Run snippets (custom snippets can be registered)

Required Setup

  • Display your config:
rt config show
  • Create your Github config:
rt config gh setup

Note: To create your config you will need to have a Personal Github Oauth Token, that can be created here. Make sure to give it repo:all and admin:org permissions.

  • Register Projects
rt config projects detect ./<your-projects-dir>
  • Register Snippets
rt snippet register <path-to-snippet-file> | <path-to-dir-with-snippets>

Development

Setup

This project uses poetry for dependency management, let's install it:

pip install poetry

Run

You can use poetry to install all dependencies and use the current state of the CLI as follows:

poetry install
poetry shell # opens new shell in virtual env
> rt config show
> ...

How to Contribute

In order to contribute you just have to have Python installed on your machine. In case you do not have it installed get it from python.org.

Linting Tool

This project is using pre-commit to enable linting and auto-formatting as a pre-commit hook. The hooks are configured in .pre-commit-config.yaml.

To install the hooks you have to run the following command (only once):

pip install pre-commit
pre-commit install

Then you can trigger all the hooks manually by running:

poetry install
poetry run pre-commit run --all-files

Additionally on every git commit the hooks will be triggered and have to pass.

How to run tests

You can run all the tests, by simply running:

poetry install
poetry run pytest -vv

Support & Feedback

Your contribution is very much appreciated. Feel free to create a PR or an Issue with your suggestions for improvements.

Metadata

Release files for repo-tools 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for repo-tools 0.2.0
File Size Uploaded
repo-tools-0.2.0.tar.gz 13.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for repo-tools 0.2.0
File Interpreter ABI Platform
repo_tools-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 29.6 kB

Release files / repo-tools-0.2.0.tar.gz

Download URL repo-tools-0.2.0.tar.gz
Size 13.4 kB
Tags Source
SHA-256 checksum
How to use checksums
c83e78dfa06ecfe32a72441c1f8e019ad7f99d13370d00d7f39fa520c69c7bda
BLAKE2b-256 checksum
How to use checksums
e1449a554aae3a1005a2b3ae865d11d8da0ba85db32bcf665ec8073f8a571b52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.4 CPython/3.8.7 Linux/4.15.0-1077-aws

Release files / repo_tools-0.2.0-py3-none-any.whl

Download URL repo_tools-0.2.0-py3-none-any.whl
Size 16.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
99bef3b9366c426b00624a5619e9a7d0e2e9a4c17050cd1d4102c8addba75c5c
BLAKE2b-256 checksum
How to use checksums
303b85d0c89df629e5456d539253d7e0d21715765d3f6f4451339b405c1c600f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.4 CPython/3.8.7 Linux/4.15.0-1077-aws

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page