• Home
  • About Us
  • Documentation
  • Downloads
  • License

Downloads

The PicklingTools comes as a tarball of Python and C++ and Java source code.  Click on one of the linksbelow AT THE BOTTOM OF THE PAGE to download the necessary version of PicklingTools.


December 23rd, 2016: 1.7.0 Release

This release is kind of big because it fixes two potential big problems: stringize precision and [] (brackets: when doing an insert into a Val) access on a const Val.  See the CHANGES for this release for all the gory details.


July 28th, 2016: 1.6.3 Release

1.6.3 is a bug-fix release.  we've tested to make sure things work on CentOs 7, and we've added methods to Tab anbd OTab (.keys(), .values(), .items()), so they feel more Pythonesque.


June 14th, 2016: 1.6.2 Release

1.6.2 is a bug-fix release.  Updated the ptools Python module (so all its code was up to date), updated Array to allow users to reference memory without owning it (so they can use the Array interface homogeneously), catch an exception in the Python C extension module for XML so it fails gracefully, uipdate includes for CQ.

November 13th, 2015: 1.6.1 Release

This is a minor bug fix release to 1.6.1.    It fixes the FixedSizeAllocator's cross process shared memory hang problem.


October 2nd, 2015: 1.6.X Releases update

1.6.0 is quite a big release.

   OC Serialization:  supported by C++, and now a new Python C Extension module.  Faster serialization than pickling and supports greater than 4 Gigabytes strings and arrays.

   MidasTalker/Server:  With OC Serialization supporting greater than 4Gig, had to make a backwards compatible change to allow larger strings to come over the socket.  This affects all midas talkers and servers throughout the C++, Python and M2k baselines (M2k updates to OpalPythonDaemon for this).

   C++ Val: now supports complex integers

   Shared Memory updates:  better support for shared memory error reporting.  Added fixed size allocator and support for it with the streaming allocator.

 


July 31st, 2015: 1.5.X Releases update

1.5.4: Mostly minor bug fixes to have the shared memory tools work better.

1.5.3  features a bunch of bug fixes, plus better error messages if you mix DUAL SOCKET and SINGLE SOCKET code. 

1.5.2. It features a bunch of small bug fixes, plus the introduction of the new Python seriallib which allows conversion back and forth between Python dictionaties and Windows INI fles and key-value lines.

1.5.1.  Complete the transition to NumPy (from Numeric), fix documentaton spelling errors, move some timeout code from MidasTalker to MidasSocket (so MidasServer can access the send code with the timeout), rejiggered C++ baseline to work with -Wextra.

1.5.0. It is first release to handle Java support.  Currently, there is support to write a Java client that can pickle and unpickle, but no server (coming later).  There is support for textual Python dictionaries (from strings and files) as well as binary (pickled) format.  Support is limited to Python 2.X series.

 

1.4.2 is a quick bug-fix release: it allows Jython to work with a Python MidasTalker (select bug fixed) and the Python C extension module to build with 2.6 and 2.7 versions of Python. 

PicklingTools 1.4.1: Up until now, the XML to dict and dict to XML conversion tools were written either in Pure Python or pure C++.  The pure Python routines were significantly slower (10x-100x) slower than their C++ counterparts.  To battle this problem, we created the "cxmltools" module which wraps the C++ routines so they can be called from Python (and get the massive speedup!).  We also cleaned up the arbitrary sized int interfaces: they were clumsy and needed a little more polish (see the CHANGES log for more discussion of some of the cleanup).

 

PicklingToolsis 1.4.0.  The cross-process shared memory tools have been updated, with better documentation and testing.  Currently one major application is using the shared memory pipes  in a real-world production system. The XMLtools have also been updated to work with numpy.

 

Version 1.3.4 adds some minor M2k updates.

Version 1.3.3 adds a simple schema-like mechanism for validating dictionaries are well-formed, as well as some bug and performance fixes.

Version 1.3.2 added  JSON support, NumPy support, and tools to write HTTP servers and clients.

Versions 1.3.0 and 1.3.1 concentrated on getting XML conversion tools available.

 

"Do souls look like pickles?" - Spongebob Squarepants

Downloads/CHANGELOGS


Version 1.7.0:

Stringize precision is better, fixed op[] problem)

 

Version 1.6.3:

CentOS 7 check, added keys(), values(), items()

 

Version 1.6.2:

Bug fixes, Array updates

Version 1.6.1:

Bug fix for FixedSizeAllocator

Version 1.6.0:

OC Serialization, complex int, better shared mem and allocator

 

Version 1.5.4:

Bug fixes for shared memory

 

Version 1.5.3:

Bug Fixes, better single/dual socket errors

Version 1.5.2:

Bug Fixes, added seriallib

 

Version 1.5.1:

Fix Warnings, complete NumPy transition

Version 1.5.0: Java support

Version 1.4.2: Quick bug-fix

Version 1.4.1: Python C Extension module for XML and dict conversion tools

Version 1.4.0: shared memory tools and numpy support for xmltools

Version 1.3.4: minor M2k updates

Version 1.3.3: Conforms checking, minor bug and performance fixes 

Version 1.3.2: JSON, NumPy, HTTP

Version 1.3.1: Performance

Version 1.3.0: XML support

Version 1.2.2: more intel/endian fixes

Version 1.2.1: minor Intel compiler fixes, M2k now builds, endianness problem resolved

 

Version 1.2.0: Major Speed Improvements, Tuples, Ordered Dictionary, Arbitrary sized ints, New PickleLoader

Version 1.1.1: Namespace and pickling bug fixes

Version 1.1.0: M2k fix and build fixes

Version 1.0.9: Documentation upgrades

Version 1.0.8: Bug fix for X-Midas & threads

Version 1.0.7: Combinations and opafile.py

Version 1.0.6: Bug Fix Pickling Protocol 0

Version 1.0.5: real_8 precision

Version 1.0.4: Handle size_t, MV

Version 1.0.3: Allow timeouts on open

Version 1.0.2: Added dataReady

Version 1.0.1: User-types and bug fixes

Version 1.0.0: Proxys (ref-counting) 

Version 0.96:  Linux 64-bit support

Version 0.95: Minor bug fixes (memory leaks)

Version 0.94: Adaptive and M2k serialization

Version 0.93: Pickling Protocol 2 Support

Version 0.90:  UDP Socket support

Version 0.86: Minor bug fixes (file reading)

Version 0.85: Read OpalTables from raw C++

Version 0.84:Bug fixes, mostly X-Midas updates

Version 0.83:Bug fixes, mostly X-Midas updates

Version 0.82:Minor OpenContainers fixes

Version 0.81: GetHostByName, Tru64 support

Version 0.80: Added MidasServer

Version 0.74: OpenContainers update

Version 0.73: Support for separated files

Version 0.72: Added X-Midas support

Version 0.71: Clean up

version 0.70: Dual-socket mode support

Version 0.40: ..too old... 

Full CHANGE log

If you wish to see the entire CHANGES file (included in the PicklingTools  distribution at the top-level), click HERE.  This show all changes that up to the current release.

Changes in the first number (from release 0.96 to 1.00 for example) indicate major releases with possible incompatibilities.  In general, though, the PicklingTools strives to be backwards compatible with previous releases.  [Even the 1.00 release was released to some beta users to make sure it compiled and worked with their previous systems.  The few incompatibilities were documented].

by Yahoo!