Skip to content

Commit

Permalink
Update documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
Unknown committed Jul 1, 2024
0 parents commit 70a76e5
Show file tree
Hide file tree
Showing 579 changed files with 191,327 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: e2452fde17083ee8b32614d7ae361ef9
tags: 645f666f9bcd5a90fca523b33c5a78b7
Empty file added .nojekyll
Empty file.
648 changes: 648 additions & 0 deletions 404.html

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
docs.neuroml.org
828 changes: 828 additions & 0 deletions Devdocs/DevSOP.html

Large diffs are not rendered by default.

675 changes: 675 additions & 0 deletions Devdocs/Devdocs.html

Large diffs are not rendered by default.

727 changes: 727 additions & 0 deletions Devdocs/InteractionOtherBits.html

Large diffs are not rendered by default.

785 changes: 785 additions & 0 deletions Devdocs/ReleaseProcess.html

Large diffs are not rendered by default.

756 changes: 756 additions & 0 deletions Devdocs/UpdatingStandard.html

Large diffs are not rendered by default.

1,015 changes: 1,015 additions & 0 deletions Events/2012-Edinburgh.html

Large diffs are not rendered by default.

739 changes: 739 additions & 0 deletions Events/202103-Harmony.html

Large diffs are not rendered by default.

733 changes: 733 additions & 0 deletions Events/202107-CNS2021.html

Large diffs are not rendered by default.

741 changes: 741 additions & 0 deletions Events/202108-INCF-Training-Week.html

Large diffs are not rendered by default.

715 changes: 715 additions & 0 deletions Events/202109-COMBINE.html

Large diffs are not rendered by default.

726 changes: 726 additions & 0 deletions Events/202204-Harmony.html

Large diffs are not rendered by default.

742 changes: 742 additions & 0 deletions Events/20220630-CNS2022.html

Large diffs are not rendered by default.

726 changes: 726 additions & 0 deletions Events/202404-Harmony.html

Large diffs are not rendered by default.

741 changes: 741 additions & 0 deletions Events/202407-CNS2024.html

Large diffs are not rendered by default.

665 changes: 665 additions & 0 deletions Events/PastEvents.html

Large diffs are not rendered by default.

724 changes: 724 additions & 0 deletions Landing.html

Large diffs are not rendered by default.

782 changes: 782 additions & 0 deletions NeuroMLOrg/Board.html

Large diffs are not rendered by default.

776 changes: 776 additions & 0 deletions NeuroMLOrg/BoardHistory.html

Large diffs are not rendered by default.

744 changes: 744 additions & 0 deletions NeuroMLOrg/BoardMeetingReports.html

Large diffs are not rendered by default.

673 changes: 673 additions & 0 deletions NeuroMLOrg/CoC.html

Large diffs are not rendered by default.

722 changes: 722 additions & 0 deletions NeuroMLOrg/CommunicationChannels.html

Large diffs are not rendered by default.

805 changes: 805 additions & 0 deletions NeuroMLOrg/Contributors.html

Large diffs are not rendered by default.

724 changes: 724 additions & 0 deletions NeuroMLOrg/Funding.html

Large diffs are not rendered by default.

735 changes: 735 additions & 0 deletions NeuroMLOrg/History.html

Large diffs are not rendered by default.

723 changes: 723 additions & 0 deletions NeuroMLOrg/OutreachTraining.html

Large diffs are not rendered by default.

842 changes: 842 additions & 0 deletions NeuroMLOrg/Repositories.html

Large diffs are not rendered by default.

803 changes: 803 additions & 0 deletions NeuroMLOrg/ScientificCommittee.html

Large diffs are not rendered by default.

697 changes: 697 additions & 0 deletions NeuroMLOrg/Standards.html

Large diffs are not rendered by default.

666 changes: 666 additions & 0 deletions Reference/Glossary.html

Large diffs are not rendered by default.

737 changes: 737 additions & 0 deletions Reference/zBibliography.html

Large diffs are not rendered by default.

748 changes: 748 additions & 0 deletions Userdocs/Conventions.html

Large diffs are not rendered by default.

857 changes: 857 additions & 0 deletions Userdocs/ConvertingModels.html

Large diffs are not rendered by default.

673 changes: 673 additions & 0 deletions Userdocs/CreatingNeuroMLModels.html

Large diffs are not rendered by default.

1,014 changes: 1,014 additions & 0 deletions Userdocs/ExtendingNeuroMLv2.html

Large diffs are not rendered by default.

702 changes: 702 additions & 0 deletions Userdocs/FAQ.html

Large diffs are not rendered by default.

758 changes: 758 additions & 0 deletions Userdocs/FindingNeuroMLModels.html

Large diffs are not rendered by default.

736 changes: 736 additions & 0 deletions Userdocs/GettingStarted.html

Large diffs are not rendered by default.

684 changes: 684 additions & 0 deletions Userdocs/HDF5.html

Large diffs are not rendered by default.

871 changes: 871 additions & 0 deletions Userdocs/ImportingMorphologyFiles.html

Large diffs are not rendered by default.

1,338 changes: 1,338 additions & 0 deletions Userdocs/IzhikevichNetworkExample.html

Large diffs are not rendered by default.

785 changes: 785 additions & 0 deletions Userdocs/LEMS.html

Large diffs are not rendered by default.

1,260 changes: 1,260 additions & 0 deletions Userdocs/LEMSExample1.html

Large diffs are not rendered by default.

1,059 changes: 1,059 additions & 0 deletions Userdocs/LEMSExample2.html

Large diffs are not rendered by default.

674 changes: 674 additions & 0 deletions Userdocs/LEMSExample3.html

Large diffs are not rendered by default.

835 changes: 835 additions & 0 deletions Userdocs/LEMSExample4.html

Large diffs are not rendered by default.

939 changes: 939 additions & 0 deletions Userdocs/LEMSExample5.html

Large diffs are not rendered by default.

725 changes: 725 additions & 0 deletions Userdocs/LEMSExample6.html

Large diffs are not rendered by default.

826 changes: 826 additions & 0 deletions Userdocs/LEMSExample7.html

Large diffs are not rendered by default.

837 changes: 837 additions & 0 deletions Userdocs/LEMSExample8.html

Large diffs are not rendered by default.

858 changes: 858 additions & 0 deletions Userdocs/LEMSOverview.html

Large diffs are not rendered by default.

689 changes: 689 additions & 0 deletions Userdocs/LEMSSchema.html

Large diffs are not rendered by default.

795 changes: 795 additions & 0 deletions Userdocs/LEMSSimulation.html

Large diffs are not rendered by default.

788 changes: 788 additions & 0 deletions Userdocs/LEMS_elements/DefiningComponents.html

Large diffs are not rendered by default.

2,024 changes: 2,024 additions & 0 deletions Userdocs/LEMS_elements/Definingcomponenttypes.html

Large diffs are not rendered by default.

1,776 changes: 1,776 additions & 0 deletions Userdocs/LEMS_elements/Dynamics.html

Large diffs are not rendered by default.

768 changes: 768 additions & 0 deletions Userdocs/LEMS_elements/Geometry.html

Large diffs are not rendered by default.

920 changes: 920 additions & 0 deletions Userdocs/LEMS_elements/Modelstructure.html

Large diffs are not rendered by default.

750 changes: 750 additions & 0 deletions Userdocs/LEMS_elements/Procedure.html

Large diffs are not rendered by default.

1,006 changes: 1,006 additions & 0 deletions Userdocs/LEMS_elements/Simulation.html

Large diffs are not rendered by default.

1,353 changes: 1,353 additions & 0 deletions Userdocs/LEMS_elements/Structure.html

Large diffs are not rendered by default.

890 changes: 890 additions & 0 deletions Userdocs/LEMS_elements/Unitsanddimensions.html

Large diffs are not rendered by default.

677 changes: 677 additions & 0 deletions Userdocs/MissionAndAims.html

Large diffs are not rendered by default.

1,975 changes: 1,975 additions & 0 deletions Userdocs/MultiCompartmentOLMexample.html

Large diffs are not rendered by default.

1,111 changes: 1,111 additions & 0 deletions Userdocs/NML2_examples/HH_single_compartment.html

Large diffs are not rendered by default.

1,465 changes: 1,465 additions & 0 deletions Userdocs/NML2_examples/IzhikevichNetwork.html

Large diffs are not rendered by default.

1,832 changes: 1,832 additions & 0 deletions Userdocs/NML2_examples/NeuroML-DB.html

Large diffs are not rendered by default.

1,288 changes: 1,288 additions & 0 deletions Userdocs/NML2_examples/OLM.html

Large diffs are not rendered by default.

1,086 changes: 1,086 additions & 0 deletions Userdocs/NML2_examples/SingleNeuron.html

Large diffs are not rendered by default.

723 changes: 723 additions & 0 deletions Userdocs/NeuroMLv1.html

Large diffs are not rendered by default.

709 changes: 709 additions & 0 deletions Userdocs/NeuroMLv2.html

Large diffs are not rendered by default.

831 changes: 831 additions & 0 deletions Userdocs/NeuroMLv2AndLEMS.html

Large diffs are not rendered by default.

2,572 changes: 2,572 additions & 0 deletions Userdocs/OptimisingNeuroMLModels.html

Large diffs are not rendered by default.

875 changes: 875 additions & 0 deletions Userdocs/Paths.html

Large diffs are not rendered by default.

892 changes: 892 additions & 0 deletions Userdocs/Publications.html

Large diffs are not rendered by default.

