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
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
Built Distribution
Hashes for mewbot_dev_tools-0.0.17.dev1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41b2cead1a4e4f1b0bc20efe21697edd3c22e53f9f93bcc0537f79c62ff22b4a |
|
MD5 | 532c2816e6f84febace7ebc462ea6d2a |
|
BLAKE2b-256 | 8821306eda51f1537d3d06d6a427424b5960bf61c07723bb2b74ffed067bee17 |
Hashes for mewbot_dev_tools-0.0.17.dev1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a37905a4c271356e8643fafa9b4f7193466fd6d76d593d338d843db2bccccbfd |
|
MD5 | 7f385805e21bdedefbbe5dd11d3b6529 |
|
BLAKE2b-256 | 7f4b21c4a043524ec8f17edfab3ecb8953f96045c03830a7bf7b07963e75d790 |