./devel/py-pyrsistent, Persistent/Functional/Immutable data structures

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.16.0, Package name: py37-pyrsistent-0.16.0, Maintainer: pkgsrc-users

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.


Required to run:
[devel/py-setuptools] [lang/py-six] [lang/python37]

Required to build:
[pkgtools/cwrappers] [devel/py-test-runner]

Master sites:

SHA1: 48762e23b0c926b8bb5d5bf9c233b6beb2b76a41
RMD160: b6c8b46aa611f57601b3b72f61ed3da732ff185a
Filesize: 105.48 KB

Version history: (Expand)


CVS history: (Expand)


   2020-10-06 12:51:22 by Thomas Klausner | Files touched by this commit (13)
Log message:
*: use py-hypothesis via versioned_dependencies.mk
   2020-05-16 18:35:25 by Adam Ciarcinski | Files touched by this commit (7)
Log message:
pytest from versioned deps.
   2020-04-12 23:16:31 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
py-pyrsistent: update to 0.16.0.

0.16.0, 2020-03-24
 * No major updates but Python 2 support no longer guaranteed.
 * Fix #192, 'ignore_extra' for 'pvector_field'. Thanks @ss18 for this!
 * Fix #191, include LICENCE in distribution. Thanks @johnthagen for this!
 * Fix #190, minor MyPy errors. Thanks @Qhesz for this!
   2020-01-22 20:14:42 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-pyrsistent: updated to 0.15.7

0.15.7:
* NOTE! This is the last version of Pyrsistent that officially supports Python 2.X!
* Fix 186, type errors with more recent versions of MyPy.
* Build and test on ARM during CI.
* Set absolute imports for python2 compatibility.
   2019-11-24 12:38:18 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-pyrsistent: updated to 0.15.6

0.15.6:
* Fix moduleinit name clash.
   2019-11-13 21:59:34 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-pyrsistent: updated to 0.15.5

0.15.5:
Fixed 'ignore_extra' factory parameter for pvector.
   2019-10-19 16:29:46 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-pyrsistent: updated to 0.15.4

0.15.4:
 * Fix a GC traversal bug in pvector evolver C extension.
 * Fix pytest 5 compatibility, this is a quick fix, some more work is needed to \ 
get coverage working etc.

0.15.3:
 * Fix catch all exceptions during extension build to reduce chance of corner \ 
cases that prevents installation.
 * Fix in PVector equality comparison don's assume that other object has a \ 
length, check before calling len.
 * Fix write warning about failing build of C extension directly to stderr to \ 
avoid that pip silences it.
 * Fix update PMapEvolver type stub to better reflect implementation.

0.15.2:
 * Propagate 'ignore_extra' param in hierarchy.
 * Fix thaw typing.
 * Fix not possible to insert empty pmap as leaf node with transform.

0.15.1:
 * Fix installation broken on Python 2.

0.15.0:
 * Python 3.4 is no longer officially supported since it is EOL since 2019-03-18.
 * Fix major improvements to type hints.
 * Fix installation fails on some Windows platforms because fallback to Python \ 
pvector does not work.
   2019-03-02 15:27:15 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
py-pyrsistent: added version 0.14.11

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.