704 changes: 704 additions & 0 deletions Userdocs/QuantitiesAndRecording.html

Large diffs are not rendered by default.

9,440 changes: 9,440 additions & 0 deletions Userdocs/Schemas/Cells.html

Large diffs are not rendered by default.

4,986 changes: 4,986 additions & 0 deletions Userdocs/Schemas/Channels.html

Large diffs are not rendered by default.

1,187 changes: 1,187 additions & 0 deletions Userdocs/Schemas/Index.html

Large diffs are not rendered by default.

4,276 changes: 4,276 additions & 0 deletions Userdocs/Schemas/Inputs.html

Large diffs are not rendered by default.

3,050 changes: 3,050 additions & 0 deletions Userdocs/Schemas/Networks.html

Large diffs are not rendered by default.

1,442 changes: 1,442 additions & 0 deletions Userdocs/Schemas/NeuroMLCoreCompTypes.html

Large diffs are not rendered by default.

4,138 changes: 4,138 additions & 0 deletions Userdocs/Schemas/NeuroMLCoreDimensions.html

Large diffs are not rendered by default.

3,810 changes: 3,810 additions & 0 deletions Userdocs/Schemas/PyNN.html

Large diffs are not rendered by default.

1,123 changes: 1,123 additions & 0 deletions Userdocs/Schemas/Simulation.html

Large diffs are not rendered by default.

3,978 changes: 3,978 additions & 0 deletions Userdocs/Schemas/Synapses.html

Large diffs are not rendered by default.

829 changes: 829 additions & 0 deletions Userdocs/SimulatingNeuroMLModels.html

Large diffs are not rendered by default.

1,877 changes: 1,877 additions & 0 deletions Userdocs/SingleCompartmentHHExample.html

Large diffs are not rendered by default.

1,440 changes: 1,440 additions & 0 deletions Userdocs/SingleNeuronExample.html

Large diffs are not rendered by default.

725 changes: 725 additions & 0 deletions Userdocs/Software/MatLab.html

Large diffs are not rendered by default.

726 changes: 726 additions & 0 deletions Userdocs/Software/NeuroML_API.html

Large diffs are not rendered by default.

830 changes: 830 additions & 0 deletions Userdocs/Software/NeuroMLlite.html

Large diffs are not rendered by default.

730 changes: 730 additions & 0 deletions Userdocs/Software/Software.html

Large diffs are not rendered by default.

1,019 changes: 1,019 additions & 0 deletions Userdocs/Software/SupportingTools.html

Large diffs are not rendered by default.

723 changes: 723 additions & 0 deletions Userdocs/Software/Tools/Approaches.html

Large diffs are not rendered by default.

722 changes: 722 additions & 0 deletions Userdocs/Software/Tools/Arbor.html

Large diffs are not rendered by default.

714 changes: 714 additions & 0 deletions Userdocs/Software/Tools/Brian.html

Large diffs are not rendered by default.

665 changes: 665 additions & 0 deletions Userdocs/Software/Tools/EDEN.html

Large diffs are not rendered by default.

701 changes: 701 additions & 0 deletions Userdocs/Software/Tools/MOOSE.html

Large diffs are not rendered by default.

665 changes: 665 additions & 0 deletions Userdocs/Software/Tools/N2A.html

Large diffs are not rendered by default.

672 changes: 672 additions & 0 deletions Userdocs/Software/Tools/NEST.html

Large diffs are not rendered by default.

738 changes: 738 additions & 0 deletions Userdocs/Software/Tools/NEURON.html

Large diffs are not rendered by default.

712 changes: 712 additions & 0 deletions Userdocs/Software/Tools/NetPyNE.html

Large diffs are not rendered by default.

669 changes: 669 additions & 0 deletions Userdocs/Software/Tools/PyNN.html

Large diffs are not rendered by default.

720 changes: 720 additions & 0 deletions Userdocs/Software/Tools/SWC.html

Large diffs are not rendered by default.

721 changes: 721 additions & 0 deletions Userdocs/Software/jLEMS.html

Large diffs are not rendered by default.

822 changes: 822 additions & 0 deletions Userdocs/Software/jNeuroML.html

Large diffs are not rendered by default.

789 changes: 789 additions & 0 deletions Userdocs/Software/libNeuroML.html

Large diffs are not rendered by default.

827 changes: 827 additions & 0 deletions Userdocs/Software/pyLEMS.html

Large diffs are not rendered by default.

911 changes: 911 additions & 0 deletions Userdocs/Software/pyNeuroML.html

Large diffs are not rendered by default.

686 changes: 686 additions & 0 deletions Userdocs/Specification.html

Large diffs are not rendered by default.

729 changes: 729 additions & 0 deletions Userdocs/TestingNeuroMLModels.html

Large diffs are not rendered by default.

677 changes: 677 additions & 0 deletions Userdocs/UnitsAndDimensions.html

