Skip to main content

Design Automation for Field-coupled Nanotechnologies

Project description

fiction – Design Automation for Field-coupled Nanotechnologies

Ubuntu CI macOS CI Windows CI Python Bindings Docker Image CodeQL Documentation Status codecov License PyPI Release arXiv

This code base provides a C++17 framework for field-coupled technology-independent open nanocomputing developed as part of the Munich Nanotech Toolkit (MNT) by the Chair for Design Automation at the Technical University of Munich. Within fiction, algorithms for logic synthesis, placement, routing, clocking, verification, and simulation for Field-coupled Nanocomputing (FCN) technologies are implemented.

To this end, most physical design tasks can be performed on generic data structures that abstract from particular technology or cell design. Using an extensible set of gate libraries, technologies, and cell types, these can easily be compiled down to any desired FCN technology for physical simulation.

For these use cases, fiction provides a C++ header-only library as well as Python bindings that provide data types and algorithms for recurring tasks, e.g., logic network and layout types on different abstraction levels, clocking schemes, gate libraries, design automation algorithms, etc. Additionally, fiction comes with an ABC-like CLI tool that allows quick access to its core functionality.

Documentation

If you have any questions, feel free to contact us via nanotech.cda@xcit.tum.de or by creating an issue on GitHub.

🚀 Getting Started

To help you get started with fiction, pick the interface that best fits your use case:

Goal Recommended Path Section
Try the tool immediately 🐳 Docker CLI image CLI (Docker)
Full-featured local CLI build 💻 Native build CLI (Source)
Integrate into a C++ project 📚 Header-only library C++ Library
Script / notebooks / rapid prototyping 🐍 Python bindings (PyPI) Python Bindings

For a full getting started guide, CLI command list, or API reference, see the documentation.

🐳 CLI (Docker)

This is the fastest zero-install path. We release pre-built images of the latest CLI on Docker Hub. Make sure you have Docker installed on your local system.

Pull the latest image:

docker pull mawalter/fiction:latest

Run the interactive CLI session:

docker run --rm -it mawalter/fiction

Internally, the repository lives at /app/fiction.

💻 CLI (Source)

When you want to add your own algorithms or contribute to the project, you should build fiction from source.

Clone the project with its submodules:

git clone --recursive https://github.com/cda-tum/fiction.git
cd fiction

Configure and build with CMake:

cmake -S . -B build
cmake --build build --parallel

Run the CLI:

build/cli/fiction

Here is an example of running fiction to perform a full physical design flow on a QCA circuit layout that can afterward be simulated in QCADesigner:

CLI example

📚 C++ Library

If you want to use fiction as a dependency in your project, use its header-only library.

Add fiction as a subdirectory to your CMake project and link against libfiction (assuming your project is called fanfiction):

add_subdirectory(fiction)
target_link_libraries(fanfiction PRIVATE libfiction)

Then include what you need:

#include <fiction/layouts/cell_level_layout.hpp>
#include <fiction/layouts/clocking_scheme.hpp>
#include <fiction/technology/qca_one_library.hpp>
#include <fiction/io/write_qca_layout.hpp>
#include <fiction/...>

🐍 Python Bindings

Ideal for notebooks, exploratory scripts, and integration with Python tooling.

Install the library from PyPI:

pip install mnt.pyfiction

Import it in your script:

from mnt import pyfiction

🧪 Supported Technologies

Physical design in fiction can be performed technology-independently. Only if the resulting layouts are to be physically simulated is a specific technology implementation required. To this end, fiction supports various FCN implementations together with gate libraries to compile gate-level layout abstractions down to the cell level. Additionally, output formats for external physical simulator engines are also supported.

Quantum-dot Cellular Automata (QCA)

QCA cells

Gate libraries:

File formats:

Many thanks to Frank Sill Torres for his support with the QCADesigner format, to Willem Lambooy for his support with the QCA-STACK format, and to Sophia Kuhn for implementing the SVG writer!

in-plane Nanomagnet Logic (iNML)

iNML cells

Gate libraries:

File formats:

Many thanks to Umberto Garlando, Fabrizio Riente, and Giuliana Beretta for their support!

Silicon Dangling Bonds (SiDBs)

SiDB cells

Gate libraries:

