BSL Jupyter Runtime: interactive 1C notebooks

BSL Jupyter Runtime

An interactive runtime runs 1C BSL code in VS Code Jupyter notebooks with one live session, breakpoints and hot-reloading methods without a configuration update

  • 9 ★ on the repository
  • Last commit
  • GPL-3.0
CLI

Broad access

Why this level

  • Runs arbitrary BSL code in a live 1C session, including hot-reloading methods without a configuration update
  • Installs a service extension into the infobase and requires disabling safe mode for manual installation
All reasons and checks
Russian stack

pulh1/bsl-jupyter-runtime

Install

Works in

Manual install

py -3.12 -m venv .venv
.venv\Scripts\python.exe -m pip install "onec-interactive-jupyter==0.1.23" "ipykernel>=6.29,<7" "matplotlib>=3.11,<4"
.venv\Scripts\python.exe -m ipykernel install --user --name onec-bsl --display-name "1C BSL"

Installing the Python package and registering the kernel, from the README.

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • Runs arbitrary BSL code in a live 1C session, including hot-reloading methods without a configuration update
  • Installs a service extension into the infobase and requires disabling safe mode for manual installation

This is third-party code. Review the repository files before installing.

What it does

The package adds a kernel and a %%bsl magic command for VS Code Jupyter notebooks: BSL cells run in one 1C session and keep its state between calls, and results, such as value tables, arrive in Python as pandas.DataFrame for further analysis and charts. Execution can be paused inside a standard configuration method, its local data and call stack inspected via CAPTURE breakpoints, and for experiments a modified local copy of a method can be loaded without updating the infobase configuration, i.e. hot reload. The 1C service extension installs into the database automatically from the wheel package, or manually via the Configurator. A separate VSIX gives highlighting, autocomplete and go-to-definition for BSL cells right inside the notebook.

Who it is for. For 1C developers and analysts who want to interactively explore how standard configuration methods behave, with breakpoints and on-the-fly edits, and process results in Python.

Good fit when

  • You want to interactively explore a standard method's calculation, such as payroll, pausing inside it and inspecting intermediate data
  • You want to quickly test a modified version of a method without updating the database configuration
  • You want a result from 1C to arrive straight away as a pandas.DataFrame for analysis and visualization in Python

Not a fit when

  • Work isn't on Windows: the README explicitly requires Windows for the quick start
  • There's no separate infobase copy and no separate source export copy: the README requires copies, not a production database
  • You want a ready tool with no setup: it needs Python 3.12+, VS Code 1.136+, an installed 1C platform and several VS Code extensions

Example request

Stop the payroll calculation method right before it returns and show the value table as a pandas.DataFrame

Limitations

Requires Windows, Python 3.12+, VS Code 1.136+ and an installed 1C platform; the platform, demo databases and exports are not included in the package. The README explicitly recommends using a separate infobase copy and a separate source export copy, not production ones. Editor BSL support via the VSIX is marked as a preview version. The project's own code is licensed GPL-3.0-only, which imposes copyleft obligations when distributing derivative works.

How to disable. Remove the VSIX extension from VS Code, uninstall the package with pip uninstall onec-interactive-jupyter, and disable the OnecInteractiveRuntime service extension in the infobase copy.

FAQ

Can a method be changed without updating the database configuration?

Yes, that's hot reload: a modified local copy of the method is loaded and the change is tested in the same interactive session without an infobase update.

Is a result from 1C immediately available as a Python object?

Yes, for example a value table arrives as a pandas.DataFrame that can be worked with using ordinary Python tools.

Discussion

No questions or reviews yet.

onec-hbk-bsl: BSL linter and MCP

1C HBK BSL (onec-hbk-bsl)

Russian stack

A BSL CLI linter and formatter with 180 diagnostics, an LSP server for VS Code and Cursor, and MCP tools for local AI assistants

CLIExtended access13Repository stars
Russian stack

A set of skills, rules and MCP servers for 1C Enterprise 8.3 development where the agent works from real code and docs, not from memory

SkillBroad access35Repository stars
Russian stack

A local read-only MCP server suite for 1C: a Rust code indexer, metadata skills, a prompt gallery and platform help search, with evidence-backed answers

MCP serverExtended access
Russian stack

A linter with autofixes, an LSP, docs search and metadata scaffolding for 1C:Element, plus an MCP server and a VS Code extension on one engine

CLIExtended access3Repository stars
Russian stack

A Rust-based Language Server for BSL with code diagnostics, incremental analysis and a built-in MCP server for AI agents

MCP serverExtended access117Repository stars

README in short

The README describes an interactive runtime with BSL cells in VS Code Jupyter notebooks, gives a step-by-step quick start installing the Python package, registering the kernel, installing VS Code extensions, and starting a session against platform, infobase and source copies. It shows demo notebooks for payroll and trade management configurations, explains the components (runtime core, 1C extension, Jupyter integration, a preview VS Code extension), automatic and manual service-extension install via ExtensionMode, development requirements via uv, and the GPL-3.0-only license with third-party notices.

README badge

Report a problem