Metadata-Version: 2.1
Name: SpiNNFrontEndCommon
Version: 1!7.3.0
Summary: Common SpiNNaker Front end functions
Home-page: https://github.com/SpiNNakerManchester/SpiNNFrontEndCommon
Maintainer: SpiNNakerTeam
Maintainer-email: spinnakerusers@googlegroups.com
License: Apache-2.0
Keywords: spinnaker
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: MacOS
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: <4,>=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: LICENSE_POLICY.md
Requires-Dist: SpiNNMan ==1!7.3.0
Requires-Dist: SpiNNaker-PACMAN ==1!7.3.0
Requires-Dist: spalloc ==1!7.3.0
Requires-Dist: scipy >=0.16.0
Requires-Dist: ebrains-drive >=0.5.1
Provides-Extra: plotting
Requires-Dist: matplotlib ; extra == 'plotting'
Requires-Dist: seaborn ; extra == 'plotting'
Provides-Extra: test
Requires-Dist: pytest-cov ; extra == 'test'
Requires-Dist: testfixtures ; extra == 'test'
Requires-Dist: httpretty !=1.0.0 ; extra == 'test'
Requires-Dist: types-jsonschema ; extra == 'test'
Requires-Dist: types-requests ; extra == 'test'


This package provides functionality which are common to front ends that
translate application level programs into executables which run on a SpiNNaker
machine.

Requirements
============

In addition to a standard Python installation, this package depends on:

    numpy
    SpiNNUtilities
    SpiNNMachine
    PACMAN
    SpiNNMan
    spalloc

These dependencies can be installed using `pip`:

    pip install numpy
    pip install SpiNNUtilities SpiNNMachine PACMAN SpiNNMan spalloc

If you want to use the `spinnaker_router_provenance_mapper` command line tool
to visualise the traffic on SpiNNaker boards caused by your simulations, you
should install this package using:

    pip install "SpiNNFrontEndCommon[plotting]"

This will additionally install `matplotlib` and `seaborn` to do the actual
plotting, as well as configuring the script.

Visualising SpiNNaker Board Network Traffic
===========================================

To get plots of the traffic in your simulation, use the
`spinnaker_router_provenance_mapper` command line tool (installed as described
above), passing in the name of a provenance database (usually called
`provenance.sqlite3` and created within the run's reporting folders) that
contains the raw data. This will produce a number of graphs as images in your
current directory; _those have fixed file-names._

    spinnaker_router_provenance_mapper my_code/.../provenance.sqlite3

An example of the sort of map that might be produced is:

![External_P2P_Packets](.images/External_P2P_Packets.png)

The P2P traffic being mapped is mainly used for system boot and control.
The white square is due to a chip on that SpiNNaker board being marked as
deactivated.

Documentation
=============
[SpiNNFrontEndCommon python documentation](https://spinnfrontendcommon.readthedocs.io/en/7.3.0)
<br>
[SpiNNFrontEndCommon C documentation](http://spinnakermanchester.github.io/SpiNNFrontEndCommon/c/)

[Combined python documentation](http://spinnakermanchester.readthedocs.io/en/7.3.0)
