%global _empty_manifest_terminate_build 0 Name: python-pystrict Version: 1.3 Release: 1 Summary: ## strict License: None URL: https://github.com/earonesty/pystrict Source0: https://mirrors.nju.edu.cn/pypi/web/packages/14/30/405f438e8438192bd25660d1869b08af22faa260a8aeadab37be6c1e7d45/pystrict-1.3.tar.gz BuildArch: noarch %description [![Build Status](https://travis-ci.com/earonesty/pystrict.svg?branch=master)](https://travis-ci.com/earonesty/pystrict) ## strict Python strict tag pip install pystrict Using @strict on classes can prevent serious errors by raising an exception when an instance has a variable created outside of init. Unfortunately, linters don't (cannot) always catch this. I can't express how much time this has saved me recently. Using @strict on functions only checks type specifiers. Example: from pystrict import strict # not allowed, missing type specifier @strict def foo(x: int, y): ... # not allowed, missing type specifier in __init__ @strict class Foo(): def __init__(self, x: int, y): ... # not allowed, object modified outside of init @strict class Foo(): def __init__(self, x: int): self.x = 1 # mypy and pytest won't check this def evil(): return list({'a':Foo(1)}.values()) z = evil() z[0].y = 4 %package -n python3-pystrict Summary: ## strict Provides: python-pystrict BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-pystrict [![Build Status](https://travis-ci.com/earonesty/pystrict.svg?branch=master)](https://travis-ci.com/earonesty/pystrict) ## strict Python strict tag pip install pystrict Using @strict on classes can prevent serious errors by raising an exception when an instance has a variable created outside of init. Unfortunately, linters don't (cannot) always catch this. I can't express how much time this has saved me recently. Using @strict on functions only checks type specifiers. Example: from pystrict import strict # not allowed, missing type specifier @strict def foo(x: int, y): ... # not allowed, missing type specifier in __init__ @strict class Foo(): def __init__(self, x: int, y): ... # not allowed, object modified outside of init @strict class Foo(): def __init__(self, x: int): self.x = 1 # mypy and pytest won't check this def evil(): return list({'a':Foo(1)}.values()) z = evil() z[0].y = 4 %package help Summary: Development documents and examples for pystrict Provides: python3-pystrict-doc %description help [![Build Status](https://travis-ci.com/earonesty/pystrict.svg?branch=master)](https://travis-ci.com/earonesty/pystrict) ## strict Python strict tag pip install pystrict Using @strict on classes can prevent serious errors by raising an exception when an instance has a variable created outside of init. Unfortunately, linters don't (cannot) always catch this. I can't express how much time this has saved me recently. Using @strict on functions only checks type specifiers. Example: from pystrict import strict # not allowed, missing type specifier @strict def foo(x: int, y): ... # not allowed, missing type specifier in __init__ @strict class Foo(): def __init__(self, x: int, y): ... # not allowed, object modified outside of init @strict class Foo(): def __init__(self, x: int): self.x = 1 # mypy and pytest won't check this def evil(): return list({'a':Foo(1)}.values()) z = evil() z[0].y = 4 %prep %autosetup -n pystrict-1.3 %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-pystrict -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 1.3-1 - Package Spec generated