pypict:Microsoft PICT的Python绑定
项目描述
PyPICT
Microsoft PICT (成对独立组合工具) 的Python绑定库。
要求
Microsoft PICT 3.7.1
Python 3.7 / 3.8 / 3.9 / 3.10
安装
Linux (x86_64) 上有可用的wheel(二进制分发)。PICT共享库包含在wheel中。
$ pip install pypict
在其他平台上,您需要从源代码构建。PICT源树已注册为本存储库的子模块。运行 python setup.py build_pict 将在树内部运行 make 命令以构建PICT共享库。您需要手动安装共享库和命令,或将树的路径设置到适当的环境变量(PATH、LD_LIBRARY_PATH 等)。
$ git clone --recursive https://github.com/kmaehashi/pypict.git pypict $ cd pypict $ python setup.py build_pict $ pip install -U . $ export PATH=${PWD}/pict:${PATH} $ export LD_LIBRARY_PATH=${PWD}/pict:${LD_LIBRARY_PATH}
APIs
该库提供了不同层次的API。
低级API(《pypict.capi》)
低级API提供了映射到每个PICT C API函数的Python函数。
>>> import pypict.capi
>>> task = pypict.capi.createTask()
>>> print(task)
14042112
>>> pypict.capi.deleteTask(task)
CLIDLL API(《pypict.capi.execute》),接受PICT命令行参数并返回输出,也是可用的。
>>> import pypict.capi
>>> output = pypict.capi.execute(['example/example.model', '/o:2'])
>>> print(output)
Type Size Format method File system Cluster size Compression
Mirror 100 Quick FAT 2048 Off
...
注意,当生成警告时,CLIDLL API直接写入stderr。
您可以将 pypict 模块用作类似于PICT命令行工具的命令(例如,python -m pypict example/example.model /o:2)。
高级API(《pypict.api》)
高级API封装了低级API,以提供具有RAII API的自动内存管理。
>>> import pypict.api
>>> task = pypict.api.Task()
>>> task.model.add_parameter(2)
19976288
>>> task.model.add_parameter(3)
20013488
>>> list(task.generate())
[[1, 0], [0, 1], [1, 1], [0, 2], [1, 2], [0, 0]]
命令API(《pypict.cmd》)
命令API封装了CLIDLL API。
>>> import pypict.cmd
>>> pypict.cmd.from_model('''
... X: 1, 2
... Y: 3, 4
... ''')
(['X', 'Y'], [['2', '4'], ['2', '3'], ['1', '4'], ['1', '3']])
项目详情
关闭
哈希值 for pypict-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 18b661f6afda9774335cd6b2ff427c85f056a9ad9c48a29973dc2670e7e16777 |
|
MD5 | bef7b2ce45f5bef87544500bac4508ec |
|
BLAKE2b-256 | 6c38b0c30b5bb0d9417cfa37187ea1f84e1479ab216cb794e266b6bb6a38bd28 |
关闭
哈希值 for pypict-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6bf8ae87ec1d46d7a540070a3fea09c949906879dd2265d401c343f8879f3576 |
|
MD5 | 473f08e233561723e34a8fb9b03092eb |
|
BLAKE2b-256 | 3a2e00dc84c193d329398ed8fdb6b6ce08547bd4fd473f649e9ec81566e7ec25 |
关闭
哈希值 for pypict-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 366f775c5b17be76d946cf5efed1397cfb94105164c62a7c884823d8dfe66fa4 |
|
MD5 | 3f1e30611eb791a465a47b90be900cf5 |
|
BLAKE2b-256 | 5a7cecc852e203fdf39f0a7905ac727662f1c0b6f44cd30619d6d36e4a794a44 |
关闭
哈希值 for pypict-0.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 90434b9e5acd71aa907b73e30b91010cffcfa899e6747f03c219fbc9c120c6b6 |
|
MD5 | 9e831d70268653831c32ce53af666a17 |
|
BLAKE2b-256 | ab1f40caa186615a5e3791d71633b818897bd02c9f5e68acbb29e8c05a70a4de |