Skip to main content

ExType is a Python package that allows you to externally extend types.

Project description

ExType

Extype stands for extensible types, a Python package that enables extending types.

PyPI version

Windows MacOS Linux

Installation

pip install extype

Alternatively, you can install through git (make sure to have pip 22.0 or higher):

python -m pip install --upgrade pip
pip install git+https://github.com/xpodev/extype/

Usage

First, in your Python code, import the package:

import extype

Then, you can use the built-in extensions for the builtin types. In order to apply these extensions, import the extend_all module from the extype.builtin_extensions package:

from extype.builtin_extensions import extend_all

This will apply the extensions to all builtins we support, as a side-effect of the import (to extend only some builtins, you can use the dedicated modules, see below).

Sometimes you don't want to apply all the extensions that we provide, but only for some specific type(s).

Say, for example, we only want to apply the provided extensions for list. We'll need to manually apply them like so:

from extype.builtin_extensions import list_ext

list_ext.extend()

Note: All built-in extension modules have an extend function which will apply the extensions in the module to the relevant type.

Currently, we provide the following extensions:

file extended types
dict_ext.py dict_keys, dict_values, dict_items
float_ext.py float
function_ext.py FunctionType, LambdaType
int_ext.py int
list_ext.py list
seq_ext.py map, filter, range, zip
str_ext.py str

Then you can use these extensions. Here's an example of using the list.map extension:

print([1, 2, 3].map(lambda x: x + 1))  # [2, 3, 4]

There's a list of all the built-in extensions here

Creating your own extensions

You can create your own extension methods, with which you can extend any type you want! (not only builtins) For example, let's make our own tofloat function in the int type. What we want to have at the end is:

x = 10
print(isinstance(x.tofloat(), float))  # True

First, we'll need some tools:

from extype import extension, extend_type_with

Next, we'll define our class which will hold the extension method. Note that this class will not get instantiated. It is also recommended to make this class inherit the type you want to extend, so you get better typing support.

class IntExtension(int):  # inheriting `int` for typing
  @extension  # marks this method to be added as an extension
  def tofloat(self):  # self will be of the same type we extend, which, in this case, is `int`
    return float(self)  # convert the int to float and return the result

After we create the class which will contain the extension methods, we need to apply them to the types we want to extend:

extend_type_with(int, IntExtension)

Now, we can run the code from above:

x = 10
print(isinstance(x.tofloat(), float))  # True

We can also apply multiple extensions to the same type or even the same extension to multiple types.

Only methods marked with @extension will be added as extension methods.

Note: Extending a type will extend it in all modules, not just the one that called the extend_type_with, so make sure you don't override an existing function, unless, of course, it is what you want.

Features

  • Exteranlly extend type via another type
  • Basic support for magic method extensions
    • Number protocol
    • Mapping protocol
    • Sequence protocol
  • Add support for reverse methods (e.g. __radd__)
  • Make this features/todo list look nicer
  • Add support for the rich comparison function

Maintainers

Build & Installation

We use Hatch to manage the build environment, and mesonpy to build the package.

Note: Currently, we use unreleased mesonpy features, so we install it from git.

First, install Hatch: https://hatch.pypa.io/latest/install/. We recommend using pipx.

After you've installed Hatch, you can build the package with the following command:

hatch run install_editable

With this, you can start using the package in your code. Spawn shell within the build environment:

hatch shell

It'll rebuild the package every time you import it, so you can test your changes. If you don't want to rebuild the package every time you import it, you can install it with:

hatch run install

But note that any changes you make won't be reflected in the installed package.

To build the wheel, you can use:

hatch run dist:build

This will build the wheel for all python versions, and put it in the dist folder.

Testing

To run tests for all python versions, run:

hatch run dist:test

To run tests for a specific python version, run:

hatch run +py=39 dist:test

Both commands will build, install the package into an isolated environment, and run the tests in it.

Built-in Extensions

Note: All of the following list extensions also exist on dict_keys, dict_values and dict_items.

list.all(self: List[T], fn: Callable[[T], bool] = bool) -> bool

Returns true if all elements, mapped through the given fn, are True.

list.any(self: List[T], fn: Callable[[T], bool] = bool) -> bool

Returns true if any of the elements, mapped through the given fn, is True.

list.map(self: List[T], fn: Callable[[T], U]) -> List[U]

Returns a new list whose elements are the result of applying the given function on each element in the original list.

list.reduce(self: List[T], fn: Callable[[T, T], T]) -> T

