Skip to main content

Script of Scripts (SoS) kernel and backend for Jupyter - backend dependency for jupyterlab-sos

Project description

Anaconda-Server Badge PyPI version DOI Build Status Build status

⚠️ Deprecation Notice

The classic Jupyter notebook interface support for SoS Notebook has been deprecated.

This package no longer provides JavaScript extensions or frontend functionality for the classic Jupyter notebook interface. All frontend features have been migrated to JupyterLab and are available through jupyterlab-sos.

This package is still required as a backend dependency for jupyterlab-sos and contains the SoS kernel, magics, notebook converters (HTML, PDF, Markdown), and other core functionality. However, for the best SoS experience, please use JupyterLab with the jupyterlab-sos extension.

For more information, see the JupyterLab SoS extension.

SoS Notebook

SoS Notebook is a Jupyter kernel that allows the use of multiple kernels in one Jupyter notebook. Using language modules that understand datatypes of underlying languages (modules sos-bash, sos-r, sos-matlab, etc), SoS Notebook allows data exchange among live kernels of supported languages.

SoS Notebook also extends the Jupyter frontend and adds a console panel for the execution of scratch commands and display of intermediate results and progress information, and a number of shortcuts and magics to facilitate interactive data analysis. All these features have been ported to JupyterLab, either in the sos extension jupyterlab-sos or contributed to JupyterLab as core features.

SoS Notebook also serves as the IDE for the SoS Workflow that allows the development and execution of workflows from Jupyter notebooks. This not only allows easy translation of scripts developed for interactive data analysis to workflows running in containers and remote systems, but also allows the creation of scientific workflows in a format with narratives, sample input and output.

SoS Notebook is part of the SoS suite of tools. Please refer to the SoS Homepage for details about SoS, and this page for documentations and examples on SoS Notebook. If a language that you are using is not yet supported by SoS, please submit a ticket, or consider adding a language module by yourself following the guideline here.

Installation

For Users

Install from PyPI:

pip install sos-notebook

Install from conda-forge:

conda install -c conda-forge sos-notebook

For Developers

SoS Notebook uses modern Python packaging and development tools. See CONTRIBUTING.md for detailed development setup instructions.

Quick development setup:

# Prerequisites: Python 3.8+ and uv (https://github.com/astral-sh/uv)
git clone https://github.com/vatlab/sos-notebook.git
cd sos-notebook
invoke dev-setup    # Sets up virtual environment and dependencies
source .venv/bin/activate

Development

This project uses modern Python development tools:

  • uv for fast dependency management and virtual environments
  • ruff for linting and code formatting
  • invoke for task automation
  • pytest for testing
  • Modern build system with pyproject.toml (PEP 517/518)

Quick Commands

# Set up development environment
invoke dev-setup

# Run quality checks
invoke check          # Run all checks (format, lint, test)
invoke format         # Format code with ruff
invoke lint --fix     # Lint and auto-fix issues
invoke test           # Run tests

# Build and release
invoke build          # Build distributions
invoke release-check  # Comprehensive pre-release checks

For detailed contribution guidelines, see CONTRIBUTING.md.

Testing

The project includes comprehensive tests that run in Docker containers to simulate real Jupyter environments:

invoke test           # Quick tests (skip Docker/selenium)
invoke test-docker    # Full test suite in Docker (as in CI)

License

This project is licensed under the 3-clause BSD License.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sos_notebook-0.24.7.tar.gz (193.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sos_notebook-0.24.7-py3-none-any.whl (212.0 kB view details)

Uploaded Python 3

File details

Details for the file sos_notebook-0.24.7.tar.gz.

File metadata

  • Download URL: sos_notebook-0.24.7.tar.gz
  • Upload date:
  • Size: 193.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for sos_notebook-0.24.7.tar.gz
Algorithm Hash digest
SHA256 960b7cb0a75359a629ed6f88262133daefcc812ca42cbe29d76ac39e90aa76c1
MD5 ef8d93f41b6ea43b6664c333ce0b90ac
BLAKE2b-256 95ac17a768de4c9749222009412583e015c06b4ae7fe4ff018d48ed42db691a2

See more details on using hashes here.

File details

Details for the file sos_notebook-0.24.7-py3-none-any.whl.

File metadata

  • Download URL: sos_notebook-0.24.7-py3-none-any.whl
  • Upload date:
  • Size: 212.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for sos_notebook-0.24.7-py3-none-any.whl
Algorithm Hash digest
SHA256 eb5cddc7d8f9f69bcf0dea5b7716446a726b6b1e53b8e1e46ea1314fa92c9692
MD5 9b059b058972270ea83ffaea6000b5e4
BLAKE2b-256 0cb1d86cd8fb2cd76da7ebcf681bc6fea4ab8fafd4f92a564f92d2d571dc4cdd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page