Skip to main content

UNaIVERSE: A Collectionless AI Project. The new web of humans & AI Agents, built on privacy, control, and reduced energy consumption.

Project description

Welcome to UNaIVERSE ~ https://unaiverse.io

UNaIVERSE Logo

Welcome to a new "UN(a)IVERSE," where humans and artificial agents coexist, interact, learn from each other, grow together, in a privacy and low-energy oriented reality.


UNaIVERSE is a project framed in the context of Collectionless AI, our perspective on Artificial Intelligence rooted in privacy, low energy consumption, and, more importantly, a decentralized model.

Website Collectionless AI Comany

PyPI License PyTorch PRs Welcome Stars

UN(a)IVERSE is a peer-to-peer network, aiming to become the new incarnation of the Web, combining (in the long run) the principles of Social Networks and AI under a privacy lens—a perspective that is crucial given how the Web, especially Social Networks, and AI are used today by both businesses and individual users.


🚀 Features

Check our presentation, starting from Collectionless AI and ending up in UNaIVERSE and its features.

UNaIVERSE is a peer-to-peer network where each node is either a world or an agent. What can you do?

  • You can create your own agents, based on PyTorch modules, and, in function of their capabilities, they are ready to join the existing worlds and interact with others. Feel free to join a world, stay there for a while, leave it and join another one! They can also just showcase your technology, hence not join any worlds, becoming what we call lone wolves.
  • You can create your own worlds as well. Different worlds are about different topics, tasks, whatever (think about a school, a shop, a chat room, an industrial plant, ...), and you don't have to write any code to let your agent participate in a world! It is the world designer that defines the expected roles and corresponding agent behaviors (special State Machines): join a world, get a role, and you are ready to behave coherently with your role!
  • In UNaIVERSE, you, as human, are an agent as the other ones. The browser is your interface to UNaIVERSE, and you are already set up! No need to install anything, just jump into the UNaIVERSE portal, login, and you are a citizen of UNaIVERSE.

Remarks:

  • Are you a researcher? This is perfect to study models that learn over time (Lifelong/Continual Learning), and social dynamics of different categories of models! Feel free to propose novel ideas to exploit UNaIVERSE in your research!
  • Are you in the industry or, more generally, business oriented? Think about privacy-oriented solutions that we can build over this new UN(a)IVERSE! Check the UNaIVERSE company website

⚡ Status

  • We think it will always stay alpha/beta/whatever 😎, but right now there are many features we plan to add and several parts to improve, thanks to your feedback!

📦 Installation

Jump to https://unaiverse.io, create a new account (free!) or log in with an existing one. If you did not already do it, click on the top-right icon with "a person" on it: Then click on "Security" and "Regenerate" a new token (aka "key"):

UNaIVERSE Logo

COPY THE TOKEN/KEY, you won't be able to see it twice! Now, let's focus on Python:

pip install unaiverse

That's it. Of course, if you want to dive into details, you find the source code here in this repo.


🛠 Getting Started

See https://docs.unaiverse.io, and follow the path that better suits your needs (e.g., Quickstart). Here we are also providing an additional example but, again, your actual starting point is https://docs.unaiverse.io.

The simplest usage you can think of is the one which does not exploit the real features of UNaIVERSE, but it is so simple that is a good way to put you in touch with UNaIVERSE itself.

You can showcase your PyTorch networks (actually, it can be every kind of model son of the PyTorch torch.nn.Module class) as follows. Let's focus on ResNet for simplicity.

Alright, let's discuss the code in the assets/tutorial folder of this repo, composed of numbered scripts.

Step A1. Do you know how to set up a network in PyTorch?

Let us set up a ResNet50 in the most basic PyTorch manner. The code is composed of a generator of tensors interpreted as pictures (actually, an ugly tensor with randomly colored pixels) and a pretrained resnet classifier which classifies the pictures generating a probability distribution over 1,000 classes. Try to run script 1 from the assets/tutorial folder. We report it here, carefully read the comments!

import torch
import torchvision

# Downloading PyTorch module (ResNet)
net = torchvision.models.resnet50(weights="IMAGENET1K_V1").eval()

