Skip to main content

NeuralNetwork

A small, dependency-free, from-scratch neural network library written in C++17, with Python bindings via pybind11.

It implements fully-connected (dense) feed-forward networks with backpropagation, three optimizers (SGD, Momentum, Adam), three loss functions, six activation functions, and accuracy metrics. Everything is implemented manually — no external math/ML library is used.

NeuralNetwork/
├── CMakeLists.txt            # builds the C++ executable + Python module
├── main.cpp                  # C++ example (quadratic regression)
├── setup.py                  # pip install . (Python bindings)
├── pyproject.toml            # build-system metadata for pip
├── include/                  # public headers
│   ├── Activation.h
│   ├── Layer.h
│   ├── Loss.h
│   ├── Metrics.h
│   ├── NeuralNetwork.h
│   ├── Neuron.h
│   ├── Optimizer.h
│   └── Random.h
├── src/                      # implementations
│   ├── Activation.cpp
│   ├── Layer.cpp
│   ├── Loss.cpp
│   ├── Metrics.cpp
│   ├── NeuralNetwork.cpp
│   ├── Neuron.cpp
│   ├── Optimizer.cpp
│   └── Random.cpp
└── python/                   # Python package
    ├── bindings.cpp          # pybind11 bindings
    ├── example.py            # Python example (XOR)
    └── neuralnetwork/        # importable package
        └── __init__.py

Table of contents


Concepts

  • Inputs / outputs are std::vector<double> (Python: list[float]). A dataset is std::vector<std::vector<double>> (Python: list[list[float]]).
  • A network is a sequence of fully-connected layers. Each layer contains neurons, each with a weight vector and a bias.
  • NeuralNetwork is constructed with the input size, the loss type, an optimizer (shared pointer in C++), and a learning rate. Layers are added with addLayer() and materialized with build().
  • Forward pass: z = W·x + b, then output = activation(z) (softmax is applied across the whole layer).
  • Backward pass: gradients are computed via backpropagation. The loss gradient is propagated layer by layer; the softmax layer uses the exact Jacobian.
  • Training: trainSample() does a forward pass, a backward pass, then one optimizer update. trainBatch() averages gradients over the batch, then applies one update.
  • Weights are initialized randomly (He init for ReLU/LeakyReLU, Xavier otherwise); biases start at 0.

Building

Install from PyPI

pip install neuralnetwork-cpp
python3 -c "import neuralnetwork; print(neuralnetwork.__version__)"

Prebuilt wheels are provided for Linux, macOS, and Windows on Python 3.9–3.14. If no wheel matches your platform, pip builds the module from source, which requires a C++17 compiler (pybind11 is fetched automatically).

Build from source

Requirements: a C++17 compiler, CMake ≥ 3.14, and (for the Python module) Python 3 with a working compiler toolchain.

C++ (executable)

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
./build/neural_network          # runs main.cpp (quadratic regression demo)

Python module

Two ways:

1. Build with CMake (recommended if you do not have pip): the module is produced directly inside the package folder.

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
# result: python/neuralnetwork/_core.cpython-<py>-<arch>.so

Then import from anywhere by putting the python/ directory on PYTHONPATH:

export PYTHONPATH="$PWD/python"
python3 -c "import neuralnetwork; print(neuralnetwork.__version__)"

2. pip install . (builds and installs the module, e.g. into a virtualenv):

pip install .
python3 -c "import neuralnetwork"

To skip the Python bindings during a CMake build:

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_PYTHON_MODULE=OFF

C++ API reference

Everything lives in namespace nn. Include <NeuralNetwork.h> for the high-level API.

Random

Header: include/Random.h

Low-level random number helpers. All use one global, device-seeded std::mt19937.

Function Description
static std::mt19937& Random::generator() Reference to the global seeded RNG.
static double Random::uniform(double min, double max) Uniform double in [min, max).
static double Random::gaussian(double mean, double stddev) Gaussian sample with given mean and stddev.
double a = nn::Random::uniform(0.0, 1.0);     // uniform [0,1)
double b = nn::Random::gaussian(0.0, 1.0);    // standard normal

Activation

Header: include/Activation.h

enum class ActivationType { None, ReLU, LeakyReLU, Sigmoid, Tanh, Softmax };

None is the identity (linear) activation, used on the output layer for regression.

