Log of /trunk/bindings/pyroot/inc/TPython.h
Parent Directory
Revision
22759 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Mar 19 21:14:47 2008 UTC (6 years, 10 months ago) by
wlav
Original Path:
trunk/pyroot/inc/TPython.h
File length: 1934 byte(s)
Diff to
previous 20971
o) opt in ObjectProxy.h: skip creating of temporary TClassRef
o) TPython::Exec now returns kFALSE on failure
o) TPySelector now takes a python module, so that that file is
looked up through PYTHONPATH, and it searches for the
TPySelector derived class to instantiate and use
Revision
11682 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Apr 28 07:33:55 2005 UTC (9 years, 8 months ago) by
brun
Original Path:
trunk/pyroot/inc/TPython.h
File length: 1466 byte(s)
Diff to
previous 11523
From Wim Lavrijsen:
o) fix for array overloading when typecode is unknown
o) change name mangling __ -> _ for private data members
o) added prototype code for crossing python classes/objects into CINT,
for example:
$ cat Aap.py
print 'creating class Aap ... '
class Aap:
def __init__( self ):
print 'in Aap.__init__'
def gime( self, what ):
return what
$ root
root [0] TPython::LoadMacro( "Aap.py" );
creating class Aap ...
root [1] Aap a = Aap();
in Aap.__init__
root [2] const char* b = a.gime( "aap" );
root [3] b
(const char* 0x41fe1894)"aap"
root [4]
Revision
11225 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Mar 4 07:44:11 2005 UTC (9 years, 10 months ago) by
brun
Original Path:
trunk/pyroot/inc/TPython.h
File length: 1349 byte(s)
Diff to
previous 10433
From Wim Lavrijsen:
The core of PyROOT has been rewritten to:
1) reduce layers for performance,
2) refactor code (not completely done), and
3) follow the ROOT coding conventions
Along the way, a few loose ends have been wrapped up. Most notable of
these are: class static data, global builtin types, method doc strings,
mangled private member functions, and the addition of a C++ exception
to report python errors.
Revision
10433 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat Oct 30 06:26:43 2004 UTC (10 years, 2 months ago) by
brun
Original Path:
trunk/pyroot/inc/TPython.h
File length: 1346 byte(s)
Diff to
previous 9538
From Wim Lavrijsen
o) allow CINT-style commands .x, .! and .q
o) add gPad to __all__ in ROOT.py
o) simplify Pythonize.cxx through better use of Python C-API
o) add __cmp__ for TObject in Pythonize.cxx
o) allow '0' where a pointer is expected
o) class level enum support
o) global enum support (removed color enums from ROOT.py)
o) allow python functions without parameters for TF1
o) minimum python version set to 2.2 (was 2.1)
o) allow dynamic size checking in python buffers
o) fixed caching for TTree named access
o) follow ROOT conventions more closely in public .h files
o) return python int for int (instead of python long)
o) no longer treat gStyle, gRandom, etc. as special
Revision
9538 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat Jul 17 06:32:15 2004 UTC (10 years, 6 months ago) by
brun
Original Path:
trunk/pyroot/inc/TPython.h
File length: 1305 byte(s)
Diff to
previous 9179
From Wim Lavrijsen:
still trying to get a handle on better interaction with CINT, but in the
mean time a few housekeeping changes (see attach):
o) TPython, TPyReturn: added comments in line w/ ROOT autodoc conventions
o) MethodHolder: assert -> ReferenceError when accessing NULL object
o) MethodHolder: fix for PyObject parameter passing
Revision
9179 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat Jun 12 05:35:10 2004 UTC (10 years, 7 months ago) by
brun
Original Path:
trunk/pyroot/inc/TPython.h
File length: 749 byte(s)
Diff to
previous 8714
From Wim Lavrijsen:
Files for new class TPyReturn:
inc/TPyReturn.h
src/TPyReturn.cxx
this is a carrier object that results from TPython::Eval() and allows
implicit conversion to builtin types:
root> double d = TPython::Eval( "1.5+math.pi")
root> d
(double)4.64159265358979312e+00
as well as the original API (but now an explicit cast is required as
CINT doesn't use the implicit one):
root> TBrowser* b = (TBrowser*) TPython::Eval( "ROOT.TBrowser()" )
root> b
(class TBrowser*)0x8d057b0
Files for new class PropertyHolder:
src/PropertyHolder.h
src/PropertyHolder.cxx
which is similar to MethodHolder, but holds on to public data types as
requested by Juan in the form of a python property. Not all conversions
are implemented, though, so not all types of data members can be accessed,
as I'm factoring the commonality out of PropertyHolder and MethodHolder.
Files for intercepting requests for Python classes:
src/TPyClassGenerator.h
src/TPyClassGenerator.cxx
which is only very rudimentary right now.
Changes to existing files:
o reduced number of loaded libs in ROOT.py
o set interval check in ROOT.py to follow python2.3
o generate dictionary for TPyReturn
o use TPyReturn for TPython::Eval
o use new style classes in RootWrapper
o collect public data members and enter in pyclass dict
o moved type scanning to Utility
Revision
8699 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Added
Tue Apr 27 06:28:48 2004 UTC (10 years, 8 months ago) by
brun
Original Path:
trunk/pyroot/inc/TPython.h
File length: 557 byte(s)
Introduce new package pyroot by Pere Mato & Wim Lawrijsen.
pyroot is a Python interface to any class having a CINT dictionary.
pyroot is an optional package. It can be selected at configure time with, eg
--enable-explicitlink \
--enable-python \
--with-python-incdir=/usr/local/include/python2.3 \
--with-python-libdir=/usr/local/lib/python2.3 \
enable-explicitlink is mandatory to build pyroot.
Note that python2.3 or above is required. You can download it from
http://www.python.org
The installation is currently certified only on Linux with gcc3.2.
python/ROOT tutorials are available in $ROOTSYS/tutorials/*.py.
To run the python tutorials, you can do
setenv PYTHONDIR $ROOTSYS/pyroot:$ROOTSYS/lib
cd $ROOTSYS/tutorials
python hsimple.py
This form allows you to request diffs between any two revisions of this file.
For each of the two "sides" of the diff,
enter a numeric revision.