Skip to main content

neospice

CI PyPI Python versions

Open Circuit Lab → — build and simulate circuits in your browser. No installation required.

neospice is an independent C++20 reimplementation of the SPICE circuit simulator. Its solver, analysis flow, and device models derive from UC Berkeley SPICE3 (BSD-licensed) and ngspice -- re-architected around a clean Device interface, native Python bindings, and an embeddable C++ API. MIT licensed; see NOTICE for full third-party attribution.

It reads SPICE netlists, writes ngspice-format raw results, and pairs a self-contained Sparse 1.3-compatible solver stack and differentiated behavioral sources with an embeddable API for EDA tools, optimization loops, and notebooks.

Version 0.2.0 is a beta release; 1.0 is reserved for further stability work. See the release notes. Publication validation targets ngspice 47 exclusively. Known model limitations and corpus mismatches remain; see the progress tracker and comparison methods. The project is not yet ready for a JOSS submission.

An initial JOSS manuscript draft and PDF are available for review. Actual research evidence, final validation/benchmarks and human disclosures remain pending. ngspice 47 compatibility defines the default behavior, required reference checks and migration-tool inputs. A compiled draft is not a submission-ready release.

Features

  • Analyses -- DC OP, DC sweep, transient (adaptive Trap/Gear-2/BE), AC small-signal, noise (adjoint method), transfer function, sensitivity, pole-zero, Fourier/THD, parameter sweep (.step), and .measure post-processing
  • Device families -- passives, independent/dependent/behavioral sources, switches, transmission lines, diodes, BJTs, JFETs, MESFETs, HFETs, and MOSFETs through BSIM4v7
  • Embeddable C++ API -- Simulator/Circuit/Result types with handle-based and string-based accessors, typed device methods, and circuit introspection
  • High performance -- NeoSolver (self-contained Sparse 1.3-compatible LU), G/C matrix caching for AC, adjoint-method noise
  • ngspice-compatible -- reads standard SPICE netlists, writes .raw files in ngspice format
  • C++ and Python validation -- analytical checks and ngspice comparisons, with current failures and test results in the progress tracker
  • Corpus harness -- a historical cohort of 34,908 KiCad operating-point fixtures; input freezing now records declaration identities and separate planned rescues. Completed ngspice 47 audits are linked from the progress tracker; declaration binding and full-model scope still need interpretation. Minimal operating-point fixtures do not certify transient, AC, or noise behavior.

Browser Circuit Lab

Launch Circuit Lab

Build and simulate circuits in a visual schematic editor, or use an editable SPICE netlist. Circuit Lab includes eight interactive examples, light/dark themes, DC/AC/transient plots, parameter tuning, local project saving, and CSV export. The simulator runs entirely in your browser using WebAssembly.

# Build the WASM artifacts first; see docs/webassembly.md.
npm --prefix web ci
npm --prefix web run build
npm --prefix web run preview

Open http://127.0.0.1:48173/. The Circuit Lab guide covers the visual editor, external preview tunnel, tests and manual GitHub Pages deployment. The existing minimal WASM demo is also retained.

Quick Start (C++)

Prerequisites

  • C++20 compiler (GCC 12+ or Clang 15+)
  • CMake 3.20+
  • OpenBLAS
  • SLEEF (vectorized math library)

See docs/building.md for platform-specific install commands.

Build

cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)

Run

# Simulate a netlist
./build/neospice circuit.cir

# Specify output file
./build/neospice circuit.cir -o result.raw

# Split output by analysis type
./build/neospice circuit.cir --split

