28#include "RConfigure.h"
45 (
char *)
"Allow to use seamlessly from Python the templated TDirectory::WriteObject method"},
47 (
char *)
"Add a custom pickling mechanism for Cppyy Python proxy objects"},
49 (
char *)
"Attr syntax for TDirectory, TDirectoryFile and TFile"},
51 (
char *)
"Allow to access branches as tree attributes"},
53 (
char *)
"Make TFile::Open a constructor, adjusting for example the reference count"},
55 (
char *)
"Get objects inside TDirectoryFile and TFile instantiations"},
57 (
char *)
"Cast the void* returned by TClass::DynamicCast to the right type"},
59 (
char *)
"Add equality and inequality comparison operators to TObject"},
61 (
char *)
"Add 'using' overloads for a given method to a class"},
63 (
char *)
"Fully enable the use of TTree::SetBranchAddress from Python"},
65 (
char *)
"Fully enable the use of TTree::Branch from Python"},
67 (
char *)
"Customize the setting of an item of a TClonesArray"},
69 (
char *)
"Add pretty printing pythonization"},
70 {(
char *)
"GetEndianess", (PyCFunction)
PyROOT::GetEndianess, METH_NOARGS, (
char *)
"Get endianess of the system"},
72 (
char *)
"Get pointer to data of a C++ object"},
73 {(
char *)
"GetSizeOfType", (PyCFunction)
PyROOT::GetSizeOfType, METH_VARARGS, (
char *)
"Get size of data-type"},
74 {(
char *)
"AsRVec", (PyCFunction)
PyROOT::AsRVec, METH_O, (
char *)
"Get object with array interface as RVec"},
75#ifdef R__HAS_DATAFRAME
76 {(
char *)
"AsRTensor", (PyCFunction)
PyROOT::AsRTensor, METH_O, (
char *)
"Get object with array interface as RTensor"},
78 (
char *)
"Make RDataFrame from dictionary of numpy arrays"},
81 (
char *)
"Initialize interactive ROOT use from Python"},
83 (
char *)
"Install an input hook to process GUI events"},
85 (
char *)
"Deserialize a pickled object"},
87 (
char *)
"Clear proxied objects regulated by PyROOT"},
89 (
char *)
"Create a LowLevelView object on the received address"},
90 {NULL, NULL, 0, NULL}};
92#define QuoteIdent(ident) #ident
93#define QuoteMacro(macro) QuoteIdent(macro)
94#define LIBROOTPYZ_NAME "libROOTPythonizations" QuoteMacro(PY_MAJOR_VERSION) "_" QuoteMacro(PY_MINOR_VERSION)
96#define CONCAT(a, b, c, d) a##b##c##d
97#define LIBROOTPYZ_INIT_FUNCTION(a, b, c, d) CONCAT(a, b, c, d)
99#if PY_VERSION_HEX >= 0x03000000
104#define GETSTATE(m) ((struct module_state *)PyModule_GetState(m))
106static int rootmodule_traverse(
PyObject *
m, visitproc visit,
void *arg)
108 Py_VISIT(GETSTATE(
m)->error);
114 Py_CLEAR(GETSTATE(
m)->error);
118static struct PyModuleDef moduledef = {PyModuleDef_HEAD_INIT,
LIBROOTPYZ_NAME, NULL,
120 rootmodule_traverse, rootmodule_clear, NULL};
124#define PYROOT_INIT_ERROR return NULL
138#if PY_VERSION_HEX >= 0x03000000
153 CallContext::SetGlobalSignalPolicy(!
gROOT->IsBatch());
158#if PY_VERSION_HEX >= 0x03000000
#define PYROOT_INIT_ERROR
#define LIBROOTPYZ_INIT_FUNCTION(a, b, c, d)
static PyMethodDef gPyROOTMethods[]
static PyObject * InstallGUIEventInputHook(PyObject *self, PyObject *args)
Install a method hook for sending events to the GUI.
static PyObject * InitApplication(PyObject *self, PyObject *args)
Initialize an RPyROOTApplication.
PyObject * CreateScopeProxy(Cppyy::TCppScope_t)
PyObject * GetEndianess(PyObject *self, PyObject *args)
Get endianess of the system.
PyObject * AddSetItemTCAPyz(PyObject *self, PyObject *args)
Customize the setting of an item of a TClonesArray.
PyObject * AddTObjectEqNePyz(PyObject *self, PyObject *args)
Add pythonization for equality and inequality operators in TObject.
PyObject * MakeNumpyDataFrame(PyObject *self, PyObject *obj)
Make an RDataFrame from a dictionary of numpy arrays.
PyObject * AddTDirectoryFileGetPyz(PyObject *self, PyObject *args)
Add pythonisation of TDirectoryFile::Get()
PyObject * SetBranchAddressPyz(PyObject *self, PyObject *args)
Add pythonization for TTree::SetBranchAddress.
PyObject * BranchPyz(PyObject *self, PyObject *args)
Add pythonization for TTree::Branch.
PyObject * ClearProxiedObjects(PyObject *self, PyObject *args)
PyObject * AsRTensor(PyObject *self, PyObject *obj)
Adopt memory of a Python object with array interface using an RTensor.
PyObject * GetDataPointer(PyObject *self, PyObject *args)
Get pointer to the data of an object.
PyObject * GetSizeOfType(PyObject *self, PyObject *args)
Set of helper functions that are invoked from the pythonizors, on the Python side.
PyObject * AddUsingToClass(PyObject *self, PyObject *args)
Add base class overloads of a given method to a derived class.
PyObject * AddCPPInstancePickling(PyObject *self, PyObject *args)
Set reduce attribute for CPPInstance objects.
PyObject * AddBranchAttrSyntax(PyObject *self, PyObject *args)
Allow branches to be accessed as attributes of a tree.
PyObject * AddDirectoryWritePyz(PyObject *self, PyObject *args)
Add pythonisation of TDirectory::WriteObject.
PyObject * AddDirectoryGetAttrPyz(PyObject *self, PyObject *args)
Add attr syntax to TDirectory.
PyObject * AsRVec(PyObject *self, PyObject *obj)
Adopt memory of a Python object with array interface using an RVec.
PyObject * CreateBufferFromAddress(PyObject *self, PyObject *addr)
Get a buffer starting at a given address.
PyObject * CPPInstanceExpand(PyObject *self, PyObject *args)
Deserialize pickled objects.
PyObject * AddTClassDynamicCastPyz(PyObject *self, PyObject *args)
Add pythonization for TClass::DynamicCast.
PyObject * AddPrettyPrintingPyz(PyObject *self, PyObject *args)
Add pretty printing pythonization.
PyObject * AddFileOpenPyz(PyObject *self, PyObject *args)
Make TFile::Open equivalent to a constructor.