Reduces the list to a single value, using the given function as the reduction (combination) function.

Raises TypeError if the list is empty.

list.reduce(self: List[T], fn: Callable[[U, T], U], initial_value: U) -> U

Reduces the list to a single value, using the given function as the reduction (combination) function and the initial value.

list.filter(self: List[T], fn: Callable[[T], bool]) -> List[T]

Returns a new list containing all the elements that match the given predicate fn.

list.first(self: List[T]) -> T, raise IndexError

Returns the first element in the list, or raises an IndexError if the list is empty.

list.last(self: List[T]) -> T, raise IndexError

Returns the last element in the list, or raises IndexError if the list is empty.

float.round(self: float) -> int

Rounds the floating point number to the nearest integer.

float.round(self: float, ndigits: int) -> int | float

Round the floating point number to the nearest float with ndigits fraction digits.

# function @ functioin
function.__matmul__(self: Callable[[T], U], other: Callable[..., T]) -> Callable[..., U]

Compose 2 functions such that doing (foo @ bar)(*args, **kwargs) will have the same result as calling foo(bar(*args, **kwargs)).

int.hex(self: int) -> str

Returns the hexadecimal representation of the integer.

int.oct(self: int) -> str

Returns the octal representation of the integer.

int.bin(self: int) -> str

Returns the binary representation of the integer.

str.to_int(self: str, base: int = 10, default: T = ...) -> int | T

Converts the given string to an int with the given base. If it can't be converted and default is given, it is returned. Otherwise, a ValueError is thrown.

str.to_float(self: str, default: T = ...) -> float | T

Converts the given string to a float. If it can't be converted and default is given, it is returned. Otherwise, a ValueError is thrown.

  • The following extensions are valid for map, filter, range and zip
.tolist(self: Iterable[T]) -> List[T]

Exhausts the iterble and creates a list from it.

.map(self: Iterable[T], fn: Callable[[T], U]) -> Iterable[U]

Maps the iterable with the given function to create a new iterable.

This does not iterates through the original iterable.

.filter(self: Iterable[T], fn: Callable[[T], bool]) -> Iterable[T]

Filters the iterable with the given function as the predicate function.

This does not iterates through the original iterable.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

extype-1.2.0-cp313-cp313-win_amd64.whl (23.2 kB view details)

Uploaded CPython 3.13Windows x86-64

extype-1.2.0-cp313-cp313-musllinux_1_2_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

