Linter for Machine Learning projects
Project description
mllint
— Linter for Machine Learning projects
mllint
is a command-line utility to evaluate the quality of Machine Learning (ML) projects by means of static analysis of the project's repository. It measures the project's adherence to ML best practices, as collected and deduced from se4ml.github.io and Google's Rules for ML.
TODO: write overview of linting rules or implement mllint describe <rule>
Getting Started
mllint
works on Linux, MacOS and Windows, and is published to PyPI, so it can be installed using pip
:
pip install mllint
To run mllint
in its default configuration, use one of the following commands:
# Run `mllint` on the project in the current folder
mllint
# Run `mllint` on the project in projects/my-ml-project
mllint projects/my-ml-project
To list all available or all enabled linting rules, use one of the following commands:
# List all available (implemented) linting rules
mllint list all
# List only the enabled rules for the project in the current folder.
mllint list enabled
# or for a project in projects/my-ml-project
mllint list enabled projects/my-ml-project
Configuration
mllint
can be configured using a .mllint.yml
file that should be placed at the root of the project directory. This is a YAML file in which you can disable specific rules / linters, as well as configure specific settings for various linters.
An example .mllint.yml
looks as follows:
rules:
disabled:
- use-git # disables the 'use-git' linter
- use-dependency-manager/single # disables the 'single' rule of the 'use-dependency-manager' linter.
# - use-dependency-manager # this would disable the 'use-dependency-manager' linter and all of its rules entirely.
Here are some commands related to configuration:
# Print the configuration of the project in the current folder
mllint config
# Print the configuration of the project in projects/my-ml-project
mllint config projects/my-ml-project
# Print the default configuration (unless there's a folder called 'default' in the current dir)
mllint config default
# Create a valid `.mllint.yml` file with the default configuration
mllint config default -q > .mllint.yml
Getting Started (development)
Clone this repository and run go run .
in the root of this repository.
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 Distributions
Hashes for mllint-0.3.0-pp37-pypy37_pp73-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e39c4633e45d4e21efa64665eb50bdc43d16a48834d8d81626480da628cd635c |
|
MD5 | df82b13dcbd1454431d2f87d712d94f2 |
|
BLAKE2b-256 | 1bfa56cd4679670498a8b2b21b7207bb5d7a572a1dd099af05978280cb295548 |
Hashes for mllint-0.3.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82b5f9dca90d5ba5b7c02208124e9ae2348f75d138d4c4813bed7293e29f7400 |
|
MD5 | eea14789a54a29e92f1cec1f578fe1e7 |
|
BLAKE2b-256 | 1d93f7b356d539356ae74e7cb864049688f6b5262fc08ac8439febee412cc41b |
Hashes for mllint-0.3.0-pp37-pypy37_pp73-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab82188c424367f12d5b74958f3d62023717ee80031f060f932fd6452f34c88a |
|
MD5 | c487b9f8f90811c671d5da6ba1b91d10 |
|
BLAKE2b-256 | 6b9b6a63d6943ec9341aa21d2724862f27e51b53eb635b0c58d684fbb00db37b |
Hashes for mllint-0.3.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f902cf6569047aab273632c3143ef7808851c9a53540bd6ea9a8aac1f98b2118 |
|
MD5 | 1e89c8b869a3710063d43e6cb03cf04e |
|
BLAKE2b-256 | fb2ceac9d8abd7817c39d2917a809916d32700b2002d45fbcecb71ea9cb96166 |
Hashes for mllint-0.3.0-pp36-pypy36_pp73-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 620f6afe06fcd61089731a8e7e43e94737446bb10f475e16700a079e08d53e70 |
|
MD5 | 20afb1f3dc9af4b5dff6d996db654e64 |
|
BLAKE2b-256 | 98c330101dce23db177df87fcf87e7e4591166782138e3bf3e0c13b892e44179 |
Hashes for mllint-0.3.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43ae47186b44ba901b9ec71681053552f2e6a475a8a1fdcd3634410a9e636031 |
|
MD5 | a0dc854bf7fb007471674c63862ee684 |
|
BLAKE2b-256 | 4b396b08fcaf0ab78aec09baed19baa2633039e1a898780b5611731190f1d02f |
Hashes for mllint-0.3.0-pp36-pypy36_pp73-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 787069841ffc3217cd7ead2fb710a02472b95890b54c686f6b3f75f371b27514 |
|
MD5 | d46112cd486a4a7add42cfae63bba685 |
|
BLAKE2b-256 | 519ca87966be43a7e43427f6b6b9fbdd059b731911e10b11c582c9f906461b63 |
Hashes for mllint-0.3.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5559bd398d411f2f6cb3ea8a3838112e2fd6120d1d9a9bd7df413e59f8a47c4 |
|
MD5 | a6de592f6d4dd5cefb321646cff91663 |
|
BLAKE2b-256 | 0a6c72091115d0c21c7ba66e1d9276bed3da1b830d318e461b9ddd8a9990819d |
Hashes for mllint-0.3.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b5e0f4798d418955b481bb2498abcc221dad6407d0cb492f6c9468c1862b9db |
|
MD5 | a415068470a4f0e81832f8cc9ab5081f |
|
BLAKE2b-256 | 61a31ccea20cce96bf0a6917330007a0629b2c9e4d75271d54d027f815ba10c6 |
Hashes for mllint-0.3.0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f86e048f9e60edc81f0c85cab75ad50e845bf5da8d7e2e3f582c1e56447ef3e9 |
|
MD5 | 434472d25fa0f9007fa7e448355e7671 |
|
BLAKE2b-256 | 910a13725136b3ccec526234ae7c5e94433ddd4f9df50fff186bf024ea57ee2e |
Hashes for mllint-0.3.0-cp39-cp39-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 294fd94e4d2e468881b8c0ca134b30d488ed531d62388f7e21323bb4a006e443 |
|
MD5 | aa94aadd1e2887913e6223db239712db |
|
BLAKE2b-256 | 4209e5963211f06d9c74ed3c5ce4bbc751d8f7bbfb3471857eac601a820df332 |
Hashes for mllint-0.3.0-cp39-cp39-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b41e4803367cc113e04ee2ad6cc3bed9430fc0c38747a1b0c7a0ef51eb1df599 |
|
MD5 | 5cd54e6b4cf3c5fa4b76a0887970e040 |
|
BLAKE2b-256 | abac4e67987e5ac70a0d389eb33427fbe02b3f33d09f5830205c06071fb27180 |
Hashes for mllint-0.3.0-cp39-cp39-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 656d1758f4225cc2b7fe6d7b58cd537db74dd1a8b30692bc2cf7f2eeaded604e |
|
MD5 | 005cc27badd9dcc816be58c556b7f006 |
|
BLAKE2b-256 | 0b1ee823b1a9e3c08a41aae0ce8a6b7aa8f04639fd7c8864441360ad9d81cb40 |
Hashes for mllint-0.3.0-cp39-cp39-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db2a3026b63e71fa28131380e03ab3c51e4e3645132b18dcb9b027d7b8286e58 |
|
MD5 | 712279c5b8f0ac3ecb367fd701ea59a5 |
|
BLAKE2b-256 | 7e14d1ec7a6cda71218e18ccd0af14ff98e7630e69e4e1b694883f43452bb3f4 |
Hashes for mllint-0.3.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | acf3ce2c2835a8b44619c487e70b63fa0c811d6e4e070c7800e3e07b48b45bef |
|
MD5 | 1ed19bfe32c3c22f8153841e7a455f6a |
|
BLAKE2b-256 | 73a078ffcf651fba6790f10f18b164f32da7c53b7fb97bbc389b96bc166fb2fe |
Hashes for mllint-0.3.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 234b5518389076ff835e12ba787761c46b695070f87a27263f503c5ffb76699c |
|
MD5 | 3dbe34736297a4afe4461b7fdaa985b5 |
|
BLAKE2b-256 | 2fc559e9367f49d8f24e86b2dfe1972a1b29f240e424ce27dc8c7ffcefcf0a86 |
Hashes for mllint-0.3.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51f51c815e56751fcc64fcf4c7b6dae2678d0f769bcefef808384c5121a3af24 |
|
MD5 | 74c2924cc247beb742466b94aa5491a1 |
|
BLAKE2b-256 | 9994f1dd90141451d84ebb4152f949707d1c95c259c5c11b2d3f0335832c273e |
Hashes for mllint-0.3.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1009a7d83ed183e83871b324fa7719f0b40f9f7692581364f43b10f9a2e5a3b4 |
|
MD5 | b6b495532ca215663c53bada03b13f3c |
|
BLAKE2b-256 | 590ce83cf43449ef5d74b8e02bbf1bcd48b6928702cf0804d238903209e92739 |
Hashes for mllint-0.3.0-cp38-cp38-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4461c3d6e351e05b5b5acf05e153ca1c863cd2374192cf44a2f8ce1ce4271c02 |
|
MD5 | b9e5977bfe451b7b7ae85fdb733c8b31 |
|
BLAKE2b-256 | 8c710b800dc5827306bc841663e40e1638427c362a07b0326a3df3b281466d78 |
Hashes for mllint-0.3.0-cp38-cp38-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50c0f68a582bac7fd0f87898bf6d462374d66dc4aebc0b26bad74c9a2141b8e1 |
|
MD5 | 321dbc00d750d10ae4582ef0aba92334 |
|
BLAKE2b-256 | b76f79e44cb2905785765347cc3368a32220597165a3cb75496d1b0c38564693 |
Hashes for mllint-0.3.0-cp38-cp38-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa986e783404d5ff3c445e3cc6b2e71acd52a3415d13563d8400fe525a2c1bed |
|
MD5 | fa5167b48551dc806f498f57bf3f46ed |
|
BLAKE2b-256 | ed4871cfd7aa38afcd1f3fa913cb0438c1b36636be8d734c4ab3fd493a0259a3 |
Hashes for mllint-0.3.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70b9b4022b256532bd12c16293a866972d78a49a154ad9646aabb0b0741a971e |
|
MD5 | e9d37811c9b68af42e828b83ff81ad2f |
|
BLAKE2b-256 | fd93a6dd452b36cc486d7ada9293adde7f2835468694367ac97d1dde9628b280 |
Hashes for mllint-0.3.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3ae8082f39446676059bfcc7eb08640d2920d8fede0daf2e0930d5270155aa0 |
|
MD5 | 7fab64f40966fbfe0c6aa768429c1e62 |
|
BLAKE2b-256 | 07eba2c62b63697347a6ce618075bffe9029897769051b275347da5311fff1f8 |
Hashes for mllint-0.3.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6799427df0ceeb0a5cd1968d38b8c302d2302550ad882c6c137106e473274329 |
|
MD5 | 23fba3a7eec6e963408cd2c1a179a2a8 |
|
BLAKE2b-256 | ed7726560e05b6524b1c5bfd27a16873adce395ab654287e7d074bc15f2b8961 |
Hashes for mllint-0.3.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0865a593c419215167e0725aca15701c46a3c289b2a518370d0f27a336b1cbb5 |
|
MD5 | f720bea261dff0746eddde96f95a6fa4 |
|
BLAKE2b-256 | 1fedd0b0c62c4a06adefb299b8dcef71383957be42b855412d88aa036fe1ca2c |
Hashes for mllint-0.3.0-cp37-cp37m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97394309ac934efd5e4c999252f26ac8c28a06496b754cdd0d72db5297538f73 |
|
MD5 | f9c20dc460284cfea3f50879e2462d36 |
|
BLAKE2b-256 | 24614dac4c74546ed11e80cb0f57b60a60aada66182b696f972c986b6fb56091 |
Hashes for mllint-0.3.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb6b9c6ae840e797b1a3f528025cc5f45ea964a1ba188839330ec7d013d7f6dc |
|
MD5 | 0bbf5f497a0fe813267c45999fba1047 |
|
BLAKE2b-256 | 25d5f354fbdb0c6da0dcd96da82390cb665bc07a314a901e6a3e13fff1c9d9b7 |
Hashes for mllint-0.3.0-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4208e2d49657d5e777d67c6fab9d6a29528070b9c147c6c9272baa9ad93da282 |
|
MD5 | 2d1eab5c687cbed92a0b02c93009bcf5 |
|
BLAKE2b-256 | 61521f5a9207d433401d73f648fd4029d58ce28a3ac4fd53f69b9005a564a224 |
Hashes for mllint-0.3.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91cfc75f58025b7de9b4f09fdbc8a10bc6e089862e5404dedaf39fbead82416e |
|
MD5 | 90fdacce32c6dbb277b7c169cec6febf |
|
BLAKE2b-256 | 78e6c4309e7fd146e9cfeea597d5ed1d06cd2448c2227a92ab3dc6d91cf79413 |
Hashes for mllint-0.3.0-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e8e4a15f77510b6807dbb3760293be3372f0e49322086bb059ca845c0f47681 |
|
MD5 | ab01545fb0cbcf4dd14f921b3cd5262c |
|
BLAKE2b-256 | 071f2e17637fa0eb6e2e5ce0f20e76763c4808737d0b2117905a8e16910ed0cf |
Hashes for mllint-0.3.0-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80bfd81b079ba92ce2c96d5d4ad1986894db3efd9f519d442b10804d134e2bf6 |
|
MD5 | fe6a16020cd67c63328ae4f4f871242c |
|
BLAKE2b-256 | 6b0414672200bc1334568b5ef9c2ebe33abc120c74341b72748a9c388ef5d7a1 |
Hashes for mllint-0.3.0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3391d066b75773b97994e6375c5ee2ea1ece4e22a4e5e007ded06c99f0c7a173 |
|
MD5 | e7eb1c41e403f0cd5c3364966053472e |
|
BLAKE2b-256 | 68c36df13c7d66f4b2487befb2477209c95992b588e61a7ec28b62c91e4bfb69 |
Hashes for mllint-0.3.0-cp36-cp36m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d2f0f763467c610e54c11095a5f6edc6dec4041aaf7d0920bf36c6c14998ca3 |
|
MD5 | ea830139786c1a033c87aff1d3214f55 |
|
BLAKE2b-256 | b8f8070118b5f2b3ccca3e4e1959615c593da9e476c119fe0cb435a22ff4095f |
Hashes for mllint-0.3.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56cbfd17a7da3a181ff8994fb8c48fb042e4925e648d5ef4625f761f8e335a8e |
|
MD5 | a3c525ed8131d79204a489df4cbbe8e0 |
|
BLAKE2b-256 | 3c26acac8466ef45ef1e30528c2373aeb38255efd144836a01e5fceff8db30b4 |
Hashes for mllint-0.3.0-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 903c5826d9424d22536e6acd2004a78a0674f01002053686c20862b9930036b4 |
|
MD5 | b81a66e51085529c40f48c1823165f8c |
|
BLAKE2b-256 | e24dc93d33582f012155f8c812fd07da18e525cd761cc16f092b26937b21c463 |
Hashes for mllint-0.3.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf7c8b53903e589b310c89a1e9269f7d999b67a8375db7bf5ae78962bfde3175 |
|
MD5 | e0fd67f5e7005cc3e3feb6a46c8dc400 |
|
BLAKE2b-256 | 8b812567db5f3363b8ad0f2f4d28550276cbb3e716d9bd5e16f9a61044619223 |