cppkh-interface 0.1.2__py3-none-any.whl → 0.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cppkh_interface/__init__.py +29 -25
- cppkh_interface/__main__.py +4 -4
- cppkh_interface/main.py +646 -509
- cppkh_interface/py.typed +1 -1
- {cppkh_interface-0.1.2.dist-info → cppkh_interface-0.2.0.dist-info}/METADATA +18 -19
- cppkh_interface-0.2.0.dist-info/RECORD +8 -0
- {cppkh_interface-0.1.2.dist-info → cppkh_interface-0.2.0.dist-info}/WHEEL +1 -1
- cppkh_interface/data/src/main.cpp +0 -3639
- cppkh_interface-0.1.2.dist-info/RECORD +0 -9
- {cppkh_interface-0.1.2.dist-info → cppkh_interface-0.2.0.dist-info}/entry_points.txt +0 -0
cppkh_interface/py.typed
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cppkh-interface
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary: Python interface for cppkh
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: Dependency-free Python interface for cppkh with runtime C++ compilation.
|
|
5
5
|
License-Expression: MIT
|
|
6
6
|
Author: GGN_2015
|
|
7
7
|
Author-email: neko@jlulug.org
|
|
@@ -12,10 +12,6 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
12
12
|
Classifier: Programming Language :: Python :: 3.12
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.13
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.14
|
|
15
|
-
Requires-Dist: cpp-simple-interface (>=0.1.2)
|
|
16
|
-
Requires-Dist: pd-code-de-r1
|
|
17
|
-
Requires-Dist: pd-code-delete-nugatory
|
|
18
|
-
Requires-Dist: pd-code-sanity (>=0.0.1)
|
|
19
15
|
Project-URL: Documentation, https://github.com/GGN-2015/cppkh/blob/main/docs/PYTHON_PACKAGE.md
|
|
20
16
|
Project-URL: Homepage, https://github.com/GGN-2015/cppkh
|
|
21
17
|
Project-URL: Repository, https://github.com/GGN-2015/cppkh
|
|
@@ -26,9 +22,9 @@ Description-Content-Type: text/markdown
|
|
|
26
22
|
`cppkh-interface` is a Python package for computing integer Khovanov homology
|
|
27
23
|
with the C++ `cppkh` implementation.
|
|
28
24
|
|
|
29
|
-
Version `0.1.
|
|
30
|
-
|
|
31
|
-
|
|
25
|
+
Version `0.1.3` has no runtime Python-package dependencies. Link crossing signs,
|
|
26
|
+
PD validation, R1 removal, and nugatory-crossing removal all use the bundled
|
|
27
|
+
canonical `cppkh` C++ source and its SageMath-compatible orientation rules.
|
|
32
28
|
|
|
33
29
|
The package is compatible with the main `javakh-interface` function:
|
|
34
30
|
|
|
@@ -42,13 +38,13 @@ print(cppkh_interface.solve_many_khovanov([pd_code, pd_code]))
|
|
|
42
38
|
|
|
43
39
|
Unlike wrappers that ship a prebuilt DLL or shared object, this package ships
|
|
44
40
|
the `cppkh` C++ source file in built distributions and compiles a local
|
|
45
|
-
executable on first use
|
|
46
|
-
is cached for later calls.
|
|
41
|
+
executable on first use using only Python's standard library. The compiled
|
|
42
|
+
executable is cached for later calls.
|
|
47
43
|
|
|
48
44
|
In the repository checkout, the package does not keep a committed backup copy
|
|
49
45
|
of the C++ source. The build backend copies `../../src/main.cpp` into the
|
|
50
|
-
package data directory only while
|
|
51
|
-
|
|
46
|
+
package data directory only while the PEP 517 build is running, then removes
|
|
47
|
+
that temporary copy.
|
|
52
48
|
|
|
53
49
|
## Install
|
|
54
50
|
|
|
@@ -56,17 +52,18 @@ running, then removes that temporary copy.
|
|
|
56
52
|
pip install cppkh-interface
|
|
57
53
|
```
|
|
58
54
|
|
|
59
|
-
A
|
|
60
|
-
|
|
55
|
+
A C++14 compiler must be available at runtime. The package looks at
|
|
56
|
+
`CPPKH_INTERFACE_CXX`, then `CXX`, then searches `PATH` for `g++`, `clang++`, or
|
|
57
|
+
`c++`. To select a compiler explicitly:
|
|
61
58
|
|
|
62
59
|
```sh
|
|
63
|
-
|
|
60
|
+
CPPKH_INTERFACE_CXX=clang++ python your_script.py
|
|
64
61
|
```
|
|
65
62
|
|
|
66
63
|
Windows PowerShell:
|
|
67
64
|
|
|
68
65
|
```powershell
|
|
69
|
-
$env:
|
|
66
|
+
$env:CPPKH_INTERFACE_CXX = "C:\path\to\g++.exe"
|
|
70
67
|
python your_script.py
|
|
71
68
|
```
|
|
72
69
|
|
|
@@ -75,11 +72,13 @@ python your_script.py
|
|
|
75
72
|
From this directory:
|
|
76
73
|
|
|
77
74
|
```sh
|
|
78
|
-
|
|
75
|
+
python -m build
|
|
79
76
|
poetry publish
|
|
80
77
|
```
|
|
81
78
|
|
|
82
|
-
|
|
79
|
+
Do not use `poetry build` or `poetry publish --build`: Poetry's direct builder
|
|
80
|
+
bypasses the source-synchronizing PEP 517 backend. Build first with
|
|
81
|
+
`python -m build`, inspect/test the wheel, then publish the existing artifacts.
|
|
83
82
|
|
|
84
83
|
For local testing:
|
|
85
84
|
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
cppkh_interface/__init__.py,sha256=3UnzgTQISAEQ49eCYzNO7avSVE69a-9OmAmYoyXiN3Q,632
|
|
2
|
+
cppkh_interface/__main__.py,sha256=V_N9eIkVUScS7MAKc_ZQlPTpjOKo9C9y_OU24bKGjzE,84
|
|
3
|
+
cppkh_interface/main.py,sha256=m8e62e9x37fAYRL6V040fiX8aCxYDBtdnnXplPSQph8,22229
|
|
4
|
+
cppkh_interface/py.typed,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
|
|
5
|
+
cppkh_interface-0.2.0.dist-info/entry_points.txt,sha256=CsnHBNaO_RJe4eFXmEZpSxWu-c1aF0RpjVFaEGlIm4Y,61
|
|
6
|
+
cppkh_interface-0.2.0.dist-info/METADATA,sha256=W2Z_pWAAW-QXNNvdtKGZj2Xq20VDeYKlmo-GfnViCEE,2802
|
|
7
|
+
cppkh_interface-0.2.0.dist-info/WHEEL,sha256=EGEvSphFYqXKs23-kQBeyNoJP1nrT8ZJKQoi5p5DYL8,88
|
|
8
|
+
cppkh_interface-0.2.0.dist-info/RECORD,,
|