extype-1.2.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (20.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

extype-1.2.0-cp313-cp313-macosx_15_0_x86_64.whl (17.4 kB view details)

Uploaded CPython 3.13macOS 15.0+ x86-64

extype-1.2.0-cp312-cp312-win_amd64.whl (23.2 kB view details)

Uploaded CPython 3.12Windows x86-64

extype-1.2.0-cp312-cp312-musllinux_1_2_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

extype-1.2.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (20.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

extype-1.2.0-cp312-cp312-macosx_15_0_x86_64.whl (17.4 kB view details)

Uploaded CPython 3.12macOS 15.0+ x86-64

extype-1.2.0-cp311-cp311-win_amd64.whl (23.1 kB view details)

Uploaded CPython 3.11Windows x86-64

extype-1.2.0-cp311-cp311-musllinux_1_2_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

extype-1.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (20.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

extype-1.2.0-cp311-cp311-macosx_15_0_x86_64.whl (17.4 kB view details)

Uploaded CPython 3.11macOS 15.0+ x86-64

extype-1.2.0-cp310-cp310-win_amd64.whl (23.1 kB view details)

Uploaded CPython 3.10Windows x86-64

extype-1.2.0-cp310-cp310-musllinux_1_2_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

extype-1.2.0-cp310-cp310-musllinux_1_2_i686.whl (1.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

extype-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

extype-1.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (20.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

extype-1.2.0-cp310-cp310-macosx_15_0_x86_64.whl (17.4 kB view details)

Uploaded CPython 3.10macOS 15.0+ x86-64

extype-1.2.0-cp39-cp39-win_amd64.whl (23.2 kB view details)

Uploaded CPython 3.9Windows x86-64

extype-1.2.0-cp39-cp39-musllinux_1_2_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

extype-1.2.0-cp39-cp39-musllinux_1_2_i686.whl (1.2 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ i686

extype-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

extype-1.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (20.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

extype-1.2.0-cp39-cp39-macosx_15_0_x86_64.whl (17.4 kB view details)

Uploaded CPython 3.9macOS 15.0+ x86-64

extype-1.2.0-cp38-cp38-win_amd64.whl (23.2 kB view details)

Uploaded CPython 3.8Windows x86-64

extype-1.2.0-cp38-cp38-musllinux_1_2_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

extype-1.2.0-cp38-cp38-musllinux_1_2_i686.whl (1.2 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ i686

extype-1.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20.0 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

extype-1.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (20.5 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

extype-1.2.0-cp38-cp38-macosx_15_0_x86_64.whl (17.4 kB view details)

Uploaded CPython 3.8macOS 15.0+ x86-64

extype-1.2.0-cp37-cp37m-win_amd64.whl (23.2 kB view details)

Uploaded CPython 3.7mWindows x86-64

extype-1.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl (565.0 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

extype-1.2.0-cp37-cp37m-musllinux_1_1_i686.whl (619.3 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ i686

extype-1.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20.1 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

extype-1.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (20.6 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

extype-1.2.0-cp37-cp37m-macosx_15_0_x86_64.whl (17.4 kB view details)

Uploaded CPython 3.7mmacOS 15.0+ x86-64

File details

Details for the file extype-1.2.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: extype-1.2.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 23.2 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.14

File hashes

Hashes for extype-1.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ad30a898d3b6cb94fd5555263a1e37b5ff8a8e7035fad12edb3483ac8e0d36bd
MD5 79729f30e786f30485ff983a28b94266
BLAKE2b-256 28145bcb8784266a826c67ecab579fd746c35d4b8afda903171f14ad8fd431fd

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4e8ce441a8e2f7910effbfee0b92f83b352a4b5ffbf0e2f9a0ba1eee384940ef
MD5 35eaefbbb7568b56640ce7e757906e5b
BLAKE2b-256 2ac7f0f26ecd6cad95e8e59f9c38463aae0d36e1f963ff72517f1c7a5582c89a

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e648647d3cd6d1762bd25d81b83d497342ae56c4279380b7fa057759df51eded
MD5 918e5a691e88954a185369653e8f3b58
BLAKE2b-256 608f99a33db6e2b940a7d739264ccaf19e15d4ca870838733415cb5a4abd2564

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp313-cp313-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp313-cp313-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 4b7a7d0600f619658ada43cfe8b41592632c56a1effdf666eb775d57c20b226f
MD5 fb01c6d53cdff72c0579738b3e517b4f
BLAKE2b-256 719d779d9de83b92986f97ad9f8ba29b5399996f02dbc2b8c122f2409ce23526

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: extype-1.2.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 23.2 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.14

File hashes

Hashes for extype-1.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 deec96c2c919455ffd1db100dbf6dbd3d1a3c2fbbfe85ce46cfe5d8a5e6eee85
MD5 09d439b17f894753cc83019386cb43d7
BLAKE2b-256 68a0539b905cf5d089093324c53c05bf727be00d19ab4e36fb354e898285f7a2

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1b90e57506ee05f9b780eb50d21faf2e3088ef7b44a786e5ad756bff79b83bd3
MD5 57ff09ffc4fd37eb5b8b541da5eb49b3
BLAKE2b-256 7b20d6f41c9d4b28df5aeeb03d454718b24893236edb751ca5177b3fd1554b12

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c0e4f02fde92c3325a0e6b25165356d8092e4d9d57f48d063ab79a81b340d294
MD5 b65f1287670be053ba9588bbe90c1994
BLAKE2b-256 903e7d89130f8d1b1fd7abe059322706d7d830ead08b917e9fc782e77526db76

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp312-cp312-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp312-cp312-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 c21158bff8b46abf9a5188b510b7870dc3e3addd98d06fd5832795ceecccf9d9
MD5 715bab429d01d18adc39a63e991f7377
BLAKE2b-256 f9dfc8eb11e3a1695c8240168f5be7aa827a2dd75a4c58f5f70535a59685e877

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: extype-1.2.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 23.1 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.14

File hashes

Hashes for extype-1.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4c47beb0a91443bcb617a4befb75b32657305fd647351660607577f10231233d
MD5 3543122097ecf8ddc8cbbd8c326d30c1
BLAKE2b-256 f5a4074f8528362e74ac253823a2eb83797e4188dd5f262ac956f23508cc12e0

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3089011e861158b87e88ea956af0953842bd74a06ddc70626b62d4c51c1444fa
MD5 e5e5ace7754ef743771f02353b1f724d
BLAKE2b-256 19e169d02c3848e267930f4c258b361ba885f5e90f5faff0487d34f7d395a319

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 01f706bfddbde8c815e00ec3e5cffa4d9489c80dd29e25142eba61a365aef31b
MD5 2fc284ae12e1a75d635e70be47a17e29
BLAKE2b-256 2f80e07dde82a7370d06e8569e0e003e11f5541f348cf27f5bfad454abdc74ea

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp311-cp311-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp311-cp311-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 f360e520656d58a245e037bc9af2af96c38d6475e53f7b3c3fac2268c94a6da8
MD5 29c7e30d5e60434fbb3a3ad0a55021c3
BLAKE2b-256 6c4afbb47d38b85f8fd9ba55369dbfb24f55bf13a2915551d975b1f264aca12c

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: extype-1.2.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 23.1 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.14

File hashes

Hashes for extype-1.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5617adb0f63b056123e1ff287cede995c0a94d141cf0fcbae65a36a38962422f
MD5 b6af00eefccd9d8cd87ed41d366e153f
BLAKE2b-256 992ebc8073902c75951526047dc6589a666286f58141bcd1d0859478bca58464

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5a4796e2d0505d511a8f2b51c5b1caa659b7a94f48c47b39d3c3d841175a27a3
MD5 01c194c2be4a5bd5542c2dc6eaedb661
BLAKE2b-256 d2de61aadafd9918e890b7a2edf418a02e7693087c11bddeb8e1ca44f8a4bae4

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 e6faacba886c17f86570eb645d16d88bd4f403fc06dacd4e6ac0e70d393a37e9
MD5 42807638ddde628ca6e0be9df71fff7f
BLAKE2b-256 5b005732b0b471bd29c765a2798a9d08f452b224389b3b04d1b014451bf9d365

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b069fe93abbb3913acd97ad82a739cab4b737656f616169db0188c65462e7d77
MD5 9f5f1f7232a209353bb4441df828bcd6
BLAKE2b-256 61772a29e1d74c2d0dcdcc4ea09ab97fce2ce38772b533158995be957e57206d

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f462e58bccece9d286a316b09d404da4624904495fc186df4db08d8175171927
MD5 cc6fee2c8b126c1b76e0363de554c1a0
BLAKE2b-256 e8ea2df6d2c1534351d2606be12077bca67b40c6476c0971cadd2ed191f91a26

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp310-cp310-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp310-cp310-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 37824195ecbdd62f3b1309c5205dc5616d33b1acacda835cfb77d9fc3a36902d
MD5 76ee68bffd72f452376d676a51d0eca4
BLAKE2b-256 6e7ba33e9b3e7febe51081bd18be648e8a0c44bc8a518a62560f1c11339d73d4

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: extype-1.2.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 23.2 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.14

File hashes

Hashes for extype-1.2.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 4c94983b895b478484346b82e2eb7dfaf0537524567ea1f64bbcf018b4a53ae9
MD5 69a473ba8ada921175684ff9f609d721
BLAKE2b-256 41f1251ce75c438b4a8b472ee963ade1e85149d5a889425522c2d7c74780a0b8

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2381e695472385373df56e4f89a676ac308b9b54dba64d51949a58d535206675
MD5 88edf6a0183060981520ba655a811b7b
BLAKE2b-256 4674e00d1989dbee381ae8ebaff6f55a18695cce67a9a7db5f6fb7dcb304fe83

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f1e9310b4f23586a0d05a6998d1828424e8c0f13aea62a7bbaf5d9a7987e49d1
MD5 c031318fd733c9df0e8cd7f38a24d7bb
BLAKE2b-256 998e4243e4bc1b87af32b4f7b777dfa1f3f999590821482c8228dd94d56dab27

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7d309265b017530532a839b66c0576dddd98ba4d4aaef9b321fcb49145db84eb
MD5 00f57ae099075aca766a986a58cc39e9
BLAKE2b-256 6b399b36dad02bcf97996d1e91dcad88bc203ea50ebb1a735e07561bb42345b4

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3f63c4e6f4ae3deaebe9d64a0255ee482ddc9c3de8ae1e8ca2aaf63a7248e6e4
MD5 e6e0decfd32201ec84aba51f96c95342
BLAKE2b-256 6b293705ef57b201563e867aa3925c5a56deb88e9e1216f0a927980a12adb0a4

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp39-cp39-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp39-cp39-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 24e3ef919e48504bc038be4607f8955ad205e0a24981f4625559f6704fd845bf
MD5 d0cd74faa1adb4ff7378f8e188e97d5d
BLAKE2b-256 1258acd4b8ab54e87c6c1129da3422f31a80b44482037db0139942bfd370a5f0

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: extype-1.2.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 23.2 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.14

File hashes

Hashes for extype-1.2.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 65c276742e883a54aa02450127a95330f80e1c1cac1c740beb5e6cfff62a6de9
MD5 2aef9854337b6b1e88d1ee1bf60aae92
BLAKE2b-256 00207c01162421da82faad69a87ace3742beafc05b960850664621ab81653191

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 536996638269d042a39527424b78950005c9ff23318b74ea559a334ada0637be
MD5 87206b384f85ee35695ec0ca7a11d4de
BLAKE2b-256 53f05b12eda600cac9d65fb5f91d3fe242f5b77d4ccfd6e0003ac5d049d33a95

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp38-cp38-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp38-cp38-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 1bf2b5e13fa4af750cbced5036015db227a77b6c58717c243e8349e94c627630
MD5 ea0fcca2d16b7dbe0da67d05ab521d08
BLAKE2b-256 0a809d57160c0cd43f468f4512df124b2cc4df9d888d35689c7550ed56802078

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 46ac218e1f726661cd92971c3841885809c8aede9800fa1bc640ecad8f8818ae
MD5 8f521f5384e27d8d1952ea3e6b021305
BLAKE2b-256 3748b4172e636631d09399af9ef30c3b1df7e58d66fafff379161198437c7355

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6d57cfaebeb939fa136f78c849a84c89b7710acf9e82505f568bcb4230a67c12
MD5 f92c690692f827225c376f8630a8b343
BLAKE2b-256 73e6182e07506928e03ca6a11be1acd1002d2ecc56e893f5dde7c3f93a7dafe4

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp38-cp38-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp38-cp38-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 c94c66a935a165991ecd14782c60901679d7e5149ad61127811bd84646b77958
MD5 eeaf8e673ddb171cc2238b7dcf19723f
BLAKE2b-256 c575ffc0464fc35f4526cd4a1be76ec34c241847908ec43431f7b2afb823d66b

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: extype-1.2.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 23.2 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.14

File hashes

Hashes for extype-1.2.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 ec5c15cdfec07aa1b5dffb6aa3b70eb033f0daad4508745d2d20c7eb965d2220
MD5 e29d3ca2088d099526fbbac57879e066
BLAKE2b-256 6bdb86bc1c14f043e9af6c7091076ae6d2d7696e75dd9f5ae066f73b2bd66fcd

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 781ed92a926feb4d1eda194b85f23e001ee23b37dbe26b372bc05288c9f06333
MD5 4924a77818a6f8ecb87e2402a8392098
BLAKE2b-256 d78ba195a2c485784bfc400182f8bae771af27c44ce51aafd0748f5413f37001

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp37-cp37m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 bf5459e04adfcf91658bc27cd30fdacf6216bbf4f7d244a67681c8368c16ef62
MD5 ff618ee1428d8b94c2049098201bd818
BLAKE2b-256 f8be2c4a4826acc6f7972e71111da78e486ef1d65e6d4f87f085317c73c5d672

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0cbc92a4053b6e236899b88a2b40c1ad29b2336ce07ae66e85be5851fde1fa38
MD5 3f8e253a4f8c1414efb0034f0c9129ea
BLAKE2b-256 464e65d5d0924c742ef440f308cd1cf488faac4a68bea5ee5da7a2c7d2c375a5

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 884893b645b7af3ceb3a1a32b9a31e5a2060df3b27bf079d0b26a02c4d7b4ade
MD5 20ae62ff50a903211a28709f3a649487
BLAKE2b-256 a339bda919d961511d7db3c2d41717d24a867e7268869c28d1bab80ef9774f20

See more details on using hashes here.

File details

Details for the file extype-1.2.0-cp37-cp37m-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for extype-1.2.0-cp37-cp37m-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 53ba06f1f7a0f3d859dfbf260bb8b227ad9b568271d9a8b1b59abf0c47fd7d47
MD5 574c0172f28380f36409b42bbce1f002
BLAKE2b-256 082f3e1e50c3555e0138144d61f6d17522c68dcd2fb9928c2b208a6f3b8c1472

See more details on using hashes here.

Supported by

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