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.

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!

⚡ Status

  • Very first version: 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!
  • Missing features (work-in-progress): mobile agents running on dedicated Web App; build customizable UIs for human agents in the browser; fully decentralized discovery of new Peers; actual social network features (right now it is very preliminary, not really showcasing where we want to go)

📦 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:

UNaIVERSE Logo

Then click on "Generate a Token":

UNaIVERSE Logo

COPY THE TOKEN, 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.


🛠 Mini Tutorial

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: https://github.com/collectionlessai/unaiverse-examples

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 in file docs.html, that you can visualize here:


🤝 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


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.20.tar.gz (387.1 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.20-py3-none-any.whl (408.3 kB view details)

Uploaded Python 3

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

Uploaded CPython 3.14tWindows x86-64

unaiverse-0.1.20-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.20-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.20-cp314-cp314t-macosx_11_0_arm64.whl (19.9 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

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

Uploaded CPython 3.14tmacOS 10.15+ x86-64

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

Uploaded CPython 3.14Windows x86-64

unaiverse-0.1.20-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.20-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.20-cp314-cp314-macosx_11_0_arm64.whl (19.9 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.14macOS 10.15+ x86-64

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

Uploaded CPython 3.13Windows x86-64

unaiverse-0.1.20-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.20-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.20-cp313-cp313-macosx_11_0_arm64.whl (19.9 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

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

Uploaded CPython 3.12Windows x86-64

unaiverse-0.1.20-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.20-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.20-cp312-cp312-macosx_11_0_arm64.whl (19.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

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

Uploaded CPython 3.11Windows x86-64

unaiverse-0.1.20-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.20-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.20-cp311-cp311-macosx_11_0_arm64.whl (19.9 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

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

Uploaded CPython 3.10Windows x86-64

unaiverse-0.1.20-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.20-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.20-cp310-cp310-macosx_11_0_arm64.whl (10.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

unaiverse-0.1.20-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.20.tar.gz.

File metadata

  • Download URL: unaiverse-0.1.20.tar.gz
  • Upload date:
  • Size: 387.1 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.20.tar.gz
Algorithm Hash digest
SHA256 fe077d5aef7eb9187fa890bd73201b333c9878ab4b32f5ce762634ba5a275cf4
MD5 4561e23d5b0436d933952a7b2800b6dc
BLAKE2b-256 bacb6e035e9018a54353eca2b3ff3b07b6edc24ca85ce834ac99e86a7a7db716

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20.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.20-py3-none-any.whl.

File metadata

  • Download URL: unaiverse-0.1.20-py3-none-any.whl
  • Upload date:
  • Size: 408.3 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.20-py3-none-any.whl
Algorithm Hash digest
SHA256 f39a2798fe32c9c126fbeaf963ce22c47dde38070a231a8a76f784e226e0163b
MD5 6bbe3e7288bcfeffdb4f8a75036570ca
BLAKE2b-256 60ff51d3947972a0eaa1ec89bcbceada5f197e5ed970c43141507cc3a7cdcf70

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: unaiverse-0.1.20-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.20-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 d29b57ece3a5f164fd4b7f0345fc61e2bf20ac26b855b6e1a2d36234943e49f1
MD5 da628094e54b329548a7f417fc6a8010
BLAKE2b-256 66687134371f422c9f564f2a7946a8d2f4a1afaa7ec2832a49f3c834aa2bf26b

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.20-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 effcd0915eb670d2ff499d1ba9764fc049798d7b39d6b674916fd073e4478b94
MD5 67208ea67934fe596b8ebfb122843959
BLAKE2b-256 1177c24599a4eeba92a087ec7db97f01aa3c00082897e5b0e1c1b97ca4b3aea7

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-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.20-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 3ff2cd71b7b1d8e923bcadecd22e448425db153bbe98b450fddab2c2f1f91867
MD5 5ef34eeb565dda40274e002f82aa181c
BLAKE2b-256 181d0cdb395f83553fcad59a710115914c894aec1ae5eab8dc8c1e8699861558

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.20-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3e77d4e5bd8bf49b6c18ff503b1bbc4859e4372b7ae82bd86d4fbd55db85075c
MD5 47c09e1d5372c737a912318bbb8f0b83
BLAKE2b-256 4a4d2dbfca1fd15802eeb5640ee5a4c253ffa8712a9eab387bb3d0e4e801993a

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.20-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 ba676f2009d44fded2d3f0f412edbbc3ce642df0bc4817a66298a64423fd7821
MD5 c24eda4c64d8c805535a1c8d7ac6032b
BLAKE2b-256 efb5505efa20c6e6d30cabc3f41cde3329930ac50c04e3961efa92acfd14c4e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: unaiverse-0.1.20-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.20-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 fbb0f988177158cb6e3977628157834193b7e8601d2b07f26eecb5f79c467616
MD5 8f31266efacdfdbe0585d5505531c34f
BLAKE2b-256 dbef17e7a62e4853f9cbc870f1dd60abb5fb203398f06c65474ac8594d27cde7

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.20-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8d7343a6dd2dd2310721720b1f474108d431207d7c403a0337071b2d037c4e23
MD5 38f0cbe2cf85193e51568eb535e7cdaa
BLAKE2b-256 47b776f5f07dcede61fc596da8e867cc5dabd20614a62b7160a6fd9c43107f4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-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.20-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 b98f8b54f2b0dcacfcce75c97021323004479afb11bdff9522aa4cfca725672c
MD5 019db9ef840634a653bb4155ad9821ef
BLAKE2b-256 54f83719190adcfdd3b8f44948389731364b8a39ad1585c805c3e83231277c4e

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.20-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 151c1da1d9141e46cb7572eb21e42df312596698350784cb6de568e0272a30e5
MD5 177b7959ed88161e7dbfb8b71967aab8
BLAKE2b-256 123c1bc55c9278d5c088600aa2a1c992379ac2feba7ad47931c7ab1ad20ee9d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.20-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 709f651cd2d09da5249985a112fee5767b29363becbf36706a27dc2407e60932
MD5 a367aace532748b6460fb9ec34c6c36a
BLAKE2b-256 27f7ea97be1db086b17a8d53a474ec7e162494c25fc50825364d5e63a2fcb671

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: unaiverse-0.1.20-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.20-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5fdf7abfc165db08ea20f37f2a5dfeeac6844416d93b4e45343918e785dfec37
MD5 f953cb58097015bd392db61f857006d7
BLAKE2b-256 4a060a408c561dca714eb38f4657905345d0e5c9937d50d391ee034db3355a77

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.20-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 62c276ced4bb973b2f11cb890d73d7c7ff5a32a1d43c6e8c7e3159ccde7e5883
MD5 d858fbbe9dcb6a682d0c4f51597a7c3a
BLAKE2b-256 b97b299120401e57896458beabfe98917bfba5695c230518d5b6a5195ac5304b

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-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.20-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 26589402615fe2412e6ccd5c24746b15bb7f5a0eceec3cfbe864163f87f2104e
MD5 ee06350f563e08ba1367486e85bb9291
BLAKE2b-256 885e0a7f7f5488c47a5ce248727f915f14d5f8ba61950a94004a546f2f7a1e66

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.20-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ad15c0ab65e6a709698d8ea6b42dd37999e190da6172ceb62a46e6e92b420506
MD5 eab963302af07069eedd0a6974922939
BLAKE2b-256 3051945b23bfa2043d97f48524746a3fd1eed5ff5b315fcd508a4c8e53f3a678

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.20-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 8cc8470153b46fc1b2b943a7d525a87569167ee46c680d42de454899a6e2fa44
MD5 487509605dcf6026aa8561b1c20c0c46
BLAKE2b-256 3eda375d86bd26dae1907233b8d042ee252780b7575d417fae5f342c104704b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: unaiverse-0.1.20-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.20-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5f0bea7e788afdd18fec8a2456ad6f3a60fd17b0cb11f7dfc4a15da9237f3869
MD5 8a2c0ae26af67b88ac6285d1180b1759
BLAKE2b-256 411729f662cf29a2858463d00598f91c6cbb7a5c9530b97b54d1d224af026a53

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.20-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 df69e18645dd2f3d50548963ce0b65a5003f85802555e9a7ea5ab513d808141d
MD5 f29626c47933e73dd02a7261c7563057
BLAKE2b-256 5d5bbae8a2d8fe398fb6d41f17d8d7fdd97e11e037fb70b4bdbff0a84f76336d

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-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.20-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 bcb1d2fc2a1261710f08558fc03a567566e27707a97318beaed12fc848334360
MD5 0f1f2f38caef916a85f389d16aa5ef82
BLAKE2b-256 8c544881bb4b5e55f572dd6de2947c776ce60afab35f3f5a6f7594f8be46acd5

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.20-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 db6f511b3b9ad00b0f7ba67f7e72e6aa953f2bcea8414562456e99268c496979
MD5 c1b06ef3ff0cf9111da388779f89c52c
BLAKE2b-256 3830d72ae7f1ad3277fef121e9ae2b549784e7030c65d8f15af813c1c06b68de

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.20-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 1c8e4889dbfe4ee830a760a36a3f719b975d18e706a3a5041519ef0cfbf91f71
MD5 84fa38255da699ba8edf26086ec68d7c
BLAKE2b-256 446799721abbfd5e11a3d2f9a7dfbbcbe239d4bdab3523c7cd5f9e6594b4ca05

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: unaiverse-0.1.20-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.20-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 937ba05ac8bdef9c52d2ecdb9c79d533da2cc71743cc4cbd7f96aca4705864c4
MD5 193c114c4e26cbd64df93694228f44d7
BLAKE2b-256 7991b87d20608d7787c68693fc430058f77765bf9a7acb3dff422e8d01eb1f49

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.20-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ae079d8f83c98acb18f774da49b46b2cc8080d0f07df01e7bb1f9c90270d05b7
MD5 2afea2a522d0ce23ab2653bbffc0068a
BLAKE2b-256 997241e3af8d03a78b5801e4933a981c68d778104738fd5315ff35ffafd6a5ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-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.20-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 79eda02b84735a706540f85ebecea5aa259ab195d1117b507d1a5c66f338e66a
MD5 322bc23b5967bc96b86ff0b73e7c64e1
BLAKE2b-256 63edf5cd336d0f677b7daec3a795a21d9f157f7a6c7bb1c05e482e01de0c58c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.20-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8820d3e5467f152e52113b0d1745d84fe4f376eb912c16dfef4aafeaa920bd92
MD5 71c42e38a6f208a8af15c2b9204da522
BLAKE2b-256 ca0964e303e62d02743e457b69321a3a0c02db7130c070f0ce201cd7e4d83abd

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.20-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 917c0bce6f69cb362b0c4e3d30f330e54d11ef3881006ae8c618194ab783d0ac
MD5 87b90d501ca6a2404ea087233394ab32
BLAKE2b-256 d13aa6203ebab5b847851534e336def7fc96419a159da909a0913586cbb39cb9

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: unaiverse-0.1.20-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.20-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e047722dbd5192c6f0a7361b9cbc4f635a522dc62715566a0fd3241ab894e00a
MD5 ad86d0af9f8915e06966209c1ebbb71a
BLAKE2b-256 043719051388af9aab739a1958f8c74620350dd89d40dba0d89b8b8abf2736a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.20-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 991461c20924b9de1dcba591bd4d7bda367d2aee4633f21a1fe91aa02461d848
MD5 f686132d436b144059254e2bfa5b2cac
BLAKE2b-256 3153b702f2eb454e8c11ec10f52b903067686e0d3b15d46f950ba5e25f15751b

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-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.20-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 4d40fdf371702464c99132a3a376abbc671e7542f3375d1b7549dd9542e79b20
MD5 df0d42f40ed79785604fd8d468d2b36b
BLAKE2b-256 11f1c626ef817e49c9839637d0232a816802a8d504c6b38b51fa49e7bf473b2c

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.20-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 64d6c1c5b151408214892c3a877513dc8b46173b27d5e811641029ac5fec8a6e
MD5 51032380b05da80a3c1f2677dd470699
BLAKE2b-256 aa5ba9b0db24114b0e068cfb139894748807c52e54190efb377e0f1f3284b5cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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.20-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for unaiverse-0.1.20-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6b48afa98f630d77e3e55748c3743ce051318d0b95c7bb73ce2c2bfb972c0a74
MD5 0e0b6828b690c4376b90aa00cc761fa3
BLAKE2b-256 fc88fa069a6bd4afbc0c14e9c92b7877495a2d73bc2259665a7762bc3d503a33

See more details on using hashes here.

Provenance

The following attestation bundles were made for unaiverse-0.1.20-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