Multilayer perceptron file format and evaluation.
Project description
A simple file format and associated tools to save/load multilayer perceptrons (aka fully-connected neural networks).
Features:
- Create the files in Python from a
torch.nn.Sequential
. - Load the files in C++, or in Python via bindings.
- Evaluate the network and/or its Jacobian on an input.
- Perform a step of gradient descent for squared error loss.*
- C++ interface uses Eigen types.
- Binary file I/O (no C++ dependency on Protobuf, etc.)
API docs: https://jpreiss.github.io/mlpfile/api.html
[*] OGD update is in-place, for one datapoint only, no momentum.
Installation
To use the Python export and/or bindings, install the pip package:
pip install mlpfile
If you only need to load and evaluate networks in C++, the easiest way is to
either 1) copy the files from mlpfile/cpp
into your project, or 2) include
this repo as a submodule.
Example code
Python:
model_torch = <train a torch.nn.Sequential somehow>
mlpfile.torch.write(model_torch, "net.mlp")
model_ours = mlpfile.Model.load("net.mlp")
x = <appropriate input>
y = model.forward(x)
C++:
mlpfile::Model model = mlpfile::Model::load("net.mlp");
Eigen::VectorXf x = <appropriate input>;
Eigen::VectorXf y = model.forward(x);
Performance
mlpfile
is faster than popular alternatives for small networks on the CPU.
This is a very small example, but such small networks can appear in
time-sensitive realtime applications.
Test hardware is a 2021 MacBook Pro with Apple M1 Pro CPU.
mlpfile
is over 3x faster than ONNX on both forward pass and Jacobian in this
test. You can test on your own hardware by running benchmark.py
.
$ python benchmark.py
┌─────────┐
│ Forward │
└─────────┘
torch: 12.89 usec
onnx: 6.67 usec
ours: 2.00 usec
┌──────────┐
│ Jacobian │
└──────────┘
torch-autodiff: 123.36 usec
torch-manual: 43.94 usec
onnx: 46.98 usec
ours: 12.39 usec
┌────────────┐
│ OGD-update │
└────────────┘
torch: 117.98 usec
ours: 10.07 usec
Motivation
The performace shown above is a major motivation, but besides that:
The typical choices for NN deployment from PyTorch to C++ (of which I am aware)
are TorchScript and the ONNX format. Both are heavyweight and complicated
because they are designed to handle general computation graphs like ResNets,
Transformers, etc. Their Python packages are easy to use via pip
, but their
C++ packages aren't a part of standard package managers, and compiling from
source (at least for ONNX-runtime) is very slow.
Intel and NVidia's ONNX loaders might be better, but they are not cross-platform.
ONNX-runtime also doesn't make it easy to extract the model weights from the file. This means we can't (easily) use their file format and loader but compute the neural network function ourselves for maximum speed.
Also, we want to evaluate the NN's Jacobian in our research application. To do
this with ONNX, we must represent the MLP Jacobian's computational graph in the
file instead of the MLP itself. It turns out that PyTorch's torch.func.jacrev
generates a computational graph that can't be serialized with PyTorch's own
ONNX exporter. Therefore, we must write the symbolically-derived Jacobian by
hand in PyTorch. So that unwanted complexity must exist somewhere, whether it
is C++ or Python.
It's possible that TorchScript is better than ONNX in some of these issues, but I was tired of searching for libraries and wanted to ensure top speed anyway.
File format
It is a binary file format. All numerical types are little-endian, but the code currently assumes it's running on a little-endian machine.
The file format is not stable!
layer types enum:
1 - input
2 - linear
3 - relu
header:
number of layers (uint32)
for each layer:
enum layer type (uint32)
if input:
input dim (uint32)
if linear:
output dim (uint32)
if relu:
nothing
data:
for each layer:
if linear:
weight (float32[], row-major)
bias (float32[])
otherwise:
nothing
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
Built Distributions
File details
Details for the file mlpfile-0.2.1.tar.gz
.
File metadata
- Download URL: mlpfile-0.2.1.tar.gz
- Upload date:
- Size: 12.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38af45804a666f439372158bcf125e24d1781789a9bb6ff7e5b8f0f6c617678b |
|
MD5 | 3666dd0da71715106de021b88f665762 |
|
BLAKE2b-256 | b8091fdf02355564579151f048e0a00875c4721ce58e96cb49921e3726d4cf2d |
File details
Details for the file mlpfile-0.2.1-cp312-cp312-musllinux_1_1_x86_64.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp312-cp312-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 690.9 kB
- Tags: CPython 3.12, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79c0ee8fa097899ba97c5efbdce9102a448b9c982a7cef315fb4860426a0d1eb |
|
MD5 | 54a692b9928a212a296e0df3babaff3c |
|
BLAKE2b-256 | 5c9d2d9162ec2c46b9410bb3b96bc78c1570cd8df2b945c1b5ae9d16c601231a |
File details
Details for the file mlpfile-0.2.1-cp312-cp312-musllinux_1_1_i686.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp312-cp312-musllinux_1_1_i686.whl
- Upload date:
- Size: 743.0 kB
- Tags: CPython 3.12, musllinux: musl 1.1+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4e55226768690662d9147db879badc6c277c93c188a84bd5adfc232a7865000 |
|
MD5 | 06bcaba34a574809d5490124c9b8949c |
|
BLAKE2b-256 | 8312081245bada64fb320f4c39e991b2a81f185450943f2d70b50da4ac841598 |
File details
Details for the file mlpfile-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 176.0 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 378b4d4b2a594d960306a6a99df5a4d772e3b41ed09fb5fc09cf4a648190aba9 |
|
MD5 | 988b4ef380a24d1e87f99d3bb0057c42 |
|
BLAKE2b-256 | 5159bf7ac07dad79b970aebfe0afa010e299142ace34215863976921cb36e6ab |
File details
Details for the file mlpfile-0.2.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 183.6 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a11ddc371d2b5c0220abb8399581154ad12ea0b7df762a47039867c82c90809 |
|
MD5 | f1738257b0f53526e84253a790bc2ec0 |
|
BLAKE2b-256 | d6b2f950bb6e26af39336c394f54ee6313a200b9dc3615790aee6b713e659b60 |
File details
Details for the file mlpfile-0.2.1-cp312-cp312-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp312-cp312-macosx_10_9_x86_64.whl
- Upload date:
- Size: 151.7 kB
- Tags: CPython 3.12, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2476fe2d953045ba9a37ce4b460fbccb07c9ab529c9daf7aa60531203e8b73e3 |
|
MD5 | 5140ac5f5b538253d18c86e9dbc57992 |
|
BLAKE2b-256 | 8a0dfde1b4caaf2f3d0869199461ce0d1524169d6260c96459a01df2cb86bcd1 |
File details
Details for the file mlpfile-0.2.1-cp312-cp312-macosx_10_9_universal2.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp312-cp312-macosx_10_9_universal2.whl
- Upload date:
- Size: 283.1 kB
- Tags: CPython 3.12, macOS 10.9+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18904dee7dbef7d2dd6f5a5defc53c6381820edb4ef71fd3b0bbec4fce08a73c |
|
MD5 | 7c45517ad309ab09322f5d407c2698ba |
|
BLAKE2b-256 | 0290dcef2725a147a79ab0cacbc2436774d44b1bb2cfa1f295744cba8079600f |
File details
Details for the file mlpfile-0.2.1-cp311-cp311-musllinux_1_1_x86_64.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp311-cp311-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 693.5 kB
- Tags: CPython 3.11, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0dcb95eb576049089765cba892ed812ac5139b1f35cb0292c0d78878be87a9b5 |
|
MD5 | 697d2ba65a7fc590575d19d9e03ff17c |
|
BLAKE2b-256 | deed5e200a586bfa202f9b179a516bcc06d214918c08d37f830453e084ba6847 |
File details
Details for the file mlpfile-0.2.1-cp311-cp311-musllinux_1_1_i686.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp311-cp311-musllinux_1_1_i686.whl
- Upload date:
- Size: 745.8 kB
- Tags: CPython 3.11, musllinux: musl 1.1+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2e8e2b9c5bc4633156819bc50c1760424897710c46c3b399013eb3cf07e525a |
|
MD5 | 6cdb2315de7b8f3d005c969299c6d226 |
|
BLAKE2b-256 | 8ebbe255f44846d954b99538d5db7677fa3b62771a44290b542867392416a3d9 |
File details
Details for the file mlpfile-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 175.9 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0362513c62ad08f5dbc5dde3a0f14ce939d18852bfd9290c62685c80d1a2acb |
|
MD5 | 2c761a6282c4cd5c1ac9eea3273dc557 |
|
BLAKE2b-256 | 6bc1e112a3f814cf6e8c87d0df79ac5a03bff000908616132b03db65f2773f6c |
File details
Details for the file mlpfile-0.2.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 183.7 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4c154b3f5dfb63cb7a439c8a4651da08ec86b80df1fd863e9655a91d9b30fe0 |
|
MD5 | 94075fed43fad31bf230dcabd475e8bc |
|
BLAKE2b-256 | 702d6f1bebbb1c99ab683ecbe18e47a205e1c81d9bdc024adc74184d9b1d4b34 |
File details
Details for the file mlpfile-0.2.1-cp311-cp311-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp311-cp311-macosx_10_9_x86_64.whl
- Upload date:
- Size: 151.9 kB
- Tags: CPython 3.11, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 847d3f7eef20e0ca556e189183732ea8bae03b72b853d66710c5bf093946e3ae |
|
MD5 | 2fdd434631aa452036423184e11702d7 |
|
BLAKE2b-256 | 596260f8f72fde666a96b8d634133d5f16196e79e2c3248a98ee9d5a6a4f00bd |
File details
Details for the file mlpfile-0.2.1-cp311-cp311-macosx_10_9_universal2.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp311-cp311-macosx_10_9_universal2.whl
- Upload date:
- Size: 284.8 kB
- Tags: CPython 3.11, macOS 10.9+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b99447fa1dbe12b061dd277abd51d10cdc70c2ab61802aa6c2c4964cd5f505b5 |
|
MD5 | c02e7c295aa31fe6f7397bc46595082a |
|
BLAKE2b-256 | d90dab6e38b68f3d63fad409c124dad15222ad28c7dc500a81e9a44e8dd9975a |
File details
Details for the file mlpfile-0.2.1-cp310-cp310-musllinux_1_1_x86_64.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp310-cp310-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 692.8 kB
- Tags: CPython 3.10, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4fec84ea61b1a1c7a5dd12db89b6239323b9a2f28ef1f45ccc519cf7b11734df |
|
MD5 | 45ed7f52cf5d19e30cd5ee722c97086a |
|
BLAKE2b-256 | d55f31b585a2d5d309f39faae4342fff7a0fc0d5b6bd99e545d8d5ee1e14e5cf |
File details
Details for the file mlpfile-0.2.1-cp310-cp310-musllinux_1_1_i686.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp310-cp310-musllinux_1_1_i686.whl
- Upload date:
- Size: 744.4 kB
- Tags: CPython 3.10, musllinux: musl 1.1+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c777265d7a542825d7ec05994fe84c26d2ac8d7b613f06e00c3d411a60d0e0e |
|
MD5 | 526d314888ec389134aa995c82635589 |
|
BLAKE2b-256 | 1219350044107dc136383bedd87ca6111c95cbf4a6bb374bfccece29dfccf36e |
File details
Details for the file mlpfile-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 174.4 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2350c8119963d0a2a30e96c65c69d3b7a3447947b77092688a03d5ed6ca4649c |
|
MD5 | be8d027769c94d1ddd24f900f22f2447 |
|
BLAKE2b-256 | b5bdf9ae82554ce56e4d802d67ce8e5b3f1f103242a098fcd668a6f2823b230c |
File details
Details for the file mlpfile-0.2.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 182.1 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05d86abbd1547c0691efc85447ad8f46a7e8c6403616fd8d94a23511bab040d6 |
|
MD5 | a4d888d504fbb7d3b67cbf881b177b53 |
|
BLAKE2b-256 | 84b3dd406ac956f9e70f1ee5cc3e41ae1fb929d9c6765892a8a8e1d0e401fe5c |
File details
Details for the file mlpfile-0.2.1-cp310-cp310-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp310-cp310-macosx_10_9_x86_64.whl
- Upload date:
- Size: 150.7 kB
- Tags: CPython 3.10, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f3b435202b366e527e7ba91d57fe66cf74d31befa9ac64261b73d968d58df0c |
|
MD5 | f92c3e7c3985f556be0dcd7ec41f91a9 |
|
BLAKE2b-256 | 8ca1c9c0637edd9c529afb9eee4e6dde4fe746fd16514fd02ea98c4ee3a1dd64 |
File details
Details for the file mlpfile-0.2.1-cp310-cp310-macosx_10_9_universal2.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp310-cp310-macosx_10_9_universal2.whl
- Upload date:
- Size: 282.3 kB
- Tags: CPython 3.10, macOS 10.9+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7004e97bbdc658c72cbf688777d3411f3f77ef9a2d8aa363d1781e60d98f01fd |
|
MD5 | 7a7eb8fa026d2479802ef99c48f87c75 |
|
BLAKE2b-256 | 0d142b81c8bf4efee505aff9a1e498d531d8f8a8e0a41753c705b9af9c4805e0 |
File details
Details for the file mlpfile-0.2.1-cp39-cp39-musllinux_1_1_x86_64.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp39-cp39-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 693.0 kB
- Tags: CPython 3.9, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 202e903c18bf920e6f8304e50d4f001c60125ee9eefe872a01a08c71abc93271 |
|
MD5 | dbf020b6646ef27961bc78cb7bf8eaf5 |
|
BLAKE2b-256 | fdad44466cb8112be20556c76dbe49c6c2da9408012d88e11e2c48ca4448baad |
File details
Details for the file mlpfile-0.2.1-cp39-cp39-musllinux_1_1_i686.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp39-cp39-musllinux_1_1_i686.whl
- Upload date:
- Size: 744.6 kB
- Tags: CPython 3.9, musllinux: musl 1.1+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70936b83f1d5a29ade1ad75b117126051c47703555e09c62d3ac6f071773f75c |
|
MD5 | 08f30e074b5a7a9d60ac9ab97eae0b0b |
|
BLAKE2b-256 | 93be7ad6ad3bdb85dfaec67901c14e4e11664019c1be9e22b2ba75a83ddbd3c5 |
File details
Details for the file mlpfile-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 174.8 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9383c359057a054d0cd8d580c0b1ebf9ea71d20abc29944858673de40d81dcf |
|
MD5 | 769533b95d108f60ca96e37a86e78342 |
|
BLAKE2b-256 | 907e958b75416e3ad4109bfa31487081a5230151bb27c175355bf545cb5ed265 |
File details
Details for the file mlpfile-0.2.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 182.2 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7f28d919a8c2e5ab1c1b6618c2f97933398ac74c7abe15087a6020efa10b4ff |
|
MD5 | 67cd0dce1774c6db529171fe3d1a165c |
|
BLAKE2b-256 | c3de9938e114848c171de41eca35c7804959e59058556529f61e1a427191a35a |
File details
Details for the file mlpfile-0.2.1-cp39-cp39-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp39-cp39-macosx_10_9_x86_64.whl
- Upload date:
- Size: 150.9 kB
- Tags: CPython 3.9, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c5ce0c1c9d0ebe497017ffbfe8f252f0f1687cbb96cdc9327719cc0f3ba845c |
|
MD5 | f9346dd52be4f036c63bd97afb02b370 |
|
BLAKE2b-256 | ede7b823e2901c26f239373863e268652e496b5f8f3c70c5c7ac7f3350f86998 |
File details
Details for the file mlpfile-0.2.1-cp39-cp39-macosx_10_9_universal2.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp39-cp39-macosx_10_9_universal2.whl
- Upload date:
- Size: 282.7 kB
- Tags: CPython 3.9, macOS 10.9+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfb94e0f05ef83d8b9e5b0e1a759b24cc82e306f7aa59f8282a3f8f1f7ada0a6 |
|
MD5 | ed57861fe56a7175df18f98621703494 |
|
BLAKE2b-256 | f50034c483c14bd01ec1a936d86c89ec06e88d890dd67c7c8d484ed96ddc03fa |
File details
Details for the file mlpfile-0.2.1-cp38-cp38-musllinux_1_1_x86_64.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp38-cp38-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 692.5 kB
- Tags: CPython 3.8, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba73b2d7958d2428335faa361de464575145b73f4c852d566cd6b5b5cc624dc4 |
|
MD5 | 78115c98991d6d793ad279dc9befa967 |
|
BLAKE2b-256 | 6e9c2c7074b941ff51b6c68d12191992c432978bdb2218d367e956465e424518 |
File details
Details for the file mlpfile-0.2.1-cp38-cp38-musllinux_1_1_i686.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp38-cp38-musllinux_1_1_i686.whl
- Upload date:
- Size: 744.2 kB
- Tags: CPython 3.8, musllinux: musl 1.1+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ffd0233188efb9304a38a3f7ce21d396f0565922b7a46d32bc9e7eda0749018 |
|
MD5 | bcafc303052370c43cf06d82041773d1 |
|
BLAKE2b-256 | f85b8917f35aece26f319bddbbfbd9e159f20a836a757fe6f48f9efa2a32624d |
File details
Details for the file mlpfile-0.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 174.5 kB
- Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7fffc7848df311add9dd8c473596222f0a10133f4ca2777466dc1deddc61f92 |
|
MD5 | 0c7b021b144d14178cc5173bc43fb0d3 |
|
BLAKE2b-256 | 690bb876d5acbbb8eb70e0df49c2f49eb2e9176af7c19bf3e3dfea673a39e5d0 |
File details
Details for the file mlpfile-0.2.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 181.9 kB
- Tags: CPython 3.8, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14cebe96c3e9dd7de75d9649c81263826cb73e7be98067da2eb5dda6e98efaf1 |
|
MD5 | 6840f327041cf84604e97bdc72177eb0 |
|
BLAKE2b-256 | eb46033285475d64011679c41436d947ff0001b2dafd2f917eabaf4f9909432f |
File details
Details for the file mlpfile-0.2.1-cp38-cp38-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp38-cp38-macosx_10_9_x86_64.whl
- Upload date:
- Size: 150.6 kB
- Tags: CPython 3.8, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52ebe3b860d23df27c3d63e244013773f7f21dbda7e3e4395d93e9fd63947615 |
|
MD5 | d63a1c0a31c5e55be46bdd475bf4f9e8 |
|
BLAKE2b-256 | fb2a62adc0c82757ebc0d826c06f4d86a1db55a705489af93defb76031a005ec |
File details
Details for the file mlpfile-0.2.1-cp38-cp38-macosx_10_9_universal2.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp38-cp38-macosx_10_9_universal2.whl
- Upload date:
- Size: 282.1 kB
- Tags: CPython 3.8, macOS 10.9+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5b2dc126c7f2dfabececa1cada748aa0dc500fdbd22ff62ad8e3ee85aa63649 |
|
MD5 | fa2798bd6cd34d46ca2d4f0599686471 |
|
BLAKE2b-256 | de3094ddcd2fe3790ab32dbde10d50a5315369f2c8c743b539b2942eee6fccb0 |
File details
Details for the file mlpfile-0.2.1-cp37-cp37m-musllinux_1_1_x86_64.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp37-cp37m-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 695.3 kB
- Tags: CPython 3.7m, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87a2f9679748dd51e22a00698ad93c362b3527d511c0620e7ac2cb0f227bd04f |
|
MD5 | dad24f2a53d34f47ebdf01041ec0f74f |
|
BLAKE2b-256 | e344e26aa47fc5718a4db0e24e80ea55ece81232402703cce8f7ab9448aad8aa |
File details
Details for the file mlpfile-0.2.1-cp37-cp37m-musllinux_1_1_i686.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp37-cp37m-musllinux_1_1_i686.whl
- Upload date:
- Size: 749.4 kB
- Tags: CPython 3.7m, musllinux: musl 1.1+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4828c115191c9ed8de4234bcdc353c5175c4931cc0638b3893c04891570c2265 |
|
MD5 | ccb1eecdb6f58510d0bc0247adbae279 |
|
BLAKE2b-256 | ba13893ff4d08b350cad5ab4e2969f9b7f66bb499e2163a42b02e3db6b7b5fc7 |
File details
Details for the file mlpfile-0.2.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 176.2 kB
- Tags: CPython 3.7m, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7efe9681823f6151b4f1f0ff7c4a3df90fa96617b9a470d3f62058387c923595 |
|
MD5 | b9935f7edaa5839084ba1590def57214 |
|
BLAKE2b-256 | c6bedae3c6d462dc3f5edea3b0aa2e3637f6c12b1eec26b7548aae9e238c2b84 |
File details
Details for the file mlpfile-0.2.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 184.3 kB
- Tags: CPython 3.7m, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 086e8e2e9b0c6e1e75b33d57f18156a9b76bae18e30859ee0faa3900fb078924 |
|
MD5 | 5a640cf8ad50b4fd7d34ff08380de0bb |
|
BLAKE2b-256 | 284467b77a3ae516a2e8f54a1c567ac3fe65244a665663a20f978d6708517440 |
File details
Details for the file mlpfile-0.2.1-cp37-cp37m-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: mlpfile-0.2.1-cp37-cp37m-macosx_10_9_x86_64.whl
- Upload date:
- Size: 148.3 kB
- Tags: CPython 3.7m, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4b7e22840d4af7fd611a560dcfea72e238b8f8feed69e2ef4a53f19ef869802 |
|
MD5 | 0b1ba60164ad195cfd972843c2ff7443 |
|
BLAKE2b-256 | 98ac7d9ca8fa2b19b75dea08baefb4f0c91487c1596e509ccf84a72208ffbd97 |