Change log¶
0.7.4 (2019-02-12)¶
- The
clickdependency is now floating. The click API used by nbreport is fairly stable, and unpinning improves compatibility with other package’s in the user’s environment.
0.7.3 (2019-08-28)¶
- New
assetsfield in thenbreport.yamlconfiguration file lets a user specify files in the template repository that are meant to be copied into a report instance’s directory. Assets can be data files or Python modules that are needed for the report notebook to run. - Added reference documentation for the
nbreport.yamlfile and also added how-to pages related to assets.
0.7.2 (2019-08-08)¶
- Update test dependencies (pytest 5.0.1, pytest-cov 2.7.1, pytest-flake8 1.0.4, responses 0.10.6).
- Update documentation dependencies (documenteer 0.5, sphinx-click 2.2.0).
- Improve the “Try it out” experience.
0.7.1 (2018-08-14)¶
- For
nbreport login, now the user’s GitHub username and password can only be provided through prompts. Previously the password could be specified as a command-line option as well.
0.7.0 (2018-08-12)¶
This release fixes issues related to the integration of this nbreport command line client with the api.lsst.codes/nbreport backend microservice.
New features:
- Added the
nbreport rendercommand that renders the templated notebook of an initialized notebook instance that wasn’t initially rendered (because no template variables were specified). - Improved user messages from commands.
Fixes:
- Fixed bugs in
nbreport.compute. nbreport registernow sends authentication data.- The instance URL (
published_instance_url) and API URL (ltd_edition_url) are now obtained during instance initialization. This matches when that data is readily available from theapi.lsst.codes/nbreportbackend microservice. - Replace
contextwithcookiecutterin an instance’snbreport.yamlfield. By only reporting data from thecookiecuttertemplate context innbreport.yaml, we avoid duplicating information that’s copied into the template context, likeinstance_idandhandle. - More thoroughly cast config to JSON-serializable dict when inserting the
nbreport.yamlinstance metadata into the notebook’s metadata. In ruamel.yaml 0.15.52 (2018-08-09), the CommentedMap type is no longer a subclass of OrderedDict. This meant that the configs were no longer JSON-serializable when directly inserted into notebook metadata.
0.6.0 (2018-08-08)¶
- Several new commands were added that make the
nbreportcommand line client fully functional:nbreport registercommand registers a report repo with LSST the Docs so that instances can be published.nbreport initcommand initializes a new report instance (by reserving a number with the API server and optionally rendering template variables).nbreport computecommand computes a report instance’s notebook.nbreport uploadcommand uploads a report instance to the API server, which publishes it to LSST the Docs.nbreport issuecommand performs the equivalent ofinit,compute, anduploadin a single step.
- Key metadata from each instance
nbreport.yamlfile is not available as a Jinja template variable, namely:handle,title,git_repo,git_repo_subdir,instance_id,instance_handle. These variables aren’t part of thecookiecutternamespace and can’t be overridden on the command line. - Metadata from
nbreport.yaml, as well as the final set ofcookiecuttertemplate variables, are included in the notebook files’s metadata. This provides a record of how the notebook was constructed, and will be used on the server to both render the notebook page and to provide filtering of notebooks. - Refactored code related to reading
~/.nbreport.yamlout of thenbreport logincommand and into thenbreport.userconfigmodule. The main command reads this file and passes data like the authentication token to subcommands. - Refactored
create_instance()out of thenbreport testcommand and intonbreport.processingso that multiple subcommands (init,issue) can consume it.
0.5.1 (2018-08-03)¶
- Add
read:orgrole to the personal access token obtained bynbreport login. This role is necessary for the api.lsst.codes/nbreport service to _authorize_ a user based on their GitHub organization memberships. The list of token roles is nowread:organdread:user.
0.5.0 (2018-07-27)¶
- New
nbreport logincommand that generates a GitHub personal access token on behalf of the user and caches it in a~/.nbreport.yamlfile. LSST’s notebook-based report system uses GitHub to authenticate users submitting reports and to authorize the publication based on GitHub organization memberships. - New dependencies on
requestsandresponses.
0.4.0 (2018-07-25)¶
nbreport testcan now open a report repository from a remote Git repository (such as one on GitHub).- New
nbreport.ReportRepository.git_clone()class method to clone a report repository from GitHub.
0.3.0 (2018-07-23)¶
- New
nbreportcommand-line interface, implemented with Click. - New
nbreport testcommand that is designed for locally testing report repositories and ensuring that they render and compute correctly. This command creates a report instance, renders the templated variables, and computes the notebook. - New
nbreport.repomodule to handle report repositories and their configurations. - New
nbreport.instancemodule to handle report instances. - New
nbreport.computemodule to run notebook instances to compute their cell outputs.
0.2.0 (2018-07-18)¶
This version introduces the nbreport.templating module.
This module provides functions for building a Jinja context from a cookiecutter.json file and for rendering the source fields of notebook cells as Cookiecutter-compatible Jinja templates.
This release also adds API reference documentation to the nbreport.lsst.io site.
0.1.0 (2018-07-17)¶
Initial packaging of the nbreport project.