Skip to main content

A python clang-tidy runner

Project description

Clang Tidy Runner

Installation

Please install it via pip install pyclang.

pyclang

Examples

import os

from pyclang import Runner

# all the dirs you want to run clang-tidy in, will use this value to pass to all chained methods automatically
runner = Runner([os.path.join(os.environ['IDF_PATH'], 'examples', 'get-started', 'hello_world')])
runner.idf_reconfigure().normalize()  # each function is a step, all these steps are chainable
runner()  # the class instance is callable, call it to run all the chained methods

You can write custom chain method by using decorator @chain.

Restrictions: all arguments are fixed, you need to pass the rest of them when initializing Runner instance with kwargs

  • folder: which is the folder you passed when initializing Runner instance
  • log_fs: file stream (if you provided log_path) or sys.stdout
import os

from pyclang import Runner


class CustomRunner(Runner):
    @chain
    def hello(self, *args):
        print('hello world')


# and used by
runner = Runner([os.path.join(os.environ['IDF_PATH'], 'examples', 'get-started', 'hello_world')])
runner.hello().idf_reconfigure()
runner()

CLI Extension

For each custom chain method, you should also define this in cli_ext.py if there're additional arguments.

Use as a script

You can also customize it into a scripts. Now we provide a predefined script: idf_clang_tidy, which procedure is: idf_reconfigure().filter_cmd().run_clang_tidy().normalize(). You can run it by idf_clang_tidy --help for detail.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyclang-0.5.0.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

pyclang-0.5.0-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file pyclang-0.5.0.tar.gz.

File metadata

  • Download URL: pyclang-0.5.0.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.17

File hashes

Hashes for pyclang-0.5.0.tar.gz
Algorithm Hash digest
SHA256 b2d7106971e44ac5e0733d7d4d4585dbb7bc3bf79696bbda4ca28593425e1d54
MD5 19718a4d0b546ee8250d9384217b5ca6
BLAKE2b-256 8b10adfe163b034b3652293ea3bb39cddb3b8f1bdcc2930aeee284230df72984

See more details on using hashes here.

File details

Details for the file pyclang-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: pyclang-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 12.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.17

File hashes

Hashes for pyclang-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f6ebd0e2ad51b6cec38dea9c52034702952cad0d6b4a37eb97a4c721bb28c1ff
MD5 07288df971c8cb0e6361ef51389d5c21
BLAKE2b-256 e66827cfea641d8dd1adf5aec1ea7a1d5e5f4e98677cd7596665c79847138b86

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page