summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-29 11:27:11 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-29 11:27:11 +0000
commitba3d39bcb65d631bd0fdfc28224e661cafe5b08a (patch)
tree1ed142a3dbf3056959e7574fec2cedf333ddcce1
parentf93c3707ac8a5c7be61664a787d2ac8457cc9ba4 (diff)
automatic import of python-pymultilint
-rw-r--r--.gitignore1
-rw-r--r--python-pymultilint.spec467
-rw-r--r--sources1
3 files changed, 469 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..1b2745e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/pymultilint-1.0.4.tar.gz
diff --git a/python-pymultilint.spec b/python-pymultilint.spec
new file mode 100644
index 0000000..664d967
--- /dev/null
+++ b/python-pymultilint.spec
@@ -0,0 +1,467 @@
+%global _empty_manifest_terminate_build 0
+Name: python-pymultilint
+Version: 1.0.4
+Release: 1
+Summary: Utility tying multiple code quality tools together
+License: MIT
+URL: https://github.com/gkze/multilint
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/47/ec/85f5811262ac640e3cc45053bf1b062b521821b0c6eeebe1956a05d73f44/pymultilint-1.0.4.tar.gz
+BuildArch: noarch
+
+Requires: python3-autoflake
+Requires: python3-black
+Requires: python3-isort
+Requires: python3-mypy
+Requires: python3-pydocstyle
+Requires: python3-pylint
+Requires: python3-pyupgrade
+Requires: python3-toml
+
+%description
+# Multilint (for Python)
+
+[![Actions Test Workflow Widget](https://github.com/gkze/multilint/workflows/CI/badge.svg)](https://github.com/gkze/multilint/actions?query=workflow%3ACI)
+[![PyPI Version](https://img.shields.io/pypi/v/pymultilint)](https://pypi.org/project/pymultilint/)
+[![Pdoc Documentation](https://img.shields.io/badge/pdoc-docs-green)](https://gkze.github.io/multilint/multilint.html)
+
+A utility tying together multiple linting and other code quality tools
+
+## Intro
+
+Multilint allows running several code quality tools under the same interface.
+This is convenient as it saves time on writing multiple linter / formatter /
+checker invocations every time in a project.
+
+## Installation
+
+Since there is an existing project called
+[`multilint`](https://pypi.org/project/multilint/), this Multilint can be
+installed as `pymultilint`:
+
+```bash
+$ pip3 install pymultilint
+```
+
+## Usage
+
+Multilint exposes a CLI entry point:
+
+```bash
+$ multilint [paths ...]
+```
+
+It can optionally take a set of starting paths. There are no CLI options,
+as Multilint strives to have all of its configuration codified (see
+[Configurability](#configurability)).
+
+Alternatively, Multilint is also usable via its API - either the
+[`main`](multilint.py#L570) method, or the
+[`Multilint`](multilint.py#L488) class.
+
+## Supported Tools
+
+Currently, Multilint integrates the following code quality tools:
+
+* [Autoflake](https://github.com/myint/autoflake) - removes unused imports and
+ unused variables as identified by [Pyflakes](https://github.com/PyCQA/pyflakes)
+* [Isort](https://pycqa.github.io/isort/) - sorts imports according to specified
+ orders
+* [Black](https://black.readthedocs.io/en/stable/) - the self-proclaimed
+ "uncompromising code formatter" - formats Python source with an opinionated
+ style
+* [Mypy](http://mypy-lang.org) - static type checker for Python
+* [Pylint](https://www.pylint.org) - general best practices linter
+* [Pydocstyle](http://www.pydocstyle.org/en/stable/) - in-source documentation
+ best practices linter
+* [Pyupgrade](https://github.com/asottile/pyupgrade) - upgrades Python syntax to
+ the latest for the specified version
+
+## Configurability
+
+Additionally, for tools that do not currently support configuration via
+`pyproject.toml`([PEP-621](https://www.python.org/dev/peps/pep-0621/)),
+Multilint exposes a configuration interface for them. This allows for
+centralized codification of configuration of all code quality tools being used
+in a project.
+
+Example relevant sections from a `pyproject.toml`:
+
+```toml
+[tool.autoflake]
+recursive = true
+in_place = true
+ignore_init_module_imports = true
+remove_all_unused_imports = true
+remove_unused_variables = true
+verbose = true
+srcs_paths = ["somepackage"]
+
+[tool.mypy]
+src_paths = ["someotherpackage"]
+
+[tool.multilint]
+tool_order = [
+ "autoflake",
+ "isort",
+ "pyupgrade",
+ "black",
+ "mypy",
+ "pylint",
+ "pydocstyle"
+]
+src_paths = ["."]
+```
+
+At the time of writing of this README (2020-01-31), neither
+[Autoflake](https://github.com/myint/autoflake/issues/59) nor
+[Mypy](https://github.com/python/mypy/issues/5205https://github.com/python/mypy/issues/5205)
+support configuration via `pyproject.toml`. While support for each may or may
+not be added at some point in the future, with multilint configuring these tools
+is possible **today**.
+
+Currently, the only two supported configuration option for Multilint are:
+
+* `tool_order`, which defines the execution order of supported tools, and
+* `src_paths`, which specifies the source paths (can be files and directories)
+ for Multilint to operate on.
+
+Each integrated tool additionally supports `src_dirs` as an override, in case
+it is desired to target a specific tool at a different set of files
+/ directories.
+
+## Extending Multilint
+
+Support for more tools may be added by subclassing the
+[`ToolRunner`](multilint.py#L128) class and overriding the
+[`.run(...)`](multilint.py#L160) method.
+
+There are some utilities provided, such as:
+
+* A logger that masquerades as a TextIO object to allow capturing tool output
+ from within and wrapping it with preferred logging
+* A dictionary for tool configuration that is automatically available in the
+ `ToolRunner` class, as long as the tool is registered in
+ * The [`Tool`](multilint.py#L48) enum,
+ * The [`TOOL_RUNNERS`](multilint.py#L480) mapping, and declared
+ * The [`DEFAULT_TOOL_ORDER`](multilint.py#L500) class variable of `Multilint`.
+
+Documentation about adding support for more tools to Multilint may be added in
+the future.
+
+
+%package -n python3-pymultilint
+Summary: Utility tying multiple code quality tools together
+Provides: python-pymultilint
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-pymultilint
+# Multilint (for Python)
+
+[![Actions Test Workflow Widget](https://github.com/gkze/multilint/workflows/CI/badge.svg)](https://github.com/gkze/multilint/actions?query=workflow%3ACI)
+[![PyPI Version](https://img.shields.io/pypi/v/pymultilint)](https://pypi.org/project/pymultilint/)
+[![Pdoc Documentation](https://img.shields.io/badge/pdoc-docs-green)](https://gkze.github.io/multilint/multilint.html)
+
+A utility tying together multiple linting and other code quality tools
+
+## Intro
+
+Multilint allows running several code quality tools under the same interface.
+This is convenient as it saves time on writing multiple linter / formatter /
+checker invocations every time in a project.
+
+## Installation
+
+Since there is an existing project called
+[`multilint`](https://pypi.org/project/multilint/), this Multilint can be
+installed as `pymultilint`:
+
+```bash
+$ pip3 install pymultilint
+```
+
+## Usage
+
+Multilint exposes a CLI entry point:
+
+```bash
+$ multilint [paths ...]
+```
+
+It can optionally take a set of starting paths. There are no CLI options,
+as Multilint strives to have all of its configuration codified (see
+[Configurability](#configurability)).
+
+Alternatively, Multilint is also usable via its API - either the
+[`main`](multilint.py#L570) method, or the
+[`Multilint`](multilint.py#L488) class.
+
+## Supported Tools
+
+Currently, Multilint integrates the following code quality tools:
+
+* [Autoflake](https://github.com/myint/autoflake) - removes unused imports and
+ unused variables as identified by [Pyflakes](https://github.com/PyCQA/pyflakes)
+* [Isort](https://pycqa.github.io/isort/) - sorts imports according to specified
+ orders
+* [Black](https://black.readthedocs.io/en/stable/) - the self-proclaimed
+ "uncompromising code formatter" - formats Python source with an opinionated
+ style
+* [Mypy](http://mypy-lang.org) - static type checker for Python
+* [Pylint](https://www.pylint.org) - general best practices linter
+* [Pydocstyle](http://www.pydocstyle.org/en/stable/) - in-source documentation
+ best practices linter
+* [Pyupgrade](https://github.com/asottile/pyupgrade) - upgrades Python syntax to
+ the latest for the specified version
+
+## Configurability
+
+Additionally, for tools that do not currently support configuration via
+`pyproject.toml`([PEP-621](https://www.python.org/dev/peps/pep-0621/)),
+Multilint exposes a configuration interface for them. This allows for
+centralized codification of configuration of all code quality tools being used
+in a project.
+
+Example relevant sections from a `pyproject.toml`:
+
+```toml
+[tool.autoflake]
+recursive = true
+in_place = true
+ignore_init_module_imports = true
+remove_all_unused_imports = true
+remove_unused_variables = true
+verbose = true
+srcs_paths = ["somepackage"]
+
+[tool.mypy]
+src_paths = ["someotherpackage"]
+
+[tool.multilint]
+tool_order = [
+ "autoflake",
+ "isort",
+ "pyupgrade",
+ "black",
+ "mypy",
+ "pylint",
+ "pydocstyle"
+]
+src_paths = ["."]
+```
+
+At the time of writing of this README (2020-01-31), neither
+[Autoflake](https://github.com/myint/autoflake/issues/59) nor
+[Mypy](https://github.com/python/mypy/issues/5205https://github.com/python/mypy/issues/5205)
+support configuration via `pyproject.toml`. While support for each may or may
+not be added at some point in the future, with multilint configuring these tools
+is possible **today**.
+
+Currently, the only two supported configuration option for Multilint are:
+
+* `tool_order`, which defines the execution order of supported tools, and
+* `src_paths`, which specifies the source paths (can be files and directories)
+ for Multilint to operate on.
+
+Each integrated tool additionally supports `src_dirs` as an override, in case
+it is desired to target a specific tool at a different set of files
+/ directories.
+
+## Extending Multilint
+
+Support for more tools may be added by subclassing the
+[`ToolRunner`](multilint.py#L128) class and overriding the
+[`.run(...)`](multilint.py#L160) method.
+
+There are some utilities provided, such as:
+
+* A logger that masquerades as a TextIO object to allow capturing tool output
+ from within and wrapping it with preferred logging
+* A dictionary for tool configuration that is automatically available in the
+ `ToolRunner` class, as long as the tool is registered in
+ * The [`Tool`](multilint.py#L48) enum,
+ * The [`TOOL_RUNNERS`](multilint.py#L480) mapping, and declared
+ * The [`DEFAULT_TOOL_ORDER`](multilint.py#L500) class variable of `Multilint`.
+
+Documentation about adding support for more tools to Multilint may be added in
+the future.
+
+
+%package help
+Summary: Development documents and examples for pymultilint
+Provides: python3-pymultilint-doc
+%description help
+# Multilint (for Python)
+
+[![Actions Test Workflow Widget](https://github.com/gkze/multilint/workflows/CI/badge.svg)](https://github.com/gkze/multilint/actions?query=workflow%3ACI)
+[![PyPI Version](https://img.shields.io/pypi/v/pymultilint)](https://pypi.org/project/pymultilint/)
+[![Pdoc Documentation](https://img.shields.io/badge/pdoc-docs-green)](https://gkze.github.io/multilint/multilint.html)
+
+A utility tying together multiple linting and other code quality tools
+
+## Intro
+
+Multilint allows running several code quality tools under the same interface.
+This is convenient as it saves time on writing multiple linter / formatter /
+checker invocations every time in a project.
+
+## Installation
+
+Since there is an existing project called
+[`multilint`](https://pypi.org/project/multilint/), this Multilint can be
+installed as `pymultilint`:
+
+```bash
+$ pip3 install pymultilint
+```
+
+## Usage
+
+Multilint exposes a CLI entry point:
+
+```bash
+$ multilint [paths ...]
+```
+
+It can optionally take a set of starting paths. There are no CLI options,
+as Multilint strives to have all of its configuration codified (see
+[Configurability](#configurability)).
+
+Alternatively, Multilint is also usable via its API - either the
+[`main`](multilint.py#L570) method, or the
+[`Multilint`](multilint.py#L488) class.
+
+## Supported Tools
+
+Currently, Multilint integrates the following code quality tools:
+
+* [Autoflake](https://github.com/myint/autoflake) - removes unused imports and
+ unused variables as identified by [Pyflakes](https://github.com/PyCQA/pyflakes)
+* [Isort](https://pycqa.github.io/isort/) - sorts imports according to specified
+ orders
+* [Black](https://black.readthedocs.io/en/stable/) - the self-proclaimed
+ "uncompromising code formatter" - formats Python source with an opinionated
+ style
+* [Mypy](http://mypy-lang.org) - static type checker for Python
+* [Pylint](https://www.pylint.org) - general best practices linter
+* [Pydocstyle](http://www.pydocstyle.org/en/stable/) - in-source documentation
+ best practices linter
+* [Pyupgrade](https://github.com/asottile/pyupgrade) - upgrades Python syntax to
+ the latest for the specified version
+
+## Configurability
+
+Additionally, for tools that do not currently support configuration via
+`pyproject.toml`([PEP-621](https://www.python.org/dev/peps/pep-0621/)),
+Multilint exposes a configuration interface for them. This allows for
+centralized codification of configuration of all code quality tools being used
+in a project.
+
+Example relevant sections from a `pyproject.toml`:
+
+```toml
+[tool.autoflake]
+recursive = true
+in_place = true
+ignore_init_module_imports = true
+remove_all_unused_imports = true
+remove_unused_variables = true
+verbose = true
+srcs_paths = ["somepackage"]
+
+[tool.mypy]
+src_paths = ["someotherpackage"]
+
+[tool.multilint]
+tool_order = [
+ "autoflake",
+ "isort",
+ "pyupgrade",
+ "black",
+ "mypy",
+ "pylint",
+ "pydocstyle"
+]
+src_paths = ["."]
+```
+
+At the time of writing of this README (2020-01-31), neither
+[Autoflake](https://github.com/myint/autoflake/issues/59) nor
+[Mypy](https://github.com/python/mypy/issues/5205https://github.com/python/mypy/issues/5205)
+support configuration via `pyproject.toml`. While support for each may or may
+not be added at some point in the future, with multilint configuring these tools
+is possible **today**.
+
+Currently, the only two supported configuration option for Multilint are:
+
+* `tool_order`, which defines the execution order of supported tools, and
+* `src_paths`, which specifies the source paths (can be files and directories)
+ for Multilint to operate on.
+
+Each integrated tool additionally supports `src_dirs` as an override, in case
+it is desired to target a specific tool at a different set of files
+/ directories.
+
+## Extending Multilint
+
+Support for more tools may be added by subclassing the
+[`ToolRunner`](multilint.py#L128) class and overriding the
+[`.run(...)`](multilint.py#L160) method.
+
+There are some utilities provided, such as:
+
+* A logger that masquerades as a TextIO object to allow capturing tool output
+ from within and wrapping it with preferred logging
+* A dictionary for tool configuration that is automatically available in the
+ `ToolRunner` class, as long as the tool is registered in
+ * The [`Tool`](multilint.py#L48) enum,
+ * The [`TOOL_RUNNERS`](multilint.py#L480) mapping, and declared
+ * The [`DEFAULT_TOOL_ORDER`](multilint.py#L500) class variable of `Multilint`.
+
+Documentation about adding support for more tools to Multilint may be added in
+the future.
+
+
+%prep
+%autosetup -n pymultilint-1.0.4
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-pymultilint -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon May 29 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0.4-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..1916e8f
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+8b34fe3e7b9ce8f5c910063cd8ce7dad pymultilint-1.0.4.tar.gz