{"id":20101597,"url":"https://github.com/ploomber/nbsnapshot","last_synced_at":"2025-05-06T06:33:35.265Z","repository":{"id":41981127,"uuid":"507076971","full_name":"ploomber/nbsnapshot","owner":"ploomber","description":"Automated Jupyter notebook testing. 📙","archived":true,"fork":false,"pushed_at":"2024-01-25T01:12:18.000Z","size":265,"stargazers_count":41,"open_issues_count":2,"forks_count":3,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-26T07:40:58.582Z","etag":null,"topics":["jupyter","jupyter-notebook","notebook","testing"],"latest_commit_sha":null,"homepage":"https://nbsnapshot.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ploomber.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-24T16:30:56.000Z","updated_at":"2025-02-18T22:07:37.000Z","dependencies_parsed_at":"2024-11-16T04:02:09.610Z","dependency_job_id":null,"html_url":"https://github.com/ploomber/nbsnapshot","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ploomber%2Fnbsnapshot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ploomber%2Fnbsnapshot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ploomber%2Fnbsnapshot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ploomber%2Fnbsnapshot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ploomber","download_url":"https://codeload.github.com/ploomber/nbsnapshot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252633919,"owners_count":21779944,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jupyter","jupyter-notebook","notebook","testing"],"created_at":"2024-11-13T17:25:55.083Z","updated_at":"2025-05-06T06:33:34.962Z","avatar_url":"https://github.com/ploomber.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nbsnapshot\n\n\u003e [!TIP]\n\u003e Deploy AI apps for free on [Ploomber Cloud!](https://ploomber.io/?utm_medium=github\u0026utm_source=nbsnapshot)\n\nCLI for doing snapshot testing on Jupyter notebooks. [Blog post here.](https://ploomber.io/blog/snapshot-testing/)\n\n![header](header.png)\n\n\u003e **Note**\n\u003e `nbsnapshot` is in an early stage of development. Join our [community](https://ploomber.io/community) to submit your feedback and follow me on [Twiter](https://twitter.com/intent/user?screen_name=edublancas) to get the latest news.\n\n## Install\n\n```sh\npip install nbsnapshot\n```\n\n## Documentation\n\n[Click here to see the documentation](https://nbsnapshot.readthedocs.io)\n\n## Use Cases\n\n* [Testing example notebooks](https://nbsnapshot.readthedocs.io/en/latest/use-case-nbs.html)\n* [Machine Learning model re-training](https://nbsnapshot.readthedocs.io/en/latest/use-case-ml.html)\n* [Data ingestion monitoring](https://nbsnapshot.readthedocs.io/en/latest/use-case-data.html)\n\n## Usage\n\nFirst, [tag some cells](https://papermill.readthedocs.io/en/latest/usage-parameterize.html). \n\nOr, get a sample notebook:\n\n```sh\ncurl -O https://raw.githubusercontent.com/ploomber/nbsnapshot/main/examples/normal.ipynb\n```\n\nThen, run the notebook and test it (pass `--run` to run the notebook before doing the snapshot test):\n\n```sh\n# install dependencies\npip install matplotlib numpy pandas\n\n# run test\nnbsnapshot test normal.ipynb --run\n```\n\n*Note:* You'll need to run the command a few times to start generating the history. If you want to fail the test, modify the notebook and add replace the cell that contains `np.random.normal()` with the number `100`.\n\n\n## About Ploomber\n\nPloomber is a big community of data enthusiasts pushing the boundaries of Data Science and Machine Learning tooling.\n\nWhatever your skillset is, you can contribute to our mission. So whether you're a beginner or an experienced professional, you're welcome to join us on this journey!\n\n[Click here to know how you can contribute to Ploomber.](https://github.com/ploomber/contributing/blob/main/README.md)\n\n\n\n## Telemetry\n\nWe collect optional, anonymous statistics to understand and improve usage. For details, [see here](https://docs.ploomber.io/en/latest/community/user-stats.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fploomber%2Fnbsnapshot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fploomber%2Fnbsnapshot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fploomber%2Fnbsnapshot/lists"}