Skip to main content

A Python library for working with logic networks, synthesis, and optimization.

Project description

aigverse: A Python Library for Logic Networks, Synthesis, and Optimization

CI Documentation PyPI Python License Release

[!Important] This project is still in the early stages of development. The API is subject to change, and some features may not be fully implemented. I appreciate your patience and understanding as work to improve the library continues.

aigverse logo

aigverse is an open-source infrastructure project that brings mature logic synthesis capabilities into Python-first workflows. Rather than reimplementing synthesis algorithms in Python, it wraps high-performance C/C++ backends with an idiomatic Python interface. aigverse is built directly upon the EPFL Logic Synthesis Libraries, particularly mockturtle, kitty, and lorina, providing reusable support for And-Inverter Graph (AIG) construction, manipulation, optimization and equivalence-checking flows, dataset generation, and export to graph and array representations for downstream data science and ML pipelines.

Documentation

✨ Features

  • Efficient Logic Representation: Use And-Inverter Graphs (AIGs) to model and manipulate logic circuits in Python.
  • File Format Support: Read and write AIGER, Verilog, Bench, PLA, ... files for interoperability with other logic synthesis tools.
  • C++ Backend: Leverage the performance of the EPFL Logic Synthesis Libraries for fast logic synthesis and optimization.
  • High-Level API: Simplify logic synthesis tasks with a Pythonic interface for AIG manipulation and optimization.
  • ML/Data Science Interoperability: Optional adapters for graph and array representations used in Python data science and machine learning workflows.

🤔 Motivation

Logic synthesis algorithms are predominantly implemented in highly optimized C/C++ toolchains, while modern ML experimentation is often Python-first. Without reusable infrastructure, projects frequently end up reimplementing synthesis functionality in Python or maintaining brittle wrapper and file-conversion pipelines around external tools. aigverse addresses this recurring engineering gap by exposing mature synthesis capabilities through a streamlined Python API. This enables circuit construction and manipulation, optimization and equivalence-checking flows, and export to ML-ready graph or numeric representations in one reusable library. aigverse wraps the EPFL Logic Synthesis Libraries with nanobind to provide a Pythonic interface to high-performance C/C++ synthesis backends.

📦 Installation

aigverse is available via PyPI for all major operating systems and supports all active Python versions, with Stable ABI for 3.12+ and free-threading support for 3.14+.

pip install aigverse

🔌 Adapters

To keep the core library lightweight, ML and data science adapters are optional and not installed by default. They provide reusable conversion paths from AIGs to graph and array formats for Python workflows (such as NetworkX and NumPy). To install aigverse with the adapters extra, use:

pip install "aigverse[adapters]"

This will install additional dependencies required for ML workflows. See the documentation for more details.

🚀 Usage

The following demonstrates core workflows in aigverse. Detailed documentation and examples are available at ReadTheDocs.

🏗️ Basic Example: Creating an AIG

In aigverse, you can create a simple And-Inverter Graph (AIG) and manipulate it using various logic operations.

from aigverse.networks import Aig

# Create a new AIG network
aig = Aig()

# Create primary inputs
x1 = aig.create_pi()
x2 = aig.create_pi()

# Create logic gates
f_and = aig.create_and(x1, x2)  # AND gate
f_or = aig.create_or(x1, x2)  # OR gate

# Create primary outputs
aig.create_po(f_and)
aig.create_po(f_or)

# Print the size of the AIG network
print(f"AIG Size: {aig.size}")

Note that all primary inputs (PIs) must be created before any logic gates.

🔍 Iterating over AIG Nodes

You can iterate over all nodes in the AIG, or specific subsets like the primary inputs or only logic nodes (gates).

# Iterate over all nodes in the AIG
for node in aig.nodes():
    print(f"Node: {node}")

# Iterate only over primary inputs
for pi in aig.pis():
    print(f"Primary Input: {pi}")

# Iterate only over logic nodes (gates)
for gate in aig.gates():
    print(f"Gate: {gate}")

# Iterate over the fanins of a node
n_and = aig.get_node(f_and)
for fanin in aig.fanins(n_and):
    print(f"Fanin of {n_and}: {fanin}")

