Metadata-Version: 2.4
Name: cellsnap-cli
Version: 0.1.0
Summary: Publish rich notebook snapshots without adding .ipynb files to working git history
Project-URL: Repository, https://github.com/lukeSmth/cellsnap-cli
Project-URL: Issues, https://github.com/lukeSmth/cellsnap-cli/issues
Author: Luke Smith
License-Expression: MIT
License-File: LICENSE
Keywords: artifacts,git,jupyter,jupytext,notebook
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Framework :: Jupyter
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Version Control :: Git
Requires-Python: >=3.9
Requires-Dist: click>=8.1
Requires-Dist: jupytext>=1.18
Requires-Dist: nbformat>=5.7
Description-Content-Type: text/markdown

# `cellsnap-cli`

Publish rich notebook snapshots without adding .ipynb files to working git history. Sister tool to [jupytext](https://github.com/jupytext/jupytext).

![workflow](assets/workflow.png)

## Installation

**With `uv`:**

`uv tool install cellsnap-cli`

**With `pip`:**

`pip install cellsnap-cli`

## Workflow

1. Use jupytext to sync .ipynb notebooks with .py source format.
2. Push notebook source files (.py) to working branches. 
3. Push notebook artifact files (.ipynb) to dedicated artifact branches: run `cellsnap`

Cellsnap artifact branches only store the latest commit, preventing repo bloat common when committing unstripped .ipynb files. Published notebooks are stamped with frontmatter that refers back to their source and a manifest is added to the artifact branch README.md.