Large diffs are not rendered by default.

811 changes: 811 additions & 0 deletions Userdocs/Usage.html

Large diffs are not rendered by default.

844 changes: 844 additions & 0 deletions Userdocs/ValidatingNeuroMLModels.html

Large diffs are not rendered by default.

767 changes: 767 additions & 0 deletions Userdocs/VisualisingCells.html

Large diffs are not rendered by default.

809 changes: 809 additions & 0 deletions Userdocs/VisualisingChannels.html

Large diffs are not rendered by default.

1,005 changes: 1,005 additions & 0 deletions Userdocs/VisualisingNeuroMLModels.html

Large diffs are not rendered by default.

1,533 changes: 1,533 additions & 0 deletions Userdocs/Walkthroughs/RayEtAl2020/Conversion.html

Large diffs are not rendered by default.

897 changes: 897 additions & 0 deletions Userdocs/Walkthroughs/RayEtAl2020/OMV.html

Large diffs are not rendered by default.

668 changes: 668 additions & 0 deletions Userdocs/Walkthroughs/RayEtAl2020/RayEtAl2020.html

Large diffs are not rendered by default.

726 changes: 726 additions & 0 deletions Userdocs/Walkthroughs/RayEtAl2020/Setup.html

Large diffs are not rendered by default.

666 changes: 666 additions & 0 deletions Userdocs/Walkthroughs/Walkthroughs.html

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/20231122-ACNet.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/Acnet-matrix-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/Acnet-matrix-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/Acnet-matrix-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/Acnet-matrix-4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/Acnet-matrix-5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/Acnet-medium-graph-level1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/Acnet-medium-graph-level5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/Acnet-medium.net.png
Binary file added _images/Acnet-medium.povray.png
Binary file added _images/EUS_200px.gif
Binary file added _images/Figure6a.png
Binary file added _images/GGN-vispy.png
Binary file added _images/GGN.png
Binary file added _images/HH_example_k_channel_1.png
Binary file added _images/HH_example_k_channel_2.png
Binary file added _images/HH_example_na_channel_1.png
Binary file added _images/HH_example_na_channel_2.png
Binary file added _images/HH_single_compartment_example_sim-i.png
Binary file added _images/HH_single_compartment_example_sim-v.png
Binary file added _images/Ih-combined.png
Binary file added _images/IzNet-1.gv.png
Binary file added _images/IzNet.gv.png
Binary file added _images/KC-NEURON.png
Binary file added _images/KC-NeuroML.png
Binary file added _images/MorphologyNeuroML2.png
Binary file added _images/NML-DB.png
Binary file added _images/NaTa.png
1 change: 1 addition & 0 deletions _images/NeuroML2_LEMS_Overview_web.svg

Large diffs are not rendered by default.

Binary file added _images/OSBv1.png
Binary file added _images/andrew.jpg
Binary file added _images/angus.png
Binary file added _images/ankur.png
Binary file added _images/arbor.png
Binary file added _images/avrama.jpg
Binary file added _images/bbsrc.gif
Binary file added _images/bhalla.png
Binary file added _images/biosimulators.png
Binary file added _images/boris.jpg
Binary file added _images/brian2.png
Binary file added _images/catmaid.png
Binary file added _images/cgunay.JPG
Binary file added _images/combine.png
Binary file added _images/crook2007-morphml-figure1.png
Binary file added _images/cvapp.png
Binary file added _images/cx3d.png
Binary file added _images/endorsed.png
Binary file added _images/fitted_izhikevich_fitness.png
Binary file added _images/fitted_izhikevich_hist.png
Binary file added _images/fitted_izhikevich_output.png
Binary file added _images/fitted_izhikevich_scatter.png
Binary file added _images/fitted_izhikevich_sim-exp-v.png
Binary file added _images/genesis.png
Binary file added _images/geppetto.png
Binary file added _images/hugo.png
Binary file added _images/incf.png
Binary file added _images/izhikevich-binder.png
Binary file added _images/izhikevich-google.png
Binary file added _images/izhikevich-livecode.png
Binary file added _images/izhikevich-rocket-options.png
Binary file added _images/izhikevich-rocket.png
Binary file added _images/jupyter-download.png
Binary file added _images/jupyterbook-issue.png
Binary file added _images/lems-figure2.png
Binary file added _images/lems_example4.png
Binary file added _images/lems_example6.png
Binary file added _images/lems_example7.png
Binary file added _images/lems_nml_files.png
Binary file added _images/lfpy.png
Binary file added _images/libneuroml.png
Binary file added _images/lyle.png
Binary file added _images/mdf.png
Binary file added _images/michael.png
Binary file added _images/moose.jpg
Binary file added _images/moose_mod.png
Binary file added _images/mrc.jpg
Binary file added _images/myokit.png
Binary file added _images/nest-logo.png
Binary file added _images/netpyne.png
Binary file added _images/neuroconstruct.png
Binary file added _images/neuromldb-channel-analysis.png
Binary file added _images/neuron.png
Binary file added _images/neuronland.png
Binary file added _images/neuronvisio.png
Binary file added _images/nih.gif
Binary file added _images/nml-db-morphology.png
Binary file added _images/nmllite-example.png
Binary file added _images/nsf.gif
Binary file added _images/olm-cell-fi.png
Binary file added _images/olm-cell-subthresholdVi.png
Binary file added _images/olm-cell-voltage-traces.png
Binary file added _images/olm.cell.png
Binary file added _images/olm.cell.xy.png
Binary file added _images/olm_example_sim_seg0_soma0-v.png
Binary file added _images/openworm.png
Binary file added _images/openworm2-mod.png
Binary file added _images/osb-channel-analysis.png
Binary file added _images/osb-conversion.png
Binary file added _images/osb-morphology.png
Binary file added _images/osbnivo_mod2.png
Binary file added _images/padraig2.jpeg
Binary file added _images/pynml-channelanalysis.png
1 change: 1 addition & 0 deletions _images/pynml_jnml.svg

