Skip to content

celbridge-org/celbridge

Repository files navigation

Table of Contents

What is Celbridge?

Celbridge is an open source data workbench that provides a bridge between spreadsheets and Python scripting. Edit spreadsheets and write Python scripts side-by-side in a user-friendly graphical interface, making it easy to enter, analyze, and automate your data.

Project website: celbridge.org

The goals of Celbridge are to:

  • Make common tasks with data easier and more accessible.
  • Keep your data local-first and private by default.
  • Act as a bridge between Python scripting and widely used filetypes such as Excel, CSV, Markdown, JSON, HTML, CSS, etc.
  • Support easy extensibility via Python packages, with a core editor application written in .NET using Uno Platform.
  • Provide quick access to the web applications you regularly use (e.g. dashboards, support portals, docs, etc).

Note

Many thanks to MESCIUS SpreadJS for sponsoring Celbridge and supporting open source developers!



Key Features

Note

Celbridge is still in early development. Any update may introduce incompatibilities with previous versions or breaking architectural changes, so always back up any data before upgrading.

Privacy and Security

  • Celbridge is designed to keep your data local and private by default.
  • All files in Celbridge are managed locally on your machine, not in the cloud — unless you upload them yourself.

Python Integration

  • An integrated Python interpreter, with configurable Python version and packages.
  • Fast and easy package installation using uv: no need to manage virtual environments.
  • An integrated read–eval–print loop (REPL), featuring
    • Syntax highlighting
    • Command history
    • Command completion
    • IPython magic commands (%run, %alias, %ls, etc.)
    • pdb command line debugger
  • Run Python scripts with a single click.

Spreadsheets and Data Processing

  • Edit .xlsx files using a powerful built-in spreadsheet editor, powered by MESCIUS SpreadJS.
  • Supports all common Excel functionality, including formulas, graph and table generation, images, pivot tables, etc.
  • Does not require Excel to be installed on your machine.

File Explorer

  • Create, move, drag, drop, copy, and paste files, with full undo/redo support.
  • Built-in support for viewing and printing PDFs, images, audio and other media.

Text Editor

  • Fully featured text editor based on Monaco, the editor used in Visual Studio Code.
  • Supports all popular text formats and programming languages.
  • Features:
    • Syntax highlighting
    • Search and replace
    • Formatting
    • Copy and paste, full undo/redo
    • Multi-cursor editing
    • Command palette

Markdown Documentation

  • Markdown documentation editor with syntax highlighting and split-screen preview.
  • A preview window that updates as you type, rendered using Markdig.
  • Display images and other media by linking to local project files or using a URL.

Web App Integration

  • Create a .webapp file to allow you to open any web page as a tabbed document.
  • Provides quick access to the web applications you regularly use (e.g. dashboards, support portals, docs, etc).
  • Quickly navigate back to web pages using bookmark-like functionality. No more searching through open tabs!
  • Files are download directly to your project folder.

Planned Features

  • Privacy-first AI: bring your own model (BYOM), run LLMs locally, keep control of your data.
  • A Python-based extension system to allow the community to add custom functionality.

Getting Started

Installation

Celbridge is distributed as a .msix installer for Windows.

Note

Celbridge currently runs on Windows only. A macOS version is planned, and Linux/WASM versions may be possible depending on demand.

  1. Download and run the latest .msix installer from the downloads page page of the Celbridge.org website.
  2. When prompted, click Install (if this is your first time installing the program) or Update.
  3. Install the .NET Desktop Runtime if prompted by the installer.
  4. Launch Celbridge from the Start menu, if it doesn't launch automatically.

Each release includes an example project that demonstrates the core features of Celbridge. Access this example project as follows:

  1. Launch Celbridge.
  2. From the home menu, click New example project.

Note

If an existing project opens instead of the home menu, click the home button in the navigation bar to the left of the explorer panel.

  1. Enter a name for the example project (e.g. "celbridge_examples") and select a location for it.
  2. Celbridge will generate a new example project. Each folder in this project contains an example of a core feature of Celbridge. For example, the 01_markdown folder demonstrates how to work with Markdown files.
  3. To get started with each feature, see the readme.md files contained in the example folders.

Building From Source

  1. Clone the Celbridge git repo on your machine.
  2. Install the latest version of Visual Studio (the free Community Edition works fine).
  3. Follow the Visual Studio setup instructions for Uno Platform development.
  4. Open Celbridge.sln in Visual Studio.
  5. In Solution Explorer, right click on the Celbridge project and select Set as Startup Project.
  6. Select the Celbridge (WinAppSDK Packaged) and net8.0-windows10.0.22621 targets in the Visual Studio configuration toolbar.
  7. Build and run the application.

If you encounter build errors, try restarting Visual Studio. If this fails, do a clean build.

Note that enabling the spreadsheet editing feature in Celbridge requires a valid license for MESCIUS SpreadJS.

Documentation

Celbridge documentation is a work-in-progress. The Getting Started document explains how to navigate the Celbridge interface and outlines its main functionality.

There is now a separate website for the growing documentation about the Celbridge workbench application:

Mysterious note: The first 🥚 is like the second. The second belongs to the third. The third is shorter than itself, and sits in the middle.

Support

If you encounter any issues with Celbridge, please open a ticket. You're also welcome to look for help and support on our community forums.

Roadmap

Our goal is to turn Celbridge into a robust data processing tool suitable for use in production environments, backed by a friendly and helpful user community.

Who are we?

We're a small team led by Chris Gregan. Chris has worked in games development for over 20 years — most recently he was Lead Tools Programmer at Romero Games. He has a lot of experience with many programming languages and technologies, his favourites being Python, C#, and .NET.

Chris is currently doing a Research Masters with Technological University Dublin. Chris also created the Fungus visual scripting tool for the Unity game engine. That project is now maintained by the community.

Contributions

All feedback and contributions are very welcome! If you'd like to contribute a new feature, please open an issue first so we can discuss the best way to implement it. We have a strong vision for the architecture of Celbridge that we hope will allow the project to scale successfully.

Credits

Thank you to everyone who has contributed to Celbridge, especially Katie Canning, Matt Smith, and Matt Johnson.

This project was made possible by the Sabbatical Policy at Romero Games. Huge thanks to Brenda Romero🏅 & John Romero and all of the incredible team at Romero Games for their support. ❤️❤️❤️

Many thanks to MESCIUS SpreadJS for sponsoring Celbridge and supporting open source developers!

Celbridge relies on code from many fantastic open source projects, including:

Celbridge also uses a range of open source NuGet & Python packages, details of which can be found in THIRD-PARTY-LICENSES.txt.

About

Celbridge is an open source tool that provides a bridge between spreadsheets and Python scripting.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •