summaryrefslogtreecommitdiff
path: root/python-usort.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-11 10:55:14 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-11 10:55:14 +0000
commiteb029890396102048605fadfb4800e95e4fc3506 (patch)
treea11eab479897b6936b45b39b085869c1b53cb143 /python-usort.spec
parent2358281cbb7d13146ac5f8d903a4b7fce8c8f0c4 (diff)
automatic import of python-usort
Diffstat (limited to 'python-usort.spec')
-rw-r--r--python-usort.spec355
1 files changed, 355 insertions, 0 deletions
diff --git a/python-usort.spec b/python-usort.spec
new file mode 100644
index 0000000..b809be4
--- /dev/null
+++ b/python-usort.spec
@@ -0,0 +1,355 @@
+%global _empty_manifest_terminate_build 0
+Name: python-usort
+Version: 1.0.6
+Release: 1
+Summary: A small, safe import sorter
+License: MIT
+URL: https://github.com/facebook/usort
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/b8/ba/8412b862d7c0c125a8b1e2e4fa6beb928fe680c670d31f701e6602865369/usort-1.0.6.tar.gz
+BuildArch: noarch
+
+Requires: python3-attrs
+Requires: python3-click
+Requires: python3-LibCST
+Requires: python3-moreorless
+Requires: python3-stdlibs
+Requires: python3-toml
+Requires: python3-trailrunner
+
+%description
+# μsort
+
+**Safe, minimal import sorting for Python projects.**
+
+[![documentation](https://readthedocs.org/projects/usort/badge/?version=stable)](https://usort.readthedocs.io/en/stable/?badge=stable)
+[![version](https://img.shields.io/pypi/v/usort.svg)](https://pypi.org/project/usort)
+[![changelog](https://img.shields.io/badge/change-log-blue.svg)](https://usort.readthedocs.io/en/latest/changelog.html)
+[![license](https://img.shields.io/pypi/l/usort.svg)](https://github.com/facebook/usort/blob/main/LICENSE)
+
+μsort is a safe, minimal import sorter. Its primary goal is to make no "dangerous"
+changes to code. This is achieved by detecting distinct "blocks" of imports that are
+the most likely to be safely interchangeable, and only reordering imports within these
+blocks without altering formatting. Code style is left as an exercise for linters
+and formatters.
+
+Within a block, µsort will follow common Python conventions for grouping imports based
+on source (standard library, third-party, first-party, or relative), and then sorting
+lexicographically within each group. This will commonly look like:
+
+```py
+import re
+from pathlib import Path
+from typing import Iterable
+from unittest.mock import call, Mock, patch
+
+import aiohttp
+from aiosqlite import connect
+
+import foo
+from bar import bar
+
+from .main import main
+```
+
+Blocks are inferred from a number of real world conditions, including any intermediate
+statements between imports:
+
+```py
+import warnings
+warnings.filterwarnings(...)
+
+import re
+import sys
+```
+
+In this case, µsort detects two blocks–separated by the call to `filterwarnings()`,
+and will only sort imports inside of each block. Running µsort on this code
+will generate no changes, because each block is already sorted.
+
+Imports can be excluded from blocks using the `#usort:skip` directive, or with
+`#isort:skip` for compatibility with existing codebases. µsort will leave
+these imports unchanged, and treat them as block separators.
+
+See the [User Guide][] for more details about how blocks are detected,
+and how sorting is performed.
+
+
+## Install
+
+µsort requires Python 3.6 or newer to run. Install µsort with:
+
+```shell-session
+$ pip install usort
+```
+
+
+## Usage
+
+To format one or more files or directories in-place:
+
+```shell-session
+$ usort format <path> [<path> ...]
+```
+
+To generate a diff of changes without modifying files:
+
+```shell-session
+$ usort diff <path>
+```
+
+To just validate that files are formatted correctly, like during CI:
+
+```shell-session
+$ usort check <path>
+```
+
+# License
+
+μsort is MIT licensed, as found in the [LICENSE][] file.
+
+[LICENSE]: https://github.com/facebook/usort/tree/main/LICENSE
+[User Guide]: https://usort.readthedocs.io/en/stable/guide.html
+
+
+%package -n python3-usort
+Summary: A small, safe import sorter
+Provides: python-usort
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-usort
+# μsort
+
+**Safe, minimal import sorting for Python projects.**
+
+[![documentation](https://readthedocs.org/projects/usort/badge/?version=stable)](https://usort.readthedocs.io/en/stable/?badge=stable)
+[![version](https://img.shields.io/pypi/v/usort.svg)](https://pypi.org/project/usort)
+[![changelog](https://img.shields.io/badge/change-log-blue.svg)](https://usort.readthedocs.io/en/latest/changelog.html)
+[![license](https://img.shields.io/pypi/l/usort.svg)](https://github.com/facebook/usort/blob/main/LICENSE)
+
+μsort is a safe, minimal import sorter. Its primary goal is to make no "dangerous"
+changes to code. This is achieved by detecting distinct "blocks" of imports that are
+the most likely to be safely interchangeable, and only reordering imports within these
+blocks without altering formatting. Code style is left as an exercise for linters
+and formatters.
+
+Within a block, µsort will follow common Python conventions for grouping imports based
+on source (standard library, third-party, first-party, or relative), and then sorting
+lexicographically within each group. This will commonly look like:
+
+```py
+import re
+from pathlib import Path
+from typing import Iterable
+from unittest.mock import call, Mock, patch
+
+import aiohttp
+from aiosqlite import connect
+
+import foo
+from bar import bar
+
+from .main import main
+```
+
+Blocks are inferred from a number of real world conditions, including any intermediate
+statements between imports:
+
+```py
+import warnings
+warnings.filterwarnings(...)
+
+import re
+import sys
+```
+
+In this case, µsort detects two blocks–separated by the call to `filterwarnings()`,
+and will only sort imports inside of each block. Running µsort on this code
+will generate no changes, because each block is already sorted.
+
+Imports can be excluded from blocks using the `#usort:skip` directive, or with
+`#isort:skip` for compatibility with existing codebases. µsort will leave
+these imports unchanged, and treat them as block separators.
+
+See the [User Guide][] for more details about how blocks are detected,
+and how sorting is performed.
+
+
+## Install
+
+µsort requires Python 3.6 or newer to run. Install µsort with:
+
+```shell-session
+$ pip install usort
+```
+
+
+## Usage
+
+To format one or more files or directories in-place:
+
+```shell-session
+$ usort format <path> [<path> ...]
+```
+
+To generate a diff of changes without modifying files:
+
+```shell-session
+$ usort diff <path>
+```
+
+To just validate that files are formatted correctly, like during CI:
+
+```shell-session
+$ usort check <path>
+```
+
+# License
+
+μsort is MIT licensed, as found in the [LICENSE][] file.
+
+[LICENSE]: https://github.com/facebook/usort/tree/main/LICENSE
+[User Guide]: https://usort.readthedocs.io/en/stable/guide.html
+
+
+%package help
+Summary: Development documents and examples for usort
+Provides: python3-usort-doc
+%description help
+# μsort
+
+**Safe, minimal import sorting for Python projects.**
+
+[![documentation](https://readthedocs.org/projects/usort/badge/?version=stable)](https://usort.readthedocs.io/en/stable/?badge=stable)
+[![version](https://img.shields.io/pypi/v/usort.svg)](https://pypi.org/project/usort)
+[![changelog](https://img.shields.io/badge/change-log-blue.svg)](https://usort.readthedocs.io/en/latest/changelog.html)
+[![license](https://img.shields.io/pypi/l/usort.svg)](https://github.com/facebook/usort/blob/main/LICENSE)
+
+μsort is a safe, minimal import sorter. Its primary goal is to make no "dangerous"
+changes to code. This is achieved by detecting distinct "blocks" of imports that are
+the most likely to be safely interchangeable, and only reordering imports within these
+blocks without altering formatting. Code style is left as an exercise for linters
+and formatters.
+
+Within a block, µsort will follow common Python conventions for grouping imports based
+on source (standard library, third-party, first-party, or relative), and then sorting
+lexicographically within each group. This will commonly look like:
+
+```py
+import re
+from pathlib import Path
+from typing import Iterable
+from unittest.mock import call, Mock, patch
+
+import aiohttp
+from aiosqlite import connect
+
+import foo
+from bar import bar
+
+from .main import main
+```
+
+Blocks are inferred from a number of real world conditions, including any intermediate
+statements between imports:
+
+```py
+import warnings
+warnings.filterwarnings(...)
+
+import re
+import sys
+```
+
+In this case, µsort detects two blocks–separated by the call to `filterwarnings()`,
+and will only sort imports inside of each block. Running µsort on this code
+will generate no changes, because each block is already sorted.
+
+Imports can be excluded from blocks using the `#usort:skip` directive, or with
+`#isort:skip` for compatibility with existing codebases. µsort will leave
+these imports unchanged, and treat them as block separators.
+
+See the [User Guide][] for more details about how blocks are detected,
+and how sorting is performed.
+
+
+## Install
+
+µsort requires Python 3.6 or newer to run. Install µsort with:
+
+```shell-session
+$ pip install usort
+```
+
+
+## Usage
+
+To format one or more files or directories in-place:
+
+```shell-session
+$ usort format <path> [<path> ...]
+```
+
+To generate a diff of changes without modifying files:
+
+```shell-session
+$ usort diff <path>
+```
+
+To just validate that files are formatted correctly, like during CI:
+
+```shell-session
+$ usort check <path>
+```
+
+# License
+
+μsort is MIT licensed, as found in the [LICENSE][] file.
+
+[LICENSE]: https://github.com/facebook/usort/tree/main/LICENSE
+[User Guide]: https://usort.readthedocs.io/en/stable/guide.html
+
+
+%prep
+%autosetup -n usort-1.0.6
+
+%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-usort -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0.6-1
+- Package Spec generated