File formats:

Many thanks to Samuel Sze Hang Ng for his support!

⚙️ Implemented Design Automation Algorithms

The fiction framework provides implementations of state-of-the-art design automation algorithms for FCN technologies. These algorithms can be used in evaluation scripts to perform logic synthesis, physical design, layout verification, and physical simulation.

Logic Synthesis

For logic synthesis, fiction utilizes ABC and the mockturtle library that offer a multitude of logic network types and optimization algorithms. Logic synthesis can be performed in external tools and resulting Verilog/AIGER/BLIF/... files can be parsed by fiction. Alternatively, since mockturtle is included in fiction, synthesis can be applied in the same evaluation script.

Physical Design

For automatic FCN layout obtainment, fiction provides algorithms that receive mockturtle logic networks as input specification and output placed, routed, and clocked generic FCN circuits.

QCA Layout

Among these algorithms are

plus several path-finding algorithms that work on generic layouts:

On top, there is a hexagonalization algorithm to transform Cartesian layouts suitable for QCA into hexagonal layouts suitable for SiDBs, and multiple algorithms to optimize gate-level layouts post-placement:

Verification

Layout correctness can be validated using

Physical Simulation

SiDB simulation result

When a layout is compiled to the cell level via the application of a technology-dependent gate library, it can be simulated using a physical model. Currently, the following simulation algorithms are implemented in fiction:

⏰ Clocking Schemes

Regular clocking schemes have been proposed in the FCN literature and can be used as floor plans for physical design. However, sometimes it makes sense to assign clock numbers on the fly. Therefore, fiction supports both regular and irregular clocking schemes with variable numbers of clock phases: for instance, QCA uses four phases, whereas iNML needs only three.

Built-in schemes are

Columnar Row 2DDWave
Columnar Row 2DDWave
USE RES ESR
USE RES ESR
CFE Ripple SRS
CFE Ripple SRS
BANCS
BANCS

plus the mentioned irregular open clocking that works via a clock map instead of a regular extrapolated cutout.

❎ Wire Crossings

Second layer crossing

With many FCN technologies considered planar, wire crossings should be minimized if possible. However, there are some options in QCA where, using a second layer, crossings over short distances and co-planar rotated cells become possible. As both are just technical implementations of the same concept, fiction supports crossings as wires in a second grid layer in its data structures for all FCN technologies. They will also be represented as such in corresponding SVG and QCADesigner output. However, note that it is to be interpreted as the concept of crossings and could also be realized co-planar.

Wires are only allowed to cross other wires! Wires crossing gates is considered to lead to unstable signals.

⏳ Synchronization Elements

Synchronization element

A technology extension proposes to utilize the external clock signal generator in an unconventional way: by creating further asymmetric clock signals with extended Hold phases that are assigned to specific wire tiles, synchronization elements can be created that stall signals over multiple clock cycles. These artificial latches are able to feed information to any other clock number, but their usage reduces the overall throughput of the layout. In return, long wire detours for signal synchronization can be prevented.

💰 Cost Metrics

Designed layouts can be evaluated with regard to several cost functions. The following metrics are currently implemented:

Gate-level layouts:

  • Circuit dimension in tiles
  • Number of gate tiles
  • Number of wire tiles
  • Number of wire crossings
  • Number of synchronization elements
  • Critical path
  • Throughput
  • Bounding box
  • Energy dissipation based on a physical model (QCA only)

Cell-level layouts:

  • Circuit dimension in cells
  • Number of cells
  • Bounding box
  • Area usage in nm²

📊 Benchmark Library

To objectively evaluate and compare software and design automation tools, MNT Bench provides gate-level layouts for various gate libraries and clocking schemes, generated using the latest physical design and optimization algorithms, with fiction offering the corresponding read and write utilities to generate gate-level layouts from gate-level layout files (.fgl) and vice versa.

Additionally, the benchmarks folder contains the function descriptions of frequently used benchmark sets in Verilog format (.v) provided by MNT Bench.

📜 Reference

Since fiction is academic software, we would be thankful if you referred to it by citing the following publications:

