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/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.1.2
4
- Summary: Python interface for cppkh Khovanov homology computation with runtime C++ compilation.
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.2` resolves link crossing signs by tracing directed PD edge
30
- incidences with the SageMath convention. It does not infer signs from numeric
31
- arc-label ordering.
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 through `cpp-simple-interface`. The compiled executable
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 `poetry build` or `poetry publish --build` is
51
- running, then removes that temporary copy.
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 `g++` compatible compiler must be available at runtime. To select a compiler,
60
- set `CXX` before importing or calling the package:
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
- CXX=clang++ python your_script.py
60
+ CPPKH_INTERFACE_CXX=clang++ python your_script.py
64
61
  ```
65
62
 
66
63
  Windows PowerShell:
67
64
 
68
65
  ```powershell
69
- $env:CXX = "C:\path\to\g++.exe"
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
- poetry build
75
+ python -m build
79
76
  poetry publish
80
77
  ```
81
78
 
82
- Use `poetry publish --build` to build and upload in one command.
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,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.4.1
2
+ Generator: poetry-core 2.4.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any