Giter Site home page Giter Site logo

editorconfig-checker / editorconfig-checker.python Goto Github PK

View Code? Open in Web Editor NEW
37.0 7.0 6.0 99.6 MB

A tool to verify that your files are in harmony with your .editorconfig

License: Other

Makefile 7.98% Python 71.42% Shell 20.60%
lint linting clean-code linter editorconfig code-quality editorconfig-checker

editorconfig-checker.python's Introduction

editorconfig-checker

Buy Me A Coffee

ci codecov Hits-of-Code Go Report Card

Logo

  1. What?
  2. Quickstart
  3. Installation
  4. Usage
  5. Configuration
  6. Excluding
    1. Excluding Lines
    2. Excluding Blocks
    3. Excluding Files
      1. Inline
      2. Default Excludes
      3. Manually Excluding
        1. via configuration
        2. via arguments
        3. Generally
  7. Docker
  8. Continuous Integration
  9. Support

What?

Example Screenshot

This is a tool to check if your files consider your .editorconfig rules. Most tools—like linters, for example—only test one filetype and need an extra configuration. This tool only needs your .editorconfig to check all files.

If you don't know about editorconfig already you can read about it here: editorconfig.org.

Currently implemented editorconfig features are:

  • end_of_line
  • insert_final_newline
  • trim_trailing_whitespace
  • indent_style
  • indent_size
  • max_line_length

Unsupported features are:

  • charset

Quickstart

VERSION="v3.0.1"
OS="linux"
ARCH="amd64"
curl -O -L -C - https://github.com/editorconfig-checker/editorconfig-checker/releases/download/$VERSION/ec-$OS-$ARCH.tar.gz && \
tar xzf ec-$OS-$ARCH.tar.gz && \
./bin/ec-$OS-$ARCH

Installation

Grab a binary from the release page.

If you have go installed you can run go get github.com/editorconfig-checker/editorconfig-checker/v3 and run make build inside the project folder. This will place a binary called ec into the bin directory.

If you are using Arch Linux, you can use pacman to install from extra repository:

pacman -S editorconfig-checker

Also, development (VCS) package is available in the AUR:

# <favourite-aur-helper> <install-command> editorconfig-checker-git

# i.e.
paru -S editorconfig-checker-git

If go 1.16 or greater is installed, you can also install it globally via go install:

go install github.com/editorconfig-checker/editorconfig-checker/v3/cmd/editorconfig-checker@latest

Usage

USAGE:
  -config string
        config
  -debug
        print debugging information
  -disable-end-of-line
        disables the trailing whitespace check
  -disable-indent-size
        disables only the indent-size check
  -disable-indentation
        disables the indentation check
  -disable-insert-final-newline
        disables the final newline check
  -disable-trim-trailing-whitespace
        disables the trailing whitespace check
  -dry-run
        show which files would be checked
  -exclude string
        a regex which files should be excluded from checking - needs to be a valid regular expression
  -format
        specifies the output format, see "Formats" below for more information
  -h    print the help
  -help
        print the help
  -ignore-defaults
        ignore default excludes
  -init
        creates an initial configuration
  -no-color
        dont print colors
  -v    print debugging information
  -verbose
        print debugging information
  -version
        print the version number

If you run this tool from a repository root it will check all files which are added to the git repository and are text files. If the tool isn't able to determine a file type it will be added to be checked too.

If you run this tool from a normal directory it will check all files which are text files. If the tool isn't able to determine a file type it will be added to be checked too.

Formats

The following output formats are supported:

  • default: Plain text, human readable output.
  • gcc: GCC compatible output. Useful for editors that support compiling and showing syntax errors. ::: :

Configuration

The configuration is done via arguments or an .ecrc file.

A sample .ecrc file can look like this and will be used from your current working directory if not specified via the --config argument:

{
  "Verbose": false,
  "Debug": false,
  "IgnoreDefaults": false,
  "SpacesAftertabs": false,
  "NoColor": false,
  "Exclude": [],
  "AllowedContentTypes": [],
  "PassedFiles": [],
  "Disable": {
    "EndOfLine": false,
    "Indentation": false,
    "IndentSize": false,
    "InsertFinalNewline": false,
    "TrimTrailingWhitespace": false,
    "MaxLineLength": false
  }
}

