spinnutilities

Utility classes and functions for SpiNNaker projects

https://github.com/spinnakermanchester/spinnutils

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.8%) to scientific vocabulary

Keywords

python spinnaker utilities
Last synced: 6 months ago · JSON representation ·

Repository

Utility classes and functions for SpiNNaker projects

Basic Info
  • Host: GitHub
  • Owner: SpiNNakerManchester
  • License: apache-2.0
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 1.94 MB
Statistics
  • Stars: 1
  • Watchers: 10
  • Forks: 5
  • Open Issues: 5
  • Releases: 5
Topics
python spinnaker utilities
Created almost 9 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

PyPi version Build Status Documentation Status Coverage Status

SpiNNUtils

This provides basic utility functions and classes to other parts of SpiNNaker's tooling. Nothing in here knows anything about SpiNNaker functionality.

spinn_utilities.abstract_base

Provides a simplified (and faster) version of the standard Python Abstract Base Class functionality.

spinn_utilities.conf_loader

The structure to handle loading of SpiNNaker-style configuration files.

spinn_utilities.executable_finder

Utility for discovering executables to load onto SpiNNaker nodes.

spinn_utilities.helpful_functions

Miscellaneous bits.

spinn_utilities.ordered_set

A set class where the elements have an order defined by when they were inserted.

spinn_utilities.overrides

Decorator for declaring where a method overrides another method.

spinn_utilities.progress_bar

Generalised progress bar printer.

spinn_utilities.socket_address

Holder for the locations of network resources.

spinn_utilities.timer

General code timer utility.

Generating Aggregated Citation Files

The spinn_utilities.citation.citation_aggregator module can be executed to generate a .cff file consisting of the Citation.cff file from the given top-level module, plus references made up from the dependencies of the top-level module. If these dependencies have .cff files themselves, the references will contain the information from those files, otherwise it will use the version number and name of the module as a reference. The tool can also create a DOI for the version of the tools in use which can then be cited. This makes use of the Zenodo service.

To use the tool, run the following after installing SpiNNUtils:

``` python -m spinnutilities.citation.citationaggregator [-h] [--createdoi] [--publishdoi] [--doititle DOITITLE] [--previousdoi PREVIOUSDOI] [--zenodoaccesstoken ZENODOACCESS_TOKEN] outputpath top_module

positional arguments: outputpath The file to store the result in topmodule The module to start with

optional arguments: -h, --help show this help message and exit --createdoi Create a DOI from the resulting citation on Zenodo --publishdoi Publish the DOI created --doititle DOITITLE The title to give the created DOI --previousdoi PREVIOUSDOI The DOI this is a newer version of --zenodoaccesstoken ZENODOACCESSTOKEN Access token for Zenodo ```

Documentation

SpiNNUtils python documentation

Combined python documentation

Owner

  • Name: SpiNNaker - University of Manchester
  • Login: SpiNNakerManchester
  • Kind: organization
  • Email: spinnakerusers@googlegroups.com
  • Location: Manchester, UK

Software for the SpiNNaker Million Core Neuromorphic Machine. Part of the Human Brain Project and EBRAINS

Citation (CITATION.cff)

# Copyright (c) 2017 The University of Manchester
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

cff-version: 1.2.0
message: If you use this software, please cite it as below.
preferred-citation:
  type: article
  doi: 10.3389/fnins.2019.00231
  issn: 1662-453X
  url: https://www.frontiersin.org/articles/10.3389/fnins.2019.00231
  title: "SpiNNTools: The Execution Engine for the SpiNNaker Platform"
  journal: Frontiers in Neuroscience
  volume: 13
  year: 2019
  month: 3
  abstract: SpiNNaker is a massively parallel distributed architecture primarily focused on real time simulation of spiking neural networks. The largest realization of the architecture consists of one million general purpose processors, making it the largest neuromorphic computing platform in the world at the present time. Utilizing these processors efficiently requires expert knowledge of the architecture to generate executable code and to harness the potential of the unique inter-processor communications infra-structure that lies at the heart of the SpiNNaker architecture. This work introduces a software suite called SpiNNTools that can map a computational problem described as a graph into the required set of executables, application data and routing information necessary for simulation on this novel machine. The SpiNNaker architecture is highly scalable, giving rise to unique challenges in mapping the problem to the machines resources, loading the generated files to the machine and subsequently retrieving the results of simulation. In this paper we describe these challenges in detail and the solutions implemented.
  authors:
  - given-names: Andrew
    family-names: Rowley
    affiliation: University Of Manchester
    email: Andrew.Rowley@manchester.ac.uk
    orcid: https://orcid.org/0000-0002-2646-8520
    website: https://www.researchgate.net/profile/Andrew_Rowley2
  - given-names: Christian Y.
    family-names: Brenninkmeijer
    affiliation: University Of Manchester
    email: christian.brenninkmeijer@manchester.ac.uk
    orcid: https://orcid.org/0000-0002-2937-7819
    website: https://www.researchgate.net/profile/Christian_Brenninkmeijer
  - given-names: Simon
    family-names: Davidson
    affiliation: University Of Manchester
    orcid: https://orcid.org/0000-0001-5385-442X
    website: https://research.manchester.ac.uk/en/persons/simon.davidson
  - given-names: Donal
    family-names: Fellows
    affiliation: University Of Manchester
    orcid: https://orcid.org/0000-0002-9091-5938
    website: https://www.researchgate.net/profile/Donal-Fellows
  - given-names: Andrew
    family-names: Gait
    affiliation: University Of Manchester
    orcid: https://orcid.org/0000-0001-9349-1096
    website: https://personalpages.manchester.ac.uk/staff/andrew.gait/
  - given-names: David R.
    family-names: Lester
    affiliation: University Of Manchester
    orcid: https://orcid.org/0000-0002-7267-291X
  - given-names: Luis A.
    family-names: Plana
    affiliation: University Of Manchester
    orcid: https://orcid.org/0000-0002-6113-3929
    website: https://research.manchester.ac.uk/en/persons/luis.plana
  - given-names: Oliver
    family-names: Rhodes
    affiliation: University Of Manchester
    orcid: https://orcid.org/0000-0003-1728-2828
    website: https://research.manchester.ac.uk/en/persons/oliver.rhodes
  - given-names: Alan B.
    family-names: Stokes
    affiliation: University Of Manchester
    orcid: https://orcid.org/0000-0002-6110-1484
  - given-names: Steve B.
    family-names: Furber
    affiliation: University Of Manchester
    orcid: https://orcid.org/0000-0002-6524-3367
    website: https://research.manchester.ac.uk/en/persons/steve.furber

