nutter
A databricks notebook testing library
What it is and what it does
Nutter is a testing framework designed to make it straightforward to test Databricks notebooks by defining test fixtures as Python classes that inherit from NutterFixture. You write test methods using a naming convention (run_*, assertion_*, before_*, after_*) to structure your test logic, then execute them either interactively within the notebook or via the Nutter CLI from your development machine or build pipeline.
The framework has two main components: the Nutter Runner, which is installed as a library on your Databricks cluster and provides the NutterFixture base class, and the Nutter CLI, which runs on your local machine or build agent to orchestrate test execution and collect results. It supports parallel test execution, lifecycle hooks (before_all, after_all), and produces test reports that can be integrated into build pipelines.
Use it for:
- Write and run unit tests for data transformation notebooks within Databricks without leaving the notebook environment.
- Integrate notebook tests into build pipelines to validate data processing logic as part of CI/CD workflows.
- Execute multiple test notebooks in parallel from the CLI to speed up validation of a suite of data engineering workflows.
- Set up test fixtures with before_all and after_all hooks to manage test data setup and cleanup across multiple assertions.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Nutter is a testing framework for Databricks notebooks that lets you write and run test fixtures directly in notebooks or via a command-line interface, with support for parallel execution and CI/CD integration.
Yes, if you are actively using Databricks and need a lightweight, notebook-native testing framework. However, exercise caution: the project is dormant (last release 2022-12-16), so compatibility with current Databricks APIs is unverified. Suitable for teams already committed to Databricks and willing to maintain or fork the code if needed; not recommended for new projects seeking active upstream support.
Install
nutter on PyPI
pip
pip install nutteruv
uv add nutterpoetry
poetry add nutterInstalling nutter
Before you install
Low install friction with a pure Python wheel. Maintenance is dormant—last release was 2022-12-16 with no recent commits. The project shows no active development signal.
License in practice
Licensed under MIT (permissive), so you can use, modify, and distribute the package freely in commercial and private projects without significant legal constraints.
Quickstart
# Install on Databricks cluster via PyPI
# pip install nutter
# In a test notebook:
from nutter import NutterFixture
class MyTestFixture(NutterFixture):
def run_my_test(self):
dbutils.notebook.run('notebook_under_test', 600, {})
def assertion_my_test(self):
assert True
result = MyTestFixture().execute_tests()
print(result.to_string())
Requires Python >=3.7.0 and Databricks cluster with dbutils available; designed to run within Databricks notebooks, not as a standalone library.
Verify before relying
- Whether the package remains compatible with current Databricks API versions and notebook environments.
- Whether the five runtime dependencies are actively maintained and free of known vulnerabilities.
- How well the CLI integrates with modern CI/CD platforms beyond Azure DevOps.
- Current compatibility with Python versions beyond 3.7.0.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.7.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — databricks-api, requests, fire, junit-xml, py4j |
| Maintenance | dormant — 1,337 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 419,694/month — #6,794 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: nutter-0.1.35-py3-none-any.whl
Tags
More Testing packages
Pluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
virtualenvvirtualenv creates isolated Python environments…
permissive · top 100 on PyPI
coverageCoverage.py measures which lines of Python code…
permissive · top 1,000 on PyPI
pytest-asynciopytest-asyncio is a pytest plugin that enables…
permissive · top 1,000 on PyPI
pytest-json-ctrfA pytest plugin that generates test reports in…
permissive · top 1,000 on PyPI
databricks-testProvides a unit testing framework for…
permissive · top 15,000 on PyPI
databricks-connectDatabricks Connect is a client library that…
unclear · top 5,000 on PyPI
databricks-mcpProvides helpers and utilities to integrate MCP…
permissive · top 5,000 on PyPI
brickflowsA Python framework and CLI tool for building…
permissive · top 5,000 on PyPI
testbooktestbook lets you write unit tests for Jupyter…
permissive · top 15,000 on PyPI
fixturesProvides a reusable fixture contract for unit…
permissive · top 15,000 on PyPI
pytest-datadirA pytest plugin that provides fixtures for…
permissive · top 5,000 on PyPI
pytest-sparkA pytest plugin that integrates Apache Spark…
permissive · top 15,000 on PyPI
pytest-mysqlA pytest plugin that provides MySQL and MariaDB…
copyleft · top 15,000 on PyPI