Function Description
std::string activationName(ActivationType) Human-readable name.
static double Activation::f(type, double x) Applies the activation to a single scalar.
static double Activation::derivative(type, double z, double output) Derivative w.r.t. the pre-activation z; output is the activated value (used for Sigmoid/Tanh shortcuts).
static std::vector<double> Activation::apply(type, const std::vector<double>& z) Element-wise activation, except Softmax which normalizes the whole vector.
double s = nn::Activation::f(nn::ActivationType::Sigmoid, 0.0);        // 0.5
double d = nn::Activation::derivative(nn::ActivationType::Sigmoid, 0.0, 0.5); // 0.25
auto probs = nn::Activation::apply(nn::ActivationType::Softmax, {1.0, 2.0, 3.0});

Neuron

Header: include/Neuron.h

Represents one unit: a weight vector + bias. During the forward pass it stores its preactivation (z), output, and during backprop its delta and gradients.

Member Type Description
weights std::vector<double> Synaptic weights.
weightGradients std::vector<double> Accumulated dLoss/dWeight.
bias double Bias term.
biasGradient double Accumulated dLoss/dBias.
preactivation double z = W·x + b from the last forward pass.
output double Activated value from the last forward pass.
delta double dLoss/dz from the last backward pass.
activation ActivationType Activation used by this neuron.
velocityW / velocityB vector / double Momentum state.
mW, vW, mB, vB vector / doubles Adam moment estimates.
timestep size_t Adam bias-correction step counter.
Member function Description
Neuron(size_t numInputs, ActivationType act) Creates weights (He/Xavier initialized), bias = 0.
double forward(const std::vector<double>& inputs) Computes z and stores preactivation / output; returns output.
double derivative() const Activation::derivative(activation, preactivation, output).
void zeroGradients() Resets weight/bias gradients to 0.
void applyGradients(Optimizer& opt, double lr) Delegates one update step to the optimizer.
nn::Neuron n(3, nn::ActivationType::ReLU);     // 3 inputs
double out = n.forward({0.5, -1.0, 2.0});
n.weightGradients[0] = 0.01;                   // filled by backprop normally

Layer

Header: include/Layer.h

A dense layer owning a std::vector<Neuron>.

Member function Description
Layer(size_t inputSize, size_t numNeurons, ActivationType act) Builds the layer's neurons.
std::vector<double> forward(const std::vector<double>& input) Computes outputs (softmax is applied over the whole layer) and stores inputs / outputs.
std::vector<double> backward(const std::vector<double>& outputGradients, bool accumulateGradients) Computes each neuron's delta, accumulates weightGradients/biasGradient, and returns the gradients w.r.t. the layer input.
void zeroGradients() Zeroes every neuron's gradients.

Public fields: neurons, inputs, outputs, activation.

nn::Layer hidden(2, 4, nn::ActivationType::Tanh);     // 2 inputs -> 4 tanh units
auto out = hidden.forward({0.3, -0.7});
auto inGrad = hidden.backward({0.1, 0.2, -0.1, 0.3}, false);

Loss

Header: include/Loss.h

enum class LossType { MSE, CrossEntropy, BinaryCrossEntropy };
Function Description
std::string lossName(LossType) Human-readable name.
static double Loss::compute(type, const std::vector<double>& prediction, const std::vector<double>& target) Scalar loss value.
static std::vector<double> Loss::gradient(type, prediction, target) dLoss/dprediction per output element.

Formulas (inputs have n elements, p = prediction, t = target):

  • MSE: (1/n) · Σ(pᵢ − tᵢ)²
  • CrossEntropy: −Σ tᵢ·log(pᵢ)
  • BinaryCrossEntropy: −(1/n) · Σ [tᵢ·log(pᵢ) + (1−tᵢ)·log(1−pᵢ)]
double l = nn::Loss::compute(nn::LossType::MSE, {0.8, 0.2}, {1.0, 0.0});
auto g  = nn::Loss::gradient(nn::LossType::MSE, {0.8, 0.2}, {1.0, 0.0});

Metrics

Header: include/Metrics.h

Function Description
static size_t Metrics::predictedClass(const std::vector<double>& output) Index of the largest output (argmax).
static double Metrics::accuracy(prediction, target) 1.0 if correct else 0.0; single-output vectors are thresholded at 0.5, multi-output use argmax.
static double Metrics::accuracy(predictions, targets) Mean accuracy over a dataset.
double acc = nn::Metrics::accuracy({{0.9, 0.1}, {0.2, 0.8}}, {{1, 0}, {0, 1}}); // 1.0

Optimizer

Header: include/Optimizer.h

Abstract base Optimizer with virtual std::string name() const and virtual void update(Neuron&, double learningRate). Neural networks hold the optimizer as a std::shared_ptr<Optimizer>.

