Skip to main content

Shuvel

Unearthing bad code. Performs regex searches, but with more manageable results.

Installation

Standard Build

pip3 install shuvel

Bleeding Edge Build

pip3 install git+https://gitlab.com/TheTwitchy/shuvel

Development

  • It is recommended that you use a virtualenv for development:
    • virtualenv --python python3 venv
    • source ./venv/bin/activate
  • python setup.py develop
  • Run with shuvel

Usage

Running Rulesets

  • shuvel run -t ~/example/src
    • Runs all rules.
  • shuvel run -t ~/example/src -r general.*
    • Runs all rules in the general category.
  • shuvel run -t ~/example/src -r general.security_words
    • Runs only the rule general.security_words.
  • shuvel run -t ~/example/src -r general.security_words,general.rng,other.*
    • Runs several rules at once.
  • shuvel run -t ~/example/src -s low
    • Only run rules which will report low severity items or higher. Possible values are high, low, and info.

Showing Rulesets

  • shuvel rules
    • Shows all loaded rules.

Writing Rules

Rules are stored locally, and can generally be found in the shuvel config directory, which can be seen when running shuvel run --help. Non-default rules directories may be specified on the command line with the -r option. Rules need to be JSON files which have a structure as shown below (specifically the magic number should be intact, and all rules should be defined as a list under the "rules" field).

Example Rules

See the examples folder for some possibilities.

Testing Rules

To ensure a rule is valid, run shuvel test to show any errors or suggestions. The --debug switch can be passed before the test command as well for additional output.

Metadata

Release files for shuvel 0.4.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 shuvel 0.4.0
File Size Uploaded Provenance Actions
shuvel-0.4.0.tar.gz 12.3 kB Without provenance Details for shuvel-0.4.0.tar.gz

Built distribution (wheel)

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

Total release size: 21.9 kB

Release files / shuvel-0.4.0.tar.gz

Download URL shuvel-0.4.0.tar.gz
Size 12.3 kB
Tags Source
SHA-256 checksum
How to use checksums
6deb46d7fa27b0af5510f2eba847a997e7a7a54881a08650b40d8f6a773b0a87
BLAKE2b-256 checksum
How to use checksums
3e7a4f48666a624c67a21d83ebec052b89888c93311342c78cfd8a7c3c32640b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

Release files / shuvel-0.4.0-py3-none-any.whl

Download URL shuvel-0.4.0-py3-none-any.whl
Size 9.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8f4240af0114f50e57a301974b7f1d05dc914abc9bb5a196525b85ea63e4ff79
BLAKE2b-256 checksum
How to use checksums
73bd5c46739f342ff0bcc2ec93434da06078a9d57623a615775ef3067fc7c7f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

Security for shuvel 0.4.0

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