pre-commit-matlab-lint

A pre-commit hook to validate MATLAB code.

https://github.com/tcumby/pre-commit-matlab-lint

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.8%) to scientific vocabulary

Keywords

matlab pre-commit pre-commit-hooks
Last synced: 6 months ago · JSON representation

Repository

A pre-commit hook to validate MATLAB code.

Basic Info
  • Host: GitHub
  • Owner: tcumby
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 509 KB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 9
  • Releases: 6
Topics
matlab pre-commit pre-commit-hooks
Created about 4 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog Contributing License Citation Codeowners Security

README.md

pre-commit-matlab-lint

License Version on GitHub CodeFactor Created with Tyrannosaurus pre-commit Security Status Code Style: Black

A pre-commit hook for validating MATLAB code.

Available Hook

lint-matlab

Validate MATLAB files by analyzing them with MATLAB's checkcode function.

In order to use this hook, MATLAB must be installed and registered. There are three ways to specify which MATLAB instance should be used:

  • Use --matlab-home-path=PATH to supply the full path to a MATLAB home directory (e.g. "/Applications/MATLAB_R2021a.app" on macOS, "C:\Program Files\MATLAB\R2021a" on Windows)
  • Use --matlab-version=VERSION to specify a MATLAB version to locate (e.g. "9.10")
  • Use --matlab-release-name=NAME to specify a MATLAB release to locate (e.g. "R2021a")

Other options:

  • Use --treat-warning-as-error to fail on linter warnings, in addition to linter errors.
  • Use --enable-cyclomaticity to enable McCabe cyclomaticity complexity calculation display for each file.
  • Use --enable-modified-cyclomaticity to enable modified cyclomaticity complexity calculation display for each file.
  • Use --ignore-ok-pragmas to ignore %#ok checkcode suppression pragmas in files.
  • Use --checkode-config-file=FILE to specify a settings file. For instructions detail how to create the file, see Save and Reuse Code Analyzer Message Settings.
  • Use --use-default-checkcode-config to ignore any checkcode settings files and use factory defaults.

Usage with pre-commit

Add this to your .pre-commit-config.yaml

yaml - repo: https://github.com/tcumby/pre-commit-matlab-lint rev: "" # Use the sha / tag you want to point at hooks: - id: lint-matlab args: ["--matlab_release_name=R2021a"]

Licensed under the terms of the MIT License. New issues and pull requests are welcome. Please refer to the contributing guide and security policy. Generated with Tyrannosaurus.

Owner

  • Login: tcumby
  • Kind: user
  • Location: Denver, CO
  • Company: @imatest

GitHub Events

Total
  • Push event: 10
Last Year
  • Push event: 10

Dependencies

docs/requirements.txt pypi
  • sphinx >=4.0,<5.0
  • sphinx-autoapi >=1.8,<2.0
  • sphinx-copybutton >=0.4,<1.0
  • sphinx-rtd-theme >=1.0,<2.0
  • tomlkit >=0.7,<1.0