# Generating a random image (don't care about it, it is just a toy example,
# think it is a nice image!)
inp = torch.rand((1, 3, 224, 224), dtype=torch.float32)

# Inference: expects as input a tensor of type torch.float32, custom width and
# height, but 3 channels and batch dimension must be there; the output is a
# tensor with shape (1, 1000), i.e., a tensor in which batch dimension is
# present and then 1000 elements.
out = net(inp)

# Print shapes
print(f"Input shape: {tuple(inp.shape)}, dtype: {inp.dtype}")
print(f"Output shape: {tuple(out.shape)}, dtype: {out.dtype}")

Step A2. Let's create UNaIVERSE agents!

We are going to create two agents, independently running and possibly located in different places/machines.

  • One is based on the resnet classifier, waiting to be asked (by some other agents) for a prediction about a given image.
  • The other is the generator of tensors, ready to generate a tensor (representation of a picture) and ask another agent to classify it.

Here is the resnet classifier agent, running forever and waiting for somebody to ask for a prediction, taken from script 2 in the assets/tutorial folder:

import torch
import torchvision
from unaiverse.agent import Agent
from unaiverse.streams.dataprops import StreamType
from unaiverse.networking.node.node import Node

# Downloading PyTorch module (ResNet)
net = torchvision.models.resnet50(weights="IMAGENET1K_V1").eval()

# Agent: we pass the network as "processor".
# Check the input and output properties of the processor, they are coherent with the
# input and output shapes of ResNet; here "None" means "whatever, but this axis must be
# there!". By default, this agent will act as a serving "lone wolf", serving whoever asks for
# a prediction.
agent = Agent(proc=net,
              proc_inputs=[StreamType(data_type="tensor", tensor_shape=(None, 3, None, None),
                                      tensor_dtype=torch.float32)],
              proc_outputs=[StreamType(data_type="tensor", tensor_shape=(None, 1000),
                                       tensor_dtype=torch.float32)])

# Node hosting agent: a node will be created in your account with this name, if not
# existing; it is "hidden" meaning that only you can see it in UNaIVERSE (since it is
# just a test!); the clock speed can be tuned accordingly to your needed and computing
# power.
node = Node(node_name="Test0", hosted=agent, hidden=True, clock_delta=1. / 5.)

# Running node (forever)
node.run()