@misc{fiction,
      author = {Walter, Marcel and Wille, Robert and Sill Torres, Frank and Gro{\ss}e, Daniel and Drechsler, Rolf},
      title = {{fiction: An Open Source Framework for the Design of Field-coupled Nanocomputing Circuits}},
      archivePrefix = {arXiv},
      eprint = {1905.02477},
      note = {arXiv:1905.02477},
      year = {2019},
      month = {May}
}

and

@inproceedings{mnt,
    author = {Walter, Marcel and Drewniok, Jan and Hofmann, Simon and Hien, Benjamin and Wille, Robert},
    title = {{The Munich Nanotech Toolkit (MNT)}},
    booktitle = {IEEE International Conference on Nanotechnology (IEEE NANO)},
    pages = {454--459},
    year = {2024}
}

Additionally, many algorithms implemented in fiction have been published individually. For a full list of publications, please refer to the documentation.

🙏 Acknowledgements

The Munich Nanotech Toolkit has been supported by the Bavarian State Ministry for Science and Arts through the Distinguished Professorship Program.

TUM Logo       Coat of Arms of Bavaria

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

mnt_pyfiction-0.6.12.tar.gz (78.8 kB view details)

Uploaded Source

Built Distributions

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

mnt_pyfiction-0.6.12-cp314-cp314t-win_amd64.whl (9.6 MB view details)

Uploaded CPython 3.14tWindows x86-64

mnt_pyfiction-0.6.12-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (13.0 MB view details)

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

mnt_pyfiction-0.6.12-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (12.5 MB view details)

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

