%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 - 1.2.0-1 - Package Spec generated