commit 4544e08997a7af6a8defa47efae1e9ba5c2c30f6
parent d25f23805c6d7128b508a359d47af136dd2fd0db
Author: Sebastiano Tronto <sebastiano@tronto.net>
Date: Mon, 11 Aug 2025 12:05:08 +0200
Simplified name of Python module
Diffstat:
7 files changed, 21 insertions(+), 15 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -36,6 +36,7 @@ tools/results
*.a
*.o
*.so
+*/*.so
*.s
*.pyd
*.dll
diff --git a/README.md b/README.md
@@ -224,8 +224,8 @@ $ ./build python
And to import it
```
-$ python # In the main folder
->>> import nissy_python_module as nissy # In the python shell
+$ python # In the main folder or in the python subfolder
+>>> import nissy # In the python shell
```
From here you can call the library functions directly, for example:
diff --git a/build b/build
@@ -280,7 +280,7 @@ build_python() {
fi
build_nissy || exit 1
run $CC $PYCFLAGS $WFLAGS $PYTHON3_INCLUDES $OFLAGS -shared \
- -o nissy_python_module.so nissy.o python/nissy_module.c
+ -o python/nissy.so nissy.o python/nissy_module.c
}
build_cpp() {
diff --git a/python/examples/move.py b/python/examples/move.py
@@ -1,10 +1,13 @@
-# Small example of nissy_python_module usage
+# Small example of nissy Python module usage
# See the solve.py example for more details on how this works
import os, sys
+# Assume we are eithe rin the top-level directory of the nissy-core repo,
+# or in the python subdirectory
sys.path.append(os.getcwd())
-import nissy_python_module as nissy
+sys.path.append(os.getcwd() + os.path.sep + "python")
+import nissy
cube = nissy.applymoves(nissy.solved_cube, "R' U' F");
print("Cube after the moves R' U' F:")
diff --git a/python/examples/solve.py b/python/examples/solve.py
@@ -1,14 +1,15 @@
-# Small example of nissy_python_module usage
+# Small example of nissy Python module usage
-# Compile the python module with "make python", then run this from the main
-# folder containing nissy_python_module.so
+# Run "./build python", then run this from either the top-level directory
+# of the nissy-core repo or from the python subdirectory.
-# Append the main folder to the python path so we can load the module
+# Append the directories to the python path so we can load the module
import sys, os
sys.path.append(os.getcwd())
+sys.path.append(os.getcwd() + os.path.sep + "python")
# Import with a nicer name
-import nissy_python_module as nissy
+import nissy
# Choose the solver you prefer
solver = "h48h0k4"
diff --git a/python/examples/variations.py b/python/examples/variations.py
@@ -1,9 +1,10 @@
-# Small example of nissy_python_module usage
+# Small example of nissy Python module usage
# See the solve.py example for more details on how this works
import sys, os
sys.path.append(os.getcwd())
-import nissy_python_module as nissy
+sys.path.append(os.getcwd() + os.path.sep + "python")
+import nissy
moves = "R U' Bw2 M D' x' F B(E2 F D B' Lw2 U2 U' S2 B)"
diff --git a/python/nissy_module.c b/python/nissy_module.c
@@ -431,7 +431,7 @@ static PyMethodDef nissy_methods[] = {
{ NULL, NULL, 0, NULL }
};
-static struct PyModuleDef nissy_python_module = {
+static struct PyModuleDef nissy = {
.m_base = PyModuleDef_HEAD_INIT,
.m_name = "nissy",
.m_doc = "python module for libnissy",
@@ -449,11 +449,11 @@ log_stdout(const char *str, void *unused)
fprintf(stderr, "%s", str);
}
-PyMODINIT_FUNC PyInit_nissy_python_module(void) {
+PyMODINIT_FUNC PyInit_nissy(void) {
PyObject *module;
nissy_setlogger(log_stdout, NULL);
- module = PyModule_Create(&nissy_python_module);
+ module = PyModule_Create(&nissy);
PyModule_AddStringConstant(module, "solved_cube", NISSY_SOLVED_CUBE);
PyModule_AddIntConstant(module, "nissflag_normal", NISSY_NISSFLAG_NORMAL);