Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python.announce > #3358
| Path | csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail |
|---|---|
| From | Dan Gass <dan.gass@gmail.com> |
| Newsgroups | comp.lang.python.announce |
| Subject | [plum-py 0.3.0] Pack/Unpack Memory |
| Date | Tue, 31 Mar 2020 19:47:52 -0500 |
| Lines | 53 |
| Approved | python-announce-list@python.org |
| Message-ID | <158570234086.8281.python-announce-list@python.org> (permalink) |
| References | <CAL2HjZXYfkKeFU+_8mSc4DPeiY+awArAOdN4zbMm3j+tSJ0LFg@mail.gmail.com> |
| Reply-To | python-list@python.org |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset="UTF-8" |
| X-Trace | news.uni-berlin.de aIZCmt1DfJxcnfp/y2xjVgj01c6kOQyjgbTh09UFtmOg== |
| X-Spam-Status | OK 0.000 |
| X-Spam-Evidence | '*H*': 1.00; '*S*': 0.00; 'library': 0.03; 'class,': 0.05; 'variable': 0.05; 'package.': 0.07; 'parameter': 0.07; 'skip:` 20': 0.07; '(previously': 0.09; 'arbitrary': 0.09; 'fundamental': 0.09; 'incompatible': 0.09; 'instances': 0.09; 'nested': 0.09; 'numbers,': 0.09; 'offers.': 0.09; 'structure': 0.09; 'url-ip:151.101.0.223/32': 0.09; 'url- ip:151.101.128.223/32': 0.09; 'url-ip:151.101.192.223/32': 0.09; 'url-ip:151.101.64.223/32': 0.09; 'applications': 0.15; 'announce': 0.15; 'checks': 0.15; 'argument': 0.16; 'buffer': 0.16; 'capability': 0.16; 'conform': 0.16; 'conforms': 0.16; 'dan': 0.16; 'defined.': 0.16; 'defining': 0.16; 'facilitate': 0.16; 'license:': 0.16; 'override': 0.16; 'skip:` 10': 0.16; 'structures,': 0.16; 'unpacking': 0.16; 'url- ip:104.208.221.96/32': 0.16; 'url-ip:104.208.221/24': 0.16; 'url- ip:104.208/16': 0.16; 'url-ip:172.65.251.78/32': 0.16; 'url- ip:172.65.251/24': 0.16; 'url-ip:172.65/16': 0.16; 'url:gitlab': 0.16; 'url:latest': 0.16; 'url:project': 0.16; 'url:pypi': 0.16; 'url:readthedocs': 0.16; 'utility': 0.16; 'subject:] ': 0.20; 'generated': 0.21; 'present': 0.24; 'methods': 0.25; 'url:io': 0.28; '(e.g.': 0.30; 'classes': 0.30; 'handling': 0.30; 'message- id:@mail.gmail.com': 0.31; 'combined': 0.31; 'follows:': 0.31; 'change': 0.32; 'subject:[': 0.32; 'received:google.com': 0.34; 'functions': 0.34; 'api': 0.34; 'use': 0.35; 'members': 0.36; 'those': 0.36; 'package': 0.36; 'from:addr:gmail.com': 0.37; 'function': 0.37; 'header:In-Reply-To:1': 0.37; 'size': 0.39; 'ability': 0.39; 'module': 0.39; '8bit%:13': 0.39; 'support': 0.39; 'restrictions': 0.39; 'url-ip:151.101.0/24': 0.39; 'url- ip:151.101.128/24': 0.39; 'url-ip:151.101.192/24': 0.39; 'url- ip:151.101.64/24': 0.39; 'availability': 0.40; 'defined': 0.40; 'structures': 0.40; 'to:addr:python-announce-list': 0.40; 'generate': 0.60; 'skip:& 20': 0.61; 'during': 0.61; 'skip:m 10': 0.62; 'your': 0.64; 'accepting': 0.64; 'access': 0.64; 'items': 0.64; 'well': 0.65; 'skip:t 30': 0.66; '8bit%:7': 0.68; 'url:index': 0.68; 'deeply': 0.69; 'similar': 0.69; 'pack': 0.70; 'base': 0.74; 'skip:e 20': 0.74; 'combination': 0.76; 'powerful': 0.82; 'eliminate': 0.84; 'type.': 0.84; 'packing': 0.91 |
| DKIM-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=BbipwbF732/Mc8PZYeHMXz7B68ON8Vgec3okcjkQqoQ=; b=NhjeiavglA3KCSLFd5lg9zSnlSCODI+B1i235eppKWajhTQJYXLVIkHHBtyAKH/odC L586ugQbluAKHABMRppwimm56yNf6JHcIQxmfFB6KMYvB7uluEGchlQKQSPOezIMLLB3 KCFha+E461ZnjW6eAB/8zRx7b2fNq3C48lK45tsFJA+xeJf2YVERk7vWmkCJj0lJwvvG dHAghPmAHAh9oj0fVZd3Nr7Uvd+83M01XCMVkx58KpWTxwyCE+lI+qMrmMN/Q9adkmaD QOeJpLqw8JhefAPEN7XPWUHsVOntV8DmX+0IoYlm7VLvfp0wfyMwBRFuH1vCks+mY5I6 PJlw== |
| X-Google-DKIM-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=BbipwbF732/Mc8PZYeHMXz7B68ON8Vgec3okcjkQqoQ=; b=j6mqBbHYLlreMFiwgfHJlmpHaPBGd2njq+c34fiynWJjLc+5abuRyuCNVdBpTDRYt5 Oui4iJoNsKtELMjCg4NpJzl3r62WLbebhEMGy1mDkcsHUKk00GAGPjSPKJd7CsFiYSx2 CAOOzuME2gT6uf6X/0VwKn0u4i+Hj/6kHlOF7FuIXdbu+n8mrjD872bUJTNc9V9kW+5f US9SGEjJ4XTyAxqV1hz+XOBtd4HRiaf/vVFkySQtvNuIMPLkbBVkvyrOK64s3q7G05/8 oHEd24jmyGFf0bmJ7J/hNM9ezn1URPvcTOnVBjCAw3GVhcuvv0M721l03JumaSERwhHW uJew== |
| X-Gm-Message-State | AGi0PuYxz4lAbQoi5cEra1JZmUo4qpkkindtFbXW6XDNjP5C5KV+BAyw oI3BEPamBqSTDO872JrhSBkZxCSCpbnKCdF+eFapot/cKrQ= |
| X-Google-Smtp-Source | APiQypKacdd1rphMknSG7rJYh+UmxKlH2FlhWw/8TcZtXYSjzT5X47QUR4wKLvU1gEAbT18+gM8IZPsmFZW1urEGb+I= |
| X-Received | by 2002:a1f:2947:: with SMTP id p68mr14057370vkp.43.1585702082924; Tue, 31 Mar 2020 17:48:02 -0700 (PDT) |
| In-Reply-To | <CAL2HjZXYfkKeFU+_8mSc4DPeiY+awArAOdN4zbMm3j+tSJ0LFg@mail.gmail.com> |
| X-MailFrom | dan.gass@gmail.com |
| X-Mailman-Rule-Hits | emergency |
| X-Mailman-Rule-Misses | dmarc-mitigation; no-senders; approved |
| Message-ID-Hash | SDPFLGFBVD2NGNQU5DS5NS4LXZ7HJKUQ |
| X-Message-ID-Hash | SDPFLGFBVD2NGNQU5DS5NS4LXZ7HJKUQ |
| X-Mailman-Approved-At | Tue, 31 Mar 2020 20:52:11 -0400 |
| X-Content-Filtered-By | Mailman/MimeDel 3.3.1 |
| X-Mailman-Version | 3.3.1 |
| Precedence | list |
| List-Id | Announcement-only list for the Python programming language <python-announce-list.python.org> |
| Archived-At | <https://mail.python.org/archives/list/python-announce-list@python.org/message/SDPFLGFBVD2NGNQU5DS5NS4LXZ7HJKUQ/> |
| List-Archive | <https://mail.python.org/archives/list/python-announce-list@python.org/> |
| List-Help | <mailto:python-announce-list-request@python.org?subject=help> |
| List-Post | <mailto:python-announce-list@python.org> |
| List-Subscribe | <mailto:python-announce-list-join@python.org> |
| List-Unsubscribe | <mailto:python-announce-list-leave@python.org> |
| Xref | csiph.com comp.lang.python.announce:3358 |
Show key headers only | View raw
I am please to announce the availability of beta release 0.3.0 of the
"plum-py" package.
This package provides classes and utility functions to efficiently pack and
unpack bytes similar to what the standard library `struct` module offers.
This package expands significantly on that capability with much more
powerful and convenient access and control of bytes within a buffer
(including handling variable size/type relationships within the buffer
data).
The package provides a large number of fundamental types (e.g.
numbers, structures, arrays, etc.) for specifying buffer data structure.
Each type conforms to a "plug-and-play" architecture facilitating the
ability to be combined in any way, including deeply nested structures of
arbitrary type. You may also write your own custom types that conform to
the "plug-and-play" architecture API and use them in combination with any
of the fundamental types provided.
Docs: https://plum-py.readthedocs.io/en/latest/index.html
PyPi: https://pypi.org/project/plum-py/
Repo: https://gitlab.com/dangass/plum
License: MIT
With Regards,
Dan Gass
(dan.gass at gmail)
Change List
=========
- Add ``plum.items`` module for collections of typed items for data
packing applications where the item structure is not predefined.
- Add support to ``ByteArray`` to restrict instances to a specific size
during unpacking (add ``nbytes`` parameter to ``__unpack__``).
- Change ``plum.structure.Structure`` behaviors as follows:
- Remove support for accepting typed items (use ``plum.items``
instead).
- Block subclasses from redefining members when inheriting from a
class with members already defined.
- Generate ``__init__`` method only when not overridden (previously
it generated ``__init__`` only if an override was not present in the new
structure class, now it also checks the base classes).
- Facilitate subclassing structure base class without defining
members as well as subclassing a structure that has defined members.
- Eliminate restrictions on mutating structures (e.g. ``append()``,
``extend()``, etc.)
- Simplifications:
- Remove ``cls`` argument in ``getbytes()`` function (backward
incompatible change).
- Eliminate need to set ``dump.cls`` in ``__pack__`` and
``__unpack__`` methods (it is now the responsibility of those calling
``add_record()`` dump method).
Back to comp.lang.python.announce | Previous | Next | Find similar | Unroll thread
[plum-py 0.3.0] Pack/Unpack Memory Dan Gass <dan.gass@gmail.com> - 2020-03-31 19:47 -0500
csiph-web