🏷️ Network and Signal Names

Named AIGs allow you to assign human-readable names to the network, inputs, outputs, and internal signals.

from aigverse.networks import NamedAig

# Create a named AIG
named_aig = NamedAig()
named_aig.set_network_name("full_adder")

# Create named primary inputs and logic
a = named_aig.create_pi("a")
b = named_aig.create_pi("b")
cin = named_aig.create_pi("cin")

sum = named_aig.create_xor3(a, b, cin)
carry = named_aig.create_maj(a, b, cin)

# Assign names to signals and create named outputs
named_aig.set_name(sum, "sum")
named_aig.create_po(carry, "carry_output")

# Retrieve names
print(f"Network: {named_aig.get_network_name()}")
print(f"Signal: {named_aig.get_name(sum)}")

Named AIGs are automatically created when reading Verilog or AIGER files with naming information.

📏 Depth and Level Computation

You can compute the depth of the AIG network and the level of each node. Depth information is useful for estimating the critical path delay of a respective circuit.

from aigverse.networks import DepthAig

depth_aig = DepthAig(aig)
print(f"Depth: {depth_aig.num_levels}")
for node in aig.nodes():
    print(f"Level of {node}: {depth_aig.level(node)}")

🕸️ AIGs with Fanout Information

If needed, you can retrieve the fanouts of AIG nodes as well:

from aigverse.networks import FanoutAig

fanout_aig = FanoutAig(aig)
n_and = aig.get_node(f_and)
# Iterate over the fanouts of a node
for fanout in fanout_aig.fanouts(n_and):
    print(f"Fanout of node {n_and}: {fanout}")

🔄 Sequential AIGs

aigverse also supports sequential AIGs, which are AIGs with registers.

from aigverse.networks import SequentialAig

seq_aig = SequentialAig()
x1 = seq_aig.create_pi()  # Regular PI
x2 = seq_aig.create_ro()  # Register output (sequential PI)

f_and = seq_aig.create_and(x1, x2)  # AND gate

seq_aig.create_ri(f_and)  # Register input (sequential PO)

print(seq_aig.registers())  # Prints the association of registers

It is to be noted that the construction of sequential AIGs comes with some caveats:

  1. All register outputs (ROs) must be created after all primary inputs (PIs).
  2. All register inputs (RIs) must be created after all primary outputs (POs).
  3. As for regular AIGs, all PIs and ROs must be created before any logic gates.

⚡ Logic Optimization

You can optimize AIGs using various algorithms. For example, you can perform resubstitution to simplify logic using shared divisors. Similarly, refactoring collapses maximal fanout-free cones (MFFCs) into truth tables and resynthesizes them into new structures. Cut rewriting optimizes the AIG by replacing cuts with improved ones from a pre-computed NPN database. Finally, balancing performs (E)SOP factoring to minimize the number of levels in the AIG.

from aigverse.algorithms import (
    aig_resubstitution,
    sop_refactoring,
    aig_cut_rewriting,
    balancing,
    cleanup_dangling,
)

# Clone the AIG network for size comparison
aig_clone = aig.clone()

# Optimize the AIG with several optimization algorithms.
# By default, each algorithm returns a *new* cleaned AIG.
aig_opt = aig
for optimization in [aig_resubstitution, sop_refactoring, aig_cut_rewriting, balancing]:
    aig_opt = optimization(aig_opt)

# Print the size of the unoptimized and optimized AIGs
print(f"Original AIG Size:  {aig_clone.size}")
print(f"Optimized AIG Size: {aig_opt.size}")

# Some algorithms offer in-place transformations for performance-oriented pipelines
for optimization in [aig_resubstitution, sop_refactoring]:
    optimization(aig, inplace=True)
aig = cleanup_dangling(aig)

🎲 Random AIG Generation

The aigverse.generators module provides reproducible random AIG generation via random_aig.

from aigverse.generators import random_aig

# One random AIG
aig = random_aig(num_pis=4, num_gates=20, seed=123)

# Python-side batch generation
dataset = [random_aig(num_pis=4, num_gates=20, seed=1000 + i) for i in range(16)]