Class Constructor Update rule
SGD SGD() w ← w − lr·grad
MomentumSGD MomentumSGD(double momentum = 0.9) v ← μ·v + lr·grad; w ← w − v
Adam Adam(double beta1 = 0.9, double beta2 = 0.999, double epsilon = 1e-8) Adaptive moment estimation with bias correction
auto opt = std::make_shared<nn::Adam>(0.9, 0.999, 1e-8);
std::cout << opt->name() << "\n";   // "Adam"

NeuralNetwork

Header: include/NeuralNetwork.h

struct EvaluationResult {
    double loss;
    double accuracy;
};
Member Description
NeuralNetwork(size_t inputSize, LossType lossType, std::shared_ptr<Optimizer> optimizer, double learningRate) Constructs an empty network.
void addLayer(size_t units, ActivationType activation) Registers a hidden/output layer configuration.
void build() Materializes all layers (must be called before any forward/train).
std::vector<double> forward(const std::vector<double>& input) Runs a forward pass, returns the output vector.
std::vector<double> predict(const std::vector<double>& input) Same as forward (convenience alias).
double backprop(const std::vector<double>& target) Runs backward pass for the most recent forward pass; returns the loss. Does not update weights.
double trainSample(const std::vector<double>& input, const std::vector<double>& target) Forward + backward + one optimizer update; returns loss.
double trainBatch(const std::vector<std::vector<double>>& inputs, const std::vector<std::vector<double>>& targets) Accumulates gradients over the batch (averaged), applies one optimizer update; returns mean loss.
EvaluationResult evaluate(const std::vector<std::vector<double>>& inputs, const std::vector<std::vector<double>>& targets) Mean loss + classification accuracy over a dataset (no weight updates).
size_t inputSize() const Configured input dimension.
size_t layerCount() const Number of materialized layers.
const std::vector<Layer>& layers() const Read access to the materialized layers.

Usage pattern:

#include "NeuralNetwork.h"

using namespace nn;

NeuralNetwork net(2, LossType::MSE, std::make_shared<Adam>(), 0.1);
net.addLayer(4, ActivationType::Tanh);       // hidden
net.addLayer(1, ActivationType::Sigmoid);    // output
net.build();

// single sample training
for (int e = 0; e < 1000; ++e)
    net.trainSample({0, 1}, {1});

// batch training
std::vector<std::vector<double>> X = {{0,0},{0,1},{1,0},{1,1}};
std::vector<std::vector<double>> Y = {{0},{1},{1},{0}};
double loss = net.trainBatch(X, Y);          // mean loss over the batch

// evaluation
EvaluationResult res = net.evaluate(X, Y);
std::cout << "loss=" << res.loss << " acc=" << res.accuracy << "\n";

// inference
auto out = net.predict({1, 0});

Note: backprop() uses the inputs/outputs cached by the most recent forward() call — call forward() (or trainSample) immediately before it.


Python API reference

Import the package:

import neuralnetwork as nn

The names map 1:1 to the C++ API (snake_case for methods, and ActivationType.None is renamed Linear because None is a Python keyword).

Enums

nn.ActivationType.Linear        # identity (was C++ None)
nn.ActivationType.ReLU
nn.ActivationType.LeakyReLU
nn.ActivationType.Sigmoid
nn.ActivationType.Tanh
nn.ActivationType.Softmax

nn.LossType.MSE
nn.LossType.CrossEntropy
nn.LossType.BinaryCrossEntropy

Optimizers

nn.SGD()                                # plain SGD
nn.MomentumSGD(momentum=0.9)            # momentum SGD
nn.Adam(beta1=0.9, beta2=0.999, epsilon=1e-8)  # Adam

All expose .name() returning e.g. "Adam".

NeuralNetwork

Python method C++ equivalent Description
nn.NeuralNetwork(input_size, loss_type, optimizer, learning_rate) constructor Create network.
net.add_layer(units, activation) addLayer Register a layer.
net.build() build Materialize layers.
net.forward(input) forward Forward pass, returns list[float].
net.predict(input) predict Inference alias.
net.backprop(target) backprop Backward pass for last forward; returns loss.
net.train_sample(input, target) trainSample One sample update; returns loss.
net.train_batch(inputs, targets) trainBatch Batch update; returns mean loss.
net.evaluate(inputs, targets) evaluate Returns EvaluationResult.
net.input_size() inputSize Input dimension.
net.layer_count() layerCount Number of layers.

EvaluationResult has read-only fields .loss and .accuracy and a repr.

Metrics

nn.Metrics.predicted_class(output)                        # argmax index
nn.Metrics.accuracy(prediction, target)                   # 0.0 or 1.0
nn.Metrics.accuracy(predictions, targets)                 # mean accuracy