Large diffs are not rendered by default.

Binary file added _images/pynn.png
Binary file added _images/robertmcdougal.png
Binary file added _images/rsz_crook.jpg
Binary file added _images/salva.png
Binary file added _images/single_hh_cell_network.gv.png
Binary file added _images/single_olm_cell_network.gv.png
Binary file added _images/sotirios.jpg
Binary file added _images/trakem2.png
Binary file added _images/trees.png
Binary file added _images/tvb.png
Binary file added _images/wtlogo.png
5 changes: 5 additions & 0 deletions _sources/404.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Page not found

Sorry, the page you were looking could not be found.
Please use the search function to look for information in the documentation.
For any issues, please {ref}`contact us <contact>`.
124 changes: 124 additions & 0 deletions _sources/Devdocs/DevSOP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
(devdocs:devsop)=
# Contribution guidelines

Thank you for your interest in contributing to NeuroML.
Welcome!

This page documents the contribution guidelines for all NeuroML related repositories.

Please do remember that these are *guidelines* but not rules that must be strictly followed.
We think these are reasonable ideas to follow and they help us maintain a high code quality while making it easier and more efficient for all of us to work together.
However, there may be cases where they can not be followed, and that's fine too.

(devdocs:devsop:coc)=
## Code of conduct

All NeuroML projects are governed by the {ref}`Code of Conduct <coc>`.
By participating, you are expected to uphold this code.
Please report unacceptable behaviour to the moderators of the communication channel you are in.

(devdocs:devsop:repos)=
## Structure of repositories