🧱 Structured Generator Networks

The same module also provides high-level arithmetic and control generators that return complete benchmark networks.

from aigverse.generators import binary_decoder, ripple_carry_adder, multiplexer

adder = ripple_carry_adder(8)
mux = multiplexer(8)
decoder = binary_decoder(8)

print(adder.num_pis, adder.num_pos, adder.num_gates)
print(mux.num_pis, mux.num_pos, mux.num_gates)
print(decoder.num_pis, decoder.num_pos, decoder.num_gates)

✅ Equivalence Checking

Equivalence of AIGs (e.g., after optimization) can be checked using SAT-based equivalence checking.

from aigverse.algorithms import equivalence_checking

# Perform equivalence checking
equiv = equivalence_checking(aig1, aig2)

if equiv:
    print("AIGs are equivalent!")
else:
    print("AIGs are NOT equivalent!")

📄 File Format Support

You can read and write AIGs in various file formats, including (ASCII) AIGER, gate-level Verilog and PLA.

✏️ Writing

from aigverse.io import write_aiger, write_verilog, write_dot

# Write an AIG network to an AIGER file
write_aiger(aig, "example.aig")
# Write an AIG network to a Verilog file
write_verilog(aig, "example.v")
# Write an AIG network to a DOT file
write_dot(aig, "example.dot")

👓 Parsing

from aigverse.io import (
    read_aiger_into_aig,
    read_ascii_aiger_into_aig,
    read_verilog_into_aig,
    read_pla_into_aig,
)

# Read AIGER files into AIG networks
aig1 = read_aiger_into_aig("example.aig")
aig2 = read_ascii_aiger_into_aig("example.aag")
# Read a Verilog file into an AIG network
aig3 = read_verilog_into_aig("example.v")
# Read a PLA file into an AIG network
aig4 = read_pla_into_aig("example.pla")

Additionally, you can read AIGER files into sequential AIGs using read_aiger_into_sequential_aig and read_ascii_aiger_into_sequential_aig.

🥒 pickle Support

AIGs support Python's pickle protocol, allowing you to serialize and deserialize AIG objects for persistent storage or interface with data science or machine learning workflows.

import pickle

with open("aig.pkl", "wb") as f:
    pickle.dump(aig, f)

with open("aig.pkl", "rb") as f:
    unpickled_aig = pickle.load(f)

You can also pickle multiple AIGs at once by storing them in a tuple or list.

🧠 Machine Learning Integration

With the adapters extra, you can convert an AIG to a NetworkX directed graph, enabling visualization and use with graph-based ML tools:

import aigverse.adapters

G = aig.to_networkx(levels=True, fanouts=True, node_tts=True)

Graph, node, and edge attributes provide logic, level, fanout, and function information for downstream ML or visualization tasks.

For more details and examples, see the machine learning integration documentation.

🔢 Truth Tables

Small Boolean functions can be efficiently represented using truth tables. aigverse enables the creation and manipulation of truth tables by wrapping a portion of the kitty library.

🎉 Creation

from aigverse.utils import TruthTable

# Initialize a truth table with 3 variables
tt = TruthTable(3)
# Create a truth table from a hex string representing the MAJ function
tt.create_from_hex_string("e8")

🔧 Manipulation

# Flip each bit in the truth table
for i in range(tt.num_bits()):
    print(f"Flipping bit {int(tt.get_bit(i))}")
    tt.flip_bit(i)

# Print a binary string representation of the truth table
print(tt.to_binary())

# Clear the truth table
tt.clear()

# Check if the truth table is constant 0
print(tt.is_const0())

🔣 Symbolic Simulation of AIGs

from aigverse.algorithms import simulate, simulate_nodes

# Obtain the truth table of each AIG output
tts = simulate(aig)

# Print the truth tables
for i, tt in enumerate(tts):
    print(f"PO{i}: {tt.to_binary()}")

# Obtain the truth tables of each node in the AIG
n_to_tt = simulate_nodes(aig)

# Print the truth tables of each node
for node, tt in n_to_tt.items():
    print(f"Node {node}: {tt.to_binary()}")

