Skip to main content

Project: License

Package: PyPI - Python Version PyPI - Version PyPI - Downloads

Development: uv ruff ty pytest CI Code Coverage GitHub commit activity

Contents

Overview

RepoRemedy aims to lower the barrier to software engineering best practices in open-source repositories. It will turn RepoAuditor text and OpenSSF Scorecard JSON findings into reviewable issues and pull requests.

How to use RepoRemedy

Read an existing report and write normalized findings and source provenance as JSON:

RepoRemedy inspect report.json --report-type ossf-scorecard --repo acme/demo
RepoRemedy inspect report.txt --report-type repoauditor --repo https://github.gatech.edu/sse-center/sse-resources

Use RepoRemedy inspect --help for inspection options and RepoRemedy --version for the installed version. OWNER/REPO means GitHub.com; use an HTTPS URL or HOST/OWNER/REPO for GitHub Enterprise. Enterprise hosts are retained in the output and Scorecard scan matching, including non-default HTTPS ports.

Gather context and create concrete remedy proposals from an audit report:

RepoRemedy propose report.json --report-type ossf-scorecard --repo OWNER/REPO > proposals.json

propose reads the audited commit when recorded, otherwise main. Use --ref main or a full commit SHA to select a revision explicitly. It resolves catalog inputs and renders an issue or an eligible draft PR, including file contents and diffs. Missing inputs and blocked proposals remain visible. propose makes no GitHub changes. Publish only reviewed selections with explicit confirmation:

RepoRemedy publish proposals.json --repo OWNER/REPO --select security-policy \
  --receipts publication-receipts.json --confirm

See publishing remedies for permissions, stale-content checks, duplicate prevention and receipt recovery.

See proposing remedies for authentication, collected context, maintainer inputs, PR guards and the saved proposal contract.

Installation

Installation Method Command
Via uv uv add RepoRemedy
Via pip pip install RepoRemedy

Verifying Signed Artifacts

Artifacts are signed and verified using py-minisign and the public key in the file ./minisign_key.pub.

To verify that an artifact is valid, visit the latest release and download the .minisign signature file that corresponds to the artifact, then run the following command, replacing <filename> with the name of the artifact to be verified:

uv run --with py-minisign python -c "import minisign; minisign.PublicKey.from_file('minisign_key.pub').verify_file('<filename>'); print('The file has been verified.')"

Development

Please visit Contributing and Development for information on contributing to this project.

Additional Information

Additional information can be found at these locations.

Title Document Description
Code of Conduct CODE_OF_CONDUCT.md Information about the norms, rules, and responsibilities we adhere to when participating in this open source community.
Contributing CONTRIBUTING.md Information about contributing to this project.
Development DEVELOPMENT.md Information about development activities involved in making changes to this project.
Governance GOVERNANCE.md Information about how this project is governed.
Maintainers MAINTAINERS.md Information about individuals who maintain this project.
Security SECURITY.md Information about how to privately report security issues associated with this project.

License

RepoRemedy is licensed under the MIT license.

Release files for reporemedy 0.1.14

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

Source distribution (sdist)

Source distribution for reporemedy 0.1.14
File Size Uploaded
reporemedy-0.1.14.tar.gz 44.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for reporemedy 0.1.14
File Interpreter ABI Platform
reporemedy-0.1.14-py3-none-any.whl Python 3 none any Details

Total release size: 105.5 kB

Release files / reporemedy-0.1.14.tar.gz

Download URL reporemedy-0.1.14.tar.gz
Size 44.3 kB
Tags Source
SHA-256 checksum
How to use checksums
f5ebbbd9fe0499693f8a835f2d18b15d2b8d706317a1650d3548e520d5382be6
BLAKE2b-256 checksum
How to use checksums
9f4c0b9e359c720f2617f242100713f7d56f22591c8a56035f1f99a1a247a143
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / reporemedy-0.1.14-py3-none-any.whl

Download URL reporemedy-0.1.14-py3-none-any.whl
Size 61.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5c9fb6283552e58db0b952daacfa4290d1dff20d0075502aef82776de86fbcef
BLAKE2b-256 checksum
How to use checksums
e72b7f32399e33f6525e6e865f89366ec6524250f5f41d1a8b0ec0f49057fd2a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.1.16

2 release files

This release

0.1.14 This release

2 release files

0.1.13

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.7

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.1

2 release files

0.1.0

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