- All NeuroML repositories use the [Git](https://git-scm.com/) version control system.
- Contributions are made using [pull requests](https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests).
- Each NeuroML software tool resides in its own GitHub repository under the [NeuroML GitHub Organization](https://github.com/NeuroML), apart from [libNeuroML](https://github.com/NeuralEnsemble/libNeuroML) which is developed in collaboration with the [NeuralEnsemble community](http://neuralensemble.org/) and so lives under their GitHub organization.
- LEMS repositories are housed under the [LEMS GitHub Organization](https://github.com/LEMS).

You can find links to these on the respective pages for each {ref}`software tool <userdocs:software>`.

The NeuroML standard itself (schema and ComponentType definitions) is housed in its own repository [here](https://github.com/NeuroML/NeuroML2).

(devdocs:devsop:repos:zenhub)
### Kanban board on Zenhub

An overview of the various repositories, tasks, issues, and so on can be seen on the [NeuroML Kanban board on Zenhub](https://app.zenhub.com/workspaces/neuroml-development-605c92c7c670460016e497ab/board?filterLogic=any&repos=7225220,6579766,7225426,299352189,78101103,129064858,8460738,6171449,6171626,27832592,78100679,6171646,3740176,4614078,7146844,4326891&showPipelineDescriptions=false).


(devdocs:devsop:versioning)=
## Versioning

All NeuroML repositories (including the standard) follow [Semantic versioning](https://semver.org/).
This means that the version string consists of three components: `MAJOR.MINOR.PATCH`:

- the MAJOR version is incremented when incompatible API changes are made,
- the MINOR version is incremented when functionality is added in a backwards compatible manner, and
- the PATCH version is incremented when backwards compatible bug fixes are made.

(devdocs:devsop:branches)=
## Git branches

- Please develop against the `development` branch in all repositories.
This branch is merged into `master` via a pull request when a new release is made.
This ensures that all tests are run at each step to verify correctness.
As a result, the `master` branch of all repositories holds the stable version of the standard and tools, while the `development` branch holds the next, unstable version that is being worked upon.

- For branch names, please consider using the [Git flow](https://nvie.com/posts/a-successful-git-branching-model/) naming convention (not mandatory but strongly suggested):

- prefix feature branches with `feat/` or `enh/` (for enhancement)
- prefix bugfix branches with `bugfix/` or `fix/`
- pull requests addressing specific tickets may also mention them in the branch name. E.g., `bugfix/issue-22`.

(devdocs:devsop:commits)=
## Git commits

Git commit messages are extremely important because they allow us to nicely track the complete development history of the project.
Here are some guidelines on writing good commit messages:

- Each commit should ideally only address one issue.
It should be self-contained (should not group together lots of changes).
Tip: use `git add -p` to break your work down into logical, small commits).
- Write good commit messages.
Read [this post](https://chris.beams.io/posts/git-commit/) to see how to write meaningful, useful commit messages and why they are important.
- We strongly suggest using the [Conventional Commit](https://www.conventionalcommits.org/en/v1.0.0/#summary) specification.
In short:

- Each commit is of the form `<type>[optional scope]: description`, followed by the text body of the commit after a blank line, and then any optional references etc. as footer.
- The `type` can be one of: `fix`, `feat`, `build`, `chore`, `ci`, `docs`, `refactor`, `perf`, `test`, and so on depending on what the commit is doing.
- Any backwards incompatible, breaking change must be clearly noted in the commit using the `BREAKING CHANGE` phrase.
This corresponds to a major version update (as noted above in the versioning section).

(devdocs:devsop:style:java)=
## Code style: Java

TODO

(devdocs:devsop:style:python)=
## Code style: Python

- While Python 2 is still supported even though it is [no longer supported by the Python community](https://pythonclock.org), given that most Python modules (numpy/scipy/matplotlib/sphinx) have dropped support for this deprecated Python version, NeuroML will also drop support in the near future.
Therefore, we strongly suggest using Python 3.
- For Python repositories, please use [Black](https://black.readthedocs.io/) to format your code before committing and submitting a pull request.
- We also strongly suggest linting using [flake8](https://flake8.pycqa.org/).
- Please use [type hints](https://docs.python.org/3/library/typing.html?highlight=type%20hint) in your code and run [mypy](https://mypy.readthedocs.io/en/stable/) to test it for correctness.
You can see the [mypy cheatsheet](https://mypy.readthedocs.io/en/stable/cheat_sheet.html) to quickly see how to do this.
Since NeuroML is currently still supporting Python 2, we use the Python 2 style to maintain compatibility (this also works with Python 3).
- Deprecations should be clearly noted in the code, and in the commit message.
You may use the [Sphinx deprecated directive](https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-deprecated) along with the Python [DeprecationWarning](https://docs.python.org/3/library/exceptions.html#DeprecationWarning), for example.

(devdocs:devsop:docs)=
## Documentation

All tools include their own documentation in their repositories.
Please feel free to improve this documentation and submit pull requests.

When contributing fixes and enhancements, please remember to document your classes/functions and code in general.
Not only does this allow others to understand your code, it also allows us to auto-generate documentation using various tools.

- For the Java repositories, please use the standard [Javadoc](https://www.oracle.com/technical-resources/articles/java/javadoc-tool.html) syntax.
- For the Python repositories, please document your code using the standard [Sphinx reStructuredText](https://www.sphinx-doc.org) system.
For functions and so on, you can use the provided [fields](https://www.sphinx-doc.org/en/master/usage/restructuredtext/domains.html?#python-signatures).

Where applicable, please add examples and so on to the software documentation to ensure that users can find the information quickly.
Additionally, please remember to consider if this primary NeuroML documentation here needs to be updated.

Please use [Semantic Line Breaks](https://sembr.org/) wherever possible.

(devdocs:devsop:testing)=
## Testing

- Before submitting a pull request, please run the various tests to confirm your changes.
You can see how they are run in the various GitHub workflow files (in the `.github/workflows/` folder in each repository).
They will be run on all pull requests automatically so you can also verify your changes there.
- For a new feature addition, please remember to include a unit test.
- For a bug fix, please include a regression test.
15 changes: 15 additions & 0 deletions _sources/Devdocs/Devdocs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
(devdocs:overview)=
# Overview

This section will contain information for those who wish to **contribute to the development** of the NeuroML standard and associated tools.

An overview of the NeuroML **release process** can be found {ref}`here <devdocs:release>`.

The relationship of NeuroML to a number of other tools and standards in computational neuroscience,
and the practical steps taken thus far to ensure interoperability, can be found {ref}`here <devdocs:interaction>`.

The following project Kanban boards are used to consolidate issues:

- [NeuroML](https://github.com/orgs/NeuroML/projects/4/views/1): for all repositories under the NeuroML GitHub organization
- [LEMS](https://github.com/orgs/LEMS/projects/2/views/1): for all repositories under the LEMS GitHub organization
- [NeuralEnsemble](https://github.com/orgs/NeuralEnsemble/projects/1/views/1): for all NeuroML related repositories in the Neural Ensemble GitHub organization
40 changes: 40 additions & 0 deletions _sources/Devdocs/InteractionOtherBits.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
(devdocs:interaction)=
# Interaction with other languages and standards

```{admonition} Needs work
TODO: Add more information to each of these
```

(devdocs:interaction:pynn)=
## PyNN

[https://github.com/NeuroML/NeuroML2/issues/73](https://github.com/NeuroML/NeuroML2/issues/73)

(devdocs:interaction:sbml)=
## SBML

[https://github.com/OpenSourceBrain/SBMLShowcase](https://github.com/OpenSourceBrain/SBMLShowcase)


(devdocs:interaction:sonata)=
## Sonata

[https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1007696](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1007696)


(devdocs:interaction:nineml)=
## NineML & SpineML

[https://github.com/OpenSourceBrain/NineMLShowcase](https://github.com/OpenSourceBrain/NineMLShowcase)


(devdocs:interaction:mdf)=
## ModECI MDF

[http://www.modeci.org/](http://www.modeci.org/)

(devdocs:interaction:swc)=
## SWC

http://www.neuronland.org/NLMorphologyConverter/MorphologyFormats/SWC/Spec.html
http://www.neuromorpho.org/myfaq.jsp
41 changes: 41 additions & 0 deletions _sources/Devdocs/ReleaseProcess.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
(devdocs:release)=
# Release Process

## Overview

In general, work is carried out in the **development** branches of the [main NeuroML repositories](https://github.com/NeuroML/.github/blob/main/testsheet/README.md)
and these are merged to **master** branches on a new major release, e.g. move from NeuroML v2.1 to v2.2.

A single page showing the **status of the automated test** as well as any **open Pull Requests** on all of the core NeuroML repositories can be found [here](https://github.com/NeuroML/.github/blob/main/testsheet/README.md).

## Steps for new major release

These are the steps required for a new release of the NeuroML development tools.

| Task | Version this was last done |
| --- | --- |
| Commit final stable work in development branches | v2.3 |
| Make releases (not just tag - generates DOI) previous development versions of individual repos | v2.3 |
| Increment all version numbers - to distinguish release from previous development version | v2.3 |
| Test all development branches - rerun GitHub Actions at least once | v2.3 |
| Recheck all READMEs & docs | v2.3 |
| Run & check [test.py](https://github.com/NeuroML/NeuroML2/blob/master/test.py) in NeuroML2 repo | v2.3 |
| Check through issues for closed & easily closable ones | v2.3 |
| Update version in {ref}`documentation pages <userdocs:neuromlv2>` | v2.3 |
| Update [HISTORY.md](https://github.com/NeuroML/NeuroML2/blob/master/HISTORY.md) in NeuroML2 | v2.3 |
| pylems: Update README; Merge to master; Tag release; Release to pip | v2.3 |
| libNeuroML: Update README; Retest; Merge to master; Tag release; Release to pip; Check [installation docs](https://libneuroml.readthedocs.org/en/latest/install.html) | v2.3 |
| pyNeuroML: Update Readme; Tag release; Release to pip | v2.3 |
| NeuroMLlite: Update Readme; Tag release; Release to pip | v2.3 |
| Java repositories ({ref}`jNeuroML <jNeuroML>`, org.neuroml.* etc.): Merge development to master; Tag releases | v2.3 |
| Rebuild jNeuroML & commit to [jNeuroMLJar](https://sourceforge.net/p/neuroml/code/HEAD/tree/jNeuroMLJar/) and use latest for [jNeuroML for OMV](https://github.com/OpenSourceBrain/osb-model-validation/blob/master/omv/engines/getjnml.py#L8) | v2.3 |
| Add new binary release on [https://github.com/NeuroML/jNeuroML/releases](https://github.com/NeuroML/jNeuroML/releases) | v2.3 |
| Update version used in [neuroConstruct](https://github.com/NeuralEnsemble/neuroConstruct) | v2.3 |
| Update docs on [http://docs.neuroml.org](https://docs.neuroml.org) | v2.3 |
| Update version on [COMBINE website](https://github.com/combine-org/combine-org.github.io/blob/master/content/authors/NeuroML/_index.md) | v2.2 |
| ANNOUNCE (mailing list, Twitter) | v2.2 |
| Increment version numbers in all development branches | v2.3 |
| DOI on [Zenodo](https://doi.org/10.5281/zenodo.593108) | v2.3 |
| Update NeuroML [milestones](https://github.com/NeuroML/NeuroML2/milestones) | v2.2 |
| New release of [neuroConstruct](https://github.com/NeuralEnsemble/neuroConstruct/releases) | v2.3 |
| Test toolchain on Windows... | v2.0 |
74 changes: 74 additions & 0 deletions _sources/Devdocs/UpdatingStandard.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
(devdocs:updating_standard)=
# Making changes to the NeuroML standard

The NeuroML standard is stored in two sets of files, each serving a specific purpose:

- the NeuroML [XML Schema Definition](https://en.wikipedia.org/wiki/XML_Schema_(W3C)) (XSD) file: this specifies the structure of a valid NeuroML XML file: what XML tags may be used and the how they are related
- the NeuroML [LEMS](http://lems.github.io/LEMS/) ComponentType definition XML files: these include the definitions of the NeuroML standard ComponentTypes in LEMS constructs, which include the mathematical details underlying these ComponentTypes

These files are housed in the [NeuroML](https://github.com/NeuroML/NeuroML2/) repository.

The XSD schema file is used to validate NeuroML XML files, as shown in the {ref}`page on validating NeuroML files <userdocs:validating_models>`.
Further, the NeuroML Python model in {ref}`libNeuroML <libneuroml>` is also generated from the XSD file using the [generateDS](http://www.davekuhlman.org/generateDS.html) utility.

The LEMS ComponentType definition XML files are also used for a series of additional validation tests, and since they include the details of the underlying dynamics for all ComponentTypes, they are also used for the simulation of NeuroML models either using the reference LEMS interpreter, {ref}`jLEMS <jlems>`, or through automated code generation for supported simulation platforms (via {ref}`jNeuroML <jneuroml>`).
Additionally, the LEMS definition files are also used the generate the {ref}`human readable schema documentation <userdocs:neuromlv2>` included in this documentation resource.

The two sets of files are therefore, tightly coupled.
Any changes to the XSD file must also be followed by corresponding changes to the LEMS definition files.

(devdocs:updating_standard:proc)=
## Procedure

```{admonition} PR waiting
TODO: A pull request to include the `transfer_docs_to_xsd.py` script in the repository is in review here: https://github.com/NeuroML/NeuroML2/pull/172
```

The suggested way of making changes to these files is via pull requests to the NeuroML repository which will undergo review by the NeuroML editorial board and the development team.
As noted in the {ref}`general contribution guidelines <devdocs:devsop>`, the `development` branch tracks the next release of the NeuroML standard.
So, all pull request must be made against the `development` branch.

- New ComponentTypes, and their elements (parameters, variables etc.) that are added in the LEMS definition XML files should be properly documented.
- After both sets of files have been modified, please run the `transfer_docs_to_xsd.py` script in the `scripts` folder to copy documentation over from the XML files to the XSD schema file. This script will also run basic sanity checks to ensure that all ComponentTypes in the LEMS XML definition files are represented in the XSD schema file and vice-versa.
- Please run `xmllint` on the files to ensure they are formatted correctly.
- Please make individual commits for changes to the XSD file, and the XML files. This ensures that their change history is clearly maintained.

(devdocs:updating_standard:schema_docs)=
## Regenerating schema documentation

Once the pull request has been merged in the NeuroML repository, the {ref}`human readable schema documentation included in this documentation resource <userdocs:neuromlv2>` must be updated.
This is done by running the [generate-jupyter-ast.py](https://github.com/NeuroML/Documentation/blob/master/scripts/schemas/generate-jupyter-ast.py) script included in the [documentation source repository](https://github.com/NeuroML/Documentation).
This will read the LEMS XML definition files and regenerate the corresponding documentation pages.
A pull request can then be opened with the updated pages.



(devdocs:updating_standard:org_neuroml_model)=
## Updating the Java API: org.neuroml.model

TODO: Document what needs to be done for https://github.com/NeuroML/org.neuroml.model



(devdocs:updating_standard:libneuroml)=
## Updating the Python API: libNeuroML

```{admonition} PR waiting
TODO: A pull request to include the `regenerate-nml.sh` script in the repository is in review here: https://github.com/NeuralEnsemble/libNeuroML/pull/110
```

Any changes to the XSD schema file require regeneration of the [Python object model in libNeuroML](https://github.com/NeuralEnsemble/libNeuroML/blob/development/neuroml/nml/nml.py):

- copy over the updated XSD schema file to the `neuroml/nml/` directory in the `development` branch
- commit the new XSD file
- run the `regenerate-nml.sh` script to regenerate and reformat `nml.py`
- build and install libNeuroML into a new virtual environment
- run all tests using `pytest`
- run all examples and ensure that they run correctly (please see the [GitHub actions workflow](https://github.com/NeuralEnsemble/libNeuroML/blob/master/.github/workflows/ci.yml#L44) for more information)
- if all checks pass successfully, a pull request can be opened

(devdocs:updating_standard:c_api)=
## Updating the C++ API

TODO: Document what needs to be done for https://github.com/NeuroML/NeuroML_API/

Loading

0 comments on commit 70a76e5

Please sign in to comment.