Skip to main content

mewbot-dev-tools

Tools to aid with mewbot development.

Purpose

While developing mewbot we built a number of tools to assist with development. This mostly consist of tool chains for

  • running the linters
  • building dev venvs (still forthcoming)
  • building the docs (still forthcoming)
  • gather and run the tests

The aim of these tools is that, if you run them on a code base, you should end up with something which conforms to mewbot's guidelines.

Usage

The dev tools uses path based auto-discovery to locate the relevant code. Python modules will be discovered in ./src and ./plugins/*/src. Test cases will be discovered in ./tests and ./plugins/*/tests.

If your project is in that src-dir layout, you can install the dev tools and then run any of the toolchains.

pip install mewbot-dev-tools

mewbot-install-deps  # Install dependencies from discovered requirements.txt

mewbot-preflight # Run all of the toolchains below

mewbot-lint  # Code style and type linting, using black/flake/ruff/mypy/pylint
mewbot-reuse # Licensing information check, using reuse
mewbot-test  # Run discovered test suites, using pytest
mewbot-security-analysis  # Discover potential security bugs using badnit

mewbot-annotate  # Convert output data into GitHub annotations

We also recommend that you setup mewbot-prefilght as a pre-commit or pre-push hook.

Future Work

  • Ability to opt-out for some linters in pyproject.toml
  • Work to discover locations based on pyproject.toml

Metadata

Release files for mewbot-dev-tools 0.0.20

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

Source distribution (sdist)

Source distribution for mewbot-dev-tools 0.0.20
File Size Uploaded
mewbot_dev_tools-0.0.20.tar.gz 40.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mewbot-dev-tools 0.0.20
File Interpreter ABI Platform
mewbot_dev_tools-0.0.20-py3-none-any.whl Python 3 none any Details

Total release size: 86.2 kB

Release files / mewbot_dev_tools-0.0.20.tar.gz

Download URL mewbot_dev_tools-0.0.20.tar.gz
Size 40.0 kB
Tags Source
SHA-256 checksum
How to use checksums
5de132210758bb2734ebf080419437432ea0f41be68ab3b91e9b13568224c1bf
BLAKE2b-256 checksum
How to use checksums
9032dac3966ab18f1e57133a81510ae940def2a0554cb8f004caa9de61ab68f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / mewbot_dev_tools-0.0.20-py3-none-any.whl

Download URL mewbot_dev_tools-0.0.20-py3-none-any.whl
Size 46.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d09642db2467f7b9c13c4471a547f77ac860e40cfc309549c442a7596c26d416
BLAKE2b-256 checksum
How to use checksums
1190013bc391938418f8d6f183d514bbaf110da15c10f9acea274c65ae1aac1f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7
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