k1a  1.1
Accelerated functionalities for k1lib
main.cpp
Go to the documentation of this file.
1 #define PY_SSIZE_T_CLEAN
2 #include <Python.h>
3 
4 #include <fstream>
5 #include <iostream>
6 #include <string>
7 #include <vector>
8 
9 #include "StrIterCat.h"
10 #include "funcs.h"
11 #include "utils.h"
12 
13 extern "C" {
14 PyMODINIT_FUNC PyInit_k1a(void) {
15  PyObject *m;
16 
17  if (k1a::debug) {
19  k1a::log_println("module init");
20  }
21 
22  m = PyModule_Create(&k1a::k1amodule);
23  if (m == NULL) return NULL;
24 
25  std::string version = "1.1";
26  PyModule_AddObject(m, "__version__", PyUnicode_FromString(version.c_str()));
27 
28  Py_INCREF(&k1a::PyStrIterCat_Type);
29  PyModule_AddObject(m, "StrIterCat", (PyObject *)&k1a::PyStrIterCat_Type);
30 
31  if (k1a::debug) k1a::log_println("module finish init");
32  return m;
33 }
34 }
PyMODINIT_FUNC PyInit_k1a(void)
Definition: main.cpp:14
bool debug
Definition: utils.cpp:14
PyTypeObject PyStrIterCat_Type
Definition: StrIterCat.cpp:64
void log_println(T s)
Definition: utils.h:21
void log_clear()
Definition: utils.cpp:16
struct PyModuleDef k1amodule
Definition: funcs.cpp:191