Metadata-Version: 2.1
Name: rubrical
Version: 1.0.1
Summary: A CLI to encourage (😅) people to update their dependencies!
Home-page: https://github.com/ivanklee86/rubrical
License: MPL-2.0
Author: Ivan Lee
Author-email: ivanklee86@gmail.com
Requires-Python: >=3.12,<4.0
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Build Tools
Requires-Dist: pydantic (>=2.5.2,<3.0.0)
Requires-Dist: pygithub (>=2.0.0,<3.0.0)
Requires-Dist: pyproject-parser (>=0.9.1,<0.10.0)
Requires-Dist: python-benedict[all] (>=0.33.0,<0.34.0)
Requires-Dist: pyyaml (>=6.0,<7.0)
Requires-Dist: requirements-parser (>=0.5.0,<0.6.0)
Requires-Dist: semver (>=3.0.2,<4.0.0)
Requires-Dist: setuptools (>=69.0.0,<70.0.0)
Requires-Dist: typer[all] (>=0.9.0,<0.10.0)
Project-URL: Repository, https://github.com/ivanklee86/rubrical
Description-Content-Type: text/markdown

# rubrical

[![CI](https://github.com/ivanklee86/rubrical/actions/workflows/ci.yaml/badge.svg)](https://github.com/ivanklee86/rubrical/actions/workflows/ci.yaml) [![codecov](https://codecov.io/gh/ivanklee86/rubrical/branch/main/graph/badge.svg?token=9WJM4LBDEX)](https://codecov.io/gh/ivanklee86/rubrical) [![PyPI version](https://badge.fury.io/py/rubrical.svg)](https://badge.fury.io/py/rubrical)

A CLI to encourage (😅) people to update their dependencies!

## raison d'etre

```gherkin
Scenario: A team publishes an update to a new library that needs to be adopted.
            (New feature, breaking changes, security fixes, etc)
  Given your company has a microservice architecture
          (or >3 repositories to update across >2 teams )
  Then you go to each team and beg/bargin/plead for them to update their packages
```

You can (should!) use tools like [renovate](https://github.com/renovatebot/renovate) to automate dependency updates.  But it's easy to lose track of updates especially with particularly technologies (hi JS/TS!) or busy teams.

`rubrical` breaks the cycle by putting a check inside your CI/CD pipelines. (Golden pipelines or shared workflows are highly recommended!)  Now teams have a tool to automatically (automagically!) communicated when a dependency needs to be upgraded!

For more information, checkout the [documentation](https://ivanklee86.github.io/rubrical/)!

## Features
- Set warning (notify users their dependency will be out of date soon) and block (exit with error code) levels.
- Supports different languages (Python, Go, Node.js, and Jsonnet) and package manager formats (e.g. pip, poetry).
- Post results to Github/GHE PRs.

![rubrical](https://github.com/ivanklee86/rubrical/blob/main/docs/images/rubrical.png?raw=true)

