Skip to main content

Tools for managing Nengo projects

Project description

Latest PyPI version Travis-CI build status Test coverage

Nengo Bones

The aim of this project is to automate the configuration of repositories throughout the Nengo ecosystem. The idea is that we can centralize the design and maintenance of “meta” project code (such as CI testing infrastructure) in this project, rather than each repository maintaining that code independently.

The basic methodology for this project is a templating system in which there are common templates for meta files that are populated with data in each downstream project. Projects control this templating through the .nengobones.yml configuration file, which defines the information used to fill in the templates.

Wherever possible, we try to do this templating in such a way that downstream projects will be automatically updated when an update is made in nengo-bones. However, some files cannot be updated automatically and require downstream repos to manually run a script to update those files.

Note that this repository itself is configured using the nengo-bones templating system, so if you would like an example of how to use it, check out the source code.

Installation

We recommend installing nengo-bones using pip:

pip install nengo-bones

Or for the latest updates you can perform a developer installation:

git clone https://github.com/nengo/nengo-bones.git
pip install -e ./nengo-bones

Basic usage

The first step is to fill in the .nengobones.yml configuration file. You can use the one in this repository as a starting point, or see the documentation for more details. This file should be placed in the top level of your project.

All of the manually generated template files can then be rendered by running this command in the same folder as the .nengobones.yml file:

generate-bones

See generate-bones --help or the documentation for a full list of command line options.

Documentation

Release History

0.2.0 (May 15, 2019)

Added

  • Added apt_install option that can be set in the jobs section to apt install any custom apt requirements for a job. (#14)

  • Added templates for CONTRIBUTING.rst, CONTRIBUTORS.rst, LICENSE.rst, MANIFEST.in, docs/conf.py, setup.cfg, and setup.py (#17)

  • Templates will now be automatically loaded from a <repo>/.templates directory if it exists. When overriding existing templates, the built-in templates can be accessed in include and extend tags with the templates/ prefix. (#17)

  • Added flake8 to the static check script. (#17)

  • Added the bones-pr-number script 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 python option (instead of python_version), for consistency with .travis.yml. (#14)

  • All nengo-bones scripts now start with bones-, to make them easier to find with autocompletion. generate-bones is now bones-generate, and check-bones is now bones-check. (#18)

Removed

  • Removed conda from the CI setup; all installations should be done through pip instead. (#14)

  • Removed the --template-dir option from the generate-bones script; use a .templates directory 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 Nengo Bones! Thanks to all of the contributors for making this possible!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nengo-bones-0.2.0.tar.gz (46.2 kB view details)

Uploaded Source

Built Distribution

nengo_bones-0.2.0-py3-none-any.whl (35.6 kB view details)

Uploaded Python 3

File details

Details for the file nengo-bones-0.2.0.tar.gz.

File metadata

  • Download URL: nengo-bones-0.2.0.tar.gz
  • Upload date:
  • Size: 46.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.3

File hashes

Hashes for nengo-bones-0.2.0.tar.gz
Algorithm Hash digest
SHA256 2aee458f6f44f75e45adb0295c69a62ad574b3893225ab86332d693ef7301e64
MD5 c31144ead44cf8e1b902c4c667a21afe
BLAKE2b-256 8725b9b06d1ebc01b7854f3e519dee0f8fe090b3331e054810bbc368d7448840

See more details on using hashes here.

File details

Details for the file nengo_bones-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: nengo_bones-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 35.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.3

File hashes

Hashes for nengo_bones-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3fbd08ab130266c6471639f736085c2cd60d5628b531eb8cd4f480aba26e1545
MD5 f9e11799b4791ae77e832bfdef7e6129
BLAKE2b-256 6562adf0a8e298bb5ba4f069a56ac7dc9048076a66618e4aaab85c3c290e553b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page