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
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
Install
- Works in
- Services
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 reviewBroad 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.DataFrameLimitations
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.
Related
All 1C:Enterprise toolsonec-hbk-bsl: BSL linter and MCP
1C HBK BSL (onec-hbk-bsl)
A BSL CLI linter and formatter with 180 diagnostics, an LSP server for VS Code and Cursor, and MCP tools for local AI assistants
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
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
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
Claude Code plugins for 1C: BSL navigation and module hot reload
onec-claude-plugins
Two plugins for 1C: a BSL language server instead of heavy grep over dumps, and module hot swap without restarting sessions
A Rust-based Language Server for BSL with code diagnostics, incremental analysis and a built-in MCP server for AI agents
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.