awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
gopherdata avatar

gopherdata/gophernotes

0
View on GitHub↗
3,965 stars·265 forks·Go·MIT·9 views

Gophernotes

Gophernotes is a backend implementation of the Jupyter kernel protocol and an interactive runtime that enables the execution of Go language code within notebook environments. It serves as a Go language execution engine, allowing users to integrate Go into polyglot notebooks such as Jupyter and nteract.

The project supports the creation of documents that combine executable source code with rich media. It maps internal data types to various formats, including HTML, JSON, LaTeX, PDF, and images, to provide visual representations of execution results.

The system covers a range of capabilities including the execution of system shell commands, management of notebook execution contexts, and the linking of third-party packages across different operating systems.

Features

  • Notebook Code Execution - Provides the ability to execute Go source code within notebook cells and return immediate results to the user.
  • Jupyter Language Kernels - Acts as a Go language execution engine that allows users to run Go code and shell commands within Jupyter notebooks.
  • Jupyter Notebook Integrations - Integrates the Go language into Jupyter and nteract environments to create documents with live code.
  • Internal Messaging Protocols - Implements a socket-based request-response protocol using ZeroMQ for communication between the kernel and notebook frontend.
  • JSON Message Exchanges - Uses a structured JSON schema to exchange execution requests and rich media results between the kernel and frontend.
  • Ephemeral Source Generation - Writes cell contents to temporary Go files on disk for compilation and execution by the native toolchain.
  • Interactive Runtimes - Provides an environment for executing Go source code in cells to produce live outputs and rich media visualizations.
  • Notebook Kernels - Implements the Jupyter kernel protocol to process and return Go language execution results.
  • Source-to-Binary Compilation Toolchains - Integrates with the installed Go compiler and linker to transform source code into executable binaries at runtime.
  • Polyglot Notebooks - Enables a polyglot workflow by adding Go as a compatible execution kernel within a single notebook interface.
  • Interactive Data Exploration - Allows processing data in notebook cells and rendering results as HTML or JSON for easier analysis.
  • Output Format Rendering - Renders analysis results and code output into multiple formats including HTML and JSON for display in notebook cells.
  • Literate Programming Tools - Combines executable Go source code with formatted text and images to create technical documentation and tutorials.
  • MIME Type Mappings - Maps internal Go data types to supported media formats like LaTeX, PDF, and HTML for rich rendering.
  • Interactive Development - Supports a development workflow where Go code is written and tested in small chunks with immediate feedback.
  • Image Rendering - Converts image data into standard formats with metadata for visual display within a notebook cell.
  • MIME Type Renderers - Maps Go data structures to specific MIME types like HTML or JSON for specialized rendering in the notebook UI.
  • Interactive Execution - Jupyter Notebook kernel for Go.

Star history

Star history chart for gopherdata/gophernotesStar history chart for gopherdata/gophernotes

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Gophernotes

Similar open-source projects, ranked by how many features they share with Gophernotes.
  • kotlin/kotlin-jupyterKotlin avatar

    Kotlin/kotlin-jupyter

    1,218View on GitHub↗

    Kotlin Jupyter is an interactive computing environment that enables the execution of Kotlin code within Jupyter notebooks. It functions as a kernel for the Java Virtual Machine, providing a platform for data analysis, rapid prototyping, and scientific computing research. The system manages the evaluation of code snippets by compiling them dynamically at runtime, allowing for real-time interaction and variable inspection. The project distinguishes itself through a sophisticated code transformation pipeline that intercepts and modifies user input to support custom syntax and automated logic. It

    Kotlin
    View on GitHub↗1,218
  • root-project/clingroot-project avatar

    root-project/cling

    4,147View on GitHub↗

    Cling is an interactive C++ interpreter and read-eval-print loop that allows for the execution of C++ code in real time. It provides an interactive environment where statements can be evaluated immediately, bypassing the manual compilation and linking cycles typically required for the language. The system functions as a Jupyter C++ kernel, enabling cell-based development and visualization within notebook interfaces. It also supports the loading and execution of external source files within an active session. The environment includes capabilities for just-in-time debugging and profiling by em

    C++c-plus-plusclanginterpreter
    View on GitHub↗4,147
  • nteract/papermillnteract avatar

    nteract/papermill

    6,451View on GitHub↗

    Papermill is a Jupyter notebook execution engine and parameterization framework designed to run notebooks programmatically. It allows users to inject custom input values into notebooks to execute the same logic across different datasets, transforming interactive notebooks into reproducible data science pipelines. The project functions as a language-agnostic notebook runner and orchestrator, supporting kernels for Python, R, Julia, and Scala. It is distinguished by its cloud-integrated runner capabilities, featuring built-in handlers to read and write notebooks directly to storage providers su

    Python
    View on GitHub↗6,451
  • polynote/polynotepolynote avatar

    polynote/polynote

    4,595View on GitHub↗

    Polynote is a polyglot notebook environment and interactive document system designed for executing code in multiple languages within a single document. It functions as a cross-language data analysis tool and a JVM language IDE, allowing users to combine executable code, rich text, and data visualizations to prototype and document technical workflows. The system is distinguished by its ability to share data and variables between different language runtimes, such as Python and the JVM. It uses cross-language object conversion and data wrapping to pass objects between runtimes, enabling multi-la

    Jupyter Notebook
    View on GitHub↗4,595
See all 30 alternatives to Gophernotes→

Frequently asked questions

What does gopherdata/gophernotes do?

Gophernotes is a backend implementation of the Jupyter kernel protocol and an interactive runtime that enables the execution of Go language code within notebook environments. It serves as a Go language execution engine, allowing users to integrate Go into polyglot notebooks such as Jupyter and nteract.

What are the main features of gopherdata/gophernotes?

The main features of gopherdata/gophernotes are: Notebook Code Execution, Jupyter Language Kernels, Jupyter Notebook Integrations, Internal Messaging Protocols, JSON Message Exchanges, Ephemeral Source Generation, Interactive Runtimes, Notebook Kernels.

What are some open-source alternatives to gopherdata/gophernotes?

Open-source alternatives to gopherdata/gophernotes include: kotlin/kotlin-jupyter — Kotlin Jupyter is an interactive computing environment that enables the execution of Kotlin code within Jupyter… root-project/cling — Cling is an interactive C++ interpreter and read-eval-print loop that allows for the execution of C++ code in real… nteract/papermill — Papermill is a Jupyter notebook execution engine and parameterization framework designed to run notebooks… polynote/polynote — Polynote is a polyglot notebook environment and interactive document system designed for executing code in multiple… clidey/whodb — whodb is a multi-database management interface and notebook client designed for exploring and managing data across… xo/usql — usql is a universal SQL command-line interface used to connect to and manage multiple SQL and NoSQL databases through…