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

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


Branch: CURRENT, Version: 0.20.0, Package name: py311-pyrsistent-0.20.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:

Filesize: 101.213 KB

Version history: (Expand)


CVS history: (Expand)


   2023-10-26 10:03:40 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-pyrsistent: updated to 0.20.0

0.20.0, 2023-10-25
* Fix 245, never introduce new nodes during discard.
* Fix 268, do not rely on well implemented __ne__ for keys in pmaps, instead do \ 
explicit inversion of equality
  comparison when checking for inequality.
* Officially support Python 3.12.
* Officially drop support for Python 3.7.
* Fix 273, build more types of wheels. Thanks @jams2 for this!
* Fix 282, add generic types to types. Thanks @lukasK9999 for this!
* Fix 281, defaultdict can now be frozen. NB! This is a backwards incompatible \ 
fix since defaultdict was not
  previously frozen.
   2022-12-29 12:01:10 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-pyrsistent: updated to 0.19.3

0.19.3
* Fix 264, add wheels and official support for Python 3.11.
   2022-11-15 10:13:29 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-pyrsistent: updated to 0.19.2

0.19.2
* Fix pmap regression in 0.19.1. Element access sometimes unreliable after insert.
   2022-10-31 15:00:46 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-pyrsistent: updated to 0.19.1

0.19.1, 2022-10-30
 * Fix 159. Pmap keys/values/items now behave more like the corresponding Python 3
   methods on dicts. Previously they returned a materialized PVector holding the \ 
items, now they return
   views instead. This is a slight backwards incompatibility compared to \ 
previous behaviour, hence stepping
   version to 0.19. Thanks @noahbenson for this!
 * Fix 244, type for argument to PVector.delete missing. @thanks dscrofts for this!
 * Fix 249, rename perf test directory to avoid tripping up automatic discovery \ 
in more recent setuptools versions
 * Fix 247, performance bug when setting elements in maps and adding elements to sets
 * Fix 248, build pure Python wheels. This is used by some installers. Thanks \ 
@andyreagan for this!
 * Fix 254, 258, support manylinux_2014_aarch64 wheels. Thanks @Aaron-Durant for \ 
this!

0.19.0 - Never released due to issues found on test-PyPI
   2022-04-07 08:46:29 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-pyrsistent: updated to 0.18.1

0.18.1, 2022-01-14
 * Add universal wheels for MacOS, thanks @ntamas for this!
 * Add support for Python 3.10, thanks @hugovk for this!
 * Fix 236 compilation errors under Python 3.10.
 * Drop official support for Python 3.6 since it's EOL since 2021-12-23.
 * Fix 238, failing doc tests on Python 3.11, thanks @musicinmybrain for this!

0.18.0, 2021-06-28
 * Fix 209 Update freeze recurse into pyrsistent data structures and thaw to \ 
recurse into lists and dicts,
   NB! This is a backwards incompatible change! To keep the old behaviour pass \ 
`strict=False` to freeze and thaw.
 * Fix 226, stop using deprecated exception.message.
 * Fix 211, add union operator to persistent maps.
 * Fix 194, declare build dependencies through pyproject.toml.
 * Officially drop Python 3.5 support.
 * Fix 223, release wheels for all major platforms.
 * Fix 221, KeyError obscured by TypeError if key is a tuple.
 * Fix LICENSE file name spelling.
 * Fix 216, add abstractmethod decorator for CheckedType and ABCMeta for \ 
_CheckedTypeMeta.
 * Fix 228, rename example classes in tests to avoid name clashes with pytest.

0.17.3, 2020-09-13
 * Fix 208, release v0.17.3 with proper meta data requiring Python >= 3.5.

0.17.2 (yanked awaiting proper fix for Python 3 req), 2020-09-09
 * Same as 0.17.1 released with more recent version of setuptools to get proper \ 
meta data for in place.

0.17.1 (yanked for proper meta data), 2020-09-09
 * Restrict package to Python >= 3.5 to not break unpinned Python 2 dependencies.

0.17.0 (yanked for Python 2 compatibility), 2020-09-08
 * Remove Python 2 support code. This includes dropping some compatibility code \ 
and the dependency on
   six.
 * Fix 200, python 3 exception chaining. This is a minor backwards \ 
incompatibility, hence stepping
   to 0.17.0.
   2022-01-04 21:55:40 by Thomas Klausner | Files touched by this commit (1595)
Log message:
*: bump PKGREVISION for egg.mk users

They now have a tool dependency on py-setuptools instead of a DEPENDS
   2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016)
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Could not be committed due to merge conflict:
devel/py-traitlets/distinfo

The following distfiles were unfetchable (note: some may be only fetched
conditionally):

./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
   2021-10-07 15:44:44 by Nia Alarie | Files touched by this commit (3017)
Log message:
devel: Remove SHA1 hashes for distfiles