You can set any of the options under the "Disable" section to true to disable those particular checks.

You could also specify command line arguments and they will get merged with the configuration file, the command line arguments have a higher precedence than the configuration.

You can create a configuration with the init-flag. If you specify an config-path it will be created there.

By default the allowed_content_types are:

  1. text/ (matches text/plain, text/html, etc.)
  2. application/ecmascript
  3. application/json
  4. application/x-ndjson
  5. application/xml
  6. +json (matches application/geo+json, etc.)
  7. +xml (matches application/rss+xml, etc.)
  8. application/octet-stream

application/octet-stream is needed as a fallback when no content type could be determined. You can add additional accepted content types with the allowed_content_types key. But the default ones don't get removed.

Excluding

Excluding Lines

You can exclude single lines inline. To do that you need a comment on that line that says: editorconfig-checker-disable-line.

const myTemplateString = `
  first line
     wrongly indended line because it needs to be` // editorconfig-checker-disable-line

Excluding Blocks

To temporarily disable all checks, add a comment containing editorconfig-checker-disable. Re-enable with a comment containing editorconfig-checker-enable

// editorconfig-checker-disable
const myTemplateString = `
  first line
     wrongly indended line because it needs to be
`
// editorconfig-checker-enable

Excluding Files

Inline

If you want to exclude a file inline you need a comment on the first line of the file that contains: editorconfig-checker-disable-file

-- editorconfig-checker-disable-file
add :: Int -> Int -> Int
add x y =
  let result = x + y -- falsy indentation would not report
  in result -- falsy indentation would not report

Default Excludes

If you don't pass the ignore-defaults flag to the binary these files are excluded automatically:

"^\\.yarn/",
"^yarn\\.lock$",
"^package-lock\\.json$",
"^composer\\.lock$",
"^Cargo\\.lock$",
"^\\.pnp\\.cjs$",
"^\\.pnp\\.js$",
"^\\.pnp\\.loader\\.mjs$",
"\\.snap$",
"\\.otf$",
"\\.woff$",
"\\.woff2$",
"\\.eot$",
"\\.ttf$",
"\\.gif$",
"\\.png$",
"\\.jpg$",
"\\.jpeg$",
"\\.webp$",
"\\.avif",
"\\.pnm",
"\\.pbm",
"\\.pgm",
"\\.ppm",
"\\.mp4$",
"\\.wmv$",
"\\.svg$",
"\\.ico$",
"\\.bak$",
"\\.bin$",
"\\.pdf$",
"\\.zip$",
"\\.gz$",
"\\.tar$",
"\\.7z$",
"\\.bz2$",
"\\.log$",
"\\.patch$",
"\\.css\\.map$",
"\\.js\\.map$",
"min\\.css$",
"min\\.js$"

Manually Excluding

via configuration

In your .ecrc file you can exclude files with the "exclude" key which takes an array of regular expressions. This will get merged with the default excludes (if not ignored). You should remember to escape your regular expressions correctly. ;)

An .ecrc which would ignore all test files and all markdown files can look like this:

{
  "Verbose": false,
  "IgnoreDefaults": false,
  "Exclude": ["testfiles", "\\.md$"],
  "SpacesAfterTabs": false,
  "Disable": {
    "EndOfLine": false,
    "Indentation": false,
    "IndentSize": false,
    "InsertFinalNewline": false,
    "TrimTrailingWhitespace": false,
    "MaxLineLength": false
  }
}
via arguments

If you want to play around how the tool would behave you can also pass the --exclude argument to the binary. This will accept a regular expression as well. If you use this argument the default excludes as well as the excludes from the .ecrc file will merged together.

For example: ec --exclude node_modules

Generally

Every exclude option is merged together.

If you want to see which files the tool would check without checking them you can pass the --dry-run flag.

Note that while --dry-run outputs absolute paths, a regular expression matches on relative paths from where the ec command is used.