Minimal Python usage:

import neuralnetwork as nn

net = nn.NeuralNetwork(2, nn.LossType.MSE, nn.Adam(), 0.1)
net.add_layer(4, nn.ActivationType.Tanh)
net.add_layer(1, nn.ActivationType.Sigmoid)
net.build()

for _ in range(1000):
    net.train_sample([0, 1], [1])

pred = net.predict([0, 1])   # [0.998...]

Examples

C++: XOR

#include <iostream>
#include "NeuralNetwork.h"

int main() {
    using namespace nn;

    NeuralNetwork net(2, LossType::MSE, std::make_shared<Adam>(), 0.1);
    net.addLayer(4, ActivationType::Tanh);
    net.addLayer(1, ActivationType::Sigmoid);
    net.build();

    const std::vector<std::vector<double>> X = {{0,0},{0,1},{1,0},{1,1}};
    const std::vector<std::vector<double>> Y = {{0},{1},{1},{0}};

    for (int e = 1; e <= 2000; ++e) {
        double loss = 0.0;
        for (size_t i = 0; i < X.size(); ++i) loss += net.trainSample(X[i], Y[i]);
        if (e % 500 == 0)
            std::cout << "epoch " << e << " loss=" << loss / 4 << "\n";
    }

    for (size_t i = 0; i < X.size(); ++i)
        std::cout << X[i][0] << " XOR " << X[i][1] << " = "
                  << (net.predict(X[i])[0] > 0.5 ? 1 : 0) << "\n";
    return 0;
}

C++: multi-class classification

Softmax output + CrossEntropy loss on a 3-class problem.

#include <iostream>
#include "NeuralNetwork.h"

int main() {
    using namespace nn;

    NeuralNetwork net(2, LossType::CrossEntropy, std::make_shared<Adam>(), 0.01);
    net.addLayer(16, ActivationType::ReLU);
    net.addLayer(3, ActivationType::Softmax);
    net.build();

    // Points near (1,1) -> class 0; near (-1,1) -> class 1; near (-1,-1) -> class 2
    const std::vector<std::vector<double>> X = {
        {1.1, 0.9}, {0.9, 1.0}, {1.0, 1.1},    // class 0
        {-1.1, 1.0}, {-0.9, 0.9}, {-1.0, 1.1}, // class 1
        {-1.0, -1.1}, {-1.1, -0.9}, {-0.9, -1.0}}; // class 2
    const std::vector<std::vector<double>> Y = {
        {1,0,0}, {1,0,0}, {1,0,0},
        {0,1,0}, {0,1,0}, {0,1,0},
        {0,0,1}, {0,0,1}, {0,0,1}};

    for (int e = 1; e <= 500; ++e) {
        double loss = 0.0;
        for (size_t i = 0; i < X.size(); ++i) loss += net.trainSample(X[i], Y[i]);
        if (e % 100 == 0)
            std::cout << "epoch " << e << " loss=" << loss / X.size() << "\n";
    }

    auto res = net.evaluate(X, Y);
    std::cout << "test accuracy = " << res.accuracy << "\n";
    return 0;
}

Python: XOR

Run python3 python/example.py, or:

import neuralnetwork as nn

net = nn.NeuralNetwork(2, nn.LossType.MSE, nn.Adam(), 0.1)
net.add_layer(4, nn.ActivationType.Tanh)
net.add_layer(1, nn.ActivationType.Sigmoid)
net.build()

X = [[0, 0], [0, 1], [1, 0], [1, 1]]
Y = [[0], [1], [1], [0]]

for epoch in range(1, 2001):
    loss = sum(net.train_sample(X[i], Y[i]) for i in range(4)) / 4
    if epoch % 500 == 0:
        res = net.evaluate(X, Y)
        print(f"epoch {epoch:4d}  loss = {loss:.6f}  accuracy = {res.accuracy:.0%}")

print([round(net.predict(x)[0], 4) for x in X])
# e.g. [0.0008, 0.999, 0.999, 0.0009]

Python: regression

Normalize inputs to keep activations unsaturated (the hidden units are ReLU here).

import random
import neuralnetwork as nn

random.seed(1)
X = [[random.uniform(-1, 1)] for _ in range(2000)]
Y = [[x[0] * x[0] + 3 * x[0] - 2] for x in X]     # targets in [-4, 2]

net = nn.NeuralNetwork(1, nn.LossType.MSE, nn.Adam(), 0.01)
net.add_layer(32, nn.ActivationType.ReLU)
net.add_layer(1, nn.ActivationType.Linear)
net.build()

