Skip to main content

Sychronized, streaming dictionary that uses shared memory as a backend

Project description

UltraDict2

Sychronized, streaming Python dictionary that uses shared memory as a backend

This is a maintained fork of ronny-rentner/UltraDict, published on PyPI as UltraDict2. Install with pip install UltraDict2 and import with from UltraDict2 import UltraDict.

Warning: This is an early hack. There are only few unit tests and so on. Maybe not stable!

Features:

  • Fast (compared to other sharing solutions)
  • No running manager processes
  • Works in spawn and fork context
  • Safe locking between independent processes
  • Tested with Python 3.11 - 3.14 on Linux, Windows and Mac
  • Convenient, no setter or getters necessary
  • Optional recursion for nested dicts

PyPI Package Tests Python 3.11-3.14 License

Atomic operations via atomics2

Shared locking is built on atomics2, a maintained fork of the abandoned atomics package, rebuilt on patomic v1.1.0 with prebuilt wheels for Python 3.11 - 3.14 across Linux, Windows, and macOS (including arm64). It is installed automatically as a dependency, so shared_lock=True works out of the box.

General Concept

UltraDict uses multiprocessing.shared_memory to synchronize a dict between multiple processes.

It does so by using a stream of updates in a shared memory buffer. This is efficient because only changes have to be serialized and transferred.

If the buffer is full, UltraDict will automatically do a full dump to a new shared memory space, reset the streaming buffer and continue to stream further updates. All users of the UltraDict will automatically load full dumps and continue using streaming updates afterwards.

Issues

On Windows, if no process has any handles on the shared memory, the OS will gc all of the shared memory making it inaccessible for future processes. To work around this issue you can currently set full_dump_size which will cause the creator of the dict to set a static full dump memory of the requested size. This full dump memory will live as long as the creator lives. This approach has the downside that you need to plan ahead for your data size and if it does not fit into the full dump memory, it will break.

Security

UltraDict uses pickle to serialize data by default. Unpickling attacker-controlled data leads to arbitrary code execution, and any local process that can guess or enumerate the shared memory names can write to the buffers. Only use UltraDict between processes that already trust each other and run under user accounts you control; do not use it as a boundary against untrusted local processes. If you need to share data with less trusted processes, pass a safe serializer (e.g. one based on JSON) instead of pickle.

Alternatives

There are many alternatives:

How to use?

Simple

In one Python REPL:

Python 3.11 on linux
>>>
>>> from UltraDict2 import UltraDict
>>> ultra = UltraDict({ 1:1 }, some_key='some_value')
>>> ultra
{1: 1, 'some_key': 'some_value'}
>>>
>>> # We need the shared memory name in the other process.
>>> ultra.name
'psm_ad73da69'

In another Python REPL:

Python 3.11 on linux
>>>
>>> from UltraDict2 import UltraDict
>>> # Connect to the shared memory with the name above
>>> other = UltraDict(name='psm_ad73da69')
>>> other
{1: 1, 'some_key': 'some_value'}
>>> other[2] = 2

Back in the first Python REPL:

>>> ultra[2]
2

Nested

In one Python REPL:

Python 3.11 on linux
>>>
>>> from UltraDict2 import UltraDict
>>> ultra = UltraDict(recurse=True)
>>> ultra['nested'] = { 'counter': 0 }
>>> type(ultra['nested'])
<class 'UltraDict2.UltraDict2.UltraDict'>
>>> ultra.name
'psm_0a2713e4'

In another Python REPL:

Python 3.11 on linux
>>>
>>> from UltraDict2 import UltraDict
>>> other = UltraDict(name='psm_0a2713e4')
>>> other['nested']['counter'] += 1

Back in the first Python REPL:

>>> ultra['nested']['counter']
1

Performance comparison

Lets compare a classical Python dict, UltraDict, multiprocessing.Manager and Redis.

Note that this comparison is not a real life workload. It was executed on Debian Linux 11 with Redis installed from the Debian package and with the default configuration of Redis.

Python 3.11 on linux
>>>
>>> from UltraDict2 import UltraDict
>>> ultra = UltraDict()
>>> for i in range(10_000): ultra[i] = i
...
>>> len(ultra)
10000
>>> ultra[500]
500
>>> # Now let's do some performance testing
>>> import multiprocessing, redis, timeit
>>> orig = dict(ultra)
>>> len(orig)
10000
>>> orig[500]
500
>>> managed = multiprocessing.Manager().dict(orig)
>>> len(managed)
10000
>>> r = redis.Redis()
>>> r.flushall()
>>> r.mset(orig)

Read performance

>>> timeit.timeit('orig[1]', globals=globals()) # original
0.03832335816696286
>>> timeit.timeit('ultra[1]', globals=globals()) # UltraDict
0.5248982920311391
>>> timeit.timeit('managed[1]', globals=globals()) # Manager
40.85506196087226
>>> timeit.timeit('r.get(1)', globals=globals()) # Redis
49.3497632863
>>> timeit.timeit('ultra.data[1]', globals=globals()) # UltraDict data cache
0.04309639008715749

We are factor 15 slower than a real, local dict, but way faster than using a Manager. If you need full read performance, you can access the underlying cache ultra.data directly and get almost original dict performance, of course at the cost of not having real-time updates anymore.

Write performance

>>> min(timeit.repeat('orig[1] = 1', globals=globals())) # original
0.028232071083039045
>>> min(timeit.repeat('ultra[1] = 1', globals=globals())) # UltraDict
2.911152713932097
>>> min(timeit.repeat('managed[1] = 1', globals=globals())) # Manager
31.641707635018975
>>> min(timeit.repeat('r.set(1, 1)', globals=globals())) # Redis
124.3432381930761

