Skip to main content

Extended 'namedtuple' by default values.

Project description

The package ‘namedtupledefs’ provides a patched version of the collections.namedtuple with field defaults for namedtuple and type-accurate _merge. Adds Jython support. This is a drop-in compatible patch with minimal changes only - basically one line in the class template only. Just use:

import namedtupledefs

Point0 = namedtupledefs.namedtuple(‘Point’, (‘x’, ‘y’, ‘z’)) Point1 = namedtupledefs.namedtuple(‘Point’, (‘x y z’))

point0 = Point0(11, 22, 33) point1 = Point1(11, 22, 33)

the same with defaults:

from namedtupledefs import namedtuple

Point0defs = namedtupledefs.namedtuple(‘Point’, (‘x’, ‘y’, ‘z’), fielddefaults=(22, 33)) Point1defs = namedtupledefs.namedtuple(‘Point’, (‘x y z’), fielddefaults=(22, 33))

point0defs = Point0defs(11, 22) point1defs = Point1defs(11)

with the identical results:

point0defs == point0 point1defs == point1

of the printout:

>>> point0
Point(x=11, y=22, z=33)
>>> point0defs
Pointdefs(x=11, y=22, z=33)

Added the method _merge to the created class with accurate handling of _fields and _fielddefaults:

msg_header._merge(‘NewClassName’, msg_body, msg_data)

See doc-string for more examples. For the standard library collections.namedtuple see Python documentation.

Online documentation:

Runtime-Repository:

Downloads:

Project Data

  • PROJECT: ‘namedtupledefs’

  • MISSION: The extension of the standard collections.namedtuple by default values.

  • VERSION: 00.01

  • RELEASE: 00.01.011

  • STATUS: alpha

  • AUTHOR: Arno-Can Uestuensoez

  • COPYRIGHT=Copyright (c) 2019 Arno-Can Uestuensoez @Ingenieurbuero Arno-Can Uestuensoez.

  • LICENSE=Artistic-License-2.0 + Forced-Fairplay-Constraints - see following clauses

Patches and this Documentation:

  • COPYRIGHT=Copyright (c) 2019 Arno-Can Uestuensoez @Ingenieurbuero Arno-Can Uestuensoez. All rights reserved.

  • LICENSE=Artistic-License-2.0 + Forced-Fairplay-Constraints

    With exception for the public integration into the standard library collections by the PSF. Than for the integrated public code-patches:

    PSF LICENSE AGREEMENT FOR PYTHON.

Original code copied from Standard Python Library see “namedtupledefs.namedtuple_original”:

  • COPYRIGHT ORIGINAL=Copyright (c) 2001-2018 Python Software Foundation. All rights reserved.

  • LICENSE ORIGINAL=PSF LICENSE AGREEMENT FOR PYTHON

Runtime Environment

For a comprehensive list refer to the documentation.

Python Syntax Support

  • Python2

  • For the Python3 refer to the package namedtupledefs3.

    This package requires the exec statement/function, due to it’s size it is separated into two variants instead of using shared code.

Python Implementation Support

  • CPython, IPython, IronPython, Jython, and PyPy

OS on Server, Workstation, Laptops, Virtual Machines, and Containers

  • Linux: AlpineLinux, ArchLinux, CentOS, Debian, Fedora, Gentoo, OpenSUSE, Raspbian, RHEL, Slackware, SLES, Ubuntu, …

  • BSD: DragonFlyBSD, FreeBSD, NetBSD, OpenBSD, GhostBSD, TrueOS, NomadBSD

  • OS-X: Snow Leopard

  • Windows: Win10, Win8.1, Win7, WinXP, Win2019, Win2016, Win2012, Win2008, Win2000

  • WSL-1.0: Alpine, Debian, KaliLinux, openSUSE, SLES, Ubuntu

  • Cygwin

  • UNIX: Solaris10, Solaris11

  • Minix: Minix3

  • ReactOS

Network and Security

  • Network Devices: OpenWRT

  • Security: KaliLinux, pfSense, BlackArch, ParrotOS, Pentoo

OS on Embedded Devices

  • RaspberryPI: ArchLinux, CentOS, OpenBSD, OpenWRT, Raspbian

  • ASUS-TinkerBoard: Armbian

Current Release

Major Changes:

  • Initial release.

ToDo:

  • MicroPython, CircuitPython

Known Issues:

  • not yet

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

namedtupledefs2-0.1.11.tar.gz (21.9 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page