pyaud
=====
.. image:: https://img.shields.io/badge/License-MIT-yellow.svg
:target: https://opensource.org/licenses/MIT
:alt: License
.. image:: https://img.shields.io/pypi/v/pyaud
:target: https://pypi.org/project/pyaud/
:alt: PyPI
.. image:: https://github.com/jshwi/pyaud/actions/workflows/build.yaml/badge.svg
:target: https://github.com/jshwi/pyaud/actions/workflows/build.yaml
:alt: Build
.. image:: https://github.com/jshwi/pyaud/actions/workflows/codeql-analysis.yml/badge.svg
:target: https://github.com/jshwi/pyaud/actions/workflows/codeql-analysis.yml
:alt: CodeQL
.. image:: https://results.pre-commit.ci/badge/github/jshwi/pyaud/master.svg
:target: https://results.pre-commit.ci/latest/github/jshwi/pyaud/master
:alt: pre-commit.ci status
.. image:: https://codecov.io/gh/jshwi/pyaud/branch/master/graph/badge.svg
:target: https://codecov.io/gh/jshwi/pyaud
:alt: codecov.io
.. image:: https://readthedocs.org/projects/pyaud/badge/?version=latest
:target: https://pyaud.readthedocs.io/en/latest/?badge=latest
:alt: readthedocs.org
.. image:: https://img.shields.io/badge/python-3.8-blue.svg
:target: https://www.python.org/downloads/release/python-380
:alt: python3.8
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
:alt: Black
.. image:: https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336
:target: https://pycqa.github.io/isort/
:alt: isort
.. image:: https://img.shields.io/badge/%20formatter-docformatter-fedcba.svg
:target: https://github.com/PyCQA/docformatter
:alt: docformatter
.. image:: https://img.shields.io/badge/linting-pylint-yellowgreen
:target: https://github.com/PyCQA/pylint
:alt: pylint
.. image:: https://img.shields.io/badge/security-bandit-yellow.svg
:target: https://github.com/PyCQA/bandit
:alt: Security Status
.. image:: https://snyk.io/test/github/jshwi/pyaud/badge.svg
:target: https://snyk.io/test/github/jshwi/pyaud/badge.svg
:alt: Known Vulnerabilities
.. image:: https://snyk.io/advisor/python/pyaud/badge.svg
:target: https://snyk.io/advisor/python/pyaud
:alt: 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
------------
.. code-block:: console
$ pip install pyaud
Usage
-----
Commandline
***********
.. code-block:: console
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 <https://github.com/jshwi/pyaud-plugins/blob/master/README.rst>`_ or run ``pyaud modules all``
For writing plugins see `docs <https://jshwi.github.io/pyaud/pyaud.html#pyaud-plugins>`_
Configure
*********
Configuration values are declared in the pyproject.toml file
.. code-block:: toml
[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
)$
'''
Raw data
{
"_id": null,
"home_page": "https://pypi.org/project/pyaud/",
"name": "pyaud",
"maintainer": "jshwi",
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": "stephen@jshwisolutions.com",
"keywords": "audit, ci, fix, format, style",
"author": "jshwi",
"author_email": "stephen@jshwisolutions.com",
"download_url": "https://files.pythonhosted.org/packages/05/8f/e7fba729d51f19a0517fb8e86533f423c691bf3201e9367fc3dd5b7c9c7c/pyaud-7.5.1.tar.gz",
"platform": null,
"description": "pyaud\n=====\n.. image:: https://img.shields.io/badge/License-MIT-yellow.svg\n :target: https://opensource.org/licenses/MIT\n :alt: License\n.. image:: https://img.shields.io/pypi/v/pyaud\n :target: https://pypi.org/project/pyaud/\n :alt: PyPI\n.. image:: https://github.com/jshwi/pyaud/actions/workflows/build.yaml/badge.svg\n :target: https://github.com/jshwi/pyaud/actions/workflows/build.yaml\n :alt: Build\n.. image:: https://github.com/jshwi/pyaud/actions/workflows/codeql-analysis.yml/badge.svg\n :target: https://github.com/jshwi/pyaud/actions/workflows/codeql-analysis.yml\n :alt: CodeQL\n.. image:: https://results.pre-commit.ci/badge/github/jshwi/pyaud/master.svg\n :target: https://results.pre-commit.ci/latest/github/jshwi/pyaud/master\n :alt: pre-commit.ci status\n.. image:: https://codecov.io/gh/jshwi/pyaud/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/jshwi/pyaud\n :alt: codecov.io\n.. image:: https://readthedocs.org/projects/pyaud/badge/?version=latest\n :target: https://pyaud.readthedocs.io/en/latest/?badge=latest\n :alt: readthedocs.org\n.. image:: https://img.shields.io/badge/python-3.8-blue.svg\n :target: https://www.python.org/downloads/release/python-380\n :alt: python3.8\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n :target: https://github.com/psf/black\n :alt: Black\n.. image:: https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336\n :target: https://pycqa.github.io/isort/\n :alt: isort\n.. image:: https://img.shields.io/badge/%20formatter-docformatter-fedcba.svg\n :target: https://github.com/PyCQA/docformatter\n :alt: docformatter\n.. image:: https://img.shields.io/badge/linting-pylint-yellowgreen\n :target: https://github.com/PyCQA/pylint\n :alt: pylint\n.. image:: https://img.shields.io/badge/security-bandit-yellow.svg\n :target: https://github.com/PyCQA/bandit\n :alt: Security Status\n.. image:: https://snyk.io/test/github/jshwi/pyaud/badge.svg\n :target: https://snyk.io/test/github/jshwi/pyaud/badge.svg\n :alt: Known Vulnerabilities\n.. image:: https://snyk.io/advisor/python/pyaud/badge.svg\n :target: https://snyk.io/advisor/python/pyaud\n :alt: pyaud\n\nFramework for writing Python package audits\n-------------------------------------------\n\nThe ``pyaud`` framework is designed for writing modular audits for Python packages\n\nAudits can be run to fail, such as when using CI, or include a fix\n\nFixes can be written for whole directories or individual files\n\nPlugins can be written for manipulating files\n\nSupports single script plugins\n\nInstallation\n------------\n\n.. code-block:: console\n\n $ pip install pyaud\n\nUsage\n-----\n\nCommandline\n***********\n\n.. code-block:: console\n\n usage: pyaud [-h] [-v] [-f] [-n] [-s] [--audit LIST] [--exclude EXCLUDE] MODULE\n\n positional arguments:\n MODULE choice of module: [modules] to list all\n\n optional arguments:\n -h, --help show this help message and exit\n -v, --version show program's version number and exit\n -f, --fix suppress and fix all fixable issues\n -n, --no-cache disable file caching\n -s, --suppress continue without stopping for errors\n --audit LIST comma separated list of plugins for audit\n --exclude EXCLUDE regex of paths to ignore\n\nPlugins\n*******\n\n``pyaud`` will search for a plugins package in the project root\n\nTo register a plugin package ensure it is importable and prefix the package with ``pyaud_``\n\nThe name ``pyaud_plugins`` is reserved and will be automatically imported\n\nTo view available plugins see ``pyaud-plugins`` `README <https://github.com/jshwi/pyaud-plugins/blob/master/README.rst>`_ or run ``pyaud modules all``\n\nFor writing plugins see `docs <https://jshwi.github.io/pyaud/pyaud.html#pyaud-plugins>`_\n\nConfigure\n*********\n\nConfiguration values are declared in the pyproject.toml file\n\n.. code-block:: toml\n\n [tool.pyaud]\n audit = [\n \"commit-policy\",\n \"const\",\n \"docs\",\n \"files\",\n \"format\",\n \"format-docs\",\n \"format-str\",\n \"imports\",\n \"lint\",\n \"params\",\n \"test\",\n \"typecheck\",\n \"unused\"\n ]\n exclude = '''\n (?x)^(\n | docs\\/conf\\.py\n | whitelist\\.py\n )$\n '''\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Framework for writing Python package audits",
"version": "7.5.1",
"project_urls": {
"Documentation": "https://pyaud.readthedocs.io/en/latest",
"Homepage": "https://pypi.org/project/pyaud/",
"Repository": "https://github.com/jshwi/pyaud"
},
"split_keywords": [
"audit",
" ci",
" fix",
" format",
" style"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7bc0a5c5794a09e5397cdd42eda3427e28da3afb26d7297915af834c2bd88bc1",
"md5": "1939511d3a4862a832c029afc958c99d",
"sha256": "4437ad041e5b9b23ba3d5959f82178c3a53a21f6aae905b616b4512d8b0dc967"
},
"downloads": -1,
"filename": "pyaud-7.5.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1939511d3a4862a832c029afc958c99d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 15302,
"upload_time": "2024-04-08T23:46:07",
"upload_time_iso_8601": "2024-04-08T23:46:07.866700Z",
"url": "https://files.pythonhosted.org/packages/7b/c0/a5c5794a09e5397cdd42eda3427e28da3afb26d7297915af834c2bd88bc1/pyaud-7.5.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "058fe7fba729d51f19a0517fb8e86533f423c691bf3201e9367fc3dd5b7c9c7c",
"md5": "f90dfff737df8b96b3029160723977e7",
"sha256": "1cb2bfeddbaeb1a3ce82bc4c96db484552ee4ebbb9e32ee670f98ac725ab2288"
},
"downloads": -1,
"filename": "pyaud-7.5.1.tar.gz",
"has_sig": false,
"md5_digest": "f90dfff737df8b96b3029160723977e7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 13448,
"upload_time": "2024-04-08T23:46:09",
"upload_time_iso_8601": "2024-04-08T23:46:09.831043Z",
"url": "https://files.pythonhosted.org/packages/05/8f/e7fba729d51f19a0517fb8e86533f423c691bf3201e9367fc3dd5b7c9c7c/pyaud-7.5.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-08 23:46:09",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jshwi",
"github_project": "pyaud",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pyaud"
}