We are factor 100 slower than a real, local Python dict, but still factor 10 faster than using a Manager and much fast than Redis.

Testing performance

There is an automated performance test in tests/performance/performance.py. If you run it, you get something like this:

python ./tests/performance/performance.py

Testing Performance with 1000000 operations each

Redis (writes) = 24,351 ops per second
Redis (reads) = 30,466 ops per second
Python MPM dict (writes) = 19,371 ops per second
Python MPM dict (reads) = 22,290 ops per second
Python dict (writes) = 16,413,569 ops per second
Python dict (reads) = 16,479,191 ops per second
UltraDict (writes) = 479,860 ops per second
UltraDict (reads) = 2,337,944 ops per second
UltraDict (shared_lock=True) (writes) = 41,176 ops per second
UltraDict (shared_lock=True) (reads) = 1,518,652 ops per second

Ranking:
  writes:
    Python dict = 16,413,569 (factor 1.0)
    UltraDict = 479,860 (factor 34.2)
    UltraDict (shared_lock=True) = 41,176 (factor 398.62)
    Redis = 24,351 (factor 674.04)
    Python MPM dict = 19,371 (factor 847.33)
  reads:
    Python dict = 16,479,191 (factor 1.0)
    UltraDict = 2,337,944 (factor 7.05)
    UltraDict (shared_lock=True) = 1,518,652 (factor 10.85)
    Redis = 30,466 (factor 540.9)
    Python MPM dict = 22,290 (factor 739.31)

I am interested in extending the performance testing to other solutions (like sqlite, memcached, etc.) and to more complex use cases with multiple processes working in parallel.

Parameters

Ultradict(*arg, name=None, create=None, buffer_size=10000, serializer=pickle, shared_lock=False, full_dump_size=None, auto_unlink=None, recurse=False, recurse_register=None, **kwargs)

name: Name of the shared memory. A random name will be chosen if not set. By default, if a name is given a new shared memory space is created if it does not exist yet. Otherwise the existing shared memory space is attached.

create: Can be either True or False or None. If set to True, a new UltraDict will be created and an exception is thrown if one exists already with the given name. If kept at the default value None, either a new UltraDict will be created if the name is not taken or an existing UltraDict will be attached.

Setting create=True does ensure not accidentally attaching to an existing UltraDict that might be left over.

buffer_size: Size of the shared memory buffer used for streaming changes of the dict. The buffer size limits the biggest change that can be streamed, so when you use large values or deeply nested dicts you might need a bigger buffer. Otherwise, if the buffer is too small, it will fall back to a full dump. Creating full dumps can be slow, depending on the size of your dict.

Whenever the buffer is full, a full dump will be created. A new shared memory is allocated just big enough for the full dump. Afterwards the streaming buffer is reset. All other users of the dict will automatically load the full dump and continue streaming updates.

(Also see the section Memory management below!)

serializer: Use a different serialized from the default pickle, e. g. marshal, dill, jsons. The module or object provided must support the methods loads() and dumps()

shared_lock: When writing to the same dict at the same time from multiple, independent processes, they need a shared lock to synchronize and not overwrite each other's changes. Shared locks are slow. They rely on the atomics2 package for atomic locks. By default, UltraDict will use a multiprocessing.RLock() instead which works well in fork context and is much faster.

(Also see the section Locking below!)

full_dump_size: If set, uses a static full dump memory instead of dynamically creating it. This might be necessary on Windows depending on your write behaviour. On Windows, the full dump memory goes away if the process goes away that had created the full dump. Thus you must plan ahead which processes might be writing to the dict and therefore creating full dumps.

auto_unlink: If True, the creator of the shared memory will automatically unlink the handle at exit so it is not visible or accessible to new processes. All existing, still connected processes can continue to use the dict.

recurse: If True, any nested dict objects will be automaticall wrapped in an UltraDict allowing transparent nested updates.

recurse_register: Has to be either the name of an UltraDict or an UltraDict instance itself. Will be used internally to keep track of dynamically created, recursive UltraDicts for proper cleanup when using recurse=True. Usually does not have to be set by the user.

Memory management

UltraDict uses shared memory buffers and those usually live is RAM. UltraDict does not use any management processes to keep track of buffers. Also it cannot know when to free those shared memory buffers again because you might want the buffers to outlive the process that has created them.

By convention you should set the parameter auto_unlink to True for exactly one of the processes that is using the UltraDict. The first process that is creating a certain UltraDict will automatically get the flag auto_unlink=True unless you explicitly set it to False. When this process with the auto_unlink=True flag ends, it will try to unlink (free) all shared memory buffers.

A special case is the recursive mode using recurse=True parameter. This mode will use an additional internal UltraDict to keep track of recursively nested UltraDict instances. All child UltraDicts will write to this register the names of the shared memory buffers they are creating. This allows the buffers to outlive the processes and still being correctly cleanup up by at the end of the program.

Buffer sizes and read performance:

