Skip to main content

Mewbot Developers Tools (https://github.com/mewbotorg)

Project description

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

Project details


Download files

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

Source Distribution

mewbot_dev_tools-0.0.20.tar.gz (40.0 kB view hashes)

Uploaded Source

Built Distribution

mewbot_dev_tools-0.0.20-py3-none-any.whl (46.2 kB view hashes)

Uploaded Python 3

Supported by

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