生成Jupyter笔记本。

herzog的Python项目详细描述


赫索格

用herzog写你的PythonJupyter笔记本!在

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

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

使用

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

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

想告诉你的用户该怎么做吗?制作降价单元格:

^{pr2}$

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

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

示例

下面显示了一个herzog脚本示例,以及生成的笔记本。两个 herzog sourcegenerated notebook 可以在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

Bugs

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
junit有没有办法在Java中重新初始化静态类?   在浏览器中点击应用程序时java Play框架挂起   文件Java错误中的NullPointerException   使用Java中的SNMP查找网络中计算机的登录名   java包装服务器引导程序已弃用,有什么替代方案?   当客户在等待理发时,java信号量值是否存在问题?   java如何使用JavaMail仅下载特定类型的附件   如何在java中将十进制转换为十六进制   java Slick2D粒子系统不会生成粒子   java检测更改事件来自何处   将Java集合类型参数类设置为数组   java如何从eclipse导出为可运行JAR文件?   java EntityManager对象未注入Glassfish和Spring   swing从actionPerformed和actionListener Java返回字符串   java在给定另一个等价键对象的情况下获取映射项的当前键   无论输入如何,java网络都会产生相同的输出