There are 3 cases that can occur when you read from an `UltraDict:

  1. No new updates: This is the fastes cases. UltraDict was optimized for this case to find out as quickly as possible if there are no updates on the stream and then just return the desired data. If you want even better read perforamance you can directly access the underlying data attribute of your UltraDict, though at the cost of not getting real time updates anymore.

  2. Streaming update: This is usually fast, depending on the size and amount of that data that was changed but not depending on the size of the whole UltraDict. Only the data that was actually changed has to be unserialized.

  3. Full dump load: This can be slow, depending on the total size of your data. If your UltraDict is big it might take long to unserialize it.

Given the above 3 cases, you need to balance the size of your data and your write patterns with the streaming buffer_size of your UltraDict. If the streaming buffer is full, a full dump has to be created. Thus, if your full dumps are expensive due to their size, try to find a good buffer_size to avoid creating too many full dumps.

On the other hand, if for example you only change back and forth the value of one single key in your UltraDict, it might be useless to process a stream of all these back and forth changes. It might be much more efficient to simply do one full dump which might be very small because it only contains one key.

Locking

Every UltraDict instance has a lock attribute which is either a multiprocessing.RLock or an UltraDict.SharedLock if you set shared_lock=True when creating the UltraDict.

RLock is the fastest locking method that is used by default but you can only use it if you fork your child processes. Forking is the default on Linux systems.

In contrast, on Windows systems, forking is not available and Python will automatically use the spawn method when creating child processes. You should then use the parameter shared_lock=True when using UltraDict. This uses the atomics2 package, which is installed automatically as a dependency.

How to use the locking?

ultra = UltraDict(shared_lock=True)

with ultra.lock:
	ultra['counter']++

# The same as above with all default parameters
with ultra.lock(timeout=None, block=True, steal=False, sleep_time=0.000001):
	ultra['counter']++

# Busy wait, will result in 99 % CPU usage, fastest option
# Ideally number of processes using the UltraDict should be < number of CPUs
with ultra.lock(sleep_time=0):
	ultra['counter']++

try:
	result = ultra.lock.acquire(block=False)
	ultra.lock.release()
except UltraDict.Exceptions.CannotAcquireLock as e:
	print(f'Process with PID {e.blocking_pid} is holding the lock')

try:
	with ultra.lock(timeout=1.5):
		ultra['counter']++
except UltraDict.Exceptions.CannotAcquireLockTimeout:
	print('Stale lock?')

with ultra.lock(timeout=1.5, steal_after_timeout=True):
	ultra['counter']++

Explicit cleanup

Sometimes, when your program crashes, no cleanup happens and you might have a corrupted shared memeory buffer that only goes away if you manually delete it.

On Linux/Unix systems, those buffers usually live in a memory based filesystem in the folder /dev/shm. You can simply delete the files there.

Another way to do this in code is like this:

# Unlink both shared memory buffers possibly used by UltraDict
name = 'my-dict-name'
UltraDict.unlink_by_name(name, ignore_errors=True)
UltraDict.unlink_by_name(f'{name}_memory', ignore_errors=True)

Advanced usage

See examples folder

>>> ultra = UltraDict({ 'init': 'some initial data' }, name='my-name', buffer_size=100_000)
>>> # Let's use a value with 100k bytes length.
>>> # This will not fit into our 100k bytes buffer due to the serialization overhead.
>>> ultra[0] = ' ' * 100_000
>>> ultra.print_status()
{'buffer': SharedMemory('my-name_memory', size=100000),
 'buffer_size': 100000,
 'control': SharedMemory('my-name', size=1000),
 'full_dump_counter': 1,
 'full_dump_counter_remote': 1,
 'full_dump_memory': SharedMemory('psm_765691cd', size=100057),
 'full_dump_memory_name_remote': 'psm_765691cd',
 'full_dump_size': None,
 'full_dump_static_size_remote': <memory at 0x7fcbf5ca6580>,
 'lock': <RLock(None, 0)>,
 'lock_pid_remote': 0,
 'lock_remote': 0,
 'name': 'my-name',
 'recurse': False,
 'recurse_remote': <memory at 0x7fcbf5ca6700>,
 'serializer': <module 'pickle' from '/usr/lib/python3.11/pickle.py'>,
 'shared_lock_remote': <memory at 0x7fcbf5ca6640>,
 'update_stream_position': 0,
 'update_stream_position_remote': 0}

Note: All status keys ending with _remote are stored in the control shared memory space and shared across processes.

Other things you can do:

>>> # Create a full dump
>>> ultra.dump()

>>> # Load latest full dump if one is available
>>> ultra.load()

>>> # Show statistics
>>> ultra.print_status()

>>> # Force load of latest full dump, even if we had already processed it.
>>> # There might also be streaming updates available after loading the full dump.
>>> ultra.load(force=True)

>>> # Apply full dump and stream updates to
>>> # underlying local dict, this is automatically
>>> # called by accessing the UltraDict in any usual way,
>>> # but can be useful to call after a forced load.
>>> ultra.apply_update()

>>> # Access underlying local dict directly for maximum performance
>>> ultra.data

>>> # Use any serializer you like, given it supports the loads() and dumps() methods
>>> import jsons
>>> ultra = UltraDict(serializer=jsons)

>>> # Close connection to shared memory; will return the data as a dict
>>> ultra.close()

>>> # Unlink all shared memory, it will not be visible to new processes afterwards
>>> ultra.unlink()

Contributing

Contributions are always welcome!

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

ultradict2-0.2.0.tar.gz (263.3 kB view details)

Uploaded Source

Built Distributions

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

ultradict2-0.2.0-cp314-cp314-win_arm64.whl (135.5 kB view details)

Uploaded CPython 3.14Windows ARM64

ultradict2-0.2.0-cp314-cp314-win_amd64.whl (150.3 kB view details)

Uploaded CPython 3.14Windows x86-64

ultradict2-0.2.0-cp314-cp314-win32.whl (132.4 kB view details)

Uploaded CPython 3.14Windows x86

ultradict2-0.2.0-cp314-cp314-musllinux_1_2_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

ultradict2-0.2.0-cp314-cp314-musllinux_1_2_s390x.whl (1.1 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ s390x

ultradict2-0.2.0-cp314-cp314-musllinux_1_2_ppc64le.whl (1.1 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ppc64le

ultradict2-0.2.0-cp314-cp314-musllinux_1_2_i686.whl (1.1 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ i686

ultradict2-0.2.0-cp314-cp314-musllinux_1_2_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

ultradict2-0.2.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

ultradict2-0.2.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (1.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ s390xmanylinux: glibc 2.28+ s390x

ultradict2-0.2.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (1.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ppc64lemanylinux: glibc 2.28+ ppc64le

ultradict2-0.2.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

ultradict2-0.2.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (1.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ i686manylinux: glibc 2.5+ i686

ultradict2-0.2.0-cp314-cp314-macosx_11_0_arm64.whl (170.0 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

ultradict2-0.2.0-cp314-cp314-macosx_10_15_x86_64.whl (178.2 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

ultradict2-0.2.0-cp314-cp314-macosx_10_15_universal2.whl (320.7 kB view details)

Uploaded CPython 3.14macOS 10.15+ universal2 (ARM64, x86-64)

ultradict2-0.2.0-cp313-cp313-win_arm64.whl (132.1 kB view details)

Uploaded CPython 3.13Windows ARM64

ultradict2-0.2.0-cp313-cp313-win_amd64.whl (148.1 kB view details)

Uploaded CPython 3.13Windows x86-64

ultradict2-0.2.0-cp313-cp313-win32.whl (130.9 kB view details)

Uploaded CPython 3.13Windows x86

ultradict2-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

ultradict2-0.2.0-cp313-cp313-musllinux_1_2_s390x.whl (1.1 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ s390x

ultradict2-0.2.0-cp313-cp313-musllinux_1_2_ppc64le.whl (1.1 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ppc64le

ultradict2-0.2.0-cp313-cp313-musllinux_1_2_i686.whl (1.1 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

ultradict2-0.2.0-cp313-cp313-musllinux_1_2_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

ultradict2-0.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

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

ultradict2-0.2.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (1.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ s390xmanylinux: glibc 2.28+ s390x

ultradict2-0.2.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (1.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ppc64lemanylinux: glibc 2.28+ ppc64le

ultradict2-0.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

ultradict2-0.2.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (1.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ i686manylinux: glibc 2.5+ i686

ultradict2-0.2.0-cp313-cp313-macosx_11_0_arm64.whl (168.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

ultradict2-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl (178.2 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

ultradict2-0.2.0-cp313-cp313-macosx_10_13_universal2.whl (319.7 kB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

ultradict2-0.2.0-cp312-cp312-win_arm64.whl (132.6 kB view details)

Uploaded CPython 3.12Windows ARM64

ultradict2-0.2.0-cp312-cp312-win_amd64.whl (148.9 kB view details)

Uploaded CPython 3.12Windows x86-64

ultradict2-0.2.0-cp312-cp312-win32.whl (131.6 kB view details)

Uploaded CPython 3.12Windows x86

ultradict2-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

ultradict2-0.2.0-cp312-cp312-musllinux_1_2_s390x.whl (1.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ s390x

ultradict2-0.2.0-cp312-cp312-musllinux_1_2_ppc64le.whl (1.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ppc64le

ultradict2-0.2.0-cp312-cp312-musllinux_1_2_i686.whl (1.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

ultradict2-0.2.0-cp312-cp312-musllinux_1_2_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

ultradict2-0.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

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

ultradict2-0.2.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ s390xmanylinux: glibc 2.28+ s390x

ultradict2-0.2.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ppc64lemanylinux: glibc 2.28+ ppc64le

ultradict2-0.2.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

ultradict2-0.2.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (1.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ i686manylinux: glibc 2.5+ i686

ultradict2-0.2.0-cp312-cp312-macosx_11_0_arm64.whl (169.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

ultradict2-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl (178.8 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

ultradict2-0.2.0-cp312-cp312-macosx_10_13_universal2.whl (321.2 kB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

ultradict2-0.2.0-cp311-cp311-win_arm64.whl (133.7 kB view details)

Uploaded CPython 3.11Windows ARM64

ultradict2-0.2.0-cp311-cp311-win_amd64.whl (149.2 kB view details)

Uploaded CPython 3.11Windows x86-64

ultradict2-0.2.0-cp311-cp311-win32.whl (132.3 kB view details)

Uploaded CPython 3.11Windows x86

ultradict2-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

ultradict2-0.2.0-cp311-cp311-musllinux_1_2_s390x.whl (1.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ s390x

ultradict2-0.2.0-cp311-cp311-musllinux_1_2_ppc64le.whl (1.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ppc64le

ultradict2-0.2.0-cp311-cp311-musllinux_1_2_i686.whl (1.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

ultradict2-0.2.0-cp311-cp311-musllinux_1_2_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

ultradict2-0.2.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

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

ultradict2-0.2.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ s390xmanylinux: glibc 2.28+ s390x

ultradict2-0.2.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ppc64lemanylinux: glibc 2.28+ ppc64le

ultradict2-0.2.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

ultradict2-0.2.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ i686manylinux: glibc 2.5+ i686

ultradict2-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (173.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

ultradict2-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl (183.5 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

ultradict2-0.2.0-cp311-cp311-macosx_10_9_universal2.whl (329.9 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file ultradict2-0.2.0.tar.gz.

File metadata

  • Download URL: ultradict2-0.2.0.tar.gz
  • Upload date:
  • Size: 263.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for ultradict2-0.2.0.tar.gz
Algorithm Hash digest
SHA256 2e0651d3f493d4fb84c9d928e332d2e86e4badb0826db55f7f04de0d5e6b6e7e
MD5 5d2ae5ff563da7fecf0c310d335b6057
BLAKE2b-256 6d17fcc88e0614452c1cb09875fa1846010b929f7699cc369bbff582581dbf77

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0.tar.gz:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp314-cp314-win_arm64.whl.

File metadata

  • Download URL: ultradict2-0.2.0-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 135.5 kB
  • Tags: CPython 3.14, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for ultradict2-0.2.0-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 bbb0772fefb60eda81fe9380889b1dbcd6fed02345118feb95fa3f69fb8f87ce
MD5 63fb8052a7ef461c6700808d8e9b184a
BLAKE2b-256 703196252592eaea5b5148a3cadd122942d8752c9854fc05cdcbe26cbae6eab9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp314-cp314-win_arm64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: ultradict2-0.2.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 150.3 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for ultradict2-0.2.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 872512a9b50f26396551ee0f1bf38b6ec96d2f44d4d3247f7b2ba026ec2287d7
MD5 85e96d5c261f4109f4485c259caa271c
BLAKE2b-256 3502cc2d3e4490f0cd410cb08720a83abd933c8b06117c9b8548043cb74664ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp314-cp314-win_amd64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp314-cp314-win32.whl.

File metadata

  • Download URL: ultradict2-0.2.0-cp314-cp314-win32.whl
  • Upload date:
  • Size: 132.4 kB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for ultradict2-0.2.0-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 44081d36c7985aa8e3e4f77f033745c97b0ae4b3abc48358de7b6e93801a3345
MD5 f09a7cb6e2567933a80b1118a08c4993
BLAKE2b-256 f0db4fb8aa19ced8d1b7ad4e10a74463d28ebfad914e816e6ffa56186e811435

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp314-cp314-win32.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 de6df14006eadc7db0288bd5ffff722b80705da8fe45ccb5e9e79543f39693fb
MD5 c5b99e895bda657b08e69256d0ddf770
BLAKE2b-256 52e28f7a5ae8317effe5dd03ae880605be9e7403a32cabc7095520680391a544

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp314-cp314-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp314-cp314-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 3adbd4ed28b12adb02bca55274e49c3c9ef3c4e921ee1599badbf06a4190abcc
MD5 2ca1956300d204c5b55dc330cf1dc336
BLAKE2b-256 c585d8ccc0c286599bd5f9a25101f190cf4a8958f06a918aad4b1d72a77eac0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp314-cp314-musllinux_1_2_s390x.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp314-cp314-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp314-cp314-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 6e58d7c6560df22f377ca0886291133097d4efa1c62bb2e7e62d162aafff1d43
MD5 3aa6c56acd85c637df3d42e96c59619d
BLAKE2b-256 ee0f0672add3928a6b6609bf85ed469e8da86ccd232bc5701dbeaabd3a2fa36e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp314-cp314-musllinux_1_2_ppc64le.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp314-cp314-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp314-cp314-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 79a149abc81ce6e68897c3a835e7ff1f92b8e280483542454e9d86a4471d5658
MD5 1182c0b317d84989c6a8f1ba7ca5e6fb
BLAKE2b-256 f15d3036fa3ff135dbab1cdd03e832429851cba08ccca169d16add1cd90ec6b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp314-cp314-musllinux_1_2_i686.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e13948bee5745a23974582d61fc6bfb00fb8a015963045a8ff03c5eb2926e5d1
MD5 ec3b9a086be37574a953680525cc3956
BLAKE2b-256 36739b0424fbe63770b3d94dd4127cb6291018d8977e70fab9948e0d5648d30b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp314-cp314-musllinux_1_2_aarch64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 173fa357f1c0f8ff2c73ef01dbb6cfa29b221b9aeee2760d9ab3074352ffd2aa
MD5 006ba59db0c075c17ede180ddd7aee4e
BLAKE2b-256 33ea3eb8e5c88d094f58dc731fdfefa1849a4915d03f7b1b955276eb8a438012

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 89bc4d552f5fb70353ce2ccc178f5c8f96741331d59f36fe4dbde9b8ad77d24f
MD5 493325f5d9d1923aff8f8fae924bda77
BLAKE2b-256 0698ec3c46ebfe0bd029fe1d4684c899c94516b6d092eace346a53fb3d7d4d8f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 0c11364bc80c35218e7b04a55e366d1d76a1b8c758a60e7c4737ad612f696e34
MD5 b75dba8da618dffa8562449d5ca6f55d
BLAKE2b-256 bb1e8fa09104b59c466f206b4e2f0ba4a3240c670cc0ff28c5337ece08efd112

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 25ecfe33af80a605a66a511a2da7d757ac8c5d05c9f79e469984f940ba8375c7
MD5 ffff312239fb2dd34ce2af757bb65f02
BLAKE2b-256 13b0fb22f073f2cb205ba1908b01869f36e93d42f9749cd158c49b41e0720c61

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 087bde1b144cce53691ccc3babd4057644b22cea348fc2854efb09740a06650c
MD5 4b1a42d44d3f1c89dbf5e7165797a56e
BLAKE2b-256 2363b7fab676452c0bcf80266ca9c26b685d69ddc7fdf4e311646a1a7046e28c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3c1f66f6e783af80ca96110040a0ee50ce7e4da9e668c333b21c2aa6632d6f78
MD5 97dd9a0956927a9124a94d9bdf20deda
BLAKE2b-256 db0a235904b567f383dadabdbfe8e5f0d7486440057bf3abe02fab54818c35cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 28c6c46f19fe427fe0601e7d5147dce268d1a65024a11b23ebdded4c79d781e5
MD5 6a4405e2991402f3a7674e6cd1fc9776
BLAKE2b-256 55e782c79bfc0fb251398934dc67a05b415345240cc236b3b3e729420f2669ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp314-cp314-macosx_10_15_x86_64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 2b7db578a136e1c1eb8c232de7b51a717acbb48ed1abddd6fbd8388b27c988fa
MD5 9acdfa188fb44fb73ad81f7f0e7cb72e
BLAKE2b-256 b5d929d55323b03c510b4775e93600db72c4455f73f305c9828293fb08d869d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp314-cp314-macosx_10_15_universal2.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp313-cp313-win_arm64.whl.

File metadata

  • Download URL: ultradict2-0.2.0-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 132.1 kB
  • Tags: CPython 3.13, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for ultradict2-0.2.0-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 2f6426652837b49047f1ed1587f30ea39b9172b97b716f95a062bf4bb2208f51
MD5 c64abc4f5b4d398322f68b8b1bd7e0e0
BLAKE2b-256 ef8dd508b113f32fc28e980bfb27f5ab82527d5d48ed0caadcfd2c67295163dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp313-cp313-win_arm64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ultradict2-0.2.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 148.1 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for ultradict2-0.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2ab5cc7d7f7e8e05ca903348697696e268c9ea542f306ba5a68f18959727cb42
MD5 1a8a8544a08e38c2e2e2df45e98a8bf7
BLAKE2b-256 6e9c9651983b369288e93ba0911d5058b59edf354a24e1019127800ce9c7205d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp313-cp313-win_amd64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp313-cp313-win32.whl.

File metadata

  • Download URL: ultradict2-0.2.0-cp313-cp313-win32.whl
  • Upload date:
  • Size: 130.9 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for ultradict2-0.2.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 d70aeff13b82b8bbaffa0bcc31d221d68c5eea710bedd4bd4bff3e6afac5ac48
MD5 f631e2c5e3983c09b5a1b9927ebed2a7
BLAKE2b-256 fb53f839f03626b9c81a8efc7303c3e6c04aaf267dddfde2b7ddbb6fa8d7e500

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp313-cp313-win32.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 821e88c391e471a67b9e5c9e6d1d0b1c9dc9a835a9eae380891a8970614b066f
MD5 afd21f48ecc3f4ec52a32f954b51ceac
BLAKE2b-256 a9647320299e1c1cfd1a0ac35d700f71b18b55a82089b05e34e1e65d84eed9ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp313-cp313-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp313-cp313-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 204cf98ea138151f089d991c7b7d302f102293cc65d7b51c4de284c3422b63f1
MD5 66c6d2e867635280c49e3c5d7135e1c5
BLAKE2b-256 f98b20a4ea6210e3676e80bb664c8c0c0a5ac874473d9b84a02f4319533dfc0c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp313-cp313-musllinux_1_2_s390x.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp313-cp313-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp313-cp313-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 5f9ff4b39d7acc2c5aa3a069b43105ca019089ad5474f9264191ee28312d54a1
MD5 47f5946b87167b925554919f78ca716e
BLAKE2b-256 9666650df6e69a4857dc1b4eea12e4cf66a3fe02c633d68343c1d3dd96b5bd43

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp313-cp313-musllinux_1_2_ppc64le.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 16677912910fe396c3a9f1066c09fbc4b58bd068229284339b70494aa486e847
MD5 5b5426dc293f22bdaa20f373d5c250dd
BLAKE2b-256 d18211be308d130d9453a7ce908ced3d3102cf5a4592b878cd4581d4db01e219

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp313-cp313-musllinux_1_2_i686.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 48501d11575e4a36b4e2c9d9872b2f09ff02df33b772a782b3d39a97f5279211
MD5 c5ba79d3811ec437ba441bfc308e1b85
BLAKE2b-256 25c301ebac8257dce0549d17939b0273af02e1f1c8e454da3cf248ab71a59aa9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 74520dc247ff7eaa1d3e1dcbc1485ed78b7b78931c2a887e37a57c4056ed15ca
MD5 4330b700f0d6b621f3d0574a7d052dd3
BLAKE2b-256 794934f1417cbbaa323884653df4c52d9643f639cc8120a30db51871a05b0fa9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 ec30dba6274c872b34d52de7592772f6b0d0463ce11053ef3b24ff932bdad479
MD5 4ef10dcd176a6663398a5f97de85078d
BLAKE2b-256 4b17c0dc249936a42e72730edd8c0773876316e12630f8300a678356b7e8df5b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 6084e3988089e6f453cf5f02e0eb9eca108501062af052930ab076b1da576e61
MD5 63930ffb0106f9e57a7084a3e0c4384e
BLAKE2b-256 27778c940cfe36fcac2a3bcd0280b8f0f924c339512d752820e17ce824da9e0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5483c2224aaafa368b5fb142f7cf6a00a6f6b83ac70e943519ed65d241825528
MD5 e6458b285d512267819ae89b1cd16dcf
BLAKE2b-256 0208c34d0983c29b2120ee227ebc438323f9a58f742aa540b9cdfe0e979c715c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 7e4c67e6be0468fbb47948c210b1afd5f9d1dd21dc51965d282cc239ca412f37
MD5 1f22d4cc1e902e7434ea305976e852d0
BLAKE2b-256 c33de0f48535e351ec38c8a323376f054d4a79585df7529723a1fffcdc06bfcf

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dd99440666b47a5fef37d673f13aa377177e69e499908cf884c9c646687162fc
MD5 261966fc91dde03ebfec9701082dadad
BLAKE2b-256 69b2f4d1902e482b09352ca85508a68fe366b7cbbdbbe15ac33a32a6c2d35962

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 9fa44489f097e13b65e207aedf20cdd8b854f623b124a38640528ab3bcd2023c
MD5 4a76360a96d0e8a484794b2a661bdeb2
BLAKE2b-256 66d12a907235d3b45909697ea710814efa5b26a4f5f3c21d8bcf97a8e42aab88

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 78bd23ca446222ac4dc53894dfca5246a5ccf56c403a593855e20599ddfe2b96
MD5 88ff2f91da154116d7a7ddb6d4751f7d
BLAKE2b-256 5cac97036e54afef32a2a73856a4d3f74aef13a21f714f3a2060382163b2f165

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp313-cp313-macosx_10_13_universal2.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: ultradict2-0.2.0-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 132.6 kB
  • Tags: CPython 3.12, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for ultradict2-0.2.0-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 864959d689e470c9b4173e11ab5278a7d9fa3689b9aa553110c42282db8515bd
MD5 09c590b5ab184816ef56b0721adda3b3
BLAKE2b-256 2372b429be1aaff8bcd7c50eba1e2f0c86a210c0649a22bfec5a524666e9ad95

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp312-cp312-win_arm64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: ultradict2-0.2.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 148.9 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for ultradict2-0.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ebcee92bfeb2d01e0880ce52528aa5340ddf4dd0bb4e5a24bbce3e7d80f3bff8
MD5 314e14994f6556510125bf70f1a00de4
BLAKE2b-256 d84fb51f5cd4b0956574eaa87b5bfd74f99018af587043d84ce0efb786c88a08

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp312-cp312-win_amd64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp312-cp312-win32.whl.

File metadata

  • Download URL: ultradict2-0.2.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 131.6 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for ultradict2-0.2.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 cf1c83d53214611a80af1d19fcdac5bc79fe62fb9718f10404fce1063abeb14a
MD5 26728f8059df57c2c4dd41b9d8c696de
BLAKE2b-256 92a02d0aa06ad2e138c23538dde5b1a7af9c7b0169436068d29b7f4b007272f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp312-cp312-win32.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2108178b292618b0a005cd6d12d3690121b810b13f7bd74ba51a606e5de7c309
MD5 a55e9dc777e171050f86284f6b906370
BLAKE2b-256 4a2dfd651bac5453f6cbab483bf3c1a6884f0eb7a6c5848035fbb80a65de4c26

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp312-cp312-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp312-cp312-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 279ee2488696ecc7ef84eef144762912f3d8dc2f507f9c3ad0ed142ae2b50ac9
MD5 c281354340918833c69e2b962cc43055
BLAKE2b-256 0ffadee005dfaeb17d08a43fd94d5dcd009b19c32bae9e213a9b94835add31d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp312-cp312-musllinux_1_2_s390x.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp312-cp312-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp312-cp312-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 af3a1d970068b9d613d6da1f50ba2effec2ce668fc8a45c8404b99afc2cefd45
MD5 bc2649276ceb439902bc9a6a9e215ee0
BLAKE2b-256 8b25ed42948e1d97f245aad470a3864eb53e3399e6c0000b782e251d7bcec9c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp312-cp312-musllinux_1_2_ppc64le.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 a46fb1c8c598a9e0a6022be92f616cba52fa09ee7f0bfccaeaa9209614bb1dab
MD5 1dab0de10bd47314bd0da41c66d7dfff
BLAKE2b-256 11ea533fba916fc7651611eee36b1b19536052a70f3cd21f9c37e834628e84a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp312-cp312-musllinux_1_2_i686.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e8430d20056ee8f07bbf675aa61d5fdb952bb8603a94350dcc463bfa5f37d399
MD5 1d6fa20a000e1fdac66dd86ccf10a8d4
BLAKE2b-256 47caeaf1487a5e17bc5bd9a0ba9f51783a3fd4c3e44f771164ed7c63e371271b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d24a08e9f6d9e88348c659e856274a201ce272049a0dc43ca8cad9d6397b049e
MD5 8dcc431bfbf1b57fb017ccdf47c8737b
BLAKE2b-256 6b19fdc20959ae971e4efca803da94024c173223be20498b3db5f31abe7af8ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 bb8451717f171739f34499b24a380ce2f4e48ad56844e2617be0baea380ce72c
MD5 21e449d4dcfac274336cc1bd0e8af46b
BLAKE2b-256 3c37f373b16e891dd36f66fe80b9da843243a6c9380144962212064c5717e7e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 d0270dbc918558917dd50d7034c3337c5fb8030a719f692cf3c34eacc8938333
MD5 80c61ce9e7f42fb7b78533bba7878fb2
BLAKE2b-256 520d61c3e40fe14b52ac4fa92f1f4179d3f4cea2bb42f6bb7d354e8030575332

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2c62dd9e6a4a3e3f5529884e1162e89c2e8d5b3299503ea9414cb7954bb438d7
MD5 d78bc49bf1076c172353458d0fcee6e4
BLAKE2b-256 ab8007bdedbcdb0c0ac7c9f4f65a2f42f8764d6574e8c648af37a091839e4e4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 f1b2ba574ac1b391e771721ae5e5704f3331d4bdae34e959a10d577f6acb3cdc
MD5 c61780b2b2216158e2cb5a24db8d16e2
BLAKE2b-256 4e82633a6c76fb612e1294f363e128e064e140709019d9919cc4118a46afb846

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fa427c33bde8d9c3bff83e1b750644ea14facb2660420294b5fa55b0ad16fa7f
MD5 ea267cd7870259cfd0e8047f36ed0464
BLAKE2b-256 9b88872a23941cd739ac356c2971dd06120c25526fce157bb54f2d458e216ef6

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 91be585c425205a702b8570165c0003371cb660b4685062adc18f2eca1d51525
MD5 014be14bd391fb93a5ab66c2246560c2
BLAKE2b-256 7a614de3a03c8217c3e0d0ec39979fee6e73e03fd08aa27585f2bd90faeb49f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 f161fc2c98d7df50716e9c3a64041e0c5be9b6d13883757b5a36543e6d3aefcf
MD5 dfa65b5c101879dac270d796c8dd9a73
BLAKE2b-256 b86d7e968c0df76e38b3e87cf40cfbd78a54307acedd4a6b35b11ccf478bb2bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp312-cp312-macosx_10_13_universal2.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp311-cp311-win_arm64.whl.

File metadata

  • Download URL: ultradict2-0.2.0-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 133.7 kB
  • Tags: CPython 3.11, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for ultradict2-0.2.0-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 8a1cb85647ab1509b15c6438c0261a998b54d73cf336e820309dda09b8eef959
MD5 932a3ef237fc34c3630211823a264c12
BLAKE2b-256 bdbd5c94b994a252985570952e5d4b046669e7ddfba4b96bc0b9c4faa679cf6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp311-cp311-win_arm64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: ultradict2-0.2.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 149.2 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for ultradict2-0.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8344ba6fcba59c86c28b9145fa8c50170c48d36fd931f1fb2ca0c2399bec93de
MD5 6c2e0d7c1b7f7632a481f5937452ddfa
BLAKE2b-256 ef397b90f4ca74db5f21c4ce965f2cd4f699b04ef8db4e8ca922900ee38d6ad4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp311-cp311-win_amd64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp311-cp311-win32.whl.

File metadata

  • Download URL: ultradict2-0.2.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 132.3 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for ultradict2-0.2.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 02f5de75ff8fb740ae0130dab6a2d1cb1f4715a0be64cec9ec7b628b72b448b9
MD5 adddfff1ed06bb16cc73fd883413aa0f
BLAKE2b-256 d34d2f62ac93cb07f636c20c276e9a18019601dcc8f5b5219b2977c5986c97c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp311-cp311-win32.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5639b79056972718a779f308b8fe0aace4bd32b9e63ca47280a12f11258d9da8
MD5 d4eb806a67400e8bb085a44e83a1f96b
BLAKE2b-256 62084ade36200d3236b4f1ce1cf51a3ab24f606e8256e9e3ed6e55fc00d7ac44

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp311-cp311-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp311-cp311-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 a01ca92ee2da5581b5e1149cecc4308c55f599a1263f9c4150cf7945ae368e8e
MD5 69361495f2657bc4f89a9b212e22a8b1
BLAKE2b-256 200bf893d76caa968b32c6bc17a65b10125b81d270d84bdda90d0d3a22387bcb

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp311-cp311-musllinux_1_2_s390x.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp311-cp311-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp311-cp311-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 2828a3ab1c15154041bc7969c717c5489e0d5a5506246e0d8615f657dbe3fa43
MD5 86f796c3ce8d8259c28939691a770d41
BLAKE2b-256 01029086769d87f53af1b65241e2ad55accc388e99715698de24f2747ca166e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp311-cp311-musllinux_1_2_ppc64le.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 c1b458bebc6d6517069bb814a9eefafed04fbe90a588282e253566ecccd93cfc
MD5 13bbe2a494f21a7ed4eeab8d6a390da0
BLAKE2b-256 607cf1d9c10a00117f2b337739a484e9eae6a0cc5152e689f6852d894a379bf4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp311-cp311-musllinux_1_2_i686.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 672b241f2d72b8b7a59e089fc1a91cc15f5c2cdb46b584df9821db81e4ff3364
MD5 6ca876dc2553ca7a44b27ea30f346f20
BLAKE2b-256 3afdb6e6e4df747df7714f3dbc021ee596427d0b65696ed412f1545a3016f5a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e568e3b54ccd9d2b5d27a88fb3f0f3cd68ace06e1823c6320e12397aee5310de
MD5 53564ea9e6804191b4ab984ceb5833b7
BLAKE2b-256 2b6bb9b71efab92554d02125b905b00cf28e1c58e5256ad2db28c8af1ff43266

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 719dd94d62d34022b164611cb35a391b0336910dc3677323c3f743ac7212e43f
MD5 aff5b13a1ab4ff6e8cb4d5b6abafde75
BLAKE2b-256 876171f19dd09cee8ae15bd49736896e52c4c5ee767d84ae326530438c187e5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 5d694f4f86eec19f126ce42788a05c561ebd53ec10cbd3aa40b5269aaf73540d
MD5 c053f1397bdb217832c9ad6a6330e997
BLAKE2b-256 1399ca86bd9898bfb33e1955ba70413c79152a6225184cc6a76be29f372e8d4e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fe1ea59ad9106f5c4fcfeaaf4c4c5a7e3493e72d2461de4f4a533e2c148bc564
MD5 a63447347233b1e4cdbc5ddd3115253d
BLAKE2b-256 22f2eb7b1edb7344ac689a405bf597acfd56f51c502e4e67759a0c1266e972a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 953b00061842708de47becc10f8cbbda8016ade081a359cf7bc2c70ac3f1cd72
MD5 b9d0cf7055fb5c1ad0096f7679b33d82
BLAKE2b-256 e957d44d9af3f5f48b9635d2aea6d1e7e71fa95109e0513a9b8a4eab745174ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 77852bf01b2bf9a276e44b6919413985b20e039541d3291893b1544eec13ab0d
MD5 348fd9f7c8a92013ef668d782d0ec129
BLAKE2b-256 ee8e517758fe163c609c40da8c565000dfc466548f36604c34d74bf3a85218c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e82ccff7128eac53049e22e7627aef9295ed3586b3714a3b2bd6999df9d1853d
MD5 fd9ce8f02ca04a9d9297b16567e12f5b
BLAKE2b-256 71d151579ce460ac69fdd4cfc16c9fe9adf528efb839f8f8b96d255fa06edfd0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ultradict2-0.2.0-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ultradict2-0.2.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 5b94766edf11d0382b7afa370bcb920b73ac967cc4c10d5f96833f050e1c1950
MD5 ce06b6716a7dcadc7416f831094ba4c3
BLAKE2b-256 9af7076af3cc4a658959b59f5bf1db79fe08a7d197fecedb70f542ce165e67e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.2.0-cp311-cp311-macosx_10_9_universal2.whl:

Publisher: on-release.yml on mvanderlee/UltraDict2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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