Skip to content

Commit 18830e2

Browse files
committed
Merge branch '235-reorganize-doc-sections' into dev
* 235-reorganize-doc-sections: docs: Re-organize and improve documentation. docs: Fix import of pynwb in "conf.py" Makefile: Add convenient target "docs" and "docs-only" gitignore: Exclude auto-generated apidocs RST files
2 parents 7a9bb08 + 41d434d commit 18830e2

File tree

14 files changed

+139
-82
lines changed

14 files changed

+139
-82
lines changed

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,13 @@
77
.history
88

99
### PyNWB###
10+
1011
docs/notebooks/boc/
1112

13+
# Auto-generated apidocs RST files
14+
docs/source/pynwb*.rst
15+
docs/source/modules.rst
16+
1217
### Python ###
1318
# Byte-compiled / optimized / DLL files
1419
__pycache__/

Makefile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,11 @@ htmldoc:
4747
@echo ""
4848
@echo "To view the PDF documentation open: docs/_build/html/index.html"
4949

50+
docs-only: htmldoc
51+
52+
docs: docs-only
53+
open docs/_build/html/index.html || xdg-open docs/_build/html/index.html
54+
5055
pdfdoc:
5156
cd docs && $(MAKE) latexpdf
5257
@echo ""

README.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,24 +26,24 @@ Overall Health
2626
:alt: Requirements Status
2727

2828
NWB Format API
29-
========================
29+
==============
3030

3131
A Python API for working with Neurodata stored in the NWB Format
3232

3333
-`Learn more <http://www.nwb.org/>`_.
3434

3535
Code of Conduct
36-
=======================
36+
===============
3737

3838
This project and everyone participating in it is governed by our `code of conduct guidelines <docs/CODE_OF_CONDUCT.rst>`_ . By participating, you are expected to uphold this code.
3939

4040
Contributing
41-
=======================
41+
============
4242

4343
For details on how to contribute to PyNWB see our `contribution guidelines <docs/CONTRIBUTING.rst>`_ .
4444

4545
LICENSE
46-
=======================
46+
=======
4747

4848
"pynwb" Copyright (c) 2017, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from the U.S. Dept. of Energy). All rights reserved.
4949
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
@@ -59,7 +59,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
5959
You are under no obligation whatsoever to provide any bug fixes, patches, or upgrades to the features, functionality or performance of the source code ("Enhancements") to anyone; however, if you choose to make your Enhancements available either publicly, or directly to Lawrence Berkeley National Laboratory, without imposing a separate written license agreement for such Enhancements, then you hereby grant the following license: a non-exclusive, royalty-free perpetual license to install, use, modify, prepare derivative works, incorporate into other computer software, distribute, and sublicense such enhancements or derivative works thereof, in binary and source code form.
6060

6161
COPYRIGHT
62-
=======================
62+
=========
6363

6464
"pynwb" Copyright (c) 2017, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from the U.S. Dept. of Energy). All rights reserved.
6565
If you have questions about your rights to use or distribute this software, please contact Berkeley Lab's Innovation & Partnerships ce at [email protected].

docs/source/architecture.rst

Lines changed: 0 additions & 13 deletions
This file was deleted.

docs/source/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import os
1717
import sphinx_rtd_theme
1818
from sphinx.domains.python import PythonDomain
19-
from .pynwb._version import get_versions
19+
from pynwb._version import get_versions
2020

2121

2222
# If extensions (or modules to document with autodoc) are in another directory,

docs/source/contributing.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.. include:: ../CONTRIBUTING.rst

docs/source/getting_started.rst

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
.. _getting_started:
22

3-
===============
4-
Getting Started
5-
===============
6-
73
------------
84
Dependencies
95
------------
@@ -13,15 +9,14 @@ PyNWB has the following minimum requirements, which must be installed before you
139
#. Python 2.7 or Python 3.6
1410
#. pip
1511

16-
The NWB format provides a formal specification for storing neurophysiology data in HDF5. HDF5 provides support
17-
for parallel I/O using MPI-IO, and therefore requires MPI.
18-
1912
------------
2013
Installation
2114
------------
2215

23-
Install from pypi
24-
-----------------
16+
Install release from PyPI
17+
-------------------------
18+
19+
The `Python Package Index (PyPI) <https://pypi.org>`_ is a repository of software for the Python programming language.
2520

2621
To install or update PyNWB distribution from PyPI simply run:
2722

@@ -38,20 +33,24 @@ This will automatically install the following required dependencies:
3833
#. ruamel.yaml
3934
#. six
4035

41-
Install latest dev version
42-
--------------------------
4336

44-
.. note::
37+
Install latest pre-release
38+
--------------------------
4539

46-
This is useful to tryout the latest features and also setup automatic build of your
47-
own project against the latest version of pynwb.
40+
This is useful to tryout the latest features and also setup continuous integration of your
41+
own project against the latest version of PyNWB.
4842

4943
.. code::
5044
51-
$ pip install pynwb --find-links https://github.com/NeurodataWithoutBorders/pynwb/releases/tag/latest --no-index
45+
$ pip install -U pynwb --find-links https://github.com/NeurodataWithoutBorders/pynwb/releases/tag/latest --no-index
46+
5247
53-
Install from Git repository (for development)
54-
---------------------------------------------
48+
--------------
49+
For developers
50+
--------------
51+
52+
Install from Git repository
53+
---------------------------
5554

