Skip to main content

Framework for writing Python package audits

Project description

License PyPI Build CodeQL pre-commit.ci status codecov.io readthedocs.org python3.8 Black isort docformatter pylint Security Status Known Vulnerabilities pyaud

Framework for writing Python package audits

The pyaud framework is designed for writing modular audits for Python packages

Audits can be run to fail, such as when using CI, or include a fix

Fixes can be written for whole directories or individual files

Plugins can be written for manipulating files

Supports single script plugins

Installation

$ pip install pyaud

Usage

Commandline

usage: pyaud [-h] [-v] [-f] [-n] [-s] [--audit LIST] [--exclude EXCLUDE] MODULE

positional arguments:
  MODULE             choice of module: [modules] to list all

optional arguments:
  -h, --help         show this help message and exit
  -v, --version      show program's version number and exit
  -f, --fix          suppress and fix all fixable issues
  -n, --no-cache     disable file caching
  -s, --suppress     continue without stopping for errors
  --audit LIST       comma separated list of plugins for audit
  --exclude EXCLUDE  regex of paths to ignore

Plugins

pyaud will search for a plugins package in the project root

To register a plugin package ensure it is importable and prefix the package with pyaud_

The name pyaud_plugins is reserved and will be automatically imported

To view available plugins see pyaud-plugins README or run pyaud modules all

For writing plugins see docs

Configure

Configuration values are declared in the pyproject.toml file

[tool.pyaud]
audit = [
  "commit-policy",
  "const",
  "docs",
  "files",
  "format",
  "format-docs",
  "format-str",
  "imports",
  "lint",
  "params",
  "test",
  "typecheck",
  "unused"
]
exclude = '''
  (?x)^(
    | docs\/conf\.py
    | whitelist\.py
  )$
'''

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyaud-7.2.0.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

pyaud-7.2.0-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file pyaud-7.2.0.tar.gz.

File metadata

  • Download URL: pyaud-7.2.0.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.8.13 Darwin/22.6.0

File hashes

Hashes for pyaud-7.2.0.tar.gz
Algorithm Hash digest
SHA256 28962fa6f15329fb15e008c5e4e1c20d92a15295d43cb204cddfb401941bd5a1
MD5 f2c5ec19b9f718150dfecefd3658763c
BLAKE2b-256 b503e64bc91773927390d0cc5f975f70fd13f834731974b2d238de9bf36dedaa

See more details on using hashes here.

File details

Details for the file pyaud-7.2.0-py3-none-any.whl.

File metadata

  • Download URL: pyaud-7.2.0-py3-none-any.whl
  • Upload date:
  • Size: 15.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.8.13 Darwin/22.6.0

File hashes

Hashes for pyaud-7.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8e4cda20359e948df5117252cff2aa76b4aee39b19e2a4603c1f0df76e80dfdb
MD5 2201457b6517ce3794cfe38147f149dc
BLAKE2b-256 4f72b25479ece3bde7c1ab767b9fc608253d9aefd92c014597c789661edffcbf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page