Run it. Now, here is the agent capable of generating tensors (let's say images), which is asked to get in touch with the resnet agent, taken from script 3 in the assets/tutorial folder:

import torch
from unaiverse.agent import Agent
from unaiverse.streams.dataprops import StreamType
from unaiverse.networking.node.node import Node


# Custom generator network: a module that simply generates an image with
# "random" pixel intensities; we will use this as processor of our new agent.
class Net(torch.nn.Module):
    def __init__(self):
        super().__init__()

    # The input will be ignored, and a default None value is needed
    def forward(self, x: torch.Tensor | None = None):
        inp = torch.rand((1, 3, 224, 224), dtype=torch.float32)
        print(f"Generated data shape: {tuple(inp.shape)}, dtype: {inp.dtype}")
        return inp


# Agent: we use the generator as processor.
agent = Agent(proc=Net(),
              proc_inputs=[StreamType(data_type="all")],  # Able to get every type of data (since it won't use it :))
              proc_outputs=[StreamType(data_type="tensor", tensor_shape=(1, 3, 224, 224),
                                       tensor_dtype="torch.float32")],  # These are the properties of generator output
              )


# To retrieve the result we got from the ResNet agent, we define a hook
# that will be called at the end of every run cycle
def hook(_node: Node):
    # Printing the last received data from the ResNet agent
    _out = _node.agent.get_last_streamed_data('Test0')[0]
    if _out is not None:
        _node.agent.print(f"Received data shape: {tuple(_out.shape)}, dtype: {_out.dtype}")


# Node hosting agent
node = Node(node_name="Test1", hosted=agent, hidden=True, clock_delta=1. / 5., run_hook=hook)

# Running node for 10 seconds
node.run(get_in_touch="Test0", max_time=10.0)

Run this script as well, and what will happen is that the generator will send its picture through the peer-to-peer network, reaching the resnet agent, and getting back a prediction.

Step B1. Embellishment

We can upgrade the resnet agent to take real-world images as input, instead of random tensors, and to output class names (text) instead of a probability distribution. All we need to do is to re-define the properties of the inputs/outputs of the agent processor, and add transformations. Dive into script 4:

import torchvision
import urllib.request
from unaiverse.agent import Agent
from unaiverse.streams.dataprops import StreamType
from unaiverse.networking.node.node import Node

# Downloading PyTorch module (ResNet)
net = torchvision.models.resnet50(weights="IMAGENET1K_V1").eval()

# Getting input transforms from PyTorch model
transforms = torchvision.transforms.Compose([
    torchvision.transforms.Lambda(lambda x: x.convert("RGB")),
    torchvision.models.ResNet50_Weights.IMAGENET1K_V1.transforms(),
    torchvision.transforms.Lambda(lambda x: x.unsqueeze(0))
])

# Getting output class names
with urllib.request.urlopen("https://raw.githubusercontent.com/pytorch/hub/master/imagenet_classes.txt") as f:
    c_names = [line.strip().decode('utf-8') for line in f.readlines()]

# Agent: we change the data type, to be able to handle stream of images (instead of tensors).
# We can customize the transformations from the streamed format to the processor inference
# format (every callable function is fine!). Similarly, we can customize the way we go from
# the actual output of the processor and what will be streamed (here we go from class
# probabilities to winning class name).
agent = Agent(proc=net,
              proc_inputs=[StreamType(data_type="img", stream_to_proc_transforms=transforms)],
              proc_outputs=[StreamType(data_type="text", proc_to_stream_transforms=lambda p: c_names[p.argmax(1)[0]])])

# Node hosting agent
node = Node(node_name="Test0", hosted=agent, hidden=True, clock_delta=1. / 5.)

# Running node
node.run()

Now let us promote the generator to an agent that downloads and offers a picture of a cat and expects to get back a text description of it (the class name in this case - this is script 5):

import torch
import urllib.request
from PIL import Image
from io import BytesIO
from unaiverse.agent import Agent
from unaiverse.streams.dataprops import StreamType
from unaiverse.networking.node.node import Node


# Image offering network: a module that simpy downloads and offers an image as its output
class Net(torch.nn.Module):
    def __init__(self):
        super().__init__()

    def forward(self, x: torch.Tensor | None = None):
        with urllib.request.urlopen("https://cataas.com/cat") as response:
            inp = Image.open(BytesIO(response.read()))
            # inp.show()  # Let's see the pic (watch out: random pic with a cat somewhere)
            print(f"Downloaded image shape {inp.size}, type: {type(inp)}, expected-content: cat")
        return inp


# Agent
agent = Agent(proc=Net(),
              proc_inputs=[StreamType(data_type="all")],
              proc_outputs=[StreamType(data_type="img")],  # A PIL image is being "generated" here
              behav_lone_wolf="ask")


# To retrieve the result we got from the ResNet agent, we define a hook
# that will be called at the end of every run cycle
def hook(_node: Node):
    # Printing the last received data from the ResNet agent
    out = _node.agent.get_last_streamed_data('Test0')[0]
    _node.agent.print(f"Received response: {out}")  # Now we expect a textual response
    _node.agent.print("")
    _node.agent.print(f"Notice: instead of using this agent, you can also: search for the ResNet node (ResNetAgent) "
                      f"in the UNaIVERSE portal, connect to it using our in-browser agent, select a picture from "
                      f"your disk, send it to the agent, get back the text response!")


# Node hosting agent
node = Node(node_name="Test1", hosted=agent, hidden=True, clock_delta=1. / 5., run_hook=hook)

# Running node for 45 seconds
node.run(max_time=45.0, get_in_touch="Test0")

Step B2. Connect to your ResNet agent by means of a browser running agent!

Instead of using the artificial generator agent, you can become the generator agent! Search for the ResNet node (ResNetAgent) in the UNaIVERSE portal, connect to it using the in-browser agent, select a picture from your disk, send it to the agent, get back the text response!

Step C. Unleash UNaIVERSE!

What you did so far is just to showcase your model. UNaIVERSE is composed of several worlds that you can create and customize. Your agent can enter one world at a time, stay there, leave it, enter another, and so on. Agents will behave according to what the world indicates, and you don't have to write any extra code to act in worlds you have never been into!

Alright, there are so many things to say, but examples are always a good thing! We prepared a repository with examples of many worlds and different lone wolves, go there in order to continue your journey into UNaIVERSE!

THE TUTORIAL CONTINUES WITH EXAMPLES ON HOW TO BUILD WORLDS: https://github.com/collectionlessai/unaiverse-examples

Check also https://docs.unaiverse.io, and follow the path that better suits your needs.

See you in our UNaIVERSE!


📄 License

This project is licensed under the Apache 2.0 License. Commercial licenses can be provided. See the LICENSE file for details (research, etc.). See the Contributor License Agreement CLA.md if you want to contribute. This project includes third-party libraries. See THIRD_PARTY_LICENSES.md for details.


📚 Documentation

You can find an API reference and several extremely useful information here: https://docs.unaiverse.io


🤝 Contributing

Contributions are welcome!

Please contact us in order to suggest changes, report bugs, and suggest ideas for novel applications based on UNaIVERSE!


👨‍💻 Main Authors


Welcome to a new UN(a)IVERSE, where humans and AI coexist, learn, and grow together.

Enter the Portal · Read the Vision · Browse the Source · Check the Company

If you like the idea, drop a star and help build the privacy-first web.

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

unaiverse-0.1.23.tar.gz (389.5 kB view details)

Uploaded Source

Built Distributions

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

unaiverse-0.1.23-py3-none-any.whl (410.5 kB view details)

Uploaded Python 3

unaiverse-0.1.23-cp314-cp314t-win_amd64.whl (21.7 MB view details)

Uploaded CPython 3.14tWindows x86-64

unaiverse-0.1.23-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (20.6 MB view details)

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

unaiverse-0.1.23-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (22.2 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

unaiverse-0.1.23-cp314-cp314t-macosx_11_0_arm64.whl (19.9 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

unaiverse-0.1.23-cp314-cp314t-macosx_10_15_x86_64.whl (21.1 MB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

unaiverse-0.1.23-cp314-cp314-win_amd64.whl (21.7 MB view details)

Uploaded CPython 3.14Windows x86-64

unaiverse-0.1.23-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (20.6 MB view details)

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

unaiverse-0.1.23-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (22.2 MB view details)

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

unaiverse-0.1.23-cp314-cp314-macosx_11_0_arm64.whl (19.9 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

unaiverse-0.1.23-cp314-cp314-macosx_10_15_x86_64.whl (21.1 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

unaiverse-0.1.23-cp313-cp313-win_amd64.whl (21.3 MB view details)

Uploaded CPython 3.13Windows x86-64

unaiverse-0.1.23-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (20.6 MB view details)

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

unaiverse-0.1.23-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (22.2 MB view details)

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

unaiverse-0.1.23-cp313-cp313-macosx_11_0_arm64.whl (19.9 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

unaiverse-0.1.23-cp313-cp313-macosx_10_13_x86_64.whl (21.1 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

unaiverse-0.1.23-cp312-cp312-win_amd64.whl (21.3 MB view details)

Uploaded CPython 3.12Windows x86-64

unaiverse-0.1.23-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (20.6 MB view details)

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

unaiverse-0.1.23-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (22.2 MB view details)

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

unaiverse-0.1.23-cp312-cp312-macosx_11_0_arm64.whl (19.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

unaiverse-0.1.23-cp312-cp312-macosx_10_13_x86_64.whl (21.1 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

unaiverse-0.1.23-cp311-cp311-win_amd64.whl (21.3 MB view details)

Uploaded CPython 3.11Windows x86-64

unaiverse-0.1.23-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (20.6 MB view details)

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

unaiverse-0.1.23-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (22.2 MB view details)

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

unaiverse-0.1.23-cp311-cp311-macosx_11_0_arm64.whl (19.9 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

unaiverse-0.1.23-cp311-cp311-macosx_10_9_x86_64.whl (21.1 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

unaiverse-0.1.23-cp310-cp310-win_amd64.whl (10.8 MB view details)

Uploaded CPython 3.10Windows x86-64

unaiverse-0.1.23-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (10.5 MB view details)

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

unaiverse-0.1.23-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (11.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

unaiverse-0.1.23-cp310-cp310-macosx_11_0_arm64.whl (10.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

unaiverse-0.1.23-cp310-cp310-macosx_10_9_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file unaiverse-0.1.23.tar.gz.

File metadata

  • Download URL: unaiverse-0.1.23.tar.gz
  • Upload date:
  • Size: 389.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for unaiverse-0.1.23.tar.gz
Algorithm Hash digest
SHA256 80c36119914955ed12c523f22c503b42737f0581c4c9189b44287d7b530ccc22
MD5 3e9bfdfcb832c602519231a3f38c82d0
BLAKE2b-256 6e90ffdd37e1487b012e5a011691221274fad4ca6f48e0a7e81404aa17c319f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23.tar.gz:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-py3-none-any.whl.

File metadata

  • Download URL: unaiverse-0.1.23-py3-none-any.whl
  • Upload date:
  • Size: 410.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for unaiverse-0.1.23-py3-none-any.whl
Algorithm Hash digest
SHA256 d6d9bb61dcdc5c65bd9b2abe06ceaa636552f6fa4b53d466b36a60ebc0c75b67
MD5 85ed4dcf80e73bc834cb408e4bf8e0ff
BLAKE2b-256 7a630d21ccc9a50935fc13c02167e0407546c183d96ca36863c625b1339fdc58

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-py3-none-any.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: unaiverse-0.1.23-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 21.7 MB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for unaiverse-0.1.23-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 d098b032598fa4a2a9564dcdf397a3ff402fe8c69974a359048eaa3bff9af7d7
MD5 d43ce5a151733e469841d895eb5dad77
BLAKE2b-256 27f19402e39e25daac68686c743363597ef960444d2fa056f28832e07f6e2a0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp314-cp314t-win_amd64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.23-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 06747db0b05ccea26818ad6a966accda9ae0aa547c4fefd806c350648ebf7f3d
MD5 a89792931d6beed8b2c6b61416df4e4b
BLAKE2b-256 dc14a6dfae22bf5b722a6573cda4930ebdeb31c604c7c71e390a230e8faa2779

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.23-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 164e6da939e41bffaac4e7c4afec4d8803328ba2007a1be888f64d10297ab4d3
MD5 b09f1df7b517b7bae6866e5d68bf1a1e
BLAKE2b-256 7613f0d37295b55410c3eae567b041fddf4073757c5ad577eda9601bd1038909

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.23-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 48c3f90c7d43ed1b9f7016a43d1b3172ae16b3a21af3c2e5e144801190cbc45d
MD5 b2a87234beac12c94a39a3deb66e26a3
BLAKE2b-256 a8041875401d1d146ddacaeb8f974b32e46c00268c70da65468ead5749598350

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp314-cp314t-macosx_11_0_arm64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.23-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 221cc28ed354038b5fd3280cc3be48ebea419d10356cccda08d2ae7cd24a70fe
MD5 61c82d6e2bf58aa066aaf86bdaa5094f
BLAKE2b-256 c59f5f8205d31ca13b29919ed3c7b498a0a5db6bc1544c4d25809c1520e24da5

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp314-cp314t-macosx_10_15_x86_64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: unaiverse-0.1.23-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 21.7 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for unaiverse-0.1.23-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 83530ac20b4db9238c1571b493563667a03fdfe2d0b06889a2b1f2c295359b6d
MD5 486ce17fa78893b4e7df7d933eca22ab
BLAKE2b-256 5928d2f3bcc5610b2bfd64d8de91115e54ff482ae69b56406e44450667528348

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp314-cp314-win_amd64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.23-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3b8ec17f630eaab59d14f888ce8684b3eb64656044b21936f538493b1b391e6a
MD5 ea7fd7943999aa81209bb25dcddcaa1d
BLAKE2b-256 95b119efaec427588a807fb698581c7669d34b7a6cf9411850b465af0d340e33

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.23-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 6a1fa24d70f946fc9b2b4eb3e8fc7be1b9d5e5d99091d265c0f643bf3ea0c1d7
MD5 8150ce47ccad30d1284fe650fd29be31
BLAKE2b-256 1923b6d48a53ef9c475b1b4e6ca89c9def449b2a12362758855c48273448c550

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.23-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9856300929d818ccf0af370363675e96fc5ea412d62c23d108a61a30596468d8
MD5 0c27d9042c5e898bdd616b93817f690e
BLAKE2b-256 5b69f8d3420efb25bf73d92585a03d70a96f031c7d0e93d111e6e96e407f43c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.23-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 9625c6224a473d4f5ff4c63ddfbf8fbe620d234e9a0b57417d9d7a6a941c8b39
MD5 722cdc55801d97e15240b88ae95a9d74
BLAKE2b-256 2f68c78d98f514b835077ce92835e110841021ad26f8f334c223d00db858ad63

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp314-cp314-macosx_10_15_x86_64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: unaiverse-0.1.23-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 21.3 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for unaiverse-0.1.23-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 fc749ed471e81687790ce0c8d4be2b9e5fabc5056eb50f8550d93337f46b2743
MD5 4b0798eac4697c2215f9ac2d32302a8c
BLAKE2b-256 ee988bd28168ed4e65fe7562f7c4d1b6ccdf39be06846e14a7d0a24d4b986f86

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp313-cp313-win_amd64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.23-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a39559563b5dd700a6b42aa96c3aa710b2ab47d72b25612485384830909eb587
MD5 d0eca0b9b43d1e723cba269f4378eb21
BLAKE2b-256 efa2ec5dca6b81b91350e888a06228f14430ab8691dbe0c3040f9192647d2cce

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.23-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 6b0e75a7f9a9e5e50c9b1301a4259c60fe02b2629cfa27799bd60f735871e37b
MD5 66370044b768dd5fd3c1ae9e5d2463a2
BLAKE2b-256 9494ca09acd5dcd37271cff6f2f5de95acfa825047f611e06849beec7cc4ed1e

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.23-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a5a1ae92d8d0aaae85c26a0fa4415e67aff2e20be0610d26314e37cd2a1cb4ff
MD5 a3f843ac19cedf5c09e4d467aed90649
BLAKE2b-256 bdfc251f578784f419885cbf5773fcb107b6eac61510ab80853f393ce3ad6386

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.23-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 e5d326e27a1ffb44937ce7293b04bfc14801d6a549d8f91632c50c99101eac8e
MD5 180f690869ef7603bec7a9a99a323fc4
BLAKE2b-256 514b701ad1ca8f64fb61b3576ccfc1e6a001049c363838bbaa326c11c159f532

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: unaiverse-0.1.23-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 21.3 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for unaiverse-0.1.23-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fa8740054c73911c8a6c4c0b6061df3b0c416c0f3aa5391d03004dcacffa567d
MD5 aed9e17f7dd4c1e670eee1495ee5e143
BLAKE2b-256 81d55b372c0f9db07c28bb6136941b6fe4d62ccf541c309975a4870b8fe8b34c

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp312-cp312-win_amd64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.23-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5fc7cadb23230a5e18b445370e49d48eb34170e7253b057db787bf6883beb8bd
MD5 eaeaf1978ced8eba342095e37d4b882a
BLAKE2b-256 ef86a0a3100f556e9837b586d833ab9f99fa5d7fa396c93cdc61774d3eab6449

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.23-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 71089837365798ef51a96d28ccac454fe0bec9efbe1bfd59636ca60e2225e367
MD5 43be3c8fa2683a4e5b4cac21da0e326a
BLAKE2b-256 2c8994942156715f039a11a33fbb97ae3beb56189b7c4abab167debfa1b5cc1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.23-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7fc400e2dae89cbf700cb7727f29bdc96498c24c8aad7171a8a1d7a4f60e44b6
MD5 9ad2dd0868973c45c5ad8ba6388f589e
BLAKE2b-256 1132bf15c974ad23b3d80aa1d846afa1f8edee8a84fbe61c69974ebc4d0f77f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.23-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 1fd8ab7a07aaa4675bf8eaefa4135abb926f817e9c32f50365bf3f619a6d2034
MD5 0e6604e6f6ec818ef9b1ceb7e4eea37c
BLAKE2b-256 dcb07017bc2b1851662d870e70307d1d9505f48091b5b42dc26da40220dd5cc9

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: unaiverse-0.1.23-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 21.3 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for unaiverse-0.1.23-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ed5e440053c6beb9201f7e166a0362443af543be5c56c58439687e173e626870
MD5 9a315f74b496b17e078a65e2887243a0
BLAKE2b-256 3501436f09b1782f1968aeadbb83ebb88415da3972f4f0cfefba5ffca6b3ca0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp311-cp311-win_amd64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.23-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 26b3fe44a2ce92414a674e30e4b8a788c7c276c8c10c0431d289b3328b93eea6
MD5 fb5ecfc7eacfdf65fc9284963d2d614d
BLAKE2b-256 0c0f04baa07984b20483530ac92684184f87dc277680e38e34a35a50c2e7f95e

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.23-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 ae5dcb2fa6865129690f6789381e1a0b440f5b7b974313a704b12ee9202bee41
MD5 b2b0200bde8636c129b17a8e299e3d05
BLAKE2b-256 61db8ae44390bac657e5b01e5c8b661934868390435b189e1c497bddbe21b6cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.23-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4370dc5722e5bd3ae28278d1956e5391bff75ee45885721f7b183c89bdc54d05
MD5 874e3b0f8201179a152e838c2f3ece34
BLAKE2b-256 7f9ba663aeb1bd484011505300f4209e98c61d880d3c9c740f58d1e0138ce2c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.23-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 db9a58cda44812adc9bccb21f1e2f6887f1c931e19fd99289e166cda7c9f08f1
MD5 f734779365df9c11c5d545de9208c1a4
BLAKE2b-256 be90d60818d5f965d45890fd7f6a10dd09ed355969a84054f05b792a848b0659

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: unaiverse-0.1.23-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 10.8 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for unaiverse-0.1.23-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5912148391aa0e3ad910389b7d472562f980ef942bb285fdf7b177e67abcb082
MD5 56c335454e803d2f5adee168e37bcc94
BLAKE2b-256 86c00e25f3614ae709706d5dfd783af9b6b68b99309c8caa6b6fea9845406731

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp310-cp310-win_amd64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.23-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f12f15e32ef9e3feab9a73d7fd737625240c081307eb5e3f10d174e7e6fc434f
MD5 2d048231e1b383212e5f7750d273a66a
BLAKE2b-256 9c3842b49db0f245c74e26ab67a31937545e93ed12d1d8e11e8cf445aea7f7f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.23-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 23ff1e84db81a1340909dbc8d6101527a1a5be41b7cfa71f469ea4221331fbaf
MD5 decaf37175b73eec037e005b7228b5f6
BLAKE2b-256 34e18b7e970954df13364bfd0c0b03ad6addf92e689af9586a0f0d4178d68e17

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.23-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 95c033a8c756807f3566342b893c98ecd1dc15afb91ad3927b8faef4222d01ea
MD5 2b5e1c3c450af763b51daa892ee60d9f
BLAKE2b-256 f984778d1121d666057e8272ed0867c0b3f0e970aaa308895bdce0271b3eeb25

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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

File details

Details for the file unaiverse-0.1.23-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.23-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 835c102cd51ee8b71ad5114a4a54c26176bd6fce342f3d927209814caf5a7ed0
MD5 a94a993293f4352a5403c9b85107b8c6
BLAKE2b-256 5b61233ca75ef9ed2aef557d9744b3fec3cd7e170f75b20a5e0ab758af1e689e

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.23-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: release.yml on collectionlessai/unaiverse-src

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