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.1.0.tar.gz (257.4 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.1.0-cp314-cp314-win_arm64.whl (132.7 kB view details)

Uploaded CPython 3.14Windows ARM64

ultradict2-0.1.0-cp314-cp314-win_amd64.whl (147.1 kB view details)

Uploaded CPython 3.14Windows x86-64

ultradict2-0.1.0-cp314-cp314-win32.whl (130.0 kB view details)

Uploaded CPython 3.14Windows x86

ultradict2-0.1.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.1.0-cp314-cp314-musllinux_1_2_s390x.whl (1.1 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ s390x

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

Uploaded CPython 3.14musllinux: musl 1.2+ ppc64le

ultradict2-0.1.0-cp314-cp314-musllinux_1_2_i686.whl (1.0 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ i686

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

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

ultradict2-0.1.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.1.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.1.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.1.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.1.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.1.0-cp314-cp314-macosx_11_0_arm64.whl (167.0 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

ultradict2-0.1.0-cp314-cp314-macosx_10_15_x86_64.whl (175.2 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

ultradict2-0.1.0-cp314-cp314-macosx_10_15_universal2.whl (315.4 kB view details)

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

ultradict2-0.1.0-cp313-cp313-win_arm64.whl (129.2 kB view details)

Uploaded CPython 3.13Windows ARM64

ultradict2-0.1.0-cp313-cp313-win_amd64.whl (145.0 kB view details)

Uploaded CPython 3.13Windows x86-64

ultradict2-0.1.0-cp313-cp313-win32.whl (128.5 kB view details)

Uploaded CPython 3.13Windows x86

ultradict2-0.1.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.1.0-cp313-cp313-musllinux_1_2_s390x.whl (1.1 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ s390x

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

Uploaded CPython 3.13musllinux: musl 1.2+ ppc64le

ultradict2-0.1.0-cp313-cp313-musllinux_1_2_i686.whl (1.0 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

ultradict2-0.1.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.1.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (1.1 MB view details)

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

ultradict2-0.1.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.1.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.1.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.1.0-cp313-cp313-macosx_11_0_arm64.whl (165.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

ultradict2-0.1.0-cp313-cp313-macosx_10_13_x86_64.whl (175.4 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

ultradict2-0.1.0-cp313-cp313-macosx_10_13_universal2.whl (314.0 kB view details)

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

ultradict2-0.1.0-cp312-cp312-win_arm64.whl (129.8 kB view details)

Uploaded CPython 3.12Windows ARM64

ultradict2-0.1.0-cp312-cp312-win_amd64.whl (145.6 kB view details)

Uploaded CPython 3.12Windows x86-64

ultradict2-0.1.0-cp312-cp312-win32.whl (129.2 kB view details)

Uploaded CPython 3.12Windows x86

ultradict2-0.1.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.1.0-cp312-cp312-musllinux_1_2_s390x.whl (1.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ s390x

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

Uploaded CPython 3.12musllinux: musl 1.2+ ppc64le

ultradict2-0.1.0-cp312-cp312-musllinux_1_2_i686.whl (1.0 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

ultradict2-0.1.0-cp312-cp312-musllinux_1_2_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

ultradict2-0.1.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.1.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl (1.1 MB view details)

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

ultradict2-0.1.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.1.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.1.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.1.0-cp312-cp312-macosx_11_0_arm64.whl (166.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

ultradict2-0.1.0-cp312-cp312-macosx_10_13_x86_64.whl (175.9 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

ultradict2-0.1.0-cp312-cp312-macosx_10_13_universal2.whl (315.8 kB view details)

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

ultradict2-0.1.0-cp311-cp311-win_arm64.whl (130.8 kB view details)

Uploaded CPython 3.11Windows ARM64

ultradict2-0.1.0-cp311-cp311-win_amd64.whl (146.5 kB view details)

Uploaded CPython 3.11Windows x86-64

ultradict2-0.1.0-cp311-cp311-win32.whl (129.9 kB view details)

Uploaded CPython 3.11Windows x86

ultradict2-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ s390x

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

Uploaded CPython 3.11musllinux: musl 1.2+ ppc64le

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

Uploaded CPython 3.11musllinux: musl 1.2+ i686

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

ultradict2-0.1.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.1.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.1.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.1.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.1.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.1.0-cp311-cp311-macosx_11_0_arm64.whl (170.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

ultradict2-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl (180.3 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

ultradict2-0.1.0-cp311-cp311-macosx_10_9_universal2.whl (323.7 kB view details)

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

File details

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

File metadata

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

File hashes

Hashes for ultradict2-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b024ba1884098c499dfce775b6ab0cc6e1b431946fc0473d3c28d660b5c3733c
MD5 05417ea1e7a25050e17554c38f695fc5
BLAKE2b-256 f17319dbb4d5a4548c50f70c21baaff3ac512a74d54622e59de5aeb196062fa4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp314-cp314-win_arm64.whl.

File metadata

  • Download URL: ultradict2-0.1.0-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 132.7 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.1.0-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 fe80ef871d3ed20efb44d073894ff91ec7a5c6241cff1cd8af9efdd03d501a1c
MD5 d02aaf4710e7095e2c2e09838b57c813
BLAKE2b-256 b999808e3051172c620d6f7463bd1708c15c9b8e848a0f6ef8851a6cfa4a1c61

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: ultradict2-0.1.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 147.1 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.1.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 9d7e7b3cf0f26c99a09b641eddc8782e92e4403d6d2775b87fde4ab168959bad
MD5 555201732d769a7033e5bc904b135fa8
BLAKE2b-256 30343197dc8d66a3097490aec2aa85c8efbb0a1ecdf46427dc8be40ccb1a057b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp314-cp314-win32.whl.

File metadata

  • Download URL: ultradict2-0.1.0-cp314-cp314-win32.whl
  • Upload date:
  • Size: 130.0 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.1.0-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 24171e016ada0750d5a8867f7fe6cbbc14bbbedbd34171f17a4d3cfbc822c115
MD5 0a85749e55a79a26d7f860b56c62b0ab
BLAKE2b-256 30afa67be40d383b75cd8a6ee8443236fd05ee1c6547d03215072c3a5e005aec

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b269f495f91ccf14b6a5ea274f1dabae803a4c126fe90bb317831ec6b7b3804e
MD5 6283393ac985c79b0f62c9551e027f21
BLAKE2b-256 4731dbf9bff358b785b803de4646cc7216647a160898f6ff66dd714466233977

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp314-cp314-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp314-cp314-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 b45fe2ab567cd08067447fdbb7315325383be847d279686136c0ec440b5771bd
MD5 fefd028246f3f07b8cb19ea1e08022e9
BLAKE2b-256 36e1624baf04ea2440723872a68da91f61aea7dc1dd87659d149a012e8e23c56

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp314-cp314-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp314-cp314-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 b443a2561256523412fbce8f3924bdc247d7c871c426ed4bfe75ee2f7d1be59d
MD5 ce0bd5e0c1c0630ece0a77563482b420
BLAKE2b-256 c9db55d88bbc48c9cfd536775cfba4e913225443620ce9b119d1e2f2a1d1ffad

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp314-cp314-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp314-cp314-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 848eaab8534f2647d7950fe164cde113e196db4e058756e096929dfbca33a578
MD5 23a33b8d9aa26e6350250ed5785ad9cf
BLAKE2b-256 a81a556b0edb8cc1ec8392e827ba33e2e74747fe73fa9e3786179e7207127a68

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5944e2efff9f1c693886e7d12f0d328febb00ba94e46f2538fbdc00a8814eec0
MD5 416a30ba089932cf966a44b241dc47c8
BLAKE2b-256 9bbea521fbf3fc855aff4b6a3e95cb4e1965da257ba9f3aec48d794a04faccce

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.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.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 488eb9b4e35bd644834109f154e923329a09c54ccb64c3292de12f4a05876df5
MD5 305553d44bf3e11df1421a492e8ad448
BLAKE2b-256 6b763f05b20364f95dd82acee6c57ced30932bef4a8bfd67cbf0405cba697dec

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 776c01c4ad266186e2b7b2a5e96d635754d6c3481bd44e1193f4d909ac331e8e
MD5 31139e57832624772d2c8d9e2a5a297f
BLAKE2b-256 d8cea7799308d874958e34b585803ac2b5f65f8a14fdc4a6612eb5f54919e935

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 d6a3d1b20361789347c282963dd6b824e43e68413e18f0e8b54ee6e3e06409ad
MD5 403838c860930c70c9942910cf545333
BLAKE2b-256 695b2ab61597cb13bd3ecf9e938ab37d6457756571c3f9dd47bb27bed8191e06

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e68e5a599e698bcc9f7848df6f226e821aea99501270b545d463d864ad64506b
MD5 33b88ab1bd6c76f55c5a56c0c5789aa8
BLAKE2b-256 27489cf53ac477ffff59f994d9e64d72807fea9ed149d0dce9d5d55208eb1fa5

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 68cdf631889751ee1d3405e3c7ed2a6330fbafbc00084e9bb8da33406478ca38
MD5 a1700fdfa2ff99cfcc43cd25b576db1d
BLAKE2b-256 3d88a852070fc2789e516fa44149108d39118627c3292462fe44f8aa2996a2dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d272bd2747441234c54866e45f5407ef5290ec928834c17944f35bcebe55c42a
MD5 4493f2b71ee07f145ee3a3a6a6f93d30
BLAKE2b-256 242fd85df6f375be413f11b3463d8895b55ae0b29ca7ae38bc6a795f5b3a8ea5

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 d4b773d5204b639e29b41d6aa352f675a55d3ff9c5ca8cdd50ffb9db9f23d096
MD5 b3a0cc0160414ad0b41e4d71ec66a9e5
BLAKE2b-256 1350a7329c357377a5fd015d2fc65c2fb17faa14f03f5fa46add341945ffa7fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 c4169b6ee2e5d4fc9a9a42329e213407c52cef86e313f2dc96dca1e0ea72a274
MD5 4918a25e673ea135dcac79b01b5d65dd
BLAKE2b-256 7f259ef036a0cab4412b544232f0289a1583554321976b54b3a222276d84d5b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp313-cp313-win_arm64.whl.

File metadata

  • Download URL: ultradict2-0.1.0-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 129.2 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.1.0-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 108f6311456360337a4fe3a88ddcf1a4c09034bb10163d2b7e1dd6fc2dbfefbc
MD5 ebbefd22477576b2988f01873e3d35c6
BLAKE2b-256 0f60128a263b3dff8cb30cdbfd5a34b8c204b0ff84eb518abc15e61f59862a73

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ultradict2-0.1.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 145.0 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.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 366c2f5eae3b557a073928747941e48082d86adc614dc8f2f5409aeccbfd3137
MD5 eb1b28615f3f60af507d7b149efa11f1
BLAKE2b-256 532b8a4175f6ff9958d62fb58aef4ef03e833957ff1365ccf3e7d53174aad31f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp313-cp313-win32.whl.

File metadata

  • Download URL: ultradict2-0.1.0-cp313-cp313-win32.whl
  • Upload date:
  • Size: 128.5 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.1.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 90a95d9232e0d441f07dfa6c5b6ccbd76ed92eb2ae6ef3c11b346fab5d861640
MD5 877ba558a8a5c75ad2efcf0d49ca4b11
BLAKE2b-256 8a8b674f0bf9dc335d00a8edcb58eca9695fec2ad18ee2fa244f4080279d604c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2f2c3cee9ef4b0c11d70d280eec6f2ad4a6ba237093c6ca7d92a3d0a99f2c048
MD5 04841c37efde33144844c05a10b7bd7b
BLAKE2b-256 3a270659cbdae6febd3d8db01f60194459f6a56c98314efcdd480edc2f9d080a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp313-cp313-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp313-cp313-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 b13d1b3a1f01c192eb3f742d4fb3346eeb51bd91a1bb59163f40d5452ef837e2
MD5 91ef1d0fc83ce961212d75ceb3493a39
BLAKE2b-256 bd4c4420d4b26aeaaa7ade097b4501f8383dc924bd889a35cd7ba9a49acc300f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 b517e938b353ff7532ca153a90dfe699bbcaaf91e970ab70ad221b71d2647368
MD5 c9e877981dd5c8ef147a0a42d0f9e5b8
BLAKE2b-256 8228ea7623d4ace94058b6d5aab6b62d0f79057ea86ee0165d874235dd37f6e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 43a04c3c749c58c3b25a155facd5c63dcd619a33009744a28a888c5fe565dc00
MD5 5882342f8c443773cba02a9d6ec18425
BLAKE2b-256 97c803413a942b7dd9c90c5d8d307b0bb1f4a213927ad07553f1cb16a8312912

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 83386048394eeaa86abdaa2f700be6cc729ea6c87e2ff348ed0b4cffed723b51
MD5 8bce03df315958af0de13d71bc734cea
BLAKE2b-256 4bfd31510f2b69e0b452d43240524b56f07c27cca9b4477ebf37516996410a82

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.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.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 217eadd8d61cbc86a84f45078b506c30c7b0496babf57786a363644f5f86a026
MD5 2fa65c5b7b49e0a3e09ab64976a04a8e
BLAKE2b-256 5abdc8924a365f9cab67a71941fa638f7afd4bb92c885498d6f0bab0999ae938

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 0cfe0a6ec04ebb2a216824fa624807953a377b0c0c60f054137a046384b405fe
MD5 47e408b5d055d1b518a14f9eac8cd7d0
BLAKE2b-256 b5950757927ec9d0106bf5edd78ea3992aa7e368f9a2258acc528fe30681c3ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 fe61c82ce430831bbcc3c90b7c07fbac4d7eebc1c6b247a760c3d1e558afae1c
MD5 c19038f75cce9cc29eb6ff1c27368283
BLAKE2b-256 7f3cd21e2564b1964605e92ad0998d8831b3d207e55ded44b119fe9d41e1f141

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 dcd1b73b567fcfff16bac2ce81aa8c718ac5867300ccb432a6cb9b8081522f41
MD5 73ded78e7b8142ac384d671a8693d235
BLAKE2b-256 8ed9dc6b2d909ab885801cfc683b35e910752e1446cede64e26eee2c9b2a4761

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 cbdfe73d7cd65db6032821134fcbff406aad7ed7a6601c4793f8953b606638e7
MD5 fd848f5c25b42616c60dbfeeb44ee1d8
BLAKE2b-256 8ec284cf0a4f589ec7935796e5bda19c0775c83f23172d4b471e26a161643035

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2e5ddd6c80bd51a2c7e6546bf3ab1476b4eb240f20b44e35b013f196955701e0
MD5 669cc8f5f1918ffe9cfff1549c96569e
BLAKE2b-256 1af2783de9e158baebf5ee01852af18799c9f425ed38b80bf997fdfe47ec8321

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 d84f1bfa35990eb2e26487329252e49f061e6864450350ebbbbbbfd0de9f85f2
MD5 97f9b6763f56e35d438b41e5b79bdb62
BLAKE2b-256 9ddcb967b38323959f9093fbf7f5604641134753f6e75826ea1cb2a3dc849b36

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 f1f71beede41983bc9faaa5f0243ac68421fd155fb6c3998ea214daf895e4901
MD5 26018d9aa52140d169614b54017fa7f7
BLAKE2b-256 8f3d41ed0e9e68bef72fcbaa4e276b159cb3bb7bc6190bee0b4f6e91347fa241

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: ultradict2-0.1.0-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 129.8 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.1.0-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 aa5fd777f3189c110798c74b0b8a37d750088c250277e8eaba88cad74c3ab71d
MD5 05baa5ceda2625323239b6b5756264a8
BLAKE2b-256 4bf3bbbccfcb78fc49be5df32b5116f2de27c067995bc2b7d74b6e9ec468c214

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: ultradict2-0.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 145.6 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.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 493e4429406c1d4865454d14811581a2420c9f506fec3ba7e188253797c188a3
MD5 73237bfc1d1d5780ee4a2c0ee69658c8
BLAKE2b-256 ac1c639e45e13f4a58b124e5ba1085e180abc0199b2ef12876f994ff4afa5e43

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp312-cp312-win32.whl.

File metadata

  • Download URL: ultradict2-0.1.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 129.2 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.1.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 11a247a58c8b3609649ab15acc3d88e790721dd05db1e4f6de6af7f5a77c045d
MD5 32658778c4f8c6f55cf3ec822f6417bc
BLAKE2b-256 57dc19d994ec39c25c33536ff034559263d792ca27647cb76115ecd4df3f593a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a0bfcedc77f47fc6054df1d4bd5345e1b1356dff4695144cc34bd5f336bcdb50
MD5 2f04e08d65362e5088a7cc1df8de0978
BLAKE2b-256 ef226c0e89b5309de2a007f2afc68f834cf2aa05c2ee0a6b2d908d4a803cdcfe

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp312-cp312-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp312-cp312-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 31f5c7b1c21a23ca0bad8a6322a5be0d975670f6a4e1b9b0c7c3b3a8658fbc29
MD5 45c17fef7959bccc7b0c3279618d7c9f
BLAKE2b-256 092d1518c43bf9bc99efa5190a43cf5e42fdcaf959f88816854465d44c1ae259

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 f5025f597b3d2ebda12b325a717645f882200488a5f23fbee5c15a3a66b2fec7
MD5 d8c35c9a16b068e5cc7986b7d3fc12dc
BLAKE2b-256 5a73d309b231b06ea93aac63f6d984be93fdf2b0d71136a71c59c7523e97d88c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 fed96a8dd6d8108be7ae5eba43bee237c1c0c9381baa9608e51fc966ef1e4169
MD5 94a270df3e10183dbb8a67f151f1c163
BLAKE2b-256 9ba58edaedbcb880b1c72fa91bb864a51895edb2bab4c084246c34b7452a1a70

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8ce9240e7ba8e7f155787c0e5f6ba9c68fbf2489b5ad6fecf44bb4c21272f60e
MD5 70808f01b4e6128e1ca9df6ebba00e22
BLAKE2b-256 cb31faca35a6e9c0245942a7bb8f60abe4c417d17e753d2aef95a66c0694552f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.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.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0a02a9af68f2af2352b9ed82467aa5367f56fba39e66e8d5b415d9f8be1920f9
MD5 2b117c294b73095bb26bb89e6f798cb3
BLAKE2b-256 609274734be213c5d5ef8694832edbdbee42436c35c0c89e5d843b1a0c0aca57

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 742749886c028e30699ab3262bfc75d5d38835823b61fe6a7e358feb5f94c32e
MD5 4995a52aa717de61fc0e4f0244842934
BLAKE2b-256 e6afe0505d6627b5bb66b2fc48737c78c0bd7e0ca6ccb34924e50a2956a12554

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 86d7174f547369ee9d97e80e8a4a4ace42b2eaf6c44a6f54436746a95bd268b1
MD5 973c4e58b5fee06d01946361c64c008f
BLAKE2b-256 de2dec9f7d0f7b75250de2f6e0fbd6a0804c523d0cfa4bcecf458f3a12e70a4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 18d9c6dc05b538cbd3d792a937f9d8fe623fc4bc45a76a831ff3a88b632a1593
MD5 27f48a78b4f4d0a57b4686b5aff26aea
BLAKE2b-256 5d1df5a73bf24f926d1f24c0f89352a763e8f8f103488b43e7a1a2dfdea187cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 c4f4152de7ba6da281e6cf795caed9c8a92492ff66a31683dbcf522f5c57b0a0
MD5 304f1336d659e84ea1a799b81807ed19
BLAKE2b-256 318d2bb6b9dc55a08d87d976c313190bbc551675d3988f6f281396d30eb7191f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b2172a77615dc073d7d8b3ff6d4ea5abc2836ccf877d4431e476cae14711c144
MD5 be1383861f215015974c6b2ccd554a2d
BLAKE2b-256 f536c591ee29bb5e5f916ba46f8effe9494e099ce239c2aafb0df8b4e2461b73

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 83e42e4aa9f16cec3a120ee2d67f76fcb6a0d425003e2febc8a874cef57cdfb9
MD5 1cdf7b099029e7939be4440b613d6a05
BLAKE2b-256 302c943f70eae08d20dfca5f8dfb8f7273660241fa71b508f8ee293db8637564

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 490e2fdf8416087eb946e26aae39fe9a14c681e1bd20ad13808d318cf480ebda
MD5 52318a284928ad7eba5ef43374624767
BLAKE2b-256 ae1002fbb0834e58af9809ad863a24a2bd9674fd2a1875d62cae55b3f0fa720c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp311-cp311-win_arm64.whl.

File metadata

  • Download URL: ultradict2-0.1.0-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 130.8 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.1.0-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 1c8f5285115525163171528ad03a9fefc9547099decafa9c731e5890f463c673
MD5 f54e3568ef437994f2c5c1388fe99791
BLAKE2b-256 a95492ac489a334e8c8569d9e03bae29bbfb84a7309abbfe405da74690a58d43

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: ultradict2-0.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 146.5 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.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 655e2ec67bec35be27c614f9399c8bef6c205f36d61226ff2bb81637d56a3112
MD5 49b77931774c1d3916d012af0fc824ee
BLAKE2b-256 db65d4fff0b1ef21d79dd97f1791daae7e678940d6ed1fe4984e8d0d4f752e25

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp311-cp311-win32.whl.

File metadata

  • Download URL: ultradict2-0.1.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 129.9 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.1.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 1c0a4ab026a586153eb3faee8ac717167cd86faf7ff89a0be7eafefd4aec5d3a
MD5 1208acb4f9ec29ab122d242a161fe05f
BLAKE2b-256 09ce618008ab15c12e77d33875863d933bda6ef51fe00ae9b82100f90a1175cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dce56c94cc0a4f72d86b888002ec49633bf75930c965f92d6c398441460c18f6
MD5 f97db487f414ac1850ba150cab9a9be2
BLAKE2b-256 aef040eff5f7a58528e05d55d4fd59da6d69c6923128594be2c4532821103a61

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp311-cp311-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp311-cp311-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 82599ea8d914da4aebe0ebfcc0707b30ac9a85eeb50b034d9a030de6f023ed73
MD5 2324c500cc276c6f1c601bd8394092b4
BLAKE2b-256 0290de95804033fa0c0a673bf1921123ad276259c52230a688995f46ebaf67d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 8827f0fa6b45310192d2bc21c536117b416fb263b8667b7eee49f61d72cc2b58
MD5 8665d363dd7e0cdef06dc721c3a252c5
BLAKE2b-256 139d02e30a451dbdb755605d8a44207f55134fc9c6b0182d64ce6cf1f539232d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 daf04aef28cc728f8b4526bfd4430cbc848b5a55061329225dffff7433bd7cb2
MD5 19d837b9cfa698e79df135e9591af316
BLAKE2b-256 ec02c2eed8fd030b201c08ceb4bab291d55ef303f7c9527c9c185cfc8edf2aae

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d3e0729c513bf3ecef6c83164cd6a1e512ef73e14bf3227309650fff449a223c
MD5 3d7c3914f24c7ce43459dd8c4f5dfbc7
BLAKE2b-256 1a0c7490cd6e4bb1358635123dcf2999f5dbe3dad0f8b3cba2596545ee2f7865

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.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.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0c690e94a1ae7f2f49fa4e5f3401f5427a3b3615c32a1525681a799eebb11606
MD5 1b9ab928052a0402e973c5c7c6d6cf5f
BLAKE2b-256 c75033e2e40a39a2ed7b3b2e286823b2cb478ed4e187ae510ef18ca0d68343d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 77f8e848264dca97ecfdd1111858c1e1288948b4d4537f6e017938e4a829cf6b
MD5 a9f9f85c7c8a84bc7f9793eec7fd49a8
BLAKE2b-256 1498dbb6cffd640e7fd3c085e727179b88c9a22b92aa2aa954b4ff789e169ba6

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 8d4438aab97e16fdcd6e37126d7bcb204edc0df10a8c843c47c09e7ab0a154f9
MD5 c23fd17a320de5e46d80fa6750428e6a
BLAKE2b-256 7ef5842747fd389827ff9c1b365bfbef3bf7d2d255743b350fd3246df9603ac9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a0b40f0c04e5132eae26ac232bc602deff56dae4b27bad02ef6d9682945d4542
MD5 c6e7a9da3f5007885d76daa5231a1b9b
BLAKE2b-256 52af9707d276771289b908c24cdffbcf0347615516c905166021da215f04757d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 55ac658cf7d1914775c7c9b8740ba76a0902be293f48654d6452d006e777c654
MD5 5f7f26cc6b355a0898ae7f025686050b
BLAKE2b-256 292454fa50a7e94bcd8367943623332b6d8bea9cac5b9f4918e04a8fb8f992b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4730117c64050571cdb7ff166deff98794d807779c6bde8645e120c267c86b28
MD5 234ff4daece5b40826ecd9a97df0b7cb
BLAKE2b-256 65966f9a742954f5ac3bf0f1a6502931b58ac8e93834fae1b0e5d50365041d0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6da04f8b588d213576980655450fabda6e9ac968e8857e98bbf8a5e40dd8d8fb
MD5 addc3eac8fda3562f1ce480bbd180235
BLAKE2b-256 2707aab26df202719033460bb46114cacf5adb9c31d451095055a7127c91235a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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.1.0-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for ultradict2-0.1.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 0ec8ffdecee720ac338f8a97a7accd62d2e066544a5aa7f448a5f4a0658d7ee7
MD5 17323730e24ddd71f58cc62f47fdd759
BLAKE2b-256 1a5ed89015fa0ebcab6fad62c9fcedb54cbb9173636a5a6a9b082dde3f19548e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultradict2-0.1.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