for epoch in range(1, 51):
    loss = 0.0
    for start in range(0, 2000, 128):
        loss += net.train_batch(X[start:start + 128], Y[start:start + 128])
    if epoch % 10 == 0:
        print(f"epoch {epoch:3d}  loss = {loss / 16:.5f}")

print(round(net.predict([0.5])[0], 4))   # ~ -0.25 (true: 0.25 + 1.5 - 2)

Python: multi-class classification

import neuralnetwork as nn

net = nn.NeuralNetwork(2, nn.LossType.CrossEntropy, nn.Adam(), 0.01)
net.add_layer(16, nn.ActivationType.ReLU)
net.add_layer(3, nn.ActivationType.Softmax)
net.build()

X = [[1.1, 0.9], [0.9, 1.0], [-1.1, 1.0], [-0.9, 0.9], [-1.0, -1.1], [-1.1, -0.9]]
Y = [[1, 0, 0], [1, 0, 0], [0, 1, 0], [0, 1, 0], [0, 0, 1], [0, 0, 1]]

for _ in range(300):
    for i in range(len(X)):
        net.train_sample(X[i], Y[i])

res = net.evaluate(X, Y)
print(f"accuracy: {res.accuracy:.0%}")            # 100%
print(net.predict([1.05, 1.05]))                  # e.g. [0.97, 0.02, 0.01]

How it works

Forward pass per neuron:

z  = b + Σᵢ wᵢ·xᵢ
a  = activation(z)        (softmax is computed across the layer)

Backward pass — the chain rule in reverse:

  1. δ_output = dLoss/doutput from Loss::gradient.
  2. Each layer converts that into per-neuron delta = dLoss/dz:
    • element-wise activations: delta = dLoss/da · activation′(z)
    • softmax: delta = aᵢ · (dLoss/daᵢ − Σⱼ dLoss/daⱼ·aⱼ) (exact Jacobian)
  3. Gradients are accumulated per neuron: ∂Loss/∂wᵢ = delta·xᵢ, ∂Loss/∂b = delta.
  4. The input gradient ∂Loss/∂xᵢ = Σ delta·wᵢ is passed to the previous layer.

Weight initialization — He for ReLU/LeakyReLU (σ = √(2/fan_in)), Xavier otherwise (σ = √(1/fan_in)); biases are 0.

Optimizer updates — see the Optimizer table. Adam keeps per-parameter first/second moments with bias correction.


Tips & troubleshooting

  • Call build() after addLayer() and before any forward/train/evaluate call.
  • Input sizes must match input_size; mismatches throw std::runtime_error (C++) / RuntimeError (Python).
  • Regression: use MSE + ActivationType.Linear on the output layer, and normalize inputs (and often targets) so activations do not saturate.
  • Multi-class: use CrossEntropy + Softmax output; targets are one-hot vectors.
  • Binary classification: BinaryCrossEntropy + Sigmoid output.
  • Slow convergence or saturation: reduce the learning rate, normalize inputs to roughly [-1, 1], or prefer ReLU hidden layers.
  • Python keyword clash: the identity activation is nn.ActivationType.Linear in Python, but ActivationType::None in C++.
  • Re-import after rebuild: if you rebuild the module, restart the Python process — the extension is loaded once.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

neuralnetwork_cpp-0.1.1.tar.gz (25.7 kB view details)

Uploaded Source

Built Distributions

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

neuralnetwork_cpp-0.1.1-cp313-cp313-win_amd64.whl (148.1 kB view details)

Uploaded CPython 3.13Windows x86-64

neuralnetwork_cpp-0.1.1-cp313-cp313-win32.whl (119.0 kB view details)

Uploaded CPython 3.13Windows x86

neuralnetwork_cpp-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