📃 Exporting as Lists or NumPy Arrays

For machine learning applications, it is often useful to convert truth tables into standard data structures like Python lists or NumPy arrays. Since TruthTable objects are iterable, conversion is straightforward.

import numpy as np

# Export to a list
tt_list = list(tt)

# Export to NumPy arrays
tt_np_bool = np.array(tt)
tt_np_int = np.array(tt, dtype=np.int32)
tt_np_float = np.array(tt, dtype=np.float64)

🥒 pickle Support

Truth tables also support Python's pickle protocol, allowing you to serialize and deserialize them.

import pickle

with open("tt.pkl", "wb") as f:
    pickle.dump(tt, f)

with open("tt.pkl", "rb") as f:
    unpickled_tt = pickle.load(f)

🎤 Learn More

For a deeper dive into the vision and technical details behind aigverse, check out the presentation from the Free Silicon Conference (FSiC) 2025:

"aigverse: Toward machine learning-driven logic synthesis" 📄 Slides available on the FSiC wiki

This talk presents the same core infrastructure thesis: closing the software gap between high-performance synthesis tooling and Python-first ML workflows.

🙌 Contributing

Contributions are welcome! If you'd like to contribute to aigverse, please see the contribution guide. I appreciate feedback and suggestions for improving the library.

💼 Support and Consulting

aigverse is and will always be a free, open-source library. If you or your organization require dedicated support, specific new features, or integration of aigverse into your projects, professional consulting services are available. This is a great way to get the features you need while also supporting the ongoing maintenance and development of the library.

For inquiries, please reach out to @marcelwa. More information can be found in the documentation.

📜 License

aigverse is available under the MIT License.

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

aigverse-0.1.0.tar.gz (221.6 kB view details)

Uploaded Source

Built Distributions

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

aigverse-0.1.0-cp314-cp314t-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.14tWindows x86-64

aigverse-0.1.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (840.9 kB view details)

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

aigverse-0.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (800.8 kB view details)

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

