{"id":20012109,"url":"https://github.com/fslaborg/nbformat.net","last_synced_at":"2025-05-04T20:31:22.812Z","repository":{"id":197384922,"uuid":"618771154","full_name":"fslaborg/NBFormat.NET","owner":"fslaborg","description":"A pure F# library for parsing and converting the `.ipynb` notebook file format","archived":false,"fork":false,"pushed_at":"2023-10-31T14:03:14.000Z","size":64,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-02T00:49:55.306Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"F#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fslaborg.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2023-03-25T09:55:58.000Z","updated_at":"2025-01-25T21:00:22.000Z","dependencies_parsed_at":"2023-10-31T15:27:12.722Z","dependency_job_id":null,"html_url":"https://github.com/fslaborg/NBFormat.NET","commit_stats":null,"previous_names":["fslaborg/nbformat.net"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fslaborg%2FNBFormat.NET","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fslaborg%2FNBFormat.NET/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fslaborg%2FNBFormat.NET/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fslaborg%2FNBFormat.NET/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fslaborg","download_url":"https://codeload.github.com/fslaborg/NBFormat.NET/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252395288,"owners_count":21741008,"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":[],"created_at":"2024-11-13T07:28:47.202Z","updated_at":"2025-05-04T20:31:22.794Z","avatar_url":"https://github.com/fslaborg.png","language":"F#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NBFormat.NET\nA pure F# library for parsing the `.ipynb` notebook file format v4.\n\nIt uses [System.Text.Json]() in conjunction with the absolutely amazing [FSharp.SystemTextJson](https://github.com/Tarmil/FSharp.SystemTextJson) library.\n\nThere currently is a missing link in the .NET ecosystem between working in .NET notebooks and exporting them to other formats. \nIf you want to use .NET polyglot notebooks for creating documentation or websites, you have to use `nbconvert`, which is a python tool and therefore requires the setup of a python environment.\n\nThis library aims to close that gap by\n- providing a type model for the `.ipynb` format (and the additional magic sauce added by .NET interactive)\n- providing an extensible interface for converting polyglot notebooks into other formats\n\n## Develop\n\n### build\n\nCheck the [build project](https://github.com/kMutagene/NBFormat.NET/blob/main/build) to take a look at the  build targets. Here are some examples:\n\n```shell\n# Windows\n\n# Build only\n./build.cmd\n\n# build and run tests\n./build.cmd runTests\n\n# Linux/mac\n\n# Build only\nbuild.sh\n\n# build and run tests\nbuild.sh runTests\n\n```\n\n## Usage\n\nThe library is not on nuget currently, so you currently have to clone the repo and build it yourself.\n\nThen you can use it to deserialize a notebook file like this:\n\n```fsharp\nopen NBFormat.NET\nopen System.IO\n\n\"your/path/to/a/notebook.ipynb\"\n|\u003e File.ReadAllText\n|\u003e Serialization.deserializeNotebook\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffslaborg%2Fnbformat.net","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffslaborg%2Fnbformat.net","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffslaborg%2Fnbformat.net/lists"}