summaryrefslogtreecommitdiffstats
path: root/.pre-commit-config.yaml
blob: e16417a185ee6c2a5d90f213a0b1a84514ece20a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.4.0
    hooks:
      - id: check-yaml
      - id: end-of-file-fixer
        exclude_types: [css, markdown, text, svg]
      - id: trailing-whitespace
        exclude_types: [html, markdown, text]
      - id: check-merge-conflict
      - id: detect-private-key
  - repo: https://github.com/psf/black
    rev: 24.1.0
    hooks:
      - id: black
  - repo: https://github.com/charliermarsh/ruff-pre-commit
    rev: "v0.0.285"
    hooks:
      - id: ruff
  - repo: https://github.com/pycqa/pydocstyle
    rev: 6.3.0
    hooks:
      - id: pydocstyle
        additional_dependencies: [tomli]
        name: pydocstyle
        entry: pydocstyle
        language: python
        types: [python]
        files: '^openbb_platform/.*\.py$'
        exclude: 'tests/.*\.py|openbb_platform/test_.*\.py'
        args: ["--config=pyproject.toml"]
  - repo: https://github.com/codespell-project/codespell
    rev: v2.2.5
    hooks:
      - id: codespell
        entry: codespell
        args:
          [
            "--ignore-words-list=VAI,MIS,shs,gard,te,commun,parana,ro,zar,vie,hel,jewl,zlot,ba,buil,coo,ether,hist,hsi,mape,navagation,operatio,pres,ser,yeld,shold,ist,varian,datas,ake,creat,statics,ket,toke,certi,buidl,ot,fo",
            "--quiet-level=2",
            "--skip=./**/tests/**,./**/test_*.py,.git,*.css,*.csv,*.html,*.ini,*.ipynb,*.js,*.json,*.lock,*.scss,*.txt,*.yaml,build/pyinstaller/*,./website/config.toml",
            "-x=.github/workflows/linting.yml"
          ]
  - repo: local
    hooks:
      - id: mypy
        name: mypy
        description: ""
        entry: mypy
        language: python
        "types_or": [python, pyi]
        args: ["--ignore-missing-imports", "--scripts-are-modules", "--check-untyped-defs"]
        require_serial: true
  - repo: https://github.com/kynan/nbstripout
    rev: 0.6.1
    hooks:
      - id: nbstripout
        name: Strip notebooks output
  - repo: local
    hooks:
      - id: pylint
        name: pylint
        entry: pylint
        language: system
        types: [python]
  - repo: https://github.com/Yelp/detect-secrets
    rev: v1.4.0
    hooks:
      - id: detect-secrets
        args:
          [
            "--baseline",
            ".secrets.baseline",
            "--exclude-files",
            "cassettes/.*|record/.*|website/content/api/.*|openbb_platform/extensions/charting/openbb_charting/infrastructure/assets/.*\\.js|openbb_platform/extensions/charting/openbb_charting/infrastructure/.*\\.html",
          ]
    exclude: package.lock.json