用Jupyter开发识字包

literar的Python项目详细描述


文学的

pypi-badgebinder-badge

这个包是对literate programming思想pioneered by Donald Knuth的探索,并在 ^{} package。尽管nbdev看起来是 成熟全面的工具,很有主见。这个包裹是 调查更小的nbdev可能是什么样子。在

哲学

  1. 低精神开销
    实际上,大多数希望编写包的Python程序员都需要有一些 熟悉Python包开发模型,包括传统的 包的结构。因此,我觉得设计是很重要的 ^用这些技巧直接翻译这些库 笔记本电脑
  2. 最小下游影响
    literary软件包的用户不应该意识到他们在消费 笔记本在运行时生成代码。这意味着纯Python包需要 是由笔记本电脑生成的,它必须使用传统的导入模式。为 这个原因,literary应该只作为 包裹。在

nbdev的区别

  • 使用单元格标记而不是注释或magics命令导出
  • 使用nbconvert机制构建纯Python lib包
  • 使用导入挂钩导入其他笔记本
    • 维护与传统模块类似的编程模型 发展
    • 减少了在转换过程中修改笔记本内容的需要
  • 运行时开销最小
    • patch这样的功能将使用AST转换从生成的模块(导入的笔记本源代码)中删除
  • 目前没有文档生成
    • 松散地说,计划是使用现有的笔记本工具来重用 现有Jupyter生态系统

设计

该方案的计划是:

  1. 笔记本将被写在文学项目根目录的<PACKAGE_NAME>/
  2. 笔记本将尊重相对导入和其他纯Python特性,以尽量减少生成的包与笔记本之间的差异
  3. 在Poetry构建最终项目之前,将构建一个纯python生成的lib/<PACKAGE_NAME>/目录。
    例如。
    [tool.poetry]# ...packages=[  { include = "<PACKAGE_NAME>", from = "lib" },]

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

推荐PyPI第三方库


热门话题
java Google Oauth2刷新\u令牌为空   使用Spring REST分页在MongoDB中查询ObjectId的java日期范围   java JasperReportBuilder HTML行高   java在kstreams应用程序中使用自定义Kafka状态存储   java repaint()方法未重新绘制JPanel   在SBT/Play框架上运行Kotlin代码的java?   java instanceof vs多态性为什么instanceof更快?   来自滑块的java JButton背景色   java更改GridBagLayout中组件添加到框架后的约束   使用Java的firefox对象间谍   java如何在eclipse中“安装”Simple?   java将画布保存为jpg   来自jelastic的java导出应用程序   java从文本文件中读取内容并将其存储到数组中   java如何使用poi从ms word(.doc)中读取格式化文本作为html文本?   java突然无法解析的依赖项echotraceplay echosigarlibs   输出服务器问题[客户端服务器JAVA]   java除了ADFm还有其他JSR227实现吗?