title: The container for common code used by the SpiNNaker tool chain in general
authors:
    - name: SpiNNaker Software Team
      alias: For a list of contributors see https://github.com/SpiNNakerManchester/SpiNNUtils/graphs/contributors or for a combined list see https://spinnakermanchester.github.io/latest/LicenseAgreement.html#contributors
      address: University of Manchester, Oxford Road
      city: Manchester
      country: GB
      email: spinnakerusers@googlegroups.com
      post-code: M13 9PL
      website: https://apt.cs.manchester.ac.uk/projects/SpiNNaker/
url: https://spinnakermanchester.github.io/
contact:
- address: University of Manchester, Oxford Road
  city: Manchester
  country: GB
  email: spinnakerusers@googlegroups.com
  name: SpiNNaker Software Team
  post-code: M13 9PL
license: Apache-2.0
repository: https://github.com/SpiNNakerManchester/SpiNNUtils

GitHub Events

Total
  • Issues event: 3
  • Delete event: 35
  • Issue comment event: 5
  • Push event: 209
  • Pull request review event: 11
  • Pull request event: 65
  • Create event: 44
Last Year
  • Issues event: 3
  • Delete event: 35
  • Issue comment event: 5
  • Push event: 209
  • Pull request review event: 11
  • Pull request event: 65
  • Create event: 44

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 9
  • Total pull requests: 161
  • Average time to close issues: 18 days
  • Average time to close pull requests: 23 days
  • Total issue authors: 4
  • Total pull request authors: 5
  • Average comments per issue: 2.89
  • Average comments per pull request: 0.78
  • Merged pull requests: 125
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 68
  • Average time to close issues: about 17 hours
  • Average time to close pull requests: 4 days
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 1.5
  • Average comments per pull request: 0.06
  • Merged pull requests: 43
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Christian-B (8)
  • dkfellows (4)
  • mpuzovic (1)
  • Andrewwango (1)
Pull Request Authors
  • Christian-B (136)
  • dkfellows (22)
  • rowleya (17)
  • alan-stokes (7)
  • andrewgait (1)
Top Labels
Issue Labels
bug (5) blocker (2) enhancement (1) minor (1)
Pull Request Labels
enhancement (47) bug (18) blocker (6) minor (6) wontfix (2) historic (1) experimental (1) question (1) duplicate (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 191 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 13
  • Total maintainers: 5
pypi.org: spinnutilities

Utility classes and functions for SpiNNaker projects

  • Versions: 13
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 191 Last month
Rankings
Dependent packages count: 10.1%
Downloads: 12.9%
Average: 19.1%
Forks count: 19.1%
Dependent repos count: 21.5%
Stargazers count: 31.9%
Last synced: 6 months ago

Dependencies

setup.py pypi
  • appdirs *
  • numpy *
  • pyyaml *
  • requests *
unittests/citation/package_1_folder/c_requirements.txt pypi
  • c_module * test
  • nonexiststent_c * test
unittests/citation/package_1_folder/requirements.txt pypi
  • nonexistent * test
  • package_2 * test
  • package_3 * test
  • package_4 * test
  • package_5 * test
  • pyyaml * test
.github/workflows/python_actions.yml actions
  • ./support/actions/check-copyrights * composite
  • ./support/actions/pylint * composite
  • ./support/actions/pytest * composite
  • ./support/actions/python-tools * composite
  • ./support/actions/run-setup * composite
  • ./support/actions/sphinx * composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
doc/doc_requirements.txt pypi
pyproject.toml pypi