Skip to content

Commit

Permalink
Merge pull request #58 from lsst-sqre:tickets/DM-40143
Browse files Browse the repository at this point in the history
DM-40143: Modernization
  • Loading branch information
jonathansick authored Dec 20, 2023
2 parents fda92e3 + 1490789 commit 7ef0073
Show file tree
Hide file tree
Showing 22 changed files with 1,450 additions and 1,482 deletions.
8 changes: 4 additions & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
rev: v4.5.0
hooks:
- id: check-yaml
- id: check-toml

- repo: https://github.com/pycqa/isort
rev: 5.12.0
rev: 5.13.2
hooks:
- id: isort
additional_dependencies:
- toml

- repo: https://github.com/psf/black
rev: 23.3.0
rev: 23.12.0
hooks:
- id: black

- repo: https://github.com/pycqa/flake8
rev: 6.0.0
rev: 6.1.0
hooks:
- id: flake8
34 changes: 28 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,66 @@
# Change log

<!-- scriv-insert-here -->

## 0.7.1 (2023-07-23)

Fixes:
### Bug fixes

- Add additional logging of JupyterLab spawning failures in workers.

Other changes:
### Other changes

- Added documentation for configuration environment variables.
- Added OpenAPI docs, rendered by Redoc, to the Sphinx documentation site.

## 0.7.0 (2023-05-22)

### New features

- The JupyterHub service's URL path prefix is now configurable with the `NOTEBURST_JUPYTERHUB_PATH_PREFIX` environment variable. The default is `/nb/`, which is the existing value.
- The Nublado JupyterLab Controller service's URL path prefix is configurable with the `NOTEBURST_NUBLADO_CONTROLLER_PATH_PREFIX` environment variable. The default is `/nublado`, which is the existing value.

## 0.6.3 (2023-04-20)

### Bug fixes

- Fix how failed notebook executions are handled. Previously failed notebooks would prevent Noteburst from getting the results of the execution job. Now the job is shown as concluded but unsuccessful by the `/v1/notebooks/{job_id}` endpoint.
- Structure uvicorn server logging.

## 0.6.2 (2023-04-12)

### Bug fixes

- Stop following redirects from the `hub/login` endpoint.
- Explicitly shut down the lab pod on worker shutdown.
- Update dependencies.

## 0.6.1 (2023-03-28)

### Bug fixes

- Additional updates for JupyterLab Controller image API endpoint.

## 0.6.0 (2023-02-16)

### New features

- Migrated from the Cachemachine API to the new JupyterLab Controller API for obtaining the list of available Docker images for JupyterLab workers.

### Other changes

- Migrated to Python 3.11
- Adopted pyproject.toml for project metadata and dropped setup.cfg.

## 0.5.0 (2022-07-04)

- Its now possible to skip retries on notebook execution failures in the `nbexec` task by passing an `enable_retry=False` keyword argument.
This is useful for applications that use Noteburst for continuous integration.
- Updated dependencies.
### New features

- Its now possible to skip retries on notebook execution failures in the `nbexec` task by passing an `enable_retry=False` keyword argument. This is useful for applications that use Noteburst for continuous integration.

## 0.4.0 (2022-06-15)

### New features

- The worker identity configuration can now omit the `uid` field for environments where Gafaelfawr is able to assign a UID (e.g. through an LDAP backend).
- New configurations for workers:
- The new `NOTEBURST_WORKER_TOKEN_LIFETIME` environment variable enables you to configure the lifetime of the workers' authentication tokens. The default matches the existing behavior, 28 days.
Expand All @@ -55,6 +71,8 @@ Other changes:

## 0.3.0 (2022-05-24)

### New features

Improved handling of the JupyterLab pod for noteburst workers:

- If the JupyterLab pod goes away (such as if it is culled), the Noteburst workers shuts down so that Kubernetes creates a new worker with a new JupyterLab pod. A lost JupyterLab pod is detected by a 400-class response when submitting a notebook for execution.
Expand All @@ -67,11 +85,15 @@ Improved handling of the JupyterLab pod for noteburst workers:

## 0.2.0 (2022-03-14)

### New features

- Initial version of the `/v1/` HTTP API.
- Migration to Safir 3 and its database framework.
- Noteburst is now cross-published to the GitHub Container Registry, `ghcr.io/lsst-sqre/noteburst`.
- Migration to Python 3.10.

## 0.1.0 (2021-09-29)

### New features

- Initial development version of Noteburst.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@ update: update-deps init

.PHONY: run
run:
tox -e=run
tox run -e=run
5 changes: 5 additions & 0 deletions changelog.d/20231220_121437_jsick_DM_40143.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
### Other changes

- Update to Pydantic 2
- Adopt FastAPI's lifespan feature
- Adopt scriv for changelog management
7 changes: 7 additions & 0 deletions changelog.d/_template.md.jinja
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<!-- Delete the sections that don't apply -->
{%- for cat in config.categories %}

### {{ cat }}

-
{%- endfor %}
13 changes: 13 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -97,3 +97,16 @@ warn_redundant_casts = true
warn_unreachable = true
warn_unused_ignores = true
plugins = ["pydantic.mypy"]

[tool.scriv]
categories = [
"Backwards-incompatible changes",
"New features",
"Bug fixes",
"Other changes",
]
entry_title_template = "{{ version }} ({{ date.strftime('%Y-%m-%d') }})"
format = "md"
md_header_level = "2"
new_fragment_template = "file:changelog.d/_template.md.jinja"
skip_fragments = "_template.md.jinja"
3 changes: 2 additions & 1 deletion requirements/dev.in
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,5 @@ respx
types-PyYAML

# Documentation
documenteer[guide]==1.0.0a1
documenteer[guide]>=1.0.0
scriv
Loading

0 comments on commit 7ef0073

Please sign in to comment.