neuralnetwork_cpp-0.1.1-cp313-cp313-musllinux_1_2_i686.whl (1.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

neuralnetwork_cpp-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (206.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

neuralnetwork_cpp-0.1.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (215.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686

neuralnetwork_cpp-0.1.1-cp313-cp313-macosx_11_0_arm64.whl (160.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

neuralnetwork_cpp-0.1.1-cp312-cp312-win_amd64.whl (148.1 kB view details)

Uploaded CPython 3.12Windows x86-64

neuralnetwork_cpp-0.1.1-cp312-cp312-win32.whl (119.0 kB view details)

Uploaded CPython 3.12Windows x86

neuralnetwork_cpp-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

neuralnetwork_cpp-0.1.1-cp312-cp312-musllinux_1_2_i686.whl (1.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

neuralnetwork_cpp-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (206.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

neuralnetwork_cpp-0.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (215.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

neuralnetwork_cpp-0.1.1-cp312-cp312-macosx_11_0_arm64.whl (160.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

neuralnetwork_cpp-0.1.1-cp311-cp311-win_amd64.whl (145.4 kB view details)

Uploaded CPython 3.11Windows x86-64

neuralnetwork_cpp-0.1.1-cp311-cp311-win32.whl (118.0 kB view details)

Uploaded CPython 3.11Windows x86

neuralnetwork_cpp-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

neuralnetwork_cpp-0.1.1-cp311-cp311-musllinux_1_2_i686.whl (1.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

neuralnetwork_cpp-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (207.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

neuralnetwork_cpp-0.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (215.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

neuralnetwork_cpp-0.1.1-cp311-cp311-macosx_11_0_arm64.whl (158.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

neuralnetwork_cpp-0.1.1-cp310-cp310-win_amd64.whl (144.2 kB view details)

Uploaded CPython 3.10Windows x86-64

neuralnetwork_cpp-0.1.1-cp310-cp310-win32.whl (116.8 kB view details)

Uploaded CPython 3.10Windows x86

neuralnetwork_cpp-0.1.1-cp310-cp310-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

neuralnetwork_cpp-0.1.1-cp310-cp310-musllinux_1_2_i686.whl (1.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

neuralnetwork_cpp-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (205.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

neuralnetwork_cpp-0.1.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (215.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

neuralnetwork_cpp-0.1.1-cp310-cp310-macosx_11_0_arm64.whl (156.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

neuralnetwork_cpp-0.1.1-cp39-cp39-win_amd64.whl (144.4 kB view details)

Uploaded CPython 3.9Windows x86-64

neuralnetwork_cpp-0.1.1-cp39-cp39-win32.whl (116.9 kB view details)

Uploaded CPython 3.9Windows x86

neuralnetwork_cpp-0.1.1-cp39-cp39-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

neuralnetwork_cpp-0.1.1-cp39-cp39-musllinux_1_2_i686.whl (1.3 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ i686

neuralnetwork_cpp-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (205.8 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

neuralnetwork_cpp-0.1.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (215.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

neuralnetwork_cpp-0.1.1-cp39-cp39-macosx_11_0_arm64.whl (157.0 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file neuralnetwork_cpp-0.1.1.tar.gz.

File metadata

  • Download URL: neuralnetwork_cpp-0.1.1.tar.gz
  • Upload date:
  • Size: 25.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for neuralnetwork_cpp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 bac7be7c188f5cb922408c26c93695ce032f7f118e21a328d0412661383e5bf8
MD5 9767a59be3587f030123f5ca9b5bb2e9
BLAKE2b-256 889a6c0d15e093c88906e3153a9713453c43afd2fbb99d8a89a14faf1be2d40b

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b88ee70c412e8c43d79b4e5339d2bc575f01f7010af98b374cd00d2cc3748431
MD5 70fd6955bd834d7202c878bc347c0aa6
BLAKE2b-256 c0003bf04ebf4c03257f17f573671ddc69d37f14cacf5768efe74f9d6f1134b0

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp313-cp313-win32.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 f34a0ef09a22a2dc93495d5ccfdee393e0b22f3d55277aecb6ae62a3d57d9939
MD5 f5f07766564db365069ee778c9fd6d03
BLAKE2b-256 e123823e514ac989326860156c9156e7371da5b447f21e25e9a407aa59412b02

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c2f67596ec0f26de4e35839aa32a0f561e90d5bf69600ce81d28d27944ef92b6
MD5 5ff7656b04fa5e368e6fd5d5db0c7b2e
BLAKE2b-256 bb14ca4ff5f35ac7d102356119883314363800da12454debf189af6efb31fde9

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 5bc219393629ee6116ea1785c7e23c8a47b529335029cbffbaaa7609e6d1f979
MD5 93e7b318beb07da37bd6b8360c900e17
BLAKE2b-256 808c896c83e9d46b43e3c6fb0e437a106ee1afa1d4f8ea2e6cef6e17172f735d

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7adaaff1daa68ff6a63da3195aaf939f77e1339af2e1a6ceb5342de8a16529e7
MD5 030df58b184094bd72006621339401a8
BLAKE2b-256 b6a651d4a5d8f6ba586749de86fa1d41d153284f44a8e92e318a1649aeb91c9b

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b4190b54e4b52ffe399db33e3d675336ac2f148405b8b8a88df0f5e6d450ef73
MD5 075eda4eb4440bb679e7d2571e68d788
BLAKE2b-256 fc27e10011f39453404a62ce0aeb1e9fc38a30cd162001b6df3219275a79073f

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2c415031af89debdd5d3d6389cb22ffd5b818da11f9b7831ac9e21cef63c6135
MD5 5dd62f4a42a48de5071ce53d8fc4b2b5
BLAKE2b-256 98ba448af506038c9411e7e5903aca76696a2075ff641dd88978992a1dc7e461

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 64f3a3fe754defd7168ebe8f9d9c9c0421cf58f06707570394e63643e00c8221
MD5 36df2eb210467e778233d3e7cd3d9cf3
BLAKE2b-256 db3e7d10bbd19a8984ad2db50e2a6220fe3da344073c20b80e90aaf9520921ad

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp312-cp312-win32.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 d580bc3692404d49c35c631fd7f64e7cafa0820ebd2e519beec728f07444a287
MD5 eca93c048e1ca5e2e55b35fd9346c23b
BLAKE2b-256 b0b32129761fe453e5d62a8888536bdd3fb802790298019075e46fc51148fc53

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 20be76f28831fcaac4a8f5abe5e334750dc7250760a04d7709639a593c55ab8c
MD5 35c9d2fca31238591058eea968a0eef3
BLAKE2b-256 e3c16dad08f5379a7e0c5fcec3fbe962fe036d70845b08d535e4580456e75f02

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 7a81a4331a974de53d94c6585e3fb24e663b260d1659d200f94ea5282751e4fe
MD5 30dccb0f78d841ad8b4912c7212c147e
BLAKE2b-256 c2a6a648ddad1e86d0be55f0e95e807347d8fbca8d6d896eab870cbc03a36112

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2365fbd79f16c819a5fc91b074414d1c1e7291103b462c8c74d2d41d1a226b36
MD5 b44239f1ae1f4e332da30b8638af8c4c
BLAKE2b-256 2e92c03261c3caad126b8be99d7bbb591473bba5c387385416acaa9f77fae809

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ec91e740f571220995ff46c14b43e902217088d45c03ada53f08579fb7804afd
MD5 6a1d4bd380cd2ad720259169acab9f6b
BLAKE2b-256 9d7c1534b0302922cbc02235ec1b08cb64801c4dcbddba897fcf3e2987ccfce7

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5644b2d4d94be0da11e2a4ca8a85c5ec561310aaad2d4634114a626002f22f09
MD5 a879193fe8eec01c874b420da7c54aca
BLAKE2b-256 81e8157142d0c3224ae3063a254718de911f5ac6bed4da253bec1c6a2c4ff75c

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 573dc2707b564e35455d472d518b45632e47e568fc58e3f2098185d2d433e58b
MD5 b6d2b6af3ab8e19f680f676e3f5c898b
BLAKE2b-256 b85107855f98005c67ecba6a81c8de08ae74debdf4682834961d7de03c5825c4

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 edf14738a0ab0e161e2661902b3145c59ac6f0547e476de9ea4f8ff1af3a7f77
MD5 10f10bd1ba96b7d30ec07f0dc2023371
BLAKE2b-256 9db61c58bd8247b2c05c03e44121851f848aa9fbbffb476f88569b1f6a8b3013

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ec245eb4b0ee5b769c978af720ab9b0fff491938ffa3d7050c523c4de2f0298d
MD5 cd60c1720841e698fb0f2ca796e9b0b6
BLAKE2b-256 2646da4487ba1ceddaaf5b0ec5646a71ea7db7b6ce1297343842ea43eb5f4b8b

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 26e8b2712cf3e7de3c4326f6a069b6ba04c994fe7f6f96599d6b57024f1bc6f0
MD5 f9aa1241a9783596438130d9a62bb0bf
BLAKE2b-256 8f356e52b0d766b1a4c2e51318d0080304f2c1e0cbfc95a6e11c4291c60c1544

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d9b4d17695031e83672ab7204d758efe09f85c3a02e761e0e62143532eadd8b0
MD5 97890d483bf3713254794d7b5dc8c160
BLAKE2b-256 c3a0c98ff54b11efa3529ec67eee92d787af37afe955458d662e06c590522bd2

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f2ccb85e158728c3beb5b5e1d7b869269ad32ae309eeaa49ef0beb849d965fc8
MD5 b087c3278117dfbff73e0dd7aed565bf
BLAKE2b-256 58cb035789227ff0c145d36cfceb57cd189410e729422dfab30729b1c5c28acf

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 42c85ec96a3f5fa6c0dc8c965c4c10e053cc1977a9fe4e4d31ea2518b5f34232
MD5 6664a3a3add4536d523d83faf7209674
BLAKE2b-256 ddeb4b429772ca90e9ab7adf706603496eeddb18550e3eda576555a90dcf7302

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8221676a57c4db9e2c87cc5459a4e6e71a908e29c0bf6a7e85d91c07a63377fd
MD5 0f532406e87f12420b81797f796d99db
BLAKE2b-256 f6cbd7de82cf2c4ddd42af806a5c1b3b0c113713e8781a584634e1a16ae187a9

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp310-cp310-win32.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 30e0bb15fa81583422ea1b97c7105e30c8ddb04b9735deeb9a2f37fff79fba3c
MD5 f52e91a849905a1fd4cb645ad4a443a7
BLAKE2b-256 5a73b0d5a5131eb8599de6f9638704e49d98c9078ce20e647340641d394c7723

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 43faae4f61f0333cb2e2dbe7c8f190338f65992f41dbe2806c8be492ff9c110e
MD5 4aebb752a0ae0c325aac598e1f44cd69
BLAKE2b-256 50fdbc4d66d1fe9fbdc25e6d5169210f17d698848c6c7e0e56ff76f3cb9a4fdd

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 c564359e15e1d6e01287ecbd2386aa42edceb93e40ecc364fce54cc5a0faf93e
MD5 69b79e8a254b48a71d53c61b448cf3c8
BLAKE2b-256 cd19a8685a89275a220b388db53dc200019e5de850aa96fdbcb7999d195064f0

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b623ce312a3a3cb1907c0b73d081bff8b2c26b4eac7ea5aa45e5b21602e8a14f
MD5 ae08733b18fd7ab0ce751a862378853a
BLAKE2b-256 f9f1d78e54311e9a3394e3808ddde3e47842f99dd9eb1dd52ca222c4b8363df8

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 223fe9c7efd139ee0a15726d7c5ca85b3e41010e933abd6f19b5573a5d1850a1
MD5 ead902941d6a0ede94c14cf14bda2d65
BLAKE2b-256 ea40b137d7bae6e4933a8abfe7d75bd31b1f55156a2771911d32be2b686b7a31

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e79927a6491b7e7b4dd9e987c145bd2f55a735c91b1ee8959cac6428292a454e
MD5 2cda61f911e30b6ac4834d6b2bb45a49
BLAKE2b-256 ac0b33cfda5626cce0b1a479fa99c3ea170410ebce97b1918edb6febf7557b71

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 00376171166bd815893d1a4d28c3aba2470317844fefc59360d89b6485c84669
MD5 c7bb1598334ac57c5fc80f9c3cb24af8
BLAKE2b-256 b03c364decf6718f44e1ab58b40d33d87dc48ad38a7af8a2297fafac56f13810

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp39-cp39-win32.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 249c202fb6503e4404462c158b837520f76e1100455c4dbe0dcc9ff4637851d0
MD5 472029f850f0701fb9e3f787ea98323e
BLAKE2b-256 c0f61ca6d6e8a25609cc6d7dff4cfdad8bd64303fc19a428f71775c489841869

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 423687ee6b834298664f5a6ef1076a7dd5d416172e3b22e1b943ed9e5a4f1eca
MD5 0dfc0133deaa3c2aecb9e0425d8fc0a2
BLAKE2b-256 f08d6b17d1eac2e1e25881e2a50f473e0ef96bea899a108eaad48c75a5769518

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8fec3981799656cc7e5f5d1c7ac0e8d9d923f2c17afb18d4c1c867442d4ee06d
MD5 237c7f29eefef4ef0fc3d660bea965d0
BLAKE2b-256 e6a0694bce25de99d4167303658a44d577381894d471796422e161f7a021875a

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 18920bb40f46ad09870bfe21c2c4f79dae69c112b7fefe3374815cdfaff646ad
MD5 7fa22aadc3b3bc270f3e0610601d5675
BLAKE2b-256 c8f25d2dc051dc0caea84c08fc8e95c8e91ddb54739f1d3e155f9efadf1f77e3

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0f8eed4599faab92545bbbfef488c1678c2d2490638e28bf9202ddd694a8063f
MD5 99dac4fcdba173f780e6cb115bbb2c2b
BLAKE2b-256 be7949c05bec5d5d1b18589c71668db8ef69de11b9565a84f77be97171bbd8be

See more details on using hashes here.

File details

Details for the file neuralnetwork_cpp-0.1.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for neuralnetwork_cpp-0.1.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4edceae3d01b58112e719099a3e44ac41cb6ec34248e808960ed8637ea22e0c7
MD5 ce41d88b6032569902b6ad7ba583c923
BLAKE2b-256 e5f24ced07daecee4a1ae6f0407848851bf5654ac54124901b58d3e23562c75b

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