aigverse-0.1.0-cp314-cp314t-macosx_11_0_arm64.whl (743.9 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

aigverse-0.1.0-cp312-abi3-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.12+Windows x86-64

aigverse-0.1.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (827.5 kB view details)

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

aigverse-0.1.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (789.0 kB view details)

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

aigverse-0.1.0-cp312-abi3-macosx_11_0_arm64.whl (732.9 kB view details)

Uploaded CPython 3.12+macOS 11.0+ ARM64

aigverse-0.1.0-cp311-cp311-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.11Windows x86-64

aigverse-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (842.5 kB view details)

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

aigverse-0.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (801.8 kB view details)

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

aigverse-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (740.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

aigverse-0.1.0-cp310-cp310-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.10Windows x86-64

aigverse-0.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (843.2 kB view details)

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

aigverse-0.1.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (802.4 kB view details)

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

aigverse-0.1.0-cp310-cp310-macosx_11_0_arm64.whl (740.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for aigverse-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0a983129411023907e17328be92a8a7bad6e9074296335a69e3107106ba634e9
MD5 577b943f855e50c2be77393a1438f6fb
BLAKE2b-256 83c9631a4bbb90d40a6d8f61dc922a022b5c9b8ca3527ca01f96f4cba6305228

See more details on using hashes here.

Provenance

The following attestation bundles were made for aigverse-0.1.0.tar.gz:

Publisher: aigverse-pypi-deployment.yml on marcelwa/aigverse

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

File details

Details for the file aigverse-0.1.0-cp314-cp314t-win_amd64.whl.

File metadata

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

File hashes

Hashes for aigverse-0.1.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 0dde63608a4f9cd74b69a0f665b3281182cf2e4cb0e7b64725bdd7ede0dbfc0d
MD5 d871c41ca0035aa760a91d909a5703da
BLAKE2b-256 ceb48e8223ceaec4e2187b89c88d4b2dbd746e1f34805b2b5094ac67e882fff3

See more details on using hashes here.

Provenance

The following attestation bundles were made for aigverse-0.1.0-cp314-cp314t-win_amd64.whl:

Publisher: aigverse-pypi-deployment.yml on marcelwa/aigverse

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

File details

Details for the file aigverse-0.1.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aigverse-0.1.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 89299be2d91c4e6d92843686248c24b9e3bc9472327ea00f4a51b11786f85436
MD5 702d90dddfa098fdf8384e6c7a4ddfad
BLAKE2b-256 61217431e58c00a0f76055163468991a2d92ed2b1055744099493340f0652a52

See more details on using hashes here.

Provenance

The following attestation bundles were made for aigverse-0.1.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: aigverse-pypi-deployment.yml on marcelwa/aigverse

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

File details

Details for the file aigverse-0.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for aigverse-0.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1d1814adec63f1dc248113fb4bc7e87c57305283035495c3c7158e1925ed6d63
MD5 60198c3f914ce59272d6b771f169e601
BLAKE2b-256 f32c7440ef3520fef3a68631c717f8d7d031a79a28bd13807a2d183173258998

See more details on using hashes here.

Provenance

The following attestation bundles were made for aigverse-0.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: aigverse-pypi-deployment.yml on marcelwa/aigverse

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

File details

Details for the file aigverse-0.1.0-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aigverse-0.1.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ea33e8d7c12b4977a6ac804192eeb1375da4242b73bfb8b67e5951e0dd2f40c1
MD5 e8b9881458ee4a08dab3af7f4e7adb85
BLAKE2b-256 f408f5c90ea5da83203b45c1bcc079055359d7aabbb03e3e544a1d2c7bcd1df2

See more details on using hashes here.

Provenance

The following attestation bundles were made for aigverse-0.1.0-cp314-cp314t-macosx_11_0_arm64.whl:

Publisher: aigverse-pypi-deployment.yml on marcelwa/aigverse

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

File details

Details for the file aigverse-0.1.0-cp312-abi3-win_amd64.whl.

File metadata

  • Download URL: aigverse-0.1.0-cp312-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.12+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for aigverse-0.1.0-cp312-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 bc788f8c66826d82efb4790928d332d76eb8b331b7d81b4ac1d17ee3a23cde93
MD5 03aa4ba91dd2962e5ec5b9711cf40433
BLAKE2b-256 9d3930f3ff5739727152144e7614010d57e59ff72bbcc99891e4441c43aea943

See more details on using hashes here.

Provenance

The following attestation bundles were made for aigverse-0.1.0-cp312-abi3-win_amd64.whl:

Publisher: aigverse-pypi-deployment.yml on marcelwa/aigverse

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

File details

Details for the file aigverse-0.1.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aigverse-0.1.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ec45ebaf6b5fe0152b10501b55df024ceb15d99d2c3eb5595886ec3ef01539ff
MD5 6ceccbbf50ee3230e7a59ad5f26ebf69
BLAKE2b-256 34ddf0c49fe1a1292bc9e4e80b868bfd39c3a255162f43b44dfe10bc1f932628

See more details on using hashes here.

Provenance

The following attestation bundles were made for aigverse-0.1.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: aigverse-pypi-deployment.yml on marcelwa/aigverse

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

File details

Details for the file aigverse-0.1.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for aigverse-0.1.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 bb721755bef5a8bba14e3dcc493d2b0ed9659d971e9284162e5367bdfa6c34bb
MD5 e700aa0161dc375a8fcdc0a1171042e8
BLAKE2b-256 3ff5de9c0b5b57730dcf2e3c815123bad4e96fab9b0bfbeeef0dd3261225c1f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for aigverse-0.1.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: aigverse-pypi-deployment.yml on marcelwa/aigverse

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

File details

Details for the file aigverse-0.1.0-cp312-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aigverse-0.1.0-cp312-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 315eaee05c0cd12680ad72f862dc83e1a184bfefe2cb482589f2fc109c544140
MD5 9405f318409b4ca8242b9edbec4de59a
BLAKE2b-256 992b27e745d1e6739851a955547756d9c3f19999ddd270c8d5d6fd36f7611b80

See more details on using hashes here.

Provenance

The following attestation bundles were made for aigverse-0.1.0-cp312-abi3-macosx_11_0_arm64.whl:

Publisher: aigverse-pypi-deployment.yml on marcelwa/aigverse

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

File details

Details for the file aigverse-0.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: aigverse-0.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for aigverse-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 760660b43ca80a19f3c09f1f3101a798d3b680f2da80b5069b8859f01c6fe16f
MD5 7138ab01e75d39a9676336b385495ee4
BLAKE2b-256 68aa8f52bcf809c831558c70944d98406439e4ab37f2a3d5a70deaf2373eaa8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for aigverse-0.1.0-cp311-cp311-win_amd64.whl:

Publisher: aigverse-pypi-deployment.yml on marcelwa/aigverse

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

File details

Details for the file aigverse-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aigverse-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 574085790e41964321d0f1be89bc85fe44d44302a3ec9b3c6e159030e2452da8
MD5 2737e90c3f1bb8694a23507e5fcb9990
BLAKE2b-256 395d11aac4b5c766dbfdce1aa2d8f48560c11bcf4c03b7fb3730b2df7a2e4ee2

See more details on using hashes here.

Provenance

The following attestation bundles were made for aigverse-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: aigverse-pypi-deployment.yml on marcelwa/aigverse

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

File details

Details for the file aigverse-0.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for aigverse-0.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d5d3522b39b49dd95eda69e97dd7cb57daa7bb4101cfed5e5e1487272bef8127
MD5 13b7255f5799297d68dca98975cea01c
BLAKE2b-256 5c5dae245c487c431ead02d02f8881ac3e18ce3857fa62828e6054959bf74882

See more details on using hashes here.

Provenance

The following attestation bundles were made for aigverse-0.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: aigverse-pypi-deployment.yml on marcelwa/aigverse

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

File details

Details for the file aigverse-0.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aigverse-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2f5a792cd9f4b37352159083deb0fb5e6054289cd2fee51317533eaf73130bbd
MD5 13ba211ba9c0e3177b1bc456c680f28e
BLAKE2b-256 dac2a1eb13e9e31313823ec5bdf60612260447c0a718f54c80e0fdc9347e6355

See more details on using hashes here.

Provenance

The following attestation bundles were made for aigverse-0.1.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: aigverse-pypi-deployment.yml on marcelwa/aigverse

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

File details

Details for the file aigverse-0.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: aigverse-0.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for aigverse-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7316ab895710a0f3729896a26ce5d8787707ddcb9d584f423b653d126bc57714
MD5 5f33964d0158f4ad54c3784f098397da
BLAKE2b-256 9be12d7c1e3efabfd4b601f6b81e89731312b72116b6e6646718f1340181e7ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for aigverse-0.1.0-cp310-cp310-win_amd64.whl:

Publisher: aigverse-pypi-deployment.yml on marcelwa/aigverse

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

File details

Details for the file aigverse-0.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aigverse-0.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6a02b3a35d1b31cd609885da5fb7b2b8c0f0ff96b9ed93e0842b47dcc560039c
MD5 0264124bf68d6707c4c101627529a7fc
BLAKE2b-256 be12d5079d5abdb45880e598fd432b5714fbbb22bf1a50dbd9cea5a08f14b2e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for aigverse-0.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: aigverse-pypi-deployment.yml on marcelwa/aigverse

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

File details

Details for the file aigverse-0.1.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for aigverse-0.1.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5f173b0f64280dca94f38430baeca87b4a9a43318fcd8a12799dbc84d3eb4083
MD5 1c7d1dade230b36da2338f7512dde34c
BLAKE2b-256 707f528b1fe88ad5176880e86dbf01f7820ddc2216416afcae77046cf20517e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for aigverse-0.1.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: aigverse-pypi-deployment.yml on marcelwa/aigverse

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

File details

Details for the file aigverse-0.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aigverse-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1262b437220027a1673171d0c6450decea0bd5a78929c9137c4545945c654c45
MD5 ebb70e558afed92e8c960464af948a18
BLAKE2b-256 91d7454b0aa743bc48bdab8ad1d5e12e61cebe93d11f0c12babdf97d0eca67fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for aigverse-0.1.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: aigverse-pypi-deployment.yml on marcelwa/aigverse

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