Skip to content

Commit a79d15d

Browse files
committed
Add nbformat-based validation script for Jupyter notebooks
1 parent bcf9452 commit a79d15d

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed

scripts/validate_notebooks.py

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,25 @@
1+
# Copyright 2020 The TensorFlow Quantum Authors. All Rights Reserved.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
# ==============================================================================
15+
"""Validate all Jupyter notebooks in the repository using nbformat."""
116
import sys
2-
import nbformat
317
from pathlib import Path
418

19+
import nbformat
20+
from nbformat.validator import NotebookValidationError
21+
22+
523
def main():
624
"""Check all notebooks for valid nbformat structure."""
725
failed = False
@@ -13,7 +31,7 @@ def main():
1331
nb = nbformat.read(f, as_version=4)
1432
nbformat.validate(nb)
1533
print(f"✓ {notebook_path}")
16-
except Exception as e:
34+
except (NotebookValidationError, OSError) as e:
1735
print(f"✗ {notebook_path} failed validation: {e}")
1836
failed = True
1937

0 commit comments

Comments
 (0)