Crate venus_core

Crate venus_core 

Source
Expand description

Core engine for Venus reactive notebook environment.

§⚠️ API Stability Warning

This crate contains internal APIs that are UNSTABLE and may change without notice.

For notebook development, use the venus crate instead:

use venus::prelude::*;  // STABLE user-facing API

The venus-core APIs are intended for:

  • Building custom notebook tools and extensions
  • Advanced integrations with Venus internals
  • Contributing to Venus development

Stability guarantees:

  • No SemVer guarantees - breaking changes may occur in minor versions (0.x.y)
  • No deprecation warnings - APIs may be removed without warning
  • Internal implementation details - subject to refactoring

If you need stable APIs, please open an issue describing your use case.


This crate provides:

  • Graph engine for dependency resolution
  • Compilation pipeline (Cranelift JIT + LLVM)
  • State management with schema evolution
  • Salsa-based incremental computation
  • Cell execution and hot-reload

Re-exports§

pub use error::Error;
pub use error::Result;
pub use paths::NotebookDirs;
pub use execute::CellContext;
pub use execute::ExecutionCallback;
pub use execute::HotReloader;
pub use execute::LinearExecutor;
pub use execute::LoadedCell;
pub use execute::ParallelExecutor;
pub use execute::ProcessExecutor;
pub use execute::WindowsDllHandler;
pub use graph::CellId;
pub use graph::CellInfo;
pub use graph::CellParser;
pub use graph::Dependency;
pub use graph::GraphEngine;
pub use salsa_db::CellData;
pub use salsa_db::CellOutputData;
pub use salsa_db::CellOutputs;
pub use salsa_db::CompilationStatus;
pub use salsa_db::CompiledCellData;
pub use salsa_db::CompilerSettings;
pub use salsa_db::ExecutionStatus;
pub use salsa_db::GraphAnalysis;
pub use salsa_db::QueryResult;
pub use salsa_db::SourceFile;
pub use salsa_db::VenusDatabase;
pub use salsa_db::all_cells_executed;
pub use salsa_db::cell_names;
pub use salsa_db::cell_output;
pub use salsa_db::cell_output_data;
pub use salsa_db::compile_all_cells;
pub use salsa_db::compiled_cell;
pub use salsa_db::dependency_hash;
pub use salsa_db::execution_order;
pub use salsa_db::execution_order_result;
pub use salsa_db::graph_analysis;
pub use salsa_db::graph_analysis_result;
pub use salsa_db::invalidated_by;
pub use salsa_db::parallel_levels;
pub use salsa_db::parse_cells;
pub use salsa_db::parse_cells_result;
pub use state::CellOutput;
pub use state::SchemaChange;
pub use state::StateManager;
pub use state::TypeFingerprint;
pub use state::ZeroCopyOutput;

Modules§

compile
Compilation pipeline for Venus notebooks.
error
Error types for venus-core.
execute
Execution engine for Venus notebooks.
graph
Graph engine for dependency resolution.
ipc
Inter-process communication for Venus worker processes.
paths
Notebook directory management.
salsa_db
Salsa-based incremental computation database for Venus.
state
State management for Venus notebooks.
widgets
Interactive widgets for Venus notebooks.