diff options
Diffstat (limited to 'python-future-fstrings.spec')
-rw-r--r-- | python-future-fstrings.spec | 224 |
1 files changed, 224 insertions, 0 deletions
diff --git a/python-future-fstrings.spec b/python-future-fstrings.spec new file mode 100644 index 0000000..14c0a82 --- /dev/null +++ b/python-future-fstrings.spec @@ -0,0 +1,224 @@ +%global _empty_manifest_terminate_build 0 +Name: python-future-fstrings +Version: 1.2.0 +Release: 1 +Summary: A backport of fstrings to python<3.6 +License: MIT +URL: https://github.com/asottile/future-fstrings +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/5d/e2/3874574cce18a2e3608abfe5b4b5b3c9765653c464f5da18df8971cf501d/future_fstrings-1.2.0.tar.gz +BuildArch: noarch + +Requires: python3-tokenize-rt +Requires: python3-tokenize-rt + +%description +A backport of fstrings to python<3.6. +## Installation +`pip install future-fstrings` +## Usage +Include the following encoding cookie at the top of your file (this replaces +the utf-8 cookie if you already have it): +```python +# -*- coding: future_fstrings -*- +``` +And then write python3.6 fstring code as usual! +```python +# -*- coding: future_fstrings -*- +thing = 'world' +print(f'hello {thing}') +``` +```console +$ python2.7 main.py +hello world +``` +## Showing transformed source +`future-fstrings` also includes a cli to show transformed source. +```console +$ future-fstrings-show main.py +# -*- coding: future_fstrings -*- +thing = 'world' +print('hello {}'.format((thing))) +``` +## Transform source for micropython +The `future-fstrings-show` command can be used to transform source before +distributing. This can allow you to write f-string code but target platforms +which do not support f-strings, such as [micropython]. +To use this on modern versions of python, install using: +```bash +pip install future-fstrings[rewrite] +``` +and then use `future-fstrings-show` as above. +For instance: +```bash +future-fstrings-show code.py > code_rewritten.py +``` +[micropython]: https://github.com/micropython/micropython +## How does this work? +`future-fstrings` has two parts: +1. A utf-8 compatible `codec` which performs source manipulation + - The `codec` first decodes the source bytes using the UTF-8 codec + - The `codec` then leverages + [tokenize-rt](https://github.com/asottile/tokenize-rt) to rewrite + f-strings. +2. A `.pth` file which registers a codec on interpreter startup. +## you may also like +- [future-breakpoint](https://github.com/asottile/future-breakpoint) + +%package -n python3-future-fstrings +Summary: A backport of fstrings to python<3.6 +Provides: python-future-fstrings +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-future-fstrings +A backport of fstrings to python<3.6. +## Installation +`pip install future-fstrings` +## Usage +Include the following encoding cookie at the top of your file (this replaces +the utf-8 cookie if you already have it): +```python +# -*- coding: future_fstrings -*- +``` +And then write python3.6 fstring code as usual! +```python +# -*- coding: future_fstrings -*- +thing = 'world' +print(f'hello {thing}') +``` +```console +$ python2.7 main.py +hello world +``` +## Showing transformed source +`future-fstrings` also includes a cli to show transformed source. +```console +$ future-fstrings-show main.py +# -*- coding: future_fstrings -*- +thing = 'world' +print('hello {}'.format((thing))) +``` +## Transform source for micropython +The `future-fstrings-show` command can be used to transform source before +distributing. This can allow you to write f-string code but target platforms +which do not support f-strings, such as [micropython]. +To use this on modern versions of python, install using: +```bash +pip install future-fstrings[rewrite] +``` +and then use `future-fstrings-show` as above. +For instance: +```bash +future-fstrings-show code.py > code_rewritten.py +``` +[micropython]: https://github.com/micropython/micropython +## How does this work? +`future-fstrings` has two parts: +1. A utf-8 compatible `codec` which performs source manipulation + - The `codec` first decodes the source bytes using the UTF-8 codec + - The `codec` then leverages + [tokenize-rt](https://github.com/asottile/tokenize-rt) to rewrite + f-strings. +2. A `.pth` file which registers a codec on interpreter startup. +## you may also like +- [future-breakpoint](https://github.com/asottile/future-breakpoint) + +%package help +Summary: Development documents and examples for future-fstrings +Provides: python3-future-fstrings-doc +%description help +A backport of fstrings to python<3.6. +## Installation +`pip install future-fstrings` +## Usage +Include the following encoding cookie at the top of your file (this replaces +the utf-8 cookie if you already have it): +```python +# -*- coding: future_fstrings -*- +``` +And then write python3.6 fstring code as usual! +```python +# -*- coding: future_fstrings -*- +thing = 'world' +print(f'hello {thing}') +``` +```console +$ python2.7 main.py +hello world +``` +## Showing transformed source +`future-fstrings` also includes a cli to show transformed source. +```console +$ future-fstrings-show main.py +# -*- coding: future_fstrings -*- +thing = 'world' +print('hello {}'.format((thing))) +``` +## Transform source for micropython +The `future-fstrings-show` command can be used to transform source before +distributing. This can allow you to write f-string code but target platforms +which do not support f-strings, such as [micropython]. +To use this on modern versions of python, install using: +```bash +pip install future-fstrings[rewrite] +``` +and then use `future-fstrings-show` as above. +For instance: +```bash +future-fstrings-show code.py > code_rewritten.py +``` +[micropython]: https://github.com/micropython/micropython +## How does this work? +`future-fstrings` has two parts: +1. A utf-8 compatible `codec` which performs source manipulation + - The `codec` first decodes the source bytes using the UTF-8 codec + - The `codec` then leverages + [tokenize-rt](https://github.com/asottile/tokenize-rt) to rewrite + f-strings. +2. A `.pth` file which registers a codec on interpreter startup. +## you may also like +- [future-breakpoint](https://github.com/asottile/future-breakpoint) + +%prep +%autosetup -n future-fstrings-1.2.0 + +%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-future-fstrings -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 1.2.0-1 +- Package Spec generated |