Skip to content

Conversation

@EloyMartinez
Copy link
Collaborator

@EloyMartinez EloyMartinez commented Dec 20, 2025

Remove all notebook reference from repos.

Summary by CodeRabbit

Release Notes

  • Removal

    • Notebook feature removed from CLI and Python API. Users can no longer create, run, or stop notebooks through command-line commands or Python functions. Base image selection, resource configuration, and related API endpoints have been removed.
  • Tests

    • Removed test cases related to file import operations.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 20, 2025

Walkthrough

This pull request comprehensively removes the notebooks feature from the Oxen codebase, including Python module exports, Rust CLI commands, API client methods, data structures, type definitions, configuration constants, and related tests across the Python bindings, Rust CLI, and server layers.

Changes

Cohort / File(s) Summary
Python API Surface
oxen-python/python/oxen/__init__.py, oxen-python/python/oxen/notebooks.py
Removed py_notebooks import and removed public exports of notebooks, start_notebook, and stop_notebook functions from the module; deleted entire notebooks.py containing start() and stop() functions.
Python-Rust Bindings
oxen-python/src/lib.rs, oxen-python/src/py_notebooks.rs
Removed py_notebooks module registration from PyModule and deleted entire py_notebooks.rs file containing PyNotebook class and py_start_notebook/py_stop_notebook pyfunctions.
Rust CLI Command
oxen-rust/src/cli/src/cmd.rs, oxen-rust/src/cli/src/cmd/notebook.rs, oxen-rust/src/cli/src/main.rs
Removed notebook module and NotebookCmd export from cmd.rs; deleted entire notebook.rs command implementation (NotebookAction, NotebookMode, NotebookCmd, RunCmd impl, start/stop/list methods); removed NotebookCmd from CLI subcommands in main.rs.
API Client
oxen-rust/src/lib/src/api/client.rs, oxen-rust/src/lib/src/api/client/notebooks.rs
Removed notebooks module export from client.rs; deleted entire notebooks.rs containing create(), run(), get(), stop(), and list_base_images() async functions.
Data Structures & Options
oxen-rust/src/lib/src/opts.rs, oxen-rust/src/lib/src/opts/notebook_opts.rs, oxen-rust/src/lib/src/view.rs, oxen-rust/src/lib/src/view/notebook.rs
Removed notebook_opts module and NotebookOpts re-export from opts.rs; deleted notebook_opts.rs struct definition; removed notebook module export from view.rs; deleted notebook.rs containing NotebookRequest, Notebook, NotebookResponse, NotebookBaseImage, and NotebookBaseImagesResponse structs.
Configuration
oxen-rust/src/lib/src/constants.rs
Removed DEFAULT_NOTEBOOK_BASE_IMAGE constant.
Tests
oxen-rust/src/server/src/controllers/file.rs
Removed two test cases exercising file import endpoint with notebook/file paths.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20–25 minutes

  • Key areas requiring extra attention:
    • Verify no orphaned references to notebook functions, types, or modules remain elsewhere in the codebase (e.g., imports, feature flags, documentation)
    • Confirm all API routes and endpoints related to notebooks are no longer registered on the server
    • Check for any test files or integration tests that may import or depend on the removed modules
    • Review CLI help/command initialization to ensure no dangling references to notebook commands

Possibly related PRs

  • Oxen-AI/Oxen#572 — Adds the notebooks feature (modules, NotebookCmd, NotebookOpts, API client, constants, and py bindings) that this PR removes.
  • add ability to start/stop notebooks #79 — Adds the notebook start/stop functions and PyNotebook bindings that this PR deletes.

Suggested reviewers

  • jcelliott
  • gschoeni

Poem

🐰 The notebooks have hopped away today,
No start, no stop, no run or play—
Files deleted, exports gone,
The feature lived but now moves on! 📔✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Remove notebooks from oxen repo' accurately summarizes the main objective of the pull request, which systematically removes all notebook-related functionality across Python and Rust codebases.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/remove_notebooks

📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9280e77 and efd52f0.

📒 Files selected for processing (15)
  • oxen-python/python/oxen/__init__.py (0 hunks)
  • oxen-python/python/oxen/notebooks.py (0 hunks)
  • oxen-python/src/lib.rs (0 hunks)
  • oxen-python/src/py_notebooks.rs (0 hunks)
  • oxen-rust/src/cli/src/cmd.rs (0 hunks)
  • oxen-rust/src/cli/src/cmd/notebook.rs (0 hunks)
  • oxen-rust/src/cli/src/main.rs (0 hunks)
  • oxen-rust/src/lib/src/api/client.rs (0 hunks)
  • oxen-rust/src/lib/src/api/client/notebooks.rs (0 hunks)
  • oxen-rust/src/lib/src/constants.rs (0 hunks)
  • oxen-rust/src/lib/src/opts.rs (0 hunks)
  • oxen-rust/src/lib/src/opts/notebook_opts.rs (0 hunks)
  • oxen-rust/src/lib/src/view.rs (0 hunks)
  • oxen-rust/src/lib/src/view/notebook.rs (0 hunks)
  • oxen-rust/src/server/src/controllers/file.rs (0 hunks)
💤 Files with no reviewable changes (15)
  • oxen-rust/src/cli/src/cmd.rs
  • oxen-rust/src/lib/src/opts/notebook_opts.rs
  • oxen-rust/src/lib/src/opts.rs
  • oxen-rust/src/cli/src/main.rs
  • oxen-python/src/lib.rs
  • oxen-rust/src/lib/src/api/client.rs
  • oxen-rust/src/cli/src/cmd/notebook.rs
  • oxen-python/src/py_notebooks.rs
  • oxen-rust/src/lib/src/api/client/notebooks.rs
  • oxen-rust/src/lib/src/constants.rs
  • oxen-rust/src/lib/src/view/notebook.rs
  • oxen-rust/src/lib/src/view.rs
  • oxen-python/python/oxen/notebooks.py
  • oxen-rust/src/server/src/controllers/file.rs
  • oxen-python/python/oxen/init.py
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: Test Suite / Test Suite (windows-latest)
  • GitHub Check: Test Suite / Test Suite (macos-latest)
  • GitHub Check: Test Suite / Test Suite (ubuntu-latest)
  • GitHub Check: Lint / Cargo check, format, clippy + Ruff

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@jcelliott jcelliott merged commit 5ccc87d into main Dec 23, 2025
5 checks passed
@jcelliott jcelliott deleted the fix/remove_notebooks branch December 23, 2025 16:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants