跳转到主要内容

生成Jupyter笔记本。

项目描述

herzog

在herzog中编写您的Python Jupyter笔记本!

herzog脚本都是纯Python。这意味着版本控制、拉取请求、CI/CD等等。

太好了!它是如何工作的?

用法

使用上下文管理器来定义Jupyter单元

with herzog.Cell("python"):
    print("Hello herzog")

想告诉用户该做什么?创建一个Markdown单元

with herzog.Cell("markdown"):
    """
    # How cool is this notebook?
    So cool!
    """

使用herzog CLI从您的Python脚本生成笔记本

herzog path/to/my/cool_script.py > path/to/my/cool_notebook.ipynb

示例

下面是一个herzog脚本示例,以及生成的笔记本。herzog源代码和生成的笔记本都可以在herzog仓库中找到。herzog源生成的笔记本

请注意,herzog上下文管理器之外的所有内容都不包含在笔记本中。这就是您放置测试、开发笔记、恶意指控或其他任何内容的区域。

import herzog

with herzog.Cell("markdown"):
    """
    # Fibonacci:
    Recursively generate terms from the Fibonacci sequence.
    """

with herzog.Cell("python"):
    def fibonacci(term: int) -> int:
        """
        0-indexed fibonacci
        """
        assert 0 <= term
        if 1 < term:
            return fibonacci(term - 1) + fibonacci(term - 2)
        else:
            return term

# Code outside herzog context does not appear in generated notebooks.
try:
    fibonacci(-1)
except AssertionError:
    # expected
    pass
expected_fibonacci = (0, 1, 1, 2, 3, 5, 8, 13, 21)
for i in range(1, len(expected_fibonacci)):
    assert expected_fibonacci[i] == fibonacci(i)

golden_ratio = (1 + 5 ** 0.5) / 2
assert 1e-10 > abs(golden_ratio - fibonacci(26) / fibonacci(25))

Rendered Fibonacci notebook

安装

pip install herzog

链接

项目主页 GitHub
软件包分发 PyPI

错误

请在GitHub上报告错误、问题、功能请求等。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

herzog-0.1.0.tar.gz (5.0 kB 查看哈希值)

上传时间:

由以下提供支持