MemNNetSim: Memristive Nanowire Network Simulator. A proof-of-concept Python package for modelling and analyzing memristive random nanowire networks (NWNs). This package, developed by Marcus Kasdorf, was initiated from a summer research project in 2021 and continued to be developed under the supervision of Dr. Claudia Gomes da Rocha at the University of Calgary.
Table of Contents
Installation
MemNNetSim has been tested on Python 3.10 to 3.13. It is recommended to install MemNNetSim in a virtual environment such as with venv or conda/mamba.
For installing locally, a pip version of 21.1 or greater is required.
Installation from PyPI
Install the latest release of MemNNetSim from PyPI using pip:
pip install mnns
Installation for development
Download or clone the GitHub repository:
git clone https://github.com/marcus-k/MemNNetSim.git
cd ./MemNNetSim
Then install the package in editable mode using pip:
pip install -e .[dev]
To install for editing the documentation, add the [docs] optional dependencies:
pip install -e .[dev,docs]
Uninstallation
Uninstall MemNNetSim using pip:
pip uninstall mnns
Usage
Nanowire network objects are simply NetworkX graphs with various attributes stored in the graph, edges, and nodes.
>>> import mnns
>>> NWN = mnns.create_NWN(seed=123)
>>> NWN
Type: JDA
Wires: 750
Electrodes: 0
Inner-wire junctions: None
Wire junctions: 3238
Length: 50.00 um (7.143 l0)
Width: 50.00 um (7.143 l0)
Wire Density: 0.3000 um^-2 (14.70 l0^-2)
>>> mnns.plot_NWN(NWN)
(<Figure size 800x600 with 1 Axes>, <AxesSubplot:>)
Metadata
Release files for mnns 1.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mnns-1.0.5.tar.gz | 64.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mnns-1.0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 117.8 kB
Release files / mnns-1.0.5.tar.gz
| Download URL | mnns-1.0.5.tar.gz |
|---|---|
| Size | 64.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
606fa959353eb05191d022187ae22eb53e2c9f177e803ecc1082cd03937a1e95
|
|
BLAKE2b-256 checksum How to use checksums |
fcda923dbdb5a6a6b11e8fdf8010929bf3d09c468a8d06247d46c9d887ea8629
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Apr 2, 2026.
Transparency logRelease files / mnns-1.0.5-py3-none-any.whl
| Download URL | mnns-1.0.5-py3-none-any.whl |
|---|---|
| Size | 53.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
770042d16b52f795a17c39c12384b597e74815ded8f715823fcaf61092926331
|
|
BLAKE2b-256 checksum How to use checksums |
72f8a22d6d57faf7c47b9360eb1221f4a74e78dff2cb44c56ee72c6cc263e3d6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Apr 2, 2026.
Transparency log