- Introduction
 - Command line interface
 - Examples
 - API reference
 - Release History
- 22.11.16 (unreleased)
 - 22.11.15 (November 15, 2022)
 - 0.11.1 (April 13, 2020)
 - 0.11.0 (April 13, 2020)
 - 0.10.0 (March 19, 2020)
 - 0.9.1 (March 17, 2020)
 - 0.9.0 (January 28, 2020)
 - 0.8.0 (January 10, 2020)
 - 0.7.3 (January 8, 2020)
 - 0.7.2 (December 2, 2019)
 - 0.7.1 (November 14, 2019)
 - 0.7.0 (November 7, 2019)
 - 0.6.0 (October 30, 2019)
 - 0.5.0 (September 3, 2019)
 - 0.4.2 (August 8, 2019)
 - 0.4.1 (July 26, 2019)
 - 0.4.0 (July 26, 2019)
 - 0.3.0 (July 19, 2019)
 - 0.2.1 (May 24, 2019)
 - 0.2.0 (May 15, 2019)
 - 0.1.0 (April 15, 2019)
 
 
Note
This documentation is for a development version. Click here for the latest stable release (v0.11.1).
Release History¶
22.11.16 (unreleased)¶
Added
Added the ability to ignore differences in a generated file by having the string
'# bones: ignore'in the line to be ignored. (#183)Added
add_to_filesoption to thelicense_rstconfig. If set to True the license text will be added to the top of all python files, andbones checkwill check for the existence of that text. (#189)Added
gpl-v2license type. (#192)Added
isort_excludeoption to thepyproject_tomlconfig, which can be used byisortto skip files or directories via regex patterns. (#196)Added
cache=Falseoption tosetupaction. (#198)
Changed
Updated minimum version of dependencies in CI scripts. (#178)
Switched to
micromambainstead ofminicondafor remote environments. (#179)Tests now default to using the
workstealxdist option, with 3 workers. (#186)Modified
check-deployto skip checks when no.pypircfile present. (#187)Use micromamba to set up python environments. (#188)
Changed the
excludeoption toblack_excludein thepyproject_tomlconfig. (#196)pyproject_tomlconfig now setsskip_gitignoreflag to true by default. (#196)
Removed
Removed codecov support. (#178)
Dropped support for Python 3.6 and 3.7. (#186)
Removed
.pre-commit-config.yamlfrom templated files. (#191)
Fixed
Version info in version.py is now set statically with calver, which fixes an issue in which pip would refuse to install projects using calver. (#183)
Improved robustness of
.nengobones.ymlfile detection. (#189)External tools (such as black/isort) will now run from the same directory as the
.nengobones.ymlfile, which should improve the robustness of their config file detection. (#189)
22.11.15 (November 15, 2022)¶
Added
Added support for new
one_pageoption innengo-sphinx-theme. (#101)Added the
bones-format-notebookscript to apply automated formatting, cleanup, and static checking to Jupyter notebooks. (#32)Static script will now check that
bones-format-notebookhas been applied to all notebooks in thedocsdirectory. (#32)Added
remote-script.shCI script for running other CI scripts on a remote device. (#124)Added isort configuration to
pyproject.tomland check import order during static checks. (#121)Officially support and test against Python 3.9. (#136)
Added
skipoption to codespell config, which can be used to specify files that should be ignored. (#138)Added support for projects with type hints through the
py_typedsection. (#140)Added
min_pythonoption to the main section. The defaultpython_requiresinsetup.pyis now based on this, if not overridden. (#140)Added support for changing the main branch name with the
main_branchconfig option. (#145)Added template for
version.py. (#151)Added
apachelicense type. (#160)Added
proprietarylicense type. (#162)Added several actions for use with Github Actions:
setupinitializes a python environment,generate-and-checkrunsbones-generateandbones-check,run-scriptruns a CI script such asstatic.sh, andcoverage-reportgenerates combined coverage reports. (#166)Added support for
docformatter(and static checks will now enforce that docformatter has been applied). (#168)Added support for building and releasing Python projects through the
deployCI script. (#172)Added a
bones check-deployscript that checks several items that we depend on for releases. (#172)
Changed
Restrict pylint version to <2.5 due to issue when the package being checked is not installed in the current environment. (#103)
Increased minimum
pylintversion to 2.5.1 (#32)Documentation
[source]links now point to GitHub. (#117)Separate tokens,
PYPI_TOKENandPYPI_TEST_TOKEN, must now be specified for deploying to PyPI and TestPyPI, respectively. (#127)Builds for this repository now run on TravisCI.com instead of TravisCI.org. (#130)
Drop support for Python 3.5. (#123)
Doc script will now install Sphinx>=3.1.2. (#137)
Codespell ignore words is now specified via the
codespell.ignore_wordssection ofsetup_cfg(instead of in the static CI script config). As a result, it will now apply to all invocations of codespell (not just from the static script). (#138)bones-format-notebook --checkwill now require that allcodespellchecks pass. (#138)Switched to new version of Codecov uploader and added checksum verification. (#150)
License fields in
setup.pyare now set usinglicense_rst.type. (#161)Trove classifiers in
setup.pyare now sorted alphabetically. (#161)Updated Nengo license and renamed to ABR license. (#157)
The license type is now specified through a
licensekey at the top level. If not specified, it defaults toproprietary. (#157)All CI scripts now support running either through Github Actions or TravisCI. (#166)
Added additional config options to mypy
setup.cfgtemplate. (#170)Restrict setuptools version to <64 (fixes issues with various code inspection tools like mypy, pylint, IDE integrations). (#173)
Removed the
deploy_distsconfiguration option for thedeployscript, and replaced it with a booleanwheeloption. (#172)Consolidated all scripts under a single
bonescommand. Subcommands have the same names as before, without thebones-prefix (e.g.,bones-generateis nowbones generate). (#172)
Removed
Removed
before_script,before_cache,before_deploy, andafter_deploysteps from CI scripts (they weren’t actually used anywhere). (#166)Removed
analytics_idoption fordocs/conf.py. Create a customdocs/conf.pytemplate and override theanalyticsblock if you need to customize analytics tracking. (#169)Removed support for TravisCI in CI scripts. All downstream repositories should switch to use Github Actions. (#172)
Fixed
Intermittent failures installing miniconda in the remote script have been fixed by retrying the miniconda install if it fails. (#130)
Fixed an issue in which Codecov would not report on files where a file in a deeper folder shares the same name. (#132)
Fixed an issue in which CI scripts did not have access to the same configuration options as other templates. (#144)
Removed pylint disable for
bad-continuationas it no longer exists. (#163)Removed pylint disable for
no-self-useas it is now optional. (#163)Static checks will not try to check
docsdirectory if it doesn’t exist. (#165)Static checks will no longer assume that CI scripts are in a folder named
.ci(it will look for any scripts in the same folder as the static script). (#166)Black will now ignore excluded files even if that filename is passed directly to black (e.g. when running through a precommit hook or IDE plugin). (#161)
Only delete remote build directories more than a day old. (#172)
0.11.1 (April 13, 2020)¶
Changed
Rendered documentation will not be uploaded if the html build fails (it will still be uploaded if the linkchecker/doctest builds fail). (#98)
Rendered documentation will not be uploaded on cron builds. (#98)
Docs script will now clean up the built doc directory before execution, if it exists (e.g., because the docs job is being rerun). (#96)
0.11.0 (April 13, 2020)¶
Added
Downstream repos will now be automatically updated when nengo-bones is updated. (#97)
Added
slack_notificationsoption to.travis.ymlto enable Slack notifications for failing builds. (#97)
Changed
Will now use
nengo-bonesandnengo-sphinx-thememaster builds (instead of the latest release), to streamline the process of distributing changes to those core repos. (#97)
0.10.0 (March 19, 2020)¶
Added
Added
autoautosummary_change_modulesoption (for use withnengo_sphinx_theme.ext.autoautosummary). (#86)
Changed
Docs script will now use
nengo_sphinx_theme.ext.backoff, which adds exponential backoff functionality to Sphinx requests. (#86)
0.9.1 (March 17, 2020)¶
Fixed
Fixed deployment tag conditional check in
.travis.ymltemplate. (#83)
0.9.0 (January 28, 2020)¶
Changed
The
bones-checkthat TravisCI does now prints diffs for easier debugging. (#80)
Fixed
Fixed an issue with the
.travis.ymltemplate caused by the new Jinja2 release. (#80)
0.8.0 (January 10, 2020)¶
Changed
The default distribution used in builds is now
xenial. (#79)
0.7.3 (January 8, 2020)¶
Removed
Removed coverage.py early starting logic. This is no longer necessary as of Nengo 3.0 and causes problems with the new coverage.py 5.0 release. (#78)
0.7.2 (December 2, 2019)¶
Changed
Failing to install miniconda in
remote.shis no longer considered a build error (this can occur, for example, when rerunning a build that already has miniconda installed). (#71)
0.7.1 (November 14, 2019)¶
Added
Added support for
nengo_sphinx_theme.ext.redirects, which can be used to automatically add redirects for renamed documentation pages. (#68)
Fixed
Added locking to
remote.shscript to avoid possible race conditions during cleanup. (#69)
0.7.0 (November 7, 2019)¶
Added
Added support for
sphinx.ext.doctest, which can be used to automatically test code snippets in docstrings. (#67)
Changed
Updated the
blackversion used inpre-commithooks. (#67)
0.6.0 (October 30, 2019)¶
Added
Added a
remote.shCI script template for remotely executing commands on an SSH-accessible machine. (#65)
Fixed
0.5.0 (September 3, 2019)¶
Added
Added
nengo_simulator,nengo_simloaderandnengo_neuronsoptions to thepytestsection of thesetup.cfgtemplate to support testing changes in Nengo 3.0. (#58)
Changed
The default value for
pytest.addoptsinsetup.cfghas been removed because Nengo 3.0 does not require-p nengo.tests.options. (#58)
0.4.2 (August 8, 2019)¶
Added
Added
plt_dirnameoption to thepytestsection of thesetup.cfgtemplate to set the plot directory for pytest-plt. (#52)Added
plt_filename_dropoption to thepytestsection of thesetup.cfgtemplate to set pruning patterns for pytest-plt. (#52)Added
rng_saltoption to thepytestsection of thesetup.cfgtemplate to set the salt for pytest-rng. (#55)
0.4.1 (July 26, 2019)¶
Added
Added
allclose_tolerancesoption to thepytestsection of thesetup.cfgtemplate to set tolerances for pytest-allclose. (#47)
0.4.0 (July 26, 2019)¶
Added
Added style guide and release instructions to documentation. (#44)
Added templates for
.pre-commit-config.yamlandpyproject.tomlso downstream repositories can easily adopt Black. (#49)
Changed
We now check that Python source files are autoformatted with Black in the
static.shscript. (#49)Templates will now be autoformatted with Black during the rendering process, if Black is installed. (#49)
Take advantage of multiprocessing to speed up pylint static checks. (#49)
The
E203flake8 check andbad-continuationpylint check are now disabled by default. (#50)
0.3.0 (July 19, 2019)¶
Added
The
nengo_bones.templatesmodule was added to consolidate code that loads and renders templates. (#45)
Changed
The
docs/conf.pytemplate has been updated for new versions of Nengo Sphinx Theme. (#46)static.shandexamples.shwill now check any notebooks in thedocsfolder (not justdocs/examples). (#46)bones-checknow checks that the content of the generated files matches the expected content, rather than relying on version numbers. This means most files will not need to be regenerated when new NengoBones versions are released, and thatbones-checkwill be sensitive to changes within a dev version. (#45)
Fixed
The
static.sh/examples.shscript will no longer fail if there are no notebooks in thedocsfolder. (#46)
0.2.1 (May 24, 2019)¶
Added
Added
codespell_ignore_wordsoption tostatic.sh.template, which is a list of words thatcodespellwill ignore. (#35)Added
analytics_idoption todocs_conf.py.template, which will enable Google Analytics tracking. (#35)
Changed
codespellwill now ignore_vendordirectories. (#36)
Fixed
Fixed an issue with
static.sh.templatein which Python files that were not converted from notebooks were deleted. (#16)
0.2.0 (May 15, 2019)¶
Added
Added
apt_installoption that can be set in thejobssection toapt installany customaptrequirements for a job. (#14)Added templates for
CONTRIBUTING.rst,CONTRIBUTORS.rst,LICENSE.rst,MANIFEST.in,docs/conf.py,setup.cfg, andsetup.py(#17)Templates will now be automatically loaded from a
<repo>/.templatesdirectory if it exists. When overriding existing templates, the built-in templates can be accessed inincludeandextendtags with thetemplates/prefix. (#17)Added
flake8to the static check script. (#17)Added the
bones-pr-numberscript to predict the next PR number for a repository. This helps when writing a changelog entry before a PR has been made. (#18)
Changed
The Python version is now specified by the
pythonoption (instead ofpython_version), for consistency with.travis.yml. (#14)All
nengo-bonesscripts now start withbones-, to make them easier to find with autocompletion.generate-bonesis nowbones-generate, andcheck-bonesis nowbones-check. (#18)
Removed
Removed
condafrom the CI setup; all installations should be done throughpipinstead. (#14)Removed the
--template-diroption from thegenerate-bonesscript; use a.templatesdirectory instead. (#17)
Fixed
Order of templated dicts should now be deterministic for all Python versions. (#14)
0.1.0 (April 15, 2019)¶
Initial release of NengoBones! Thanks to all of the contributors for making this possible!