一个CLI命令,它生成一个包含文件和配置的新Git存储库,以优化Jupyter笔记本的版本控制

create-jupyter-git的Python项目详细描述


创建Jupyter Git

一个CLI命令,它生成一个包含文件和配置的新Git存储库,以优化Jupyter笔记本的版本控制

说明

Jupyter笔记本电脑的一个常见用途是学习、记笔记和编写可以在以后修改和运行的代码示例。其他常用的用途包括证明数据分析或机器学习,它们以图像和数据的形式生成大量输出。在这两种情况下,输出都会频繁更改,而且它没有笔记本电脑配置那么重要。对于许多用例,可以很容易地重新生成输出。在

笔记本生成的输出是在Git存储中被忽略的一个很好的候选者,因此提交是最小的,并且指向有意义的代码,而不是从该代码派生的数据。在

有许多方法可以用来控制你的Jupyter笔记本电脑的版本并忽略输出。在

最好的(documented here)之一是利用Git过滤器来定位*.ipynb文件,并在json中剥离出output字段,然后将其转移。在

在为Jupyter笔记本电脑设置新的repo时,此方法需要一些您可能不感兴趣或不想处理的步骤,因此可以使用此CLI命令创建和初始化配置已就绪的Git存储库。只要启动你的Jupyter笔记本电脑,当你遇到一个有意义的检查点时提交。在

安装

安装CLI

pip install create-jupyter-git

使用

运行CLI并在路径中指定要创建NEWGit存储库的位置

^{pr2}$

此存储库将有一个.gitignore,以确保检查点没有版本控制。它还创建一个带有过滤配置的.gitattributes,然后添加.git/config值,以利用通过git filter clean处理过滤的Python脚本。在

启动Jupyter

cd <new repository path>
jupyter lab notebooks

.venv

这个设置非常适合于只为笔记本引入依赖项,而这些依赖项不会扰乱全局或个人python库空间。在

设置您的.venv,并允许使用全局或用户Jupyter安装。在

cd <new repository path>
python3 -m venv .venv --system-site-packages

激活.venv

source .venv/bin/activate

添加您的.venv作为Juypyter内核

python -m ipykernel install --user --name=.venv

启动Jupyter实验室

jupyter lab notebooks

提交更改

你可以创建目录,笔记本,用精彩的代码填充你的笔记本,生成漂亮的输出。当您在开发中处于一个有意义的位置时,只需做一个git commit。现有的Git配置将过滤掉笔记本文件中的所有输出,并将其暂存。在

如果您向上推到GitHub这样的远程存储库,您将看到笔记本中的输出字段为空!太好了!在

您还将注意到GitHub在查看*.ipynb文件时为您重新生成预览格式的输出。因此,您仍然可以在GitHub中查看输出,而无需将其存储在源代码中。整洁!在

发展

出版

先撞一下版本

bumpversion --current-version x.x.x <major | minor | patch> setup.py create_jupyter_git/__init__.py

下一步生成分发文件

python setup.py sdist bdist_wheel

验证包

twine check dist/*

上载要发布的包

twine upload dist/*

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

推荐PyPI第三方库


热门话题
java为引用变量指定默认值   java在2D数组中旋转innersquare   java将hashmap键值与int进行比较   java程序中的并发监视器陷入死锁   安卓 java。lang.NoClassDefFoundError:java。awt。光标   java有没有更好的方法来引用包含对象的对象?   如何在Java编程中循环代码块   java如何在Junit5中使用Serenity?   java使用ANTLR识别JavaScript文件中的全局变量声明   EJB查询对象生成的java视图SQL?   java查找股票报价的范围   java错误:(453,69)不允许使用字符串类型(在值为“”的“活动\u水平\u边距”处)   java安装的环境变量   amazon web服务在使用awssdkjava上载到S3存储桶时发生直接错误   java在Android的ArrayList中添加相等的值   尝试打开MyEclipse Enterprise Workbench时出现ide“无法创建java虚拟机”错误   java如何使用单元格指定的行和列更改jTable的单元格颜色?   java如何等待文件从系统目录复制到具有根访问权限的外部存储