mnt_pyfiction-0.6.12-cp314-cp314t-macosx_11_0_x86_64.whl (14.2 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ x86-64

mnt_pyfiction-0.6.12-cp314-cp314t-macosx_11_0_arm64.whl (12.5 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

mnt_pyfiction-0.6.12-cp314-cp314-win_amd64.whl (9.6 MB view details)

Uploaded CPython 3.14Windows x86-64

mnt_pyfiction-0.6.12-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (13.0 MB view details)

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

mnt_pyfiction-0.6.12-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (12.5 MB view details)

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

mnt_pyfiction-0.6.12-cp314-cp314-macosx_11_0_x86_64.whl (14.1 MB view details)

Uploaded CPython 3.14macOS 11.0+ x86-64

mnt_pyfiction-0.6.12-cp314-cp314-macosx_11_0_arm64.whl (12.3 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

mnt_pyfiction-0.6.12-cp313-cp313t-win_amd64.whl (9.6 MB view details)

Uploaded CPython 3.13tWindows x86-64

mnt_pyfiction-0.6.12-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (13.0 MB view details)

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

mnt_pyfiction-0.6.12-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (12.5 MB view details)

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

mnt_pyfiction-0.6.12-cp313-cp313t-macosx_11_0_x86_64.whl (14.2 MB view details)

Uploaded CPython 3.13tmacOS 11.0+ x86-64

mnt_pyfiction-0.6.12-cp313-cp313t-macosx_11_0_arm64.whl (12.5 MB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

mnt_pyfiction-0.6.12-cp313-cp313-win_amd64.whl (9.6 MB view details)

Uploaded CPython 3.13Windows x86-64

mnt_pyfiction-0.6.12-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (13.0 MB view details)

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

mnt_pyfiction-0.6.12-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (12.5 MB view details)

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

mnt_pyfiction-0.6.12-cp313-cp313-macosx_11_0_x86_64.whl (14.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ x86-64

mnt_pyfiction-0.6.12-cp313-cp313-macosx_11_0_arm64.whl (12.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mnt_pyfiction-0.6.12-cp312-cp312-win_amd64.whl (9.6 MB view details)

Uploaded CPython 3.12Windows x86-64

mnt_pyfiction-0.6.12-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (13.0 MB view details)

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

mnt_pyfiction-0.6.12-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (12.5 MB view details)

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

mnt_pyfiction-0.6.12-cp312-cp312-macosx_11_0_x86_64.whl (14.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ x86-64

mnt_pyfiction-0.6.12-cp312-cp312-macosx_11_0_arm64.whl (12.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mnt_pyfiction-0.6.12-cp311-cp311-win_amd64.whl (9.6 MB view details)

Uploaded CPython 3.11Windows x86-64

mnt_pyfiction-0.6.12-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (12.9 MB view details)

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

mnt_pyfiction-0.6.12-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (12.5 MB view details)

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

mnt_pyfiction-0.6.12-cp311-cp311-macosx_11_0_x86_64.whl (14.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ x86-64

mnt_pyfiction-0.6.12-cp311-cp311-macosx_11_0_arm64.whl (12.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mnt_pyfiction-0.6.12-cp310-cp310-win_amd64.whl (9.6 MB view details)

Uploaded CPython 3.10Windows x86-64

mnt_pyfiction-0.6.12-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (12.9 MB view details)

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

mnt_pyfiction-0.6.12-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (12.5 MB view details)

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

mnt_pyfiction-0.6.12-cp310-cp310-macosx_11_0_x86_64.whl (14.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ x86-64

mnt_pyfiction-0.6.12-cp310-cp310-macosx_11_0_arm64.whl (12.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file mnt_pyfiction-0.6.12.tar.gz.

File metadata

  • Download URL: mnt_pyfiction-0.6.12.tar.gz
  • Upload date:
  • Size: 78.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mnt_pyfiction-0.6.12.tar.gz
Algorithm Hash digest
SHA256 0ebcf61f3bf93d940cbda8cd68bb6475d08214d3f8bae6b44e87bd5b4f5b4442
MD5 9f6d752d1f6eb762bafedfe41a624853
BLAKE2b-256 ed874f4b65fa89fe6d05434986527d6e679eea1d2c3ce0196f632c828231a34f

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp314-cp314t-win_amd64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 b1ab578e5954699b47cc4e090a8a4c804d8801ba28870bc4eddeebcb06c64f7d
MD5 95b8027b9fae20333f2ced7d53774b8a
BLAKE2b-256 05f4024349bcc6240f67a5ef5d2f12c7d50b6adcaca5acf921e212859f23edaa

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 302c22861bcaa1d78520bf64668e6882d9e2ba53a1da30e06de274596c3b8152
MD5 6c1fe68ec2a2798368cb29733a0e7865
BLAKE2b-256 7760196b25f7be0f4437c02290167f5c6ad697c629df2d552b1a255d0733b375

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3b7535ce3075b650ff222230c3a06ff38c1c3384ddb082eeaa0396c8e9802c4c
MD5 99c6de626aab263b27ed90101397823c
BLAKE2b-256 1a29095b5ff029f6c22380a8dc9c0c00b0aea065a925ef400191c89345275f86

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp314-cp314t-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp314-cp314t-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 f584efe4023e1493334bc5a22b1e813c296af685d4290fd80d4a03e966a0177a
MD5 d334c3872d035014944094e85e6dfada
BLAKE2b-256 8a32c256a397108e939ca9270ba33b7e294903f27364a399470ec49a1729a565

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 994d3d50794b29c4b12566ba80e5e075f004311b7b19e52bd2e53a219f9d7554
MD5 ea2aa182e85537d6e1db486f14b3dfed
BLAKE2b-256 184d4d936193efe76ff1516275cb0b1a74be96732a151d6010282b69bd2b1a8d

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 7b443cb351765d46815b2dbc3041a5fc38ea2a65fcf8cc5c24b3917e56ecfb59
MD5 7825acb1bd2335fa8f32d99755570bd2
BLAKE2b-256 bf4c0ac8ebdd996e2094eec8c2122addad6db6804777757ad81a026a30d888ec

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6e066b392c6e82e20f9e16a9f9d982b751131001aa3e0b045b736f3a753e0ce6
MD5 2d3dc60b70b86d91a7c7a21ce527aa47
BLAKE2b-256 4ac93b8da0f3c01ff9a90529ab1196021e89c664b6bdde7f029fa9367f6cd436

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c57726659a74c533b6fe2764adce1366da7a4d4831e28b2cfbb097384ba52e31
MD5 78edcd230de826a83075b04f4ca4fca7
BLAKE2b-256 64b5677b80883e7b0fc92fde5333cd341cd8781966208a6a6962fa9313f4f91b

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp314-cp314-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp314-cp314-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 5ce328ffd3e383081517e3f76617159ce9a66a6a631853ed938b62bfb76a10ab
MD5 e56a8b3b473657fa057b9234997d3bd4
BLAKE2b-256 7be9c13a77f44d4c99eda535a76b077ff0d73dec9b770bfc1de2c5dd943b6d47

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2988598ce5fd142633f704b02abd7e779ffce0fc5f6e5df64719d8d9611bbfe3
MD5 c36ac665f7ccf5339e5841a53582479d
BLAKE2b-256 caad7308019f1423f6ba1c5c4024f383915cc3aff7e37cdba6066d85190d9248

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp313-cp313t-win_amd64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 a9daa2e04068ba0f8d5cd61a08caf917db10acd889591450a30bfa2a86d460a4
MD5 48f1ad2a1b834a6ad63cb5ad3969c6f3
BLAKE2b-256 170b7a94eca7cf3b6c724cbfc55cfb821087b400b3a4d629d0a696771517dac7

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4311ed9b961a8304cafa7cc8c8e92d6b8fb2dad6ab7e36a62c387cf9baece2cb
MD5 19a20ab1dc4963b2a2c5563000cfb0b9
BLAKE2b-256 28061ceaf1ca6c62544b46894ac36b3c37bf94d2f808626d8063f7d056772253

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a85e42eb6a0d965939a71a0b3f7481fbecc8d5fa32968cccafaa26ab4edb46cb
MD5 531f81a55ffb5f014c7e2a63851763ab
BLAKE2b-256 7b811dc3ee0097f00a8de1f1b6c4e20066c349fdbf461b8176164ec1195ffda7

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp313-cp313t-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp313-cp313t-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 f871602645edbf5c8467161f890f0641a12951222a4d42e883db6b40f13845cb
MD5 a893b7ba008d72bb80833536edb41df6
BLAKE2b-256 504428d4e2171df461c4cf8b6a738e9c9d970c8592debfe8bce86351e09b0a82

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp313-cp313t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d0bda03d033e89f4ead42e2b530b87f8fde450398ad8ff975be9c8dbda1328fc
MD5 37a650abeea4744c30cbdd4ce23400dc
BLAKE2b-256 cb60d5bc61d54662778eb98c80946ba8f5abc8d4c6dee124450b62e606b358b8

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2add03a443eb681f241ddae48bc85db9708c410aa342eacca3224ee6ab8e42b5
MD5 0816042e024df14f6e47bcfb414f9ec5
BLAKE2b-256 0201a1d9d72309a42aa9fe2c2b02cbe475b1a3490ad76a89fc506f58c46c443f

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 30669e6ad98b723bdcb33ed306afb208f770564d1757559e7242a04919f90116
MD5 22b7691a94026fbf69f8a523392bdb47
BLAKE2b-256 bbc65c5f69c1ba89853de5c07ca380a0e53b32119fed84841f3b94312db46eb3

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8bc60bba819039a48c1c106afefd662e4a5b59121b7e001fe629f7e5fb29b209
MD5 eddc2f9006f28f2884fe2b6f5626a20f
BLAKE2b-256 02e89d392b5d2db28a1e8ea53aba175cab3c4dfa84c25090c64bdb47015ca1e1

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp313-cp313-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp313-cp313-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 73df6fdbf057ff49810fed33500f8637b604103c667b130f8f3f0a3846ec1213
MD5 0a4ec76320179f60d47c610de4056012
BLAKE2b-256 77becfec551ea4e4f5c7e0e38d13f121fcbbe88513098a752e67350446db47d2

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 044dce7f3865d81d70a55403ebae938027b58e6a7bff97808dd0bc912d553148
MD5 50a23193de69d8b645b12ba947084377
BLAKE2b-256 a42cfc50a43e883bf51904ffd1603b1dab2594f6d7a421610acc02877297e98b

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 61ebe3f5d0431773d30f2c896916f3aae5814ffd7584e7d2d21087a20c2281a0
MD5 80a69edafa5f05a5503551123ca32c0c
BLAKE2b-256 1a12a196f210f6d6b36e5946d39eba1121023d8d7f3939e04579f105b2be98fb

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e10f9ed260ec50ddd45794f2ac1bb0e8c2cfd00d0311db0789573b640294fe67
MD5 41158741b950208e46ae9b019ad2b542
BLAKE2b-256 e03cc3cd6874f93f758018cc717be9d043a037747a38a0b86f0f50915f6649f9

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 15def0c7a8285b8424d70aafe579f6ced74b83e760aab49eeb3b5046f1fc3a18
MD5 e3c365ac0ea0f386dfcbb6959313499a
BLAKE2b-256 42aa2cd69971bba3793e5a5625de6e76fe5fd887d047396f5a05a8867955585c

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp312-cp312-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 86cacebe1353042dbb3252361090655ab352f1fbba4fcd2aa0fc4bd14d93e43b
MD5 0a887d0b4c6fec7a2d7657a6eef1d5c7
BLAKE2b-256 f37246d02bea705def6880eb838b29fcc435d677c18c28c6a6ad8cd45740c4a7

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8d10bd93fc7618e165a32675719aa5822b01a819c7abeaf1a776c5be4984dbeb
MD5 3472125c75fe603fc99520b220fcbe9d
BLAKE2b-256 bc1e4c82595843cbeb15c15a0ebefecc8cf97fcafe6c8313d7ba088bca6fc4f5

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b639b9d25bd760b059f483ba27d9adb76a4754ea21223d3e903e2e91d54974f0
MD5 726b7ca49484f41a86390fd0d156ef84
BLAKE2b-256 1a6d08d2982f54c083c0094e4ffe67c42f70e22b80a948292678a09d411a80e2

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 da2dfc910b8645c23a43308b46fad334b663cd4bf16074e05684a0a369b47ed5
MD5 0dc2a4438dacb13500ed38d70f8544a3
BLAKE2b-256 36fd6c9c9d0a09426929d99dde31a546fa234d020dba25c6a0b4cd5f65118024

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 98a851b6c5285db885866a36c7d0b496f67074a03fc8e7218ef068aa87392a26
MD5 06ed377385fcd58355f2797672d93a28
BLAKE2b-256 1354cc56affdf3c64b497b153ee85980061acbd074518349f5a4b1930f59569b

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp311-cp311-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 ede08245242dab96b553325c5cfbcada56bc882112c36ff13bc5f8298a16861a
MD5 d10c3b52d6ad91c278d72943884b50d6
BLAKE2b-256 7dc7bd62a0b72de4527b7c9eb5c3864bec64b0b110d802720b9b34af21343b0d

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 59b1982f65e16d71dcd232c431b0465492cacc12863c4c1883492da20ad06042
MD5 a471da720f388b54c7a726f9809894ee
BLAKE2b-256 4032406d4025f2a9ca607f06308157b69d0602b972aac864f4ef134e6419d653

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 54b0d9a50dce1c2957edaa343f7eb4eeb30b1f303b6973526aef9ccefbcf993b
MD5 c370a2c00c498e71517f45ba939005e4
BLAKE2b-256 10dceafce5b10a3babd8ab56d71664702f131457e8e36aa85bd9139dfd560988

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3746c3a52622df0505603bf389cf159a23c1222d0f6ca599cbfd95925da4ed3e
MD5 b12e6f94118ff6044f9fe951d28c6779
BLAKE2b-256 143b5d878a7f03323573a2c3c9218af7a5a6bfc8130cb55d27ed535a15281931

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 81520af26498f6d274714159f8a1b55b8276ab68e67e995a568ff472690feefb
MD5 4b1d99cd8dad1b947e958de8b6f88be2
BLAKE2b-256 07f8aee9c50ab2b4d2308edf65503afc42a2e5e076ca02231bed18a32891be44

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp310-cp310-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 0ea3b50395458dded4fc12a4f92cc230a1a824866066a2e19a3a9fca8a134517
MD5 4071b39794d2fadc8ea22f7c5d1be026
BLAKE2b-256 da8dbd513b6ded4f5632523193d918f81e8e190aad0b5a7a163355ee004f7211

See more details on using hashes here.

File details

Details for the file mnt_pyfiction-0.6.12-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mnt_pyfiction-0.6.12-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f6cb0d1fe59ce39237b61decdf4fd611beb69fc6e9730eebd741008abdc4a58c
MD5 bfc06c57de879b1b92994868760888da
BLAKE2b-256 930c9d3f970cd3347a1d5ec1fffc421e95e0c27c163c770e409da28ab1c38132

See more details on using hashes here.

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