Output is written in ngspice-compatible .raw format, viewable in any waveform viewer (e.g. GTKWave, KST, ngspice's built-in plot).

Test

cd build && ctest -j$(nproc)

Analyses

Analysis Netlist Command Description
DC operating point .op Newton-Raphson with GMIN/source stepping fallback
DC sweep .dc V1 0 5 0.1 1D and nested 2D parameter sweeps
Transient .tran 1n 100n Adaptive timestepping with LTE control
AC small-signal .ac dec 10 1 100meg DEC/OCT/LIN frequency sweeps
Noise .noise v(out) V1 dec 10 1 100meg Adjoint method, per-device breakdown
Transfer function .tf v(out) V1 Gain + input/output impedance
Sensitivity .sens v(out) Finite-difference DC sensitivity to resistor values and independent-source DC values
Pole-zero .pz Transfer function poles and zeros
Fourier .four 1meg v(out) Harmonic decomposition + THD
Parameter sweep .step param R1 1k 10k 1k Sweep any parameter across analyses

Device Models

AM source parameters now follow ngspice 47. Existing AM netlists and C++ source parameters may require conversion; see source compatibility.

Category Models
Passives R (with TC, AC resistance, flicker/thermal noise), C, L, K (mutual inductance)
Sources V, I -- DC, PULSE, SIN, PWL, EXP, SFFM, AM waveforms
Dependent sources E (VCVS), G (VCCS), F (CCCS), H (CCVS) -- linear, POLY, TABLE
Behavioral B-source -- expression-based with auto-diff Jacobians, DDT, IDT, PWL, TABLE
Switches S (voltage-controlled), W (current-controlled) -- hysteresis
Transmission lines T (lossless Branin), O (LTRA lossy -- RC/RG/LC/RLC)
Diode Standard diode (level 1)
BJT Gummel-Poon, VBIC (levels 4/9/12/13)
JFET JFET (Shichman-Hodges), JFET2 (Parker-Skellern)
MESFET MES (GaAs MESFET -- NMF/PMF)
HFET HFET1 (Curtice Cubic), HFET2 (Chalmers)
MOSFET MOS1, MOS3, MOS9, BSIM3v32, BSIM3, BSIM4v7, BSIMSOI, HiSIM2, HiSIM_HV

C++ API

Running a netlist

#include "neospice/neospice.hpp"

neospice::Simulator sim;
auto ckt = sim.load("amplifier.cir");
auto result = sim.run(ckt);

// Typed access to results
auto& ac = std::get<neospice::ACResult>(result.analysis);
auto gain_db = ac.magnitude_db("out");
auto phase = ac.phase_deg("out");

Individual analyses

auto dc = sim.run_dc(ckt);
double vout = dc.voltage("out");

auto tran = sim.run_transient(ckt, 1e-9, 1e-6);
auto vout_wave = tran.voltage("out");   // vector<double>

auto ac = sim.run_ac(ckt, neospice::ACMode::DEC, 10, 1.0, 100e6);
auto gain = ac.magnitude_db("out");     // vector<double>

Building circuits programmatically

using namespace neospice;

Circuit ckt;
auto in  = ckt.node("in");
auto out = ckt.node("out");

ckt.V("V1", in, GND, 0.0, 1.0);  // DC=0, AC=1
ckt.R("R1", in, out, 1e3);
ckt.C("C1", out, GND, 100e-12);

Simulator sim;
auto ac = sim.run_ac(ckt, ACMode::DEC, 10, 1.0, 100e6);
auto gain = ac.magnitude_db("out");

Handle-based result access

// String-based (works with any circuit)
double vout = dc.voltage("out");

// Handle-based (O(1) dense array access, type-safe)
NodeId out_id = ckt.find_node("out");
double vout_h = dc.voltage(out_id);
auto vout_ac  = ac.magnitude_db(out_id);

Measurement utilities

#include "neospice/measure.hpp"

NodeId out_id = ckt.find_node("out");
double bw     = measure::bandwidth_3db(ac, out_id);
double rt     = measure::rise_time(tran, out_id, 0.5, 4.5);
double st     = measure::settling_time(tran, out_id, 5.0, 0.05);
double vrms   = measure::rms(tran, out_id);

Circuit introspection

auto nodes   = ckt.node_names();            // {"in", "out", ...}
auto devices = ckt.device_names();          // {"R1", "C1", "V1"}
auto info    = ckt.device_info("R1");       // type, nodes, value
auto conn    = ckt.devices_at_node("out");  // {"R1", "C1"}

// Handle-based introspection
NodeId nid   = ckt.find_node("out");
DevId  did   = ckt.find_device("R1");
auto   name  = ckt.name(nid);              // "out"
auto   dinfo = ckt.device_info(did);       // DeviceInfo struct

Python

pip install neospice

Prebuilt wheels are published for CPython 3.10–3.14 on Linux (x86_64, aarch64) and macOS Apple Silicon (arm64). On other platforms pip builds from the source distribution, which needs a C++20 compiler plus OpenBLAS and SLEEF.

import neospice as ns
import matplotlib.pyplot as plt

# One-liner convenience functions
dc = ns.dc("amplifier.cir")
print(dc.voltage("out"))

ac = ns.ac("filter.cir", mode="dec", npoints=100, fstart=1, fstop=1e9)
plt.semilogx(ac.frequency, ac.magnitude_db("out"))

tran = ns.transient("osc.cir", tstep=1e-9, tstop=1e-6)
plt.plot(tran.time, tran.voltage("out"))

# Parse inline netlists directly
dc = ns.dc("Divider\nV1 in 0 DC 10\nR1 in mid 1k\nR2 mid 0 1k\n.op\n.end\n")
print(dc.voltage("mid"))  # 5.0

# Or use the full Simulator API
sim = ns.Simulator()
ckt = sim.load("amplifier.cir")          # from file
ckt = sim.parse("...\n.op\n.end\n")      # or from string
result = sim.run_ac(ckt, ns.ACMode.DEC, 100, 1, 1e9)

# Build circuits programmatically with typed methods
ckt = ns.Circuit()
ckt.V("V1", "in", "0", 0.0, 1.0)        # DC=0, AC=1
ckt.R("R1", "in", "out", 1e3)
ckt.C("C1", "out", "0", 100e-12)

# SPICE engineering notation
from neospice import parse_value
r = parse_value("4.7k")                  # 4700.0

All result vectors are returned as NumPy arrays.

Browser simulation

Build neospice.wasm and its JavaScript module with Emscripten. The included Worker demo supports netlist editing, DC/AC/transient simulation and resistor sliders. Build instructions, JS/TypeScript API and limits.

Gradients and interactive updates

Use Simulator.sensitivity() for DC adjoint Jacobians and sensitivity_ac() for linear-circuit complex AC gradients. Supported parameters and examples. For repeated component changes, Circuit.update_param() with re_solve() or re_solve_ac() reuses per-circuit symbolic factorization. Incremental workflow.

Parallel parameter studies

Run independent parameter corners with neospice.sweep() or seeded variations with neospice.monte_carlo(). The C++ API provides Simulator::run_sweep() and Simulator::monte_carlo(). Results preserve job order and report per-job errors. See parallel studies for examples, correlation, statistics, reproducibility and concurrency limits.

Performance

The paired benchmark covers 34 fixed workloads: small circuits, amplifier macromodels, larger resistor meshes and diode ladders, and RC/diode-RC analyses. Every accepted timing requires valid, accuracy-qualified results from both engines. The protocol records load, analysis/result materialization, cleanup and total time with equal sampling and alternating execution order.

See benchmark methods for reproduction and the progress tracker for completed evidence and active runs. Historical timings from the former harness are archived; they lack the corrected qualification protocol and must not support performance claims. Performance analysis explains the limits.

Netlist Compatibility

Beyond core devices and analyses, neospice handles the usual deck directives and syntax:

  • .param expressions with arithmetic, functions (sqrt, log, exp, sin, if, ...)
  • .subckt / .ends with parameter defaults (recursion limit 100)
  • .include / .lib with section selection and circular-inclusion detection
  • .global, .ic, .nodeset, .options, .func, .save
  • SPICE suffixes: T, G, MEG, k, m, u, n, p, f

Project Structure

cli/            Command-line interface
include/
  neospice/     Public API headers (types.hpp, neospice.hpp, measure.hpp)
src/
  api/          C++ API (Simulator, typed device methods, measurement utils)
  core/         Analysis engines and linear solvers
  devices/      32 device models, each self-contained with factory registration
  parser/       Netlist parser and expression evaluator
  output/       Raw file writer
python/
  bindings.cpp  nanobind C++ → Python bridge
  neospice/     Python package (convenience API, SPICE notation parser)
tests/
  unit/         Unit tests for all components (970+)
  devices/      Per-device validation against ngspice
  circuits/     Integration test netlists
  python/       Python binding tests
  bench/        Performance benchmarks
docs/           Architecture, performance, and design documentation
tools/          Device migration tooling (ngspice model auto-porter)

Examples

Comparator Relaxation Oscillator

A TLV3201-based Schmitt trigger oscillator simulated with the Python API. Comparator relaxation oscillator.

Circuit Schematic

Simulation Waveforms

Contributing

See docs/building.md for platform-specific setup instructions, including building libngspice from source on macOS.

Documentation

Roadmap

Phase Feature Status
— Handle-based API redesign (NodeId/DevId, typed methods, dense results, measurements) Done
1 Python bindings (nanobind, PyPI wheels, typed construction) Done
2 Parallel parameter sweeps / Monte Carlo Implemented — API and limits
3 WebAssembly build for browser simulation Implemented — build and browser API
4 Adjoint sensitivity / gradient computation Initial API implemented — scope
5 Incremental re-simulation Initial API implemented — scope
6 GPU-accelerated simulation (CUDA) Planned
7 Extended devices (BSIM-CMG, legacy MOS) Ongoing
8 PWL (piecewise-linear) simulation for switching converters Planned
9 Digital event simulation Planned
10 Mixed-signal co-simulation Planned
11 Verilog-A device models (syntax not yet supported) Planned
12 ML-guided DC convergence — learned initial-guess predictor (GNN) to seed Newton Research

See docs/ROADMAP.md for details.

Credits & SPICE lineage

neospice descends from the Berkeley SPICE family. It is an independent C++20 reimplementation, but its solver, analysis flow, and device models are derived — in many places translated — from UC Berkeley SPICE3 and ngspice. We gratefully acknowledge that lineage:

  • L. W. Nagel and D. O. Pederson, "SPICE (Simulation Program with Integrated Circuit Emphasis)," Memorandum No. ERL-M382, UC Berkeley, April 1973.
  • L. W. Nagel, "SPICE2: A Computer Program to Simulate Semiconductor Circuits," Memorandum No. ERL-M520, UC Berkeley, May 1975.
  • SPICE2G6 (1983) — the Fortran reference release.
  • SPICE3F5 (UC Berkeley, 1990s) — the BSD-licensed C rewrite that neospice's core and device code is translated from.
  • ngspice — the maintained SPICE3F5 descendant, used as the reference/ground-truth implementation that neospice is validated against.

The NeoSolver sparse-LU stack derives from Kenneth Kundert's Sparse 1.3 (UC Berkeley). The separate in-tree minimum-degree ordering explicitly maintains the elimination graph and uses the default dense-vertex threshold from SuiteSparse AMD; it does not implement SuiteSparse AMD's quotient-graph algorithm.

Original project contributions use the MIT license. Derived SPICE code and device models retain applicable upstream notices and terms. See NOTICE, CREDITS.md, and the distribution audit.

The JOSS benchmark protocol and its current qualification failures are documented in paired benchmark methods. Historical standalone benchmark timings are not yet publication evidence.

Metadata

Release files for neospice 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for neospice 0.2.0
File Size Uploaded Provenance Actions
neospice-0.2.0.tar.gz 19.0 MB With provenance Details for neospice-0.2.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for neospice 0.2.0
File Actions
neospice-0.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for neospice-0.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
neospice-0.2.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details for neospice-0.2.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
neospice-0.2.0-cp314-cp314-macosx_14_0_arm64.whl CPython 3.14 CPython 3.14 macOS 14.0+ ARM64 Details for neospice-0.2.0-cp314-cp314-macosx_14_0_arm64.whl
neospice-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for neospice-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
neospice-0.2.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details for neospice-0.2.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
neospice-0.2.0-cp313-cp313-macosx_14_0_arm64.whl CPython 3.13 CPython 3.13 macOS 14.0+ ARM64 Details for neospice-0.2.0-cp313-cp313-macosx_14_0_arm64.whl
neospice-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for neospice-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
neospice-0.2.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details for neospice-0.2.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
neospice-0.2.0-cp312-cp312-macosx_14_0_arm64.whl CPython 3.12 CPython 3.12 macOS 14.0+ ARM64 Details for neospice-0.2.0-cp312-cp312-macosx_14_0_arm64.whl
neospice-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for neospice-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
neospice-0.2.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details for neospice-0.2.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
neospice-0.2.0-cp311-cp311-macosx_14_0_arm64.whl CPython 3.11 CPython 3.11 macOS 14.0+ ARM64 Details for neospice-0.2.0-cp311-cp311-macosx_14_0_arm64.whl
neospice-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for neospice-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
neospice-0.2.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.27+ ARM64 Details for neospice-0.2.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
neospice-0.2.0-cp310-cp310-macosx_14_0_arm64.whl CPython 3.10 CPython 3.10 macOS 14.0+ ARM64 Details for neospice-0.2.0-cp310-cp310-macosx_14_0_arm64.whl

Total release size: 176.5 MB

Release files / neospice-0.2.0.tar.gz

Download URL neospice-0.2.0.tar.gz
Size 19.0 MB
Tags Source
SHA-256 checksum
How to use checksums
bd6adc1da2e2dd3a2d57bbd6669cbd02765a2641410cd0db0f96ea3ca8cd8725
BLAKE2b-256 checksum
How to use checksums
18c0f22de1578b5ce58f3efcbe55748904b5c8a258a189ba33ac3c917207da6d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / neospice-0.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL neospice-0.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 14.4 MB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
86e9be9a794cfff51b513ca3c69089aae5cd48bdff58b9286858e800c9e1acf6
BLAKE2b-256 checksum
How to use checksums
98aee28cd87552bc98b98d18e4c77309b44b8a2827eaf17753f00c5e3c4f569b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / neospice-0.2.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL neospice-0.2.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 7.0 MB
Tags CPython 3.14 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
bc9a24e5ab4286588eee160cc003e6a753bff6d23b5d88f52edd8e7c2cb6714a
BLAKE2b-256 checksum
How to use checksums
13a97e5527c3b08afc9f60a79eb749332888cd4c396fc394f73676258954f047
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / neospice-0.2.0-cp314-cp314-macosx_14_0_arm64.whl

Download URL neospice-0.2.0-cp314-cp314-macosx_14_0_arm64.whl
Size 10.1 MB
Tags CPython 3.14 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
d4c5204baf9c2515792d4e0b5e780f5d018ca5a0b6b72c733fd2ffca44ee522b
BLAKE2b-256 checksum
How to use checksums
262785c069b01331b56d0263478c981aad82521cbb09874b92eee2d159ddfb4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / neospice-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL neospice-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 14.4 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9f0614901ec068060d26f40ecbab82348c68440436fc489bf483fdac8b5f828f
BLAKE2b-256 checksum
How to use checksums
5c2f1d65af422eda273f6042512543ba1648576976fd393f74e1c8697f68899a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / neospice-0.2.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL neospice-0.2.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 7.0 MB
Tags CPython 3.13 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
9b9f43950bdff70654fe5c123e2c4aceaf4423b7d687b448b5e2d79012b263bb
BLAKE2b-256 checksum
How to use checksums
f986036b7be6d98a71bd49838b67386ce6407571f771c14fba20a6c06e7115ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / neospice-0.2.0-cp313-cp313-macosx_14_0_arm64.whl

Download URL neospice-0.2.0-cp313-cp313-macosx_14_0_arm64.whl
Size 10.1 MB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
b68becdd4eecea9ab83c0294e613ea1d69ee369b4bbc0f08f152d0f88b915d05
BLAKE2b-256 checksum
How to use checksums
5af6ea50fa9ecd1a020a3876ed04b793a1f47a090609c5dfa9e8e9ac0195565b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / neospice-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL neospice-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 14.4 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0f7b8a817e5f80baa180ad504c3141d837e7b4dbbd411647da3688417b4ae6d6
BLAKE2b-256 checksum
How to use checksums
19145cf0de66bb6efe9872531cc1911df33f2bd30afebcd5a56ad0c5f5c96a36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / neospice-0.2.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL neospice-0.2.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 7.0 MB
Tags CPython 3.12 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
55e8843903dbcc41b54029b6eb2c87d3a0cef33595d5e10c0efa496ac8631de7
BLAKE2b-256 checksum
How to use checksums
9ddc22da2d30a56fcd21865e91cef81ff16226f2559fddb42a1633f50ff2df35
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / neospice-0.2.0-cp312-cp312-macosx_14_0_arm64.whl

Download URL neospice-0.2.0-cp312-cp312-macosx_14_0_arm64.whl
Size 10.1 MB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
2b1415c84712efa3ce8721eadcb0a290c4df79190330b27368690da2f7af2b34
BLAKE2b-256 checksum
How to use checksums
7b59e068844a7693a31790893c83eb7d7463e4044b21852b22033f5b48f08068
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / neospice-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL neospice-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 14.4 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3615541f515a8c8a1f484c5f38401e6631c49362389b6191c593724a1c1a6bfa
BLAKE2b-256 checksum
How to use checksums
8a008ead333a8f141c668aa882d1ff27abf3872e0e8fd5ad14fa819c32f744b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / neospice-0.2.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL neospice-0.2.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 7.0 MB
Tags CPython 3.11 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
69d90147228437d513da108b09a3058d6512eae4a2eec0043402f70e9dc582af
BLAKE2b-256 checksum
How to use checksums
13d1a9cc1990604dbd878093fd0efcdf1681c3dda8e9fade8d2cc7b8862ff2e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / neospice-0.2.0-cp311-cp311-macosx_14_0_arm64.whl

Download URL neospice-0.2.0-cp311-cp311-macosx_14_0_arm64.whl
Size 10.1 MB
Tags CPython 3.11 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
5fca67297c409e8b5f1e4ac6cb41d4345a95c0734a1eb23bdd3fc13b8d7cf3a8
BLAKE2b-256 checksum
How to use checksums
d511c90eb968b5ff52ba3664cc058a105478a57fda0380ade79af6748f57a298
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / neospice-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL neospice-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 14.4 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
094950b96f93e2060b866f82e1300e568cc82cba83da79bcd294ccce38d74d31
BLAKE2b-256 checksum
How to use checksums
7975916b8bbb4683297ed81d7d3693298d52ff98b91ae1cc5ee0f67e645b2d5d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / neospice-0.2.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL neospice-0.2.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 7.0 MB
Tags CPython 3.10 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
4516f9dea6e177d02f6468419b756ecaa2423e64089cedc5bf98be848c5f40e2
BLAKE2b-256 checksum
How to use checksums
fac178c4869a7b67efa4a8492ff4e67543ec336ee7a35f6a5f55a244291f1e08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / neospice-0.2.0-cp310-cp310-macosx_14_0_arm64.whl

Download URL neospice-0.2.0-cp310-cp310-macosx_14_0_arm64.whl
Size 10.1 MB
Tags CPython 3.10 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
afa1a5f7e383a98a371d9c4c376248095f79c1f308a450e0b978e525ce161d5a
BLAKE2b-256 checksum
How to use checksums
a80e8f4da3f558767a418d36fcf9b3651a20adc16ded84d054759904bc3a8094
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Security for neospice 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 16 files in this release have been uploaded with provenance metadata.

Select from 16 files

Attestation for neospice-0.2.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

16 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page