ExType
Extype stands for extensible types, a Python package that enables extending types.
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
extendfunction which will apply the extensions in the module to the relevant type.
Currently, we provide the following extensions:
| file | extended types |
|---|---|
| coroutine_ext.py | coroutine (async functions) |
| 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.
Free-threaded Python
ExType supports the free-threaded build of Python (3.14t and later) and does not re-enable the GIL when imported.
Extending a type is thread-safe, but other threads that are using the type at the same time may see either
the old or the new behavior until extend_type_with returns. It is recommended to apply your extensions
at import time, before starting other threads.
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.
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.
Releasing
The version is taken from the latest vX.Y.Z git tag (see tools/version.py), so there's no version to bump in the code.
Builds between releases get a development version, such as 1.3.1.dev4+gabc1234.
To release, publish a GitHub release with a new vX.Y.Z tag. This builds the wheels for all platforms
and Python versions and uploads them to PyPI. The upload is refused if the wheels' version doesn't match the tag.
Built-in Extensions
Note: All of the following
listextensions also exist ondict_keys,dict_valuesanddict_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.
coroutine.then(self: Awaitable[T], fn: Callable[[T], Awaitable[U] | U]) -> Awaitable[U]
Maps the result of the awaitable via an optionally async function. If the function is async, it is awaited in the context of the wrapped awaitable.
Example:
async def get_value():
return 10
result = await get_value().then(lambda x: x * 2) # result is 20
coroutine.catch(self: Awaitable[T], fn: Callable[[E], Awaitable[U] | U], *, exception: type[E] = Exception) -> Awaitable[T | U]
Catches an exception of the given type and calls the passed function with the caught exception.
If no exception was raised inside the wrapped awaitable, the function will not be called. The passed function can optionally return a value to be returned in case of an error. The passed function can be either sync or async. If it's async, it is awaited in the context of the wrapped awaitable.
Example:
async def might_fail():
raise ValueError("error")
result = await might_fail().catch(lambda e: "default", exception=ValueError) # result is "default"
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,rangeandzip
.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.
Metadata
Release files for extype 1.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 13.9 MB
Release files / extype-1.3.0-cp314-cp314t-win_amd64.whl
| Download URL | extype-1.3.0-cp314-cp314t-win_amd64.whl |
|---|---|
| Size | 26.0 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7af91d8414d2f29ca67e03ef7a6477d9334d46357bb95eac28026cda4e66b2d8
|
|
BLAKE2b-256 checksum How to use checksums |
a3e8bb2e02e27709fe7fcf8b2ac2ba82b0c9be5ba5c8fd1e0d81e199e4574122
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl
| Download URL | extype-1.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
adf04adecd5923c235953c7666be478d905a5d9f14621e4888fd41060023ab19
|
|
BLAKE2b-256 checksum How to use checksums |
9adea33fa01ef442e0bfef95464bff85417ec060c35d9c9609c065b1a9e6ca6f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | extype-1.3.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 24.6 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
7f1d3b9391b320d6ff56599f29f9bfbb9dae0901072cae2831a5b38265c5df83
|
|
BLAKE2b-256 checksum How to use checksums |
fe5927a291f147bc8c6d67e234ea155128ffe9d912563916139a8742a7c6b997
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp314-cp314t-macosx_15_0_x86_64.whl
| Download URL | extype-1.3.0-cp314-cp314t-macosx_15_0_x86_64.whl |
|---|---|
| Size | 20.9 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 15.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
0d93be1053a140adf7c68e1765bd424265032e2d2ce041f4d9e0e94008266f57
|
|
BLAKE2b-256 checksum How to use checksums |
4af068aadf2584aebca3e498836107b4f74318f44087f72e51f946a72687273d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp314-cp314-win_amd64.whl
| Download URL | extype-1.3.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 27.5 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
bdf9301e0b42e1c408610a9533518be1ed328d8ad0acea78f6e47b061534984a
|
|
BLAKE2b-256 checksum How to use checksums |
0b8e268c775826834fe0e1e5cd4539933d4cda5460adbaa7ec076074c83a37cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp314-cp314-musllinux_1_2_x86_64.whl
| Download URL | extype-1.3.0-cp314-cp314-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.14 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
f383bf27f66822d3083b4d555066233629952d258da77d3ddd50c9ba78c89664
|
|
BLAKE2b-256 checksum How to use checksums |
5fb8c33a664ebc0dca245bc55c2afffda42f4b6c965da35733d21a2f56b5ed48
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | extype-1.3.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 24.9 kB |
| Tags | CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
8fd1fbd941cf91b9601cf56c466f7b668164e411b2bdbe65a5582612d8f3e35b
|
|
BLAKE2b-256 checksum How to use checksums |
6addabe181a250b11e2b4f358c405682d8bb30b605789fe0dd962dfdc4353983
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp314-cp314-macosx_15_0_x86_64.whl
| Download URL | extype-1.3.0-cp314-cp314-macosx_15_0_x86_64.whl |
|---|---|
| Size | 21.6 kB |
| Tags | CPython 3.14 macOS 15.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
292fc635a714f1ea76e8dd3fcfcd2909ceb3c60d2dc9c2f83bcb3a1d2e08f017
|
|
BLAKE2b-256 checksum How to use checksums |
a0424237522c6a54bed1f57507d37febe414ae52215148740f646a7d4dd659a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp313-cp313-win_amd64.whl
| Download URL | extype-1.3.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 27.0 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a34b95012893b23a146a77d1a861be38ca08190ab7f4360972c2d4a8dafb67de
|
|
BLAKE2b-256 checksum How to use checksums |
8a529db45218b0a41e040d5a15b6e8016efc6c0d29137db452b852e02de6145b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | extype-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
d7e19ca4ee598052212ca81e8ad2990a67cd730524bdeccdaf9a12b01246943a
|
|
BLAKE2b-256 checksum How to use checksums |
5087f4577ec0e0a5cdbe191174c61869fc62518a067c4f9f41cc95fb7d834e8c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | extype-1.3.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 24.8 kB |
| Tags | CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
8bdee97458cca48058f919b182e584eb8fd736301c2f4669d06e264508e8186d
|
|
BLAKE2b-256 checksum How to use checksums |
3be9362833c9c2a64cb77e4803a119928fcb41ea8c7d7d658c138ac9d617b2d7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp313-cp313-macosx_15_0_x86_64.whl
| Download URL | extype-1.3.0-cp313-cp313-macosx_15_0_x86_64.whl |
|---|---|
| Size | 20.3 kB |
| Tags | CPython 3.13 macOS 15.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
b8f64d9ea27180c749132dcfe7cdffd35f2ac4761af767af9a3cc454ef721ae2
|
|
BLAKE2b-256 checksum How to use checksums |
ad8a90ab53f58864629b94a8616869992d746f4eef14050b8247d20fd82d826a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp312-cp312-win_amd64.whl
| Download URL | extype-1.3.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 27.0 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
8ae36684e6c6847d350038e1022ce98470cdf678cf490574eb3c2b0ea33d8055
|
|
BLAKE2b-256 checksum How to use checksums |
e7ea723e03288af6919581a07ec8d2dafb961a22b0ef8a75faec34c517ae8c9d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | extype-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
7419127b270ab1b3e43d632ac4397c1fc2ab1b47dc9fa00648438f2cb228e3dd
|
|
BLAKE2b-256 checksum How to use checksums |
e31767bde5f758c4a9344330b41e3df9091a7ddcff062aed0c3bddace3ade909
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | extype-1.3.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 24.8 kB |
| Tags | CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
9830311376c046c4c8317f6253cd5b59e85960c90abbb6a1870c10e0522f185f
|
|
BLAKE2b-256 checksum How to use checksums |
d42b7fbd00894fe3c362ce0990699acc5e7b53785ff7c3be5d2e715a610ae785
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp312-cp312-macosx_15_0_x86_64.whl
| Download URL | extype-1.3.0-cp312-cp312-macosx_15_0_x86_64.whl |
|---|---|
| Size | 20.3 kB |
| Tags | CPython 3.12 macOS 15.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
2c89dcdd1fd3091f971c78e0c032f6f2392ee918744d7a4e7ecc22b64b4210cd
|
|
BLAKE2b-256 checksum How to use checksums |
8dd62fdd43ec0cbaca962767ea5c5d1c58ea2d5daa7c2078ba359fcca43371c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp311-cp311-win_amd64.whl
| Download URL | extype-1.3.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 27.1 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c4f13bbf7e675c7e599da39223ac71cac8e2ebf6d91e9f497c5db447c5b7c35b
|
|
BLAKE2b-256 checksum How to use checksums |
b5ff6f38f8eb14ff9683830a04bc82265113f606c3e4a4f2343d8295671b89ce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | extype-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
a19ca333bd5deba217a268ae18b0a47d755f009afc426134a5838213e7612662
|
|
BLAKE2b-256 checksum How to use checksums |
7313a294c3a817080247fd92df88102f3a84512aaed962f0a982bc87fbfbcafe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | extype-1.3.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 25.2 kB |
| Tags | CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
1ea8ce8d9034458da42b535385afce2a1c3a682bd96cc81d57f5a829926cae7e
|
|
BLAKE2b-256 checksum How to use checksums |
cbd427ce167c0ae1e7ea666f97c207350edf28e549a318e7278389104b927ea2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp311-cp311-macosx_15_0_x86_64.whl
| Download URL | extype-1.3.0-cp311-cp311-macosx_15_0_x86_64.whl |
|---|---|
| Size | 21.4 kB |
| Tags | CPython 3.11 macOS 15.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
69024f707ab1c5834129319f0fec37c30d5e9949df80ce8e4a51978b587330d7
|
|
BLAKE2b-256 checksum How to use checksums |
40b5b5afc4e79a18580e8e41df02429fe26df791cc1376b3df73536a8f90ba0a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp310-cp310-win_amd64.whl
| Download URL | extype-1.3.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 27.1 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
497de59c150d2aa6c8915a19f2056090fb6328470687dab5071014aa8e79ff6e
|
|
BLAKE2b-256 checksum How to use checksums |
176ed269dddd53c3ba7cb6aae5907f9ef954ff2fc335db5752504af389446099
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | extype-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
26c79fc92bcd09beb749bca3cedf382967c550ca37bdf9de9201aaf6791b34f4
|
|
BLAKE2b-256 checksum How to use checksums |
39bc9ac269cae631efa2967525866f83ebd928bba6246787210adb4ce3634fda
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp310-cp310-musllinux_1_2_i686.whl
| Download URL | extype-1.3.0-cp310-cp310-musllinux_1_2_i686.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-32 |
|
SHA-256 checksum How to use checksums |
d29c3ecebe0d2a986bc222a5d8edda15fcfb312f0bda4d2ccd8d026c62e767fb
|
|
BLAKE2b-256 checksum How to use checksums |
eb046ca56e2665cb3bf439e3b01e2c135fb9aaaf273a84702b187446f5b9b0d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | extype-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 24.6 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
32862e0fdde40388eeecf8da7a08cfde167a2ea1d2325ab5630961e627e5a4ba
|
|
BLAKE2b-256 checksum How to use checksums |
a46c4d00d9370f0c15df75167219bda2a91105c6bf9fdac333b31561accc0348
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | extype-1.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 25.1 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32 |
|
SHA-256 checksum How to use checksums |
d0b8b99b7bf471dda92f6e5064bd3a24e6b47b3ffeeeb7bec27c44a0ffa4a371
|
|
BLAKE2b-256 checksum How to use checksums |
bfcaf4f13ed5f47661a449f10afb13f848a38f967888cd462b45f0f5ec685dbc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp310-cp310-macosx_15_0_x86_64.whl
| Download URL | extype-1.3.0-cp310-cp310-macosx_15_0_x86_64.whl |
|---|---|
| Size | 21.4 kB |
| Tags | CPython 3.10 macOS 15.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
50973bb233fa8c9d73574229a6a3a90ed007abe66c45df3a1d3d132136103b41
|
|
BLAKE2b-256 checksum How to use checksums |
bab2c573175ed2e63283836891c4ee0b70c2519b7aaf5fb65dd29b8af7fb4624
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp39-cp39-win_amd64.whl
| Download URL | extype-1.3.0-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 27.3 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
2411947c78d276fe801e2d8b282665078b52c957734b1b0416cab2fe9dc441e5
|
|
BLAKE2b-256 checksum How to use checksums |
1a0fcc9dbfc16c5faeedf8fda5be99dce109500f22d829b5c56915d773abca33
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl
| Download URL | extype-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.9 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
a11d68aaf8dc3172a5981ba3ba1c82f878c2ab7ac1c643ab7eedbf815b5b2902
|
|
BLAKE2b-256 checksum How to use checksums |
57c104b771d15782fdb55ce34a6176bf046f5efef31da8a1321e1823a851969a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp39-cp39-musllinux_1_2_i686.whl
| Download URL | extype-1.3.0-cp39-cp39-musllinux_1_2_i686.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.9 Linux musl 1.2+ x86-32 |
|
SHA-256 checksum How to use checksums |
e3395bca3cc714d4606a1f9b47bfe2d93bbf4a2ecc899e77ed7d2097097e7bae
|
|
BLAKE2b-256 checksum How to use checksums |
ff569047a8f205ccc831598a3ad3ff02f11924ceb44a18223c3c65e3ee9447e7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | extype-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 24.6 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
a1a745209a4bf88f2f73c3c5fc6a5b730c8bcea43faaf53550e6243c1a724f1b
|
|
BLAKE2b-256 checksum How to use checksums |
1a4db595896c44524e9ee53ce368d568e4d5223d49612c7bfd3bd32c1ebbe953
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | extype-1.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 25.1 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32 |
|
SHA-256 checksum How to use checksums |
be541f139d0c9e60ea4a6cf9b0440866bcbdc0f7e2a32d1309586e373199579a
|
|
BLAKE2b-256 checksum How to use checksums |
972f3566a20a36732e799195ef20625fa4c1e94f7d3b023f875cc598026a686c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp39-cp39-macosx_15_0_x86_64.whl
| Download URL | extype-1.3.0-cp39-cp39-macosx_15_0_x86_64.whl |
|---|---|
| Size | 21.4 kB |
| Tags | CPython 3.9 macOS 15.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
a9b8a68f24b4db012f0d5d514e050452f81c5c0d094d75077abe0c904401b9b7
|
|
BLAKE2b-256 checksum How to use checksums |
528c0c78a61bbfd17e4380176c87a3ef7518519665511795225be2ed5e18ac29
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp38-cp38-win_amd64.whl
| Download URL | extype-1.3.0-cp38-cp38-win_amd64.whl |
|---|---|
| Size | 27.3 kB |
| Tags | CPython 3.8 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f0d4d786fae90c69cfc2e96b1420963994eee0eed589134f80cd7d18e84c7a8c
|
|
BLAKE2b-256 checksum How to use checksums |
7bbcce1d1d0f069a855b2b80cafe5886169acf32f8b2f8671b0638853c92e386
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp38-cp38-musllinux_1_2_x86_64.whl
| Download URL | extype-1.3.0-cp38-cp38-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.8 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
3fca71e4a5c89bdee8f4f4ab0c29c145124ebc3c6047bc8676d16ad33bc8df52
|
|
BLAKE2b-256 checksum How to use checksums |
018f708299fef5ebdd3ceb4039c86abb46e8facb85ed575007db414159a45a1a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp38-cp38-musllinux_1_2_i686.whl
| Download URL | extype-1.3.0-cp38-cp38-musllinux_1_2_i686.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.8 Linux musl 1.2+ x86-32 |
|
SHA-256 checksum How to use checksums |
b45eaa2e233d927833b74ecec48357fe70804b8481037ba35796888e353ee624
|
|
BLAKE2b-256 checksum How to use checksums |
20129b937dc611a5a54f953796a41d64c208739513a19d6b6b456808c34618cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | extype-1.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 24.6 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
bc7dc351949a35a1bb007ffdd8a8908fc7bfac3f44951a05adbbd0fc5d197eb7
|
|
BLAKE2b-256 checksum How to use checksums |
73f42dfc0a7431943c24744ec99315355eff7c8708fee4e452175a6033515141
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | extype-1.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 25.1 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32 |
|
SHA-256 checksum How to use checksums |
f1a2961f0b8780ce99c7ca659a04030a63377c261b3ba3209879ca5a349d3a8d
|
|
BLAKE2b-256 checksum How to use checksums |
5d30059b9d7d76df6238bd76a054954820e0615431b5126c9a556c073509fdd3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp38-cp38-macosx_15_0_x86_64.whl
| Download URL | extype-1.3.0-cp38-cp38-macosx_15_0_x86_64.whl |
|---|---|
| Size | 21.4 kB |
| Tags | CPython 3.8 macOS 15.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
ab64ea88bcbb66685b6927818bcd4caf3708fc720a1d9eb54682220e6d54b4c8
|
|
BLAKE2b-256 checksum How to use checksums |
2dd462aa7652348734537c8351cc10a5967e13661e6c0a9e8ba5a8b593802931
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp37-cp37m-win_amd64.whl
| Download URL | extype-1.3.0-cp37-cp37m-win_amd64.whl |
|---|---|
| Size | 26.4 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Windows x86-64 |
|
SHA-256 checksum How to use checksums |
50a3bbd449ad4cae3c46cb049e9b10cd466fcf9f404fcddc101502256fb75147
|
|
BLAKE2b-256 checksum How to use checksums |
19a850816702b7e013031a2be838aeb473e5e15af6710f9a337e875f09901422
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl
| Download URL | extype-1.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 567.9 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Linux musl 1.1+ x86-64 |
|
SHA-256 checksum How to use checksums |
1d3d496a45671f62b2069c4a8aaf8a2bd5e9fc9739553fd6152c16151a180fb1
|
|
BLAKE2b-256 checksum How to use checksums |
e78416ca25dcaaad7a7ffddabe8458478eb4db248a2dbec9efb80de4284f337e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp37-cp37m-musllinux_1_1_i686.whl
| Download URL | extype-1.3.0-cp37-cp37m-musllinux_1_1_i686.whl |
|---|---|
| Size | 622.6 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Linux musl 1.1+ x86-32 |
|
SHA-256 checksum How to use checksums |
060d7afadd436f7f08bfca900cc278551725edb086995e2458d75eda0b9b0eee
|
|
BLAKE2b-256 checksum How to use checksums |
6a206bc9c7bd3454b59d40d1de0fb6a5dfb88ee9ed50be1e2d43111fb709ccc6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | extype-1.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 23.2 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
436347989f8a42d2bc96c7a801f46f186b1f1ecf83339b9a5509e7113610d226
|
|
BLAKE2b-256 checksum How to use checksums |
f98ad35f723b9bc87766412b9ddbe6a3cd145a6414e7089c1348c6562e4f6d6c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | extype-1.3.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 23.7 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32 |
|
SHA-256 checksum How to use checksums |
60cadb7cf1da02da1b7739b5d3e996f7b59d5dc2a381bc6a2f3d6d671879ee06
|
|
BLAKE2b-256 checksum How to use checksums |
48d67468256839544afdbd6f818ea39aa0db869c5f93b1d01b8d65f329eacc26
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Release files / extype-1.3.0-cp37-cp37m-macosx_15_0_x86_64.whl
| Download URL | extype-1.3.0-cp37-cp37m-macosx_15_0_x86_64.whl |
|---|---|
| Size | 20.9 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc macOS 15.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
d3f3783a90727361b5e3bccb7863ab3b4700d15e4967c3d8abe6c4ec9382a461
|
|
BLAKE2b-256 checksum How to use checksums |
a9244ecceab46b21735b0ec9b7f7bdb0a344543585eb9283b01dc6b89ef8395a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.18
|
Security for extype 1.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.