# emacs-code-cells

> Emacs utilities for code split into cells, including Jupyter notebooks

**Wikidata**: [Q111043241](https://www.wikidata.org/wiki/Q111043241)  
**Source**: https://4ort.xyz/entity/emacs-code-cells

## Summary
Emacs-code-cells is an Emacs extension enabling users to split code into cells, with dedicated support for Jupyter notebook files. Developed by Augusto Stoffel, it integrates seamlessly with Emacs to facilitate interactive programming workflows.

## Key Facts
- Created by Augusto Stoffel, a Brazilian computer scientist and mathematician
- Project inception date: May 22, 2020 (GitHub commit reference)
- Current stable version: 0.5 (released November 19, 2024)
- Part of GNU ELPA since February 28, 2022
- Distributed through GNU ELPA and MELPA package repositories
- Written exclusively in Emacs Lisp
- Official source code hosted on GitHub (https://github.com/astoff/code-cells.el)
- Compatible with Jupyter notebook file format (.ipynb)

## FAQs
### Q: What is emacs-code-cells used for?
A: It allows Emacs users to split code into cells within Emacs buffers, providing Jupyter-like functionality for interactive programming and notebook-style editing without leaving Emacs.

### Q: How do I install emacs-code-cells?
A: Install it through GNU ELPA (`M-x package-install RET code-cells`) or MELPA, then enable it with `M-x code-cells-mode` in your Emacs buffer.

### Q: Who maintains emacs-code-cells?
A: The project is maintained by its creator, Augusto Stoffel, with all development occurring on GitHub.

## Why It Matters
Emacs-code-cells bridges the gap between Emacs' text-editing capabilities and Jupyter's interactive notebook paradigm. It enables users to leverage Emacs' powerful editing environment while retaining Jupyter's cell-based workflow for iterative programming. This integration is particularly valuable for data scientists and researchers who prefer Emacs but need notebook functionality, as it eliminates the need to switch between tools. Its inclusion in GNU ELPA also signifies its adoption into the official Emacs ecosystem, providing users with a reliable, free software solution for interactive programming.

## Notable For
- First Emacs extension to provide native Jupyter notebook cell support
- Maintained entirely within the GNU ELPA repository since 2022
- Written exclusively in Emacs Lisp for maximum Emacs integration
- Supports both .ipynb file format and plain text cell structures
- Distributed under free software terms (Wikidata license ID Q27016754)

## Body
### Development History
- Inception initiated May 22, 2020, via GitHub commit
- Added to GNU ELPA on February 28, 2022
- Maintained continuously by Augusto Stoffel since creation

### Technical Specifications
- Programming language: Emacs Lisp
- Primary supported format: Jupyter notebooks (.ipynb)
- Emacs integration: Requires Emacs 26.1 or newer
- License: Free software (Wikidata ID: Q27016754)

### Distribution Channels
- GNU ELPA: Primary distribution since 2022
- MELPA: Alternative package repository
- Source code: GitHub repository with Git mirror on GNU Savannah
- Nix package: `emacsPackages.code-cells`

### Version Releases
- Version 0.2: Released February 28, 2022
- Version 0.3: Released September 17, 2022
- Version 0.4: Released November 20, 2023
- Version 0.5: Released November 19, 2024 (current stable)

### File Format Support
- Native Jupyter notebook (.ipynb) compatibility
- Plain text cell structures with visual boundaries
- Cell-based code execution and evaluation

```json
{
  "@context": "https://schema.org",
  "@type": "Thing",
  "name": "emacs-code-cells",
  "description": "Emacs utilities for code split into cells, including Jupyter notebooks",
  "url": "https://github.com/astoff/code-cells.el",
  "additionalType": ["Emacs extension", "GNU ELPA package"]
}

## References

1. [Source](https://elpa.gnu.org/packages/code-cells.html)
2. [Code-Cells version 0.2. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-02/msg00061.html)
3. [Code-Cells version 0.3. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-09/msg00046.html)
4. [Code-Cells version 0.4. 2023](https://lists.gnu.org/archive/html/gnu-emacs-sources/2023-11/msg00049.html)
5. [[GNU ELPA] Code-Cells version 0.5. 2024](https://lists.gnu.org/archive/html/gnu-emacs-sources/2024-11/msg00037.html)
6. [Source](https://github.com/astoff/code-cells.el/commit/37dce1d908abbc8a6dada9e20fafc2cb80990f39)