Docker

You are able to run this tool inside a Docker container. To do this you need to have Docker installed and run this command in your repository root which you want to check: docker run --rm --volume=$PWD:/check mstruebing/editorconfig-checker

Dockerhub: mstruebing/editorconfig-checker

Continuous Integration

Mega-Linter

Instead of installing and configuring editorconfig-checker and all other linters in your project CI workflows (GitHub Actions & others), you can use Mega-Linter which does all that for you with a single assisted installation.

Mega-Linter embeds editorconfig-checker by default in all its flavors, meaning that it will be run at each commit or Pull Request to detect any issue related to .editorconfig.

If you want to use only editorconfig-checker and not the 70+ other linters, you can use the following .mega-linter.yml configuration file:

ENABLE:
  - EDITORCONFIG

GitLab CI

The ss-open/ci/recipes project offers a ready to use lint job integrating editorconfig-checker.

Support

If you have any questions, suggestions, need a wrapper for a programming language or just want to chat join #editorconfig-checker on freenode(IRC). If you don't have an IRC-client set up you can use the freenode webchat.

editorconfig-checker.python's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

editorconfig-checker.python's Issues

pre-commit hook fails while running on pre-commit.ci

An example run can be found here.

My pre-commit-config is the following:

ci:
  skip: [editorconfig-checker, export-requirements]
  autofix_commit_msg: 'refactor: `pre-commit.ci` auto fix'
  autofix_prs: true
  autoupdate_commit_msg: 'refactor: `pre-commit.ci` auto update'

repos:
  - repo: https://github.com/humitos/mirrors-autoflake.git
    rev: v1.1
    hooks:
      - id: autoflake
        args: ['--in-place', '--remove-all-unused-imports', '--remove-unused-variable']
  - repo: https://github.com/pycqa/isort
    rev: 5.9.1
    hooks:
      - id: isort
  - repo: https://github.com/psf/black
    rev: 21.6b0
    hooks:
      - id: black
        language_version: python3
  - repo: https://github.com/PyCQA/flake8
    rev: 3.9.2
    hooks:
      - id: flake8
        exclude: ^docs|examples|tests
        additional_dependencies: [wemake_python_styleguide]
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.0.1
    hooks:
      - id: trailing-whitespace
      - id: end-of-file-fixer
      - id: check-yaml
      - id: check-json
      - id: check-toml
      - id: debug-statements
  - repo: https://github.com/pre-commit/mirrors-mypy
    rev: v0.910
    hooks:
    - id: mypy
      args: [--config, .mypy.ini]
      files: ^dotify|tests/
      additional_dependencies: [types-all]
  - repo: https://github.com/commitizen-tools/commitizen
    rev: v2.17.11
    hooks:
      - id: commitizen
        stages: [commit-msg]
  - repo: https://github.com/editorconfig-checker/editorconfig-checker.python
    rev: 2.3.5
    hooks:
      - id: editorconfig-checker
  - repo: https://github.com/jendrikseipp/vulture
    rev: v2.3
    hooks:
      - id: vulture
  - repo: https://github.com/tox-dev/tox-ini-fmt
    rev: 0.5.1
    hooks:
      - id: tox-ini-fmt
  - repo: local
    hooks:
      - id: export-requirements
        name: export-requirements
        language: system
        pass_filenames: false
        entry: poetry export --without-hashes -o requirements.txt
        files: ^(pyproject.toml|poetry.lock)$

Thanks in advance!

Path separator (still) not handled correctly on Windows

Same issue as #27 , but with version 2.7.3, even more cases do not work anymore:

My .editorconfig file looks as following:

root = true

[*]
trim_trailing_whitespace = true

[lib/**]
trim_trailing_whitespace = unset

I use the editorconfig-checker 2.7.3 from pip on a Windows system.

  • As soon as a path separator / is used, the rules are not applied (same problem as #27).
  • Using the path separator \\ as workaround does not work anymore (it worked with version 2.7.2, see #27).
  • Using the wildcard ** as workaround does not work anymore (it worked with version 2.7.2, see #27).

editorconfig-checker ignores multiple files with brace expansion notation

This is my .editorconfig:

root = true

[*]
insert_final_newline = true
indent_style = space
tab_width = 4
trim_trailing_whitespace = true

[*.yml]
tab_width = 2

[{Makefile, Makefile.am, Makefile.in}]
indent_style = tab

[*.{diff, patch}]
trim_trailing_whitespace = false

When running editorconfig-checker, it warns about trailing whitespaces in patches.

It works fine if I change

[*.{diff, patch}]
trim_trailing_whitespace = false

to

[*.diff]
trim_trailing_whitespace = false
[*.patch]
trim_trailing_whitespace = false

But this shouldn't be necessary as the original syntax is supported by the editorconfig standard. It is used in the example.

editorconfig-checker -version
2.0.3

python --version
Python 3.8.1

Potentially incompatible with Python 3.12?

I am trying to use editorconfig-checker.python with pre-commit on Fedora 39 (beta) and I keep getting the error log (/home/aminda/.cache/pre-commit/pre-commit.log) below.

Workaround: when I override pre-commit to use Python3.10 or pypy3 as below, everything works. Using Python 3.11 resulted to the same issue. edit about an hour later: 3.11 seems to work now, maybe I misspelled it earlier in .pre-commit-config.yaml or something.

# .pre-commit-config.yaml
default_language_version:
  python: python3.10

version information

pre-commit version: 3.4.0
git --version: git version 2.41.0
sys.version:
    3.12.0rc3 (main, Sep 19 2023, 00:00:00) [GCC 13.2.1 20230728 (Red Hat 13.2.1-1)]
sys.executable: /usr/bin/python3
os.name: posix
sys.platform: linux

error information

An unexpected error has occurred: CalledProcessError: command: ('/home/aminda/.cache/pre-commit/repo95lw_aku/py_env-python3/bin/python', '-mpip', 'install', '.')
return code: 1
stdout:
    Processing /home/aminda/.cache/pre-commit/repo95lw_aku
      Installing build dependencies: started
      Installing build dependencies: finished with status 'done'
      Getting requirements to build wheel: started
      Getting requirements to build wheel: finished with status 'done'
      Preparing metadata (pyproject.toml): started
      Preparing metadata (pyproject.toml): finished with status 'done'
    Building wheels for collected packages: editorconfig-checker
      Building wheel for editorconfig-checker (pyproject.toml): started
      Building wheel for editorconfig-checker (pyproject.toml): finished with status 'error'
    Failed to build editorconfig-checker
stderr:
      error: subprocess-exited-with-error
      
      × Building wheel for editorconfig-checker (pyproject.toml) did not run successfully.
      │ exit code: 1
      ╰─> [4 lines of output]
          running bdist_wheel
          running build
          running fetch_binaries
          error: [Errno 17] File exists: 'build/temp.linux-x86_64-cpython-312'
          [end of output]
      
      note: This error originates from a subprocess, and is likely not a problem with pip.
      ERROR: Failed building wheel for editorconfig-checker
    ERROR: Could not build wheels for editorconfig-checker, which is required to install pyproject.toml-based projects
Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/pre_commit/error_handler.py", line 73, in error_handler
    yield
  File "/usr/lib/python3.12/site-packages/pre_commit/main.py", line 414, in main
    return run(args.config, store, args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/pre_commit/commands/run.py", line 442, in run
    install_hook_envs(to_install, store)
  File "/usr/lib/python3.12/site-packages/pre_commit/repository.py", line 248, in install_hook_envs
    _hook_install(hook)
  File "/usr/lib/python3.12/site-packages/pre_commit/repository.py", line 95, in _hook_install
    lang.install_environment(
  File "/usr/lib/python3.12/site-packages/pre_commit/languages/python.py", line 214, in install_environment
    lang_base.setup_cmd(prefix, install_cmd)
  File "/usr/lib/python3.12/site-packages/pre_commit/lang_base.py", line 86, in setup_cmd
    cmd_output_b(*cmd, cwd=prefix.prefix_dir, **kwargs)
  File "/usr/lib/python3.12/site-packages/pre_commit/util.py", line 110, in cmd_output_b
    raise CalledProcessError(returncode, cmd, stdout_b, stderr_b)
pre_commit.util.CalledProcessError: command: ('/home/aminda/.cache/pre-commit/repo95lw_aku/py_env-python3/bin/python', '-mpip', 'install', '.')
return code: 1
stdout:
    Processing /home/aminda/.cache/pre-commit/repo95lw_aku
      Installing build dependencies: started
      Installing build dependencies: finished with status 'done'
      Getting requirements to build wheel: started
      Getting requirements to build wheel: finished with status 'done'
      Preparing metadata (pyproject.toml): started
      Preparing metadata (pyproject.toml): finished with status 'done'
    Building wheels for collected packages: editorconfig-checker
      Building wheel for editorconfig-checker (pyproject.toml): started
      Building wheel for editorconfig-checker (pyproject.toml): finished with status 'error'
    Failed to build editorconfig-checker
stderr:
      error: subprocess-exited-with-error
      
      × Building wheel for editorconfig-checker (pyproject.toml) did not run successfully.
      │ exit code: 1
      ╰─> [4 lines of output]
          running bdist_wheel
          running build
          running fetch_binaries
          error: [Errno 17] File exists: 'build/temp.linux-x86_64-cpython-312'
          [end of output]
      
      note: This error originates from a subprocess, and is likely not a problem with pip.
      ERROR: Failed building wheel for editorconfig-checker
    ERROR: Could not build wheels for editorconfig-checker, which is required to install pyproject.toml-based projects

Install gives 404 error

      Preparing metadata (setup.py): started
      Preparing metadata (setup.py): finished with status 'done'
    Building wheels for collected packages: editorconfig-checker
      Building wheel for editorconfig-checker (setup.py): started
      Building wheel for editorconfig-checker (setup.py): finished with status 'error'
      Running setup.py clean for editorconfig-checker
    Failed to build editorconfig-checker
    Installing collected packages: editorconfig-checker
      Running setup.py install for editorconfig-checker: started
      Running setup.py install for editorconfig-checker: finished with status 'error'
          running bdist_wheel
          running build
          running fetch_binaries
          error: HTTP Error 404: Not Found
          [end of output]

Add `python -m editorconfig_checker` support

It'd be nice if this had a __main__ callable, so could be invoked like python -m editorconfig_checker that would run ec or ec.exe and pass on all of the arguments.

This would allow for more portable Makefiles across Linux and Windows, and maybe solve some $PATH/rehash issues people might encounter.

Very cool project. Glad I found this.

Path separator not handled correctly on Windows

My .editorconfig file looks as following:

root = true

[*]
trim_trailing_whitespace = true

[lib/**]
trim_trailing_whitespace = unset

I use the editorconfig-checker 2.7.2 from pip. On a Linux system, everything works as expected. Namely, the trailing whitespace rule is applied everywhere expect in all files and subfolders of the folder lib.

However, on Windows, this exception is ignored. Namely, I get some errors for the trailing whitespace rule inside the folder lib.

I found out that the tool works as expected on Windows if I change the line [lib/**] to [lib\\**]. But this is not an acceptable workaround for me, because I need the editorconfig-checker to behave exactly the same on Linux and on Windows. And it clearly violates the editorconfig file format rules, saying that "Backslashes (\) are not allowed as path separators (even on Windows)."

Cannot install new version 2.6.0 via `pip`

When trying to install the newest version (2.6.0) via pip install editorconfig-checker I get the following error:

Collecting editorconfig-checker
  Downloading editorconfig-checker-2.6.0.tar.gz (4.9 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [16 lines of output]
      Traceback (most recent call last):
        File "/home/theisen/test/.env/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
          main()
        File "/home/theisen/test/.env/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/home/theisen/test/.env/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 164, in prepare_metadata_for_build_wheel
          return hook(metadata_directory, config_settings)
        File "/tmp/pip-build-env-htfayfg4/overlay/lib/python3.10/site-packages/poetry/core/masonry/api.py", line 41, in prepare_metadata_for_build_wheel
          builder = WheelBuilder(poetry)
        File "/tmp/pip-build-env-htfayfg4/overlay/lib/python3.10/site-packages/poetry/core/masonry/builders/wheel.py", line 56, in __init__
          super().__init__(poetry, executable=executable)
        File "/tmp/pip-build-env-htfayfg4/overlay/lib/python3.10/site-packages/poetry/core/masonry/builders/builder.py", line 83, in __init__
          self._module = Module(
        File "/tmp/pip-build-env-htfayfg4/overlay/lib/python3.10/site-packages/poetry/core/masonry/utils/module.py", line 69, in __init__
          raise ModuleOrPackageNotFound(
      poetry.core.masonry.utils.module.ModuleOrPackageNotFound: No file/folder found for package editorconfig-checker-python
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

Additional information:

  • pip version: 22.2.2
  • python version: 3.10
  • OS: Arch Linux (confirmed that it throws the same error on an Ubuntu system)

Stuck at Initializing environment

I've added editorconfig-checker.python to a project (private for now, but I can probably share it next week, if you want to debug it further) and it seems to just be "stuck" on Initializing environment more or less forever (I've waited at least a few minutes).

Perhaps it's missing some pre-requisites or something, but it would be nice if it would say where/why it gets stuck.

$ pre-commit run --verbose
[INFO] Initializing environment for https://github.com/editorconfig-checker/editorconfig-checker.python.

Dependabot couldn't authenticate with https://pypi.python.org/simple/

Dependabot couldn't authenticate with https://pypi.python.org/simple/.

Dependabot tried to authenticate with the details you previously provided, but authentication failed. If they are no longer valid you will need to provide Dependabot with new credentials.

You can provide authentication details in your Dependabot dashboard by clicking into the account menu (in the top right) and selecting 'Config variables'.

View the update logs.

Please consider a new release

Thank you for making the nice tool. It seems that development in the main editorconfig-checker repository is still going on (now version 2.3.3), but the core version of the Python wrapper is 2.2.0. Moreover, there is no tag available for pre-commit because the pre-commit hook has been put after the last tag of 2.1.0 (as meant by this comment, I guess). (To make pre-commit autoupdate work, tags are needed on the default branch of the GitHub repository.)

For now, I am satisfied with the pre-commit hook for the Python wrapper (by explicitly specifying a commit hash for 2.2.0), so I am not in a hurry, but still it would be nice if one could use it more easily in future. Ideally, such new releases for wrapper tools may be automated and triggered by creating a new tag on the main editorconfig-checker repository (so, related to editorconfig-checker/editorconfig-checker#150).

Installation via pre-commit is failing

Hi,

I run CI on a schedule for one of my projects and noticed it started failing on installations of this hook since a few days back: https://github.com/antonagestam/immoney/actions/runs/4771852951/jobs/8484046129

I haven't been able to look closer yet, and possibly won't be for a few weeks, so thought I'd just report it as-is. I can come back with more details later if needed.

Relevant part of log:

Running setup.py clean for editorconfig-checker
    Failed to build editorconfig-checker
stderr:
      error: subprocess-exited-with-error
      
      × python setup.py bdist_wheel did not run successfully.
      │ exit code: 1
      ╰─> [6 lines of output]
          /home/runner/.cache/pre-commit/repodm9yyx3e/py_env-python3.11/lib/python3.11/site-packages/setuptools/config/setupcfg.py:516: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
            warnings.warn(msg, warning_class)
          running bdist_wheel
          running build
          running fetch_binaries
          error: [Errno 17] File exists: 'build/temp.linux-x86_64-cpython-311'
          [end of output]
      
      note: This error originates from a subprocess, and is likely not a problem with pip.
      ERROR: Failed building wheel for editorconfig-checker
    ERROR: Could not build wheels for editorconfig-checker, which is required to install pyproject.toml-based projects

Pre-commit config: https://github.com/antonagestam/immoney/blob/29ca3021ecf1f5826bb1ce924e94bfd14ffd070a/.pre-commit-config.yaml#L13

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.