Re: [pypy-dev] cppyy questions

2015-01-21 Thread wlavrijsen
Omer, My name is Omer which is the same as Omar (which is in Arabic) only in Hebrew. It's a common mistake. Don't worry. whoops ... :} Sorry! Time for new glasses (or a larger font size). Is there a good guide for compiling C++ code when running setup.py? I think we should link to it in the

Re: [pypy-dev] cppyy questions

2015-01-21 Thread Omer Katz
My name is Omer which is the same as Omar (which is in Arabic) only in Hebrew. It's a common mistake. Don't worry. Is there a good guide for compiling C++ code when running setup.py? I think we should link to it in the documentation. What happens if I install a cppyy extension using setup.py? Will

Re: [pypy-dev] cppyy questions

2015-01-21 Thread wlavrijsen
Omar, The documentation doesn't specify where should I place the rootmap file. yes it does. :) "By convention, the rootmap files should be located next to the reflection info libraries, so that they can be found through the normal shared library search path." i.e. they are found through th

Re: [pypy-dev] cppyy questions

2015-01-21 Thread Omer Katz
One last thing, The documentation doesn't specify where should I place the rootmap file. Is it where $REFLEX_HOME is set? 2015-01-20 19:16 GMT+02:00 : > Omar, > > So cppyy isn't production ready yet? >> > > that will always be in the eye of the beholder. :) > > If C++ exceptions can cause the p

Re: [pypy-dev] cppyy questions

2015-01-20 Thread wlavrijsen
Omar, So cppyy isn't production ready yet? that will always be in the eye of the beholder. :) If C++ exceptions can cause the process to crash that's very dangerous in production systems. Yes, C++ exceptions do that in C++ as well. :) Which is why we forbid them. Can we warn about this i

Re: [pypy-dev] cppyy questions

2015-01-20 Thread Omer Katz
So cppyy isn't production ready yet? If C++ exceptions can cause the process to crash that's very dangerous in production systems. Can we warn about this in the documentation. I think that people should know about this before investing time with it. 2015-01-20 19:03 GMT+02:00 : > Hi, > > I tried

Re: [pypy-dev] cppyy questions

2015-01-20 Thread wlavrijsen
Hi, I tried to pass a bytearray and that's also not currently supported. no, it really expects an std::string object to be passed through an std::string*, as Amaury advised. Any other type would require the creation of a temporary. (A C++ string is not a byte array. Typically, it carries a len

Re: [pypy-dev] cppyy questions

2015-01-20 Thread Omer Katz
Also how do I catch exceptions that are caused when parsing an event? >> e.ParseFromString('') >> [libprotobuf ERROR google/protobuf/message_lite.cc:123] Can't parse message of type "MyProtobufType" because it is missing required fields: header >> False 2015-01-20 18:18 GMT+02:00 Amaury Forgeot d'

Re: [pypy-dev] cppyy questions

2015-01-20 Thread Omer Katz
The fatal exception is not really that fatal. It just means that it can't serialize the protobuf object to a string. The normal protobuf Python bindings just raise Python exceptions. See https://github.com/google/protobuf/search?l=python&q=Exception&utf8=%E2%9C%93 The problem with IsInitialized()

Re: [pypy-dev] cppyy questions

2015-01-20 Thread Amaury Forgeot d'Arc
2015-01-20 17:00 GMT+01:00 Omer Katz : > I tried to pass a bytearray and that's also not currently supported. > Any clue about what should I do with the exception? It definitely > shouldn't crash the process. I need it to raise a python exception instead. > The only way to prevent a crash is to ad

Re: [pypy-dev] cppyy questions

2015-01-20 Thread Omer Katz
I tried to pass a bytearray and that's also not currently supported. Any clue about what should I do with the exception? It definitely shouldn't crash the process. I need it to raise a python exception instead. בתאריך 20 בינו 2015 17:49, ‏"Amaury Forgeot d'Arc" כתב: > 2015-01-20 16:07 GMT+01:00 O

Re: [pypy-dev] cppyy questions

2015-01-20 Thread Amaury Forgeot d'Arc
2015-01-20 16:07 GMT+01:00 Omer Katz : > That's correct but can't we handle those cases in cppyy? > We should provide a native Python interface whenever it's possible. > It's not possible to take a Python string as mutable reference. Here are some options that cppyy could implement: - Use bytea

Re: [pypy-dev] cppyy questions

2015-01-20 Thread Omer Katz
That's correct but can't we handle those cases in cppyy? We should provide a native Python interface whenever it's possible. 2015-01-20 15:40 GMT+02:00 Amaury Forgeot d'Arc : > Hi, > > 2015-01-20 14:14 GMT+01:00 Omer Katz : > >> The documentation is unclear how you can pass a pointer to a Python

Re: [pypy-dev] cppyy questions

2015-01-20 Thread Amaury Forgeot d'Arc
Hi, 2015-01-20 14:14 GMT+01:00 Omer Katz : > The documentation is unclear how you can pass a pointer to a Python > variable e.g.: > str = "" > > e.SerializeToString(str) > Message::SerializeToString() updates its argument in-place, but Python strings are not mutable. You should allocate a std::s

[pypy-dev] cppyy questions

2015-01-20 Thread Omer Katz
I'm trying to use protobuf with PyPy and I've been quite successful doing so with cppyy. I generated the protobuf in C++ and used reflex to generate the bindings. I've encountered some problems that I don't know how to deal with and the documentation doesn't describe what you can do to resolve them