File python3-pyrsistent.spec of Package python3-pyrsistent
#
# spec file for package python3-pyrsistent
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: python3-pyrsistent
Version: 0.11.13
Release: 0
Summary: Persistent/Functional/Immutable data structures
License: MIT
Group: Development/Languages/Python
Url: http://github.com/tobgu/pyrsistent/
Source: https://files.pythonhosted.org/packages/source/p/pyrsistent/pyrsistent-%{version}.tar.gz
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-six
Requires: python3-six
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Pyrsistent is a number of persistent collections (by some referred to
as functional data structures). Persistent in the sense that they are
immutable.
All methods on a data structure that would normally mutate it instead
return a new copy of the structure containing the requested
updates. The original structure is left untouched.
This will simplify the reasoning about what a program does since no
hidden side effects ever can take place to these data structures. You
can rest assured that the object you hold a reference to will remain
the same throughout its lifetime and need not worry that somewhere
five stack levels below you in the darkest corner of your application
someone has decided to remove that element that you expected to be
there.
Pyrsistent is influenced by persistent data structures such as those
found in the standard library of Clojure. The data structures are
designed to share common elements through path copying. It aims at
taking these concepts and make them as pythonic as possible so that
they can be easily integrated into any python program without hassle.
If you want to go all in on persistent data structures and use literal
syntax to define them in your code rather than function calls check
out Pyrthon.
%prep
%setup -q -n pyrsistent-%{version}
%build
python3 setup.py build
%install
python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
%files
%defattr(-,root,root,-)
%doc CHANGES.txt LICENCE.mit README.rst
%{python3_sitearch}/*
%changelog