一套为编织者提供数学和图表工具的集合。
项目描述
pyKnit
一套为编织者提供数学、创建图表以及更多功能的工具。
安装pyKnit
pip install pyknit
如果您想使用最新和最好的版本,请从GitHub获取pyknit,并使用pip install -e
在“可编辑”模式下安装。
git clone https://github.com/terriko/pyknit
pip install -e pyknit/
请注意,当您在此处执行pip install -e pyknit/
时,pyknit/
指的是目录。(您实际上不需要斜杠,但它可以使这更清晰。)如果您收到无法找到setup.py
的错误,您可能提供了错误的目录(并且可能需要cd ..
来上移一个目录)。
Jupyter-lab 使用方法
pyKnit与Jupyter结合使用效果最佳。这允许您在浏览器中“试验”函数并查看结果。我特别喜欢能够在行内显示图表的功能。
请确保您将Jupyter和pyknit安装在同一个位置(例如,如果您使用虚拟环境,则安装在同一虚拟环境中),以便您可以使用import pyknit
并使其正常工作。(您可以在此处阅读有关如何在Jupyter中安装Python包的更多信息。)
我更喜欢使用virtualenv和pip,因此我设置了以下环境
virtualenv -p python3.8 venv-3.8-jupyter
source venv-3.8-jupyter/bin/activate
pip install jupyterlab
pip install pyknit
jupyter-lab
开发者可能更喜欢从GitHub获取pyknit,并使用pip install -e $pyknit_directory
代替pip install pyknit
。记得在编辑代码时重启notebook内核,以获取您在pyknit目录中进行的任何更改!
从那里开始,jupyter lab将在浏览器中打开,您可以创建一个新的notebook进行试验。完成之后,您可以使用控制台中的^C
关闭notebook服务器,并在提示是否关闭时键入y
。您可以通过键入deactivate
并按回车来取消虚拟环境。
如果您稍后想再次运行它,您可以这样做
source venv-3.8-jupyter/bin/activate
jupyter-lab
(虚拟环境只需创建一次,您无需重新安装。)
使用PyKnit
import pyknit
# Sweater fit check math. My gauge doesn't match the pattern but I like the
# fabric I got in my swatch and don't want to change the needle I'm using.
# What size should I knit?
pattern_g = pyknit.GaugeSwatch(
stitch_count=27.5, stitch_measure=10, row_count=40, row_measure=4, units="in"
)
my_g = pyknit.GaugeSwatch(
stitch_count=23.5, stitch_measure=10, row_count=33, row_measure=4, units="in"
)
# The closest size to my measurements is the 42in chest one, let's convert that
size3 = pyknit.convert_stitch_measure(42, pattern_g, my_g)
print(f"{size3=}")
运行后,给出新的尺寸为49英寸。这件毛衣设计为加减2英寸(图案中有说明),所以我穿起来会太大,除非我喜欢特别宽松的毛衣。
size2 = pyknit.convert_stitch_measure(38, pattern_g, my_g)
size1 = pyknit.convert_stitch_measure(34, pattern_g, my_g)
print(f"{size2=}")
print(f"{size1=}")
它们分别给出了44.25英寸和40英寸(无论如何四舍五入到最近的四分之一英寸)
如果我要达到精确的42英寸胸围,我可以选择编织44英寸的,并有多2英寸的正放松(即毛衣会稍微宽松一些)或者40英寸的,有-2英寸的正放松(即毛衣会拉伸以适应我),我会选择我认为更好的一个,前提是我的样品足够有弹性。
如果您想替换自己的样品数字,这里有一个SweaterFit示例文件。
这里有如何使用pyknit计算毛衣袖口减少的示例,以帮助您入门。
对于使用Jupyter的用户,还有一些全交互式notebook可供使用
为什么选择pyKnit?
市面上有很多针对编织者的优秀工具,但它们不是开源的,这意味着如果我不喜欢它们的工作方式,我通常会陷入奇怪的折衷方案。我想做一些更灵活的编织工具会很有趣。
我会在会议演讲期间编织,每年在PyCon会议上,我都会遇到一些停下来问我正在编织什么或向我展示他们正在做什么的人。所以我知道编织和Python社区之间的交集足以让这件事对我之外的人也很有趣。
最后,编织涉及很多数学。并不是每个编织者都喜欢数学,即使是那些喜欢数学的人也会厌倦计算和重新计算。那么为什么不让计算机来做这项工作呢?我想象一个我可以发布一个带有交互式notebook的图案,让人们可以根据自己的尺寸定制毛衣,或者如果你想使用整根漂亮的渐变色线球,可以计算出如何调整披肩,或者选择将计算的针数添加到图案的每一行,以便人们可以检查是否出错了。
我们离复杂的部分还有一段时间,但万事开头难!
贡献
您有什么关于我们希望拥有的函数的想法吗?认为您发现了错误?通过问题告诉我们。
了解开源并想参与其中?在此处提交pull request
之前从未为开源做出过贡献?不确定开源是什么?这里有一份关于如何为开源做出贡献的指南,包括你为什么想这样做以及如何操作。我在日常工作经常与新的贡献者合作,所以不要害羞!我很乐意帮助你弄清楚。
如果你发现了一个安全问题并想私下联系我,给我发一封邮件。在针织软件中谈论安全问题可能感觉有点傻,但它确实会解析和显示内容,所以是可能的!
许可证
pyKnit 采用 GPL-2.0 许可证
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。