poetry.lock pypi
  • alabaster 0.7.12 develop
  • astroid 2.9.3 develop
  • atomicwrites 1.4.0 develop
  • attrs 21.4.0 develop
  • babel 2.9.1 develop
  • bandit 1.7.1 develop
  • cfgv 3.3.1 develop
  • click 8.0.3 develop
  • colorama 0.4.4 develop
  • coverage 6.2 develop
  • distlib 0.3.4 develop
  • docutils 0.17.1 develop
  • filelock 3.4.2 develop
  • flake8 3.9.2 develop
  • flake8-bugbear 22.1.11 develop
  • flake8-docstrings 1.6.0 develop
  • gitdb 4.0.9 develop
  • gitpython 3.1.26 develop
  • grayskull 0.9.1 develop
  • hypothesis 6.35.0 develop
  • identify 2.4.4 develop
  • imagesize 1.3.0 develop
  • importlib-metadata 4.10.0 develop
  • iniconfig 1.1.1 develop
  • jinja2 3.0.3 develop
  • lazy-object-proxy 1.7.1 develop
  • markupsafe 2.0.1 develop
  • mccabe 0.6.1 develop
  • mypy 0.910 develop
  • mypy-extensions 0.4.3 develop
  • nodeenv 1.6.0 develop
  • packaging 21.3 develop
  • pbr 5.8.0 develop
  • platformdirs 2.4.1 develop
  • pluggy 1.0.0 develop
  • pre-commit 2.16.0 develop
  • pre-commit-hooks 4.1.0 develop
  • progressbar2 4.0.0 develop
  • py 1.11.0 develop
  • pycodestyle 2.7.0 develop
  • pydocstyle 6.1.1 develop
  • pyflakes 2.3.1 develop
  • pygments 2.11.2 develop
  • pyparsing 3.0.6 develop
  • pytest 6.2.5 develop
  • pytest-cov 3.0.0 develop
  • python-utils 3.1.0 develop
  • pytz 2021.3 develop
  • pyyaml 6.0 develop
  • rapidfuzz 1.9.1 develop
  • ruamel.yaml 0.17.20 develop
  • ruamel.yaml.clib 0.2.6 develop
  • ruamel.yaml.jinja2 0.2.7 develop
  • six 1.16.0 develop
  • smmap 5.0.0 develop
  • snowballstemmer 2.2.0 develop
  • sortedcontainers 2.4.0 develop
  • sphinx 4.4.0 develop
  • sphinx-autoapi 1.8.4 develop
  • sphinx-copybutton 0.4.0 develop
  • sphinx-rtd-theme 1.0.0 develop
  • sphinxcontrib-applehelp 1.0.2 develop
  • sphinxcontrib-devhelp 1.0.2 develop
  • sphinxcontrib-htmlhelp 2.0.0 develop
  • sphinxcontrib-jsmath 1.0.1 develop
  • sphinxcontrib-qthelp 1.0.3 develop
  • sphinxcontrib-serializinghtml 1.1.5 develop
  • stdlib-list 0.8.0 develop
  • stevedore 3.5.0 develop
  • toml 0.10.2 develop
  • tomli 2.0.0 develop
  • tomlkit 0.7.2 develop
  • typer 0.4.0 develop
  • typing-extensions 4.0.1 develop
  • tyrannosaurus 0.10.4 develop
  • unidecode 1.3.2 develop
  • virtualenv 20.13.0 develop
  • wrapt 1.13.3 develop
  • xdoctest 0.15.10 develop
  • zipp 3.7.0 develop
  • certifi 2021.10.8
  • charset-normalizer 2.0.10
  • defusedxml 0.7.1
  • idna 3.3
  • requests 2.27.1
  • urllib3 1.26.8
pyproject.toml pypi
  • bandit ^1.7 develop
  • coverage ^6.0 develop
  • defusedxml ^0.7 develop
  • flake8 ^3.9 develop
  • flake8-bugbear >=21 develop
  • flake8-docstrings ^1.5 develop
  • hypothesis ^6 develop
  • mypy ^0.910 develop
  • pre-commit ^2.16 develop
  • pre-commit-hooks ^4.1 develop
  • pytest ^6.2 develop
  • pytest-cov ^3.0 develop
  • requests ^2.0 develop
  • sphinx ^4.0 develop
  • sphinx-autoapi ^1.5 develop
  • sphinx-copybutton ^0.4 develop
  • sphinx-rtd-theme ^1.0 develop
  • tomlkit ^0.7 develop
  • tyrannosaurus >=current, <1.0 develop
  • xdoctest >=0.15, <1.0 develop
  • defusedxml ^0.7
  • python ^3.8
  • pyyaml ^6.0
  • requests ^2.0
Dockerfile docker
  • python 3.12.0a5 build
.github/workflows/check.yml actions
  • actions/checkout v3 composite
  • gaurav-nelson/github-action-markdown-link-check v1 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/autobuild v2 composite
  • github/codeql-action/init v2 composite
.github/workflows/labels.yml actions
  • actions/checkout v3 composite
  • lannonbr/issue-label-manager-action 4.0.0 composite
.github/workflows/publish.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • skx/github-action-publish-binaries master composite
.github/workflows/pull-test.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/push-main.yml actions
  • 8398a7/action-slack v3 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite