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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file mewbot_dev_tools-0.0.20.tar.gz.

File metadata

  • Download URL: mewbot_dev_tools-0.0.20.tar.gz
  • Upload date:
  • Size: 40.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for mewbot_dev_tools-0.0.20.tar.gz
Algorithm Hash digest
SHA256 5de132210758bb2734ebf080419437432ea0f41be68ab3b91e9b13568224c1bf
MD5 e344ca60bb6d2872cd6717c27f26d268
BLAKE2b-256 9032dac3966ab18f1e57133a81510ae940def2a0554cb8f004caa9de61ab68f9

See more details on using hashes here.

File details

Details for the file mewbot_dev_tools-0.0.20-py3-none-any.whl.

File metadata

File hashes

Hashes for mewbot_dev_tools-0.0.20-py3-none-any.whl
Algorithm Hash digest
SHA256 d09642db2467f7b9c13c4471a547f77ac860e40cfc309549c442a7596c26d416
MD5 88801da3761c5af8b06321e4838bda5b
BLAKE2b-256 1190013bc391938418f8d6f183d514bbaf110da15c10f9acea274c65ae1aac1f

See more details on using hashes here.

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