Skip to main content

bleach

Remove mold from your repositories :)

Bleach is a project dedicated to helping software development teams keep track of their repositories and make sure no pull request is left unattended. Bleach may query GitHub and BitBucket repositories, and write alerts on pull requests open for too long to Slack. Bleach may also try to make an educated guess as for whether or not two branches are out of sync. For example, a master branch may be expected to contain all commits from a staging branch, and Bleach will alert if that is not the case.

Installing

For unpriviliged users: pip install --user bleachrepo

Or for priviliged users / with sudo: pip install bleachrepo

Running & Commands

python -m bleach <org> <repo> <command> <additional_params_for_command>

Viable commands are: pr - check the status of open pull requests of given <repo> in <org>. branch - compare two branches, checking if commits are present in one branch, but not another.

Pull requests

pr is used to check the status of pull requests in a given repo, and helps find pull requests that are open for too long. for example, python -m bleach shesekino bleach pr will write to stdout a summary of pull requests open for over 2 days.

Branch sync

branch is used to check for commits appearing in one branch, but not another. This feature can be useful for repositories with a master branch that is expected to eventually contain all recent commits from a staging branch. python -m bleach shesekino bleach branch test-branch-discrepancy-1 test-branch-discrepancy-2 will check if there are commits in branch test-branch-discrepancy-2 that do not appear in test-branch-discrepancy-1.

This feature somewhat relies on guesswork and assumptions.

Private & public repositories

Public repositories require no special treatment. For private repositories, obtain a GitHub access token with repo permissions, then set it as an environment variable:

export BLEACH_GITHUB_ACCESS_TOKEN=<access token>

and run normally.

Writing to Slack

Set a webhook URL to slack:

export BLEACH_SLACK_WEBHOOK=<webhook url>

then run:

python -m bleach --outputMethod slack <org> <repo> <command>

Metadata

Release files for bleachrepo 0.0.24

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

Source distribution (sdist)

Source distribution for bleachrepo 0.0.24
File Size Uploaded Provenance
bleachrepo-0.0.24.tar.gz 7.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for bleachrepo 0.0.24
File Interpreter ABI Platform
bleachrepo-0.0.24-py2-none-any.whl Python 2 none any Details

Total release size: 19.2 kB

Release files / bleachrepo-0.0.24.tar.gz

Download URL bleachrepo-0.0.24.tar.gz
Size 7.7 kB
Tags Source
SHA-256 checksum
How to use checksums
601f11e272391a3fbc2ea241e51d62788cfa6f973aa205c7a2ecffbc558bd9b2
BLAKE2b-256 checksum
How to use checksums
dbba7927d16b30231b3fd8812f079afea3690341ddb0291b52f6874d5f949479
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.7.2

Release files / bleachrepo-0.0.24-py2-none-any.whl

Download URL bleachrepo-0.0.24-py2-none-any.whl
Size 11.4 kB
Tags Python 2
SHA-256 checksum
How to use checksums
86476fd554199cf825869dcca3146ca9e332fe7c068da3ed6273a5fd268c9800
BLAKE2b-256 checksum
How to use checksums
d6f89b80a60c8ef1f07e66f5c7f992fc649a04f6f48eb5e79f9dc3f55994dd73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.7.2

Security for bleachrepo 0.0.24

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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