Skip to main content

advanced-dtypes

Advanced DataTypes is a package for Python that provides access faster, feature-rich data types not provided in the standard library, motivated by my thoughts of "why is that not a thing?" The aim of the project is to fill out the holes in the standard library data types' feature-set while improving upon the performance of the existing feature-set.

Constant Store

Constant Store is a class that provides a namespace within which to store constants on a class attribute basis. Class definition is very simple:

from advanced_dtypes import ConstStore


class Example(ConstStore):
    NAME_1 = "some_value"
    NAME_2 = 23

The class is built to populate a set and dictionary on import, which drives many of the features of the class, as well as the __slots__ attribute, which helps boost performance. Since the class attributes are maintained, names can be directly dot-referenced.

>> Example.NAME_1 == "some_value"
True
>> type(Example.NAME_1) == str
True

ConstStore also provides an interface for the following functionality:

>> len(Example)
2
>> 23 in Example
True
>> Example(23)
NAME_2
>> Example["NAME_2"]
23
>> [value for value in Example]
["some_value", 23]

You should be aware, however, that non-hashable objects will have slower performance in lookups such as in, Class(value) and Class[name].

Fast Enum

FastEnum is simply a faster implementation of the existing standard library Enum.

Definition is exactly the same as a standard enum:

from advanced_dtypes import FastEnum


class Example(FastEnum):
    NAME_1 = "some_value"
    NAME_2 = 23

Similarly, standard enum functionality remains:

>> Example.NAME_1
<Example.NAME_1: some_value>
>> Example.NAME_1.name
NAME_1
>> Example.NAME_1.value
some_value
>> Example("some_value")
<Example.NAME_1: some_value>
>> Example["NAME_1"]
<Example.NAME_1: some_value>
>> len(Example)
2
>> [item for item in Example]
[<Example.NAME_1: some_value>, <Example.NAME_2: 23>]
>> Example.NAME_1 == Example.NAME_1
True

The only functional addition in this instance is equality checking of members against values directly:

>> Example.NAME_1 == "some_value"
True

How To Install

pip install advanced-dtypes

Download files

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

Source Distribution

advanced-dtypes-0.0.2.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

advanced_dtypes-0.0.2-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file advanced-dtypes-0.0.2.tar.gz.

File metadata

  • Download URL: advanced-dtypes-0.0.2.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.7

File hashes

Hashes for advanced-dtypes-0.0.2.tar.gz
Algorithm Hash digest
SHA256 2c4a75ba725e082fb3cd4b4360f1a5b80e73e0b4cdf929ce3e8a0ec83724eaf2
MD5 266d6ad5ea3529c37f6df0604266850c
BLAKE2b-256 c71a6779d9bf13eab50bd31f8955e2a6e6df8a7b614834bd8df8c9751d338e07

See more details on using hashes here.

File details

Details for the file advanced_dtypes-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for advanced_dtypes-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 068d9cef1034c79f9a5dbd1022c64cc19a8d2c65147600dbb826a6f8fef5e3a2
MD5 656ac6ebc6c4fd6c447f3d3d029d9f70
BLAKE2b-256 5b0e69d746c3966ce12368262ce0151713d823df139314d0c9198d93ff903d4d

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 files

0.0.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page