生成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 source 和 generated 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))
安装
pip install herzog
链接
Bugs
请在GitHub上报告错误、问题、功能请求等。在
- 项目
标签: