-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Data structure for working with Jupyter notebooks (ipynb). -- -- ipynb defines a data structure for representing Jupyter notebooks, -- along with ToJSON and FromJSON instances for conversion to and from -- JSON .ipynb files. @package ipynb @version 0.1 -- | Data structure and JSON serializers for ipynb (Jupyter notebook) -- format. Version 4 of the format is documented here: -- https://nbformat.readthedocs.io/en/latest/format_description.html. -- -- The library supports both version 4 ('Notebook NbV4') and version 3 -- ('Notebook NbV3') of nbformat. Note that this is a phantom type: the -- NbV3 or NbV4 parameter only affects JSON serialization, -- not the data structure itself. So code that manipulates notebooks can -- be polymorphic, operating on `Notebook a`. module Data.Ipynb -- | A Jupyter notebook. data Notebook a Notebook :: JSONMeta -> (Int, Int) -> [Cell a] -> Notebook a [notebookMetadata] :: Notebook a -> JSONMeta [notebookFormat] :: Notebook a -> (Int, Int) [notebookCells] :: Notebook a -> [Cell a] -- | Indexes Notebook for serialization as nbformat version 3. data NbV3 -- | Indexes Notebook for serialization as nbformat version 4. data NbV4 type JSONMeta = Map Text Value -- | A Jupyter notebook cell. data Cell a Cell :: CellType a -> Source -> JSONMeta -> Maybe (Map Text MimeBundle) -> Cell a [cellType] :: Cell a -> CellType a [cellSource] :: Cell a -> Source [cellMetadata] :: Cell a -> JSONMeta [cellAttachments] :: Cell a -> Maybe (Map Text MimeBundle) -- | A Source is a textual content which may be represented in JSON -- either as a single string or as a list of strings (which are -- concatenated). newtype Source Source :: [Text] -> Source [unSource] :: Source -> [Text] -- | Information about the type of a notebook cell, plus data specific to -- that type. note that Heading is for v3 only; a Heading -- will be rendered as Markdown in v4. data CellType a Markdown :: CellType a Heading :: Int -> CellType a [headingLevel] :: CellType a -> Int Raw :: CellType a Code :: Maybe Int -> [Output a] -> CellType a [codeExecutionCount] :: CellType a -> Maybe Int [codeOutputs] :: CellType a -> [Output a] -- | Output from a Code cell. data Output a Stream :: Text -> Source -> Output a [streamName] :: Output a -> Text [streamText] :: Output a -> Source DisplayData :: MimeBundle -> JSONMeta -> Output a [displayData] :: Output a -> MimeBundle [displayMetadata] :: Output a -> JSONMeta ExecuteResult :: Int -> MimeBundle -> JSONMeta -> Output a [executeCount] :: Output a -> Int [executeData] :: Output a -> MimeBundle [executeMetadata] :: Output a -> JSONMeta Err :: Text -> Text -> [Text] -> Output a [errName] :: Output a -> Text [errValue] :: Output a -> Text [errTraceback] :: Output a -> [Text] type MimeType = Text -- | Data in an execution result or display data cell. data MimeData BinaryData :: ByteString -> MimeData TextualData :: Text -> MimeData JsonData :: Value -> MimeData -- | A MimeBundle wraps a map from mime types to mime data. newtype MimeBundle MimeBundle :: Map MimeType MimeData -> MimeBundle [unMimeBundle] :: MimeBundle -> Map MimeType MimeData -- | Break up a string into a list of strings, each representing one line -- of the string (including trailing newline if any). breakLines :: Text -> [Text] instance GHC.Generics.Generic (Data.Ipynb.Notebook a) instance GHC.Classes.Eq (Data.Ipynb.Notebook a) instance GHC.Show.Show (Data.Ipynb.Notebook a) instance GHC.Generics.Generic (Data.Ipynb.Cell a) instance GHC.Classes.Eq (Data.Ipynb.Cell a) instance GHC.Show.Show (Data.Ipynb.Cell a) instance GHC.Generics.Generic (Data.Ipynb.CellType a) instance GHC.Classes.Eq (Data.Ipynb.CellType a) instance GHC.Show.Show (Data.Ipynb.CellType a) instance GHC.Generics.Generic (Data.Ipynb.Output a) instance GHC.Classes.Eq (Data.Ipynb.Output a) instance GHC.Show.Show (Data.Ipynb.Output a) instance GHC.Base.Monoid Data.Ipynb.MimeBundle instance GHC.Base.Semigroup Data.Ipynb.MimeBundle instance GHC.Generics.Generic Data.Ipynb.MimeBundle instance GHC.Classes.Eq Data.Ipynb.MimeBundle instance GHC.Show.Show Data.Ipynb.MimeBundle instance GHC.Generics.Generic Data.Ipynb.MimeData instance GHC.Classes.Eq Data.Ipynb.MimeData instance GHC.Show.Show Data.Ipynb.MimeData instance GHC.Base.Monoid Data.Ipynb.Source instance GHC.Base.Semigroup Data.Ipynb.Source instance GHC.Generics.Generic Data.Ipynb.Source instance GHC.Classes.Eq Data.Ipynb.Source instance GHC.Show.Show Data.Ipynb.Source instance GHC.Base.Semigroup (Data.Ipynb.Notebook a) instance GHC.Base.Monoid (Data.Ipynb.Notebook a) instance Data.Aeson.Types.FromJSON.FromJSON (Data.Ipynb.Notebook Data.Ipynb.NbV4) instance Data.Aeson.Types.FromJSON.FromJSON (Data.Ipynb.Notebook Data.Ipynb.NbV3) instance Data.Aeson.Types.ToJSON.ToJSON (Data.Ipynb.Notebook Data.Ipynb.NbV4) instance Data.Aeson.Types.ToJSON.ToJSON (Data.Ipynb.Notebook Data.Ipynb.NbV3) instance Data.Aeson.Types.FromJSON.FromJSON (Data.Ipynb.Cell Data.Ipynb.NbV4) instance Data.Aeson.Types.FromJSON.FromJSON (Data.Ipynb.Cell Data.Ipynb.NbV3) instance Data.Aeson.Types.ToJSON.ToJSON (Data.Ipynb.Cell Data.Ipynb.NbV4) instance Data.Aeson.Types.ToJSON.ToJSON (Data.Ipynb.Cell Data.Ipynb.NbV3) instance Data.Aeson.Types.FromJSON.FromJSON (Data.Ipynb.Output Data.Ipynb.NbV4) instance Data.Aeson.Types.FromJSON.FromJSON (Data.Ipynb.Output Data.Ipynb.NbV3) instance Data.Aeson.Types.ToJSON.ToJSON (Data.Ipynb.Output Data.Ipynb.NbV4) instance Data.Aeson.Types.ToJSON.ToJSON (Data.Ipynb.Output Data.Ipynb.NbV3) instance Data.Aeson.Types.FromJSON.FromJSON Data.Ipynb.MimeBundle instance Data.Aeson.Types.ToJSON.ToJSON Data.Ipynb.MimeBundle instance Data.Aeson.Types.FromJSON.FromJSON Data.Ipynb.Source instance Data.Aeson.Types.ToJSON.ToJSON Data.Ipynb.Source