5655
For development an editable install is recommended.
5756

docs/source/index.rst

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,31 @@
44
contain the root `toctree` directive.
55
66
NWB for Python
7-
=================================
7+
==============
88

9-
PyNWB is a Python package for working with NWB files.
9+
PyNWB is a Python package for working with NWB files. It provides a high-level API for
10+
efficiently working with Neurodata stored in the `NWB format <http://nwb-schema.readthedocs.io>`_.
1011

11-
Neurodata Without Borders: Neurophysiology (NWB:N) is a project to develop a
12+
`Neurodata Without Borders: Neurophysiology (NWB:N) <http://www.nwb.org/>`_ is a project to develop a
1213
unified data format for cellular-based neurophysiology data, focused on the
1314
dynamics of groups of neurons measured under a large range of experimental
14-
conditions. The NWB:N team consists of neuroscientists and software developers
15+
conditions.
16+
17+
The NWB:N team consists of neuroscientists and software developers
1518
who recognize that adoption of a unified data format is an important step toward
1619
breaking down the barriers to data sharing in neuroscience.
1720

1821
.. toctree::
1922
:maxdepth: 2
20-
:caption: Basics
23+
:caption: Getting Started
2124

2225
getting_started
23-
architecture
24-
software_process
26+
contributing
27+
28+
.. toctree::
29+
:maxdepth: 2
30+
:caption: Overview
31+
2532
overview
2633

2734
.. toctree::
@@ -31,12 +38,14 @@ breaking down the barriers to data sharing in neuroscience.
3138
example
3239
tutorials
3340
api_docs
41+
software_process
3442

3543
.. toctree::
3644
:maxdepth: 2
37-
:caption: Maintainer
45+
:caption: For Maintainers
3846

3947
make_a_release
48+
update_requirements
4049

4150
.. toctree::
4251
:maxdepth: 2

docs/source/make_a_release.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ Prerequisites
2222

2323
* You have the API key associated with `<https://github.com/nwb-bot>`_.
2424

25-
----------
26-
Convention
27-
----------
25+
-------------------------
26+
Documentation conventions
27+
-------------------------
2828

2929
The commands reported below should be evaluated in the same terminal session.
3030

@@ -133,7 +133,7 @@ Step-by-step
133133

134134
8. Upload the packages to the production PyPI server::
135135

136-
$ twine upload dist/*
136+
$ twine upload --sign dist/*
137137

138138
.. warning::
139139

docs/source/overview.rst

Lines changed: 32 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,50 @@
11
.. _overview:
22

3-
Overview
4-
===============
3+
Introduction
4+
============
55

66
PyNWB provides a high-level Python API for reading and writing NWB formatted HDF5 files. This section will provide
77
a broad overview of the functionality provided for reading and writing neurophysiology data into NWB files.
88

99

10-
The NWB format is built around two concepts: *TimeSeries* and *Modules*. :ref:`timeseries_overview` are objects for storing time series
11-
data, and :ref:`modules_overview` are objects for storing and grouping analyses. The following sections describe these classes in further detail.
10+
.. _software-architecture:
11+
12+
Software Architecture
13+
=====================
14+
15+
.. _fig-software-architecture:
16+
17+
.. figure:: figures/software_architecture.*
18+
:scale: 100 %
19+
:alt: PyNWB Software Architecture
20+
21+
Overview of the high-level software architecture of PyNWB.
22+
23+
24+
.. _nwb_format_overview:
25+
26+
NWB Format
27+
==========
28+
29+
The `NWB Format <http://nwb-schema.readthedocs.io>`_ is built around two concepts: *TimeSeries* and *Modules*.
30+
31+
:ref:`timeseries_overview` are objects for storing time series data, and :ref:`modules_overview` are objects
32+
for storing and grouping analyses. The following sections describe these classes in further detail.
33+
1234

1335
.. _file_overview:
1436

1537
NWBFile
16-
---------------
38+
=======
1739

18-
NWB files are represented in PyNWB with *NWBFile* objects. :py:class:`~pynwb.file.NWBFile` objects provide functionality for creating :ref:`timeseries_overview` datasets
19-
and :ref:`modules_overview`, as well as functionality for storing experimental metadata and other metadata related to data provenance.
40+
NWB files are represented in PyNWB with *NWBFile* objects. :py:class:`~pynwb.file.NWBFile` objects provide functionality
41+
for creating :ref:`timeseries_overview` datasets and :ref:`modules_overview`, as well as functionality for storing
42+
experimental metadata and other metadata related to data provenance.
2043

2144
.. _timeseries_overview:
2245

2346
TimeSeries
24-
---------------
47+
----------
2548

2649
TimeSeries objects store time series data. These Python objects correspond to TimeSeries specifications
2750
provided by the NWB format specification. Like the NWB specification, TimeSeries Python objects follow an object-oriented inheritance
@@ -64,7 +87,7 @@ The following TimeSeries objects are provided by the API and NWB specification:
6487
.. _modules_overview:
6588

6689
Modules
67-
---------------
90+
-------
6891

6992
Modules are objects that group together common analyses done during processing of data. Module objects are unique collections of
7093
analysis results. To standardize the storage of common analyses, NWB provides the concept of an *Interface*, where the output of

0 commit comments

Comments
 (0)