ANNOUNCE: NHI1-0.11, PLMK-2.0 und libmsgque-5.0

2011-01-14 Thread Andreas Otto
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Dear User,


ANNOUNCE:Major Feature Release


  libmsgque: Application-Server-Toolkit for
 C, C++, JAVA, C#, Go, TCL, PERL, PHP, PYTHON, RUBY, VB.NET
  PLMK:  Programming-Language-Microkernel
  NHI1:  Non-Human-Intelligence #1


SUMMARY
===


Finish release 4 of wp2 with adding Factory support.
The Factory add the ability to create NEW server-types on-the-fly and
introduce the self-programming capability to NHI1.

The Factory is an important part of the object management and has the
following basic features:

 * create a new instance identified by an Identifier or using an
   already available instance as template
 * cleanup and delete an instance
 * provide an Identifier for factory lookup and as an unique
   application name
 * identify the server in the network

The link between the Factory-Identifier and the Factory-Interface is
important for the future development of libmsgque. Message-Routing,
Service-Location and Persistent-Transactions depend on this feature.

The relationship between the MqFactoryS and the MqS is the same as
the relationship between a type and an instance of the type in a
regular programming language.
The MqFactoryS define the type of the server and the MqS define a
single instance of the server. Every kind of server has !!only one!!
specific MqFactoryS object but every instance of a server has one
MqS object used for object management. Decreasing the size and the
complexity of a MqS object will improve the server performance.
In future more fields, defined in the MqSetupS attribute of the the
MqS object, will move into MqFactoryS object.



LINKS
=

  libmsgque including PHP documentation:
http://nhi1.berlios.de/theLink/index.htm
  NHI1:
http://nhi1.berlios.de/
  DOWNLOAD:
http://developer.berlios.de/projects/nhi1/



mfg, Andreas Otto (aotto1968)
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.15 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJNMBYJAAoJEGTcPijNG3/AxGkH/1Nf7GBL7DWAUktwaFs7Bs69
7voAXXWgIug+X42MqmsjFY8TrVGSHJfB8au+gecP1z6RQnPlubT2Od9T3GbXJL5h
ZeyK8r2cf7reqp0W63iw0Gh+mDV/bmcjqjA8RTvw95du8l8t0W+zSjcDmeMct/a6
o8eTvQTfCyr7+LcOqjzVEA19XVVgJBF55DA24+HACVFgXfRchpylZiXegmAC0iFy
gWKDAyiC95wJzZuqK+a5hPAYOZ+nhAaEMDVY0olN81qnWnb7j6uubSWAbgdXPWaP
zu1gXoGo2fugqQt8XB1Ux8gHZhXOXVQGxcX2LyMUwiI1iXxnLVXXL1K3p7+Wnng=
=/7W5
-END PGP SIGNATURE-
-- 
http://mail.python.org/mailman/listinfo/python-list


ANNOUNCE: NHI1-0.10, PLMK-1.8 und libmsgque-4.8

2010-11-30 Thread Andreas Otto
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Dear User,


ANNOUNCE:Major Feature Release


  libmsgque: Application-Server-Toolkit for
 C, C++, JAVA, C#, Go, TCL, PERL, PHP, PYTHON, RUBY, VB.NET
  PLMK:  Programming-Language-Microkernel
  NHI1:  Non-Human-Intelligence #1


STATEMENT
=

It takes 2 years
and a team of qualified software developers
to implement a new programming language,
but it takes only 2 weeks to add a micro-kernel
- - aotto1968


SUMMARY
===


Add support from the programming language Go from Google


LINKS
=

  UPDATE - PLMK definition
   
http://openfacts2.berlios.de/wikien/index.php/BerliosProject:NHI1_-_TheKernel
  ChangeLog:
http://nhi1.berlios.de/theLink/changelog.htm
  libmsgque including PHP documentation:
http://nhi1.berlios.de/theLink/index.htm
  NHI1:
http://nhi1.berlios.de/
  DOWNLOAD:
http://developer.berlios.de/projects/nhi1/
  Go man pages:
reference: gomsgqueref.n
tutorial:  gomsgquetut.n



mfg, Andreas Otto (aotto1968)
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.15 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJM9OZsAAoJEGTcPijNG3/A+qwH/1WT3K8619eLzQ78dylS623r
qrZtHXRxieD+4GIBgkU7KbNu+LGztxasLW9upafmmF2mGcWtIFuiOEJtw6MJM+07
0X7elXM5WZkXK65dbLE5bbSfO0DHw5T6aIweogA3zjcjDbB3rSC/T6WIlZB4HNYh
nBj9xC6WMP7s/jEjs4i5FCRT6gTRzDDJbR+SXqNEEYc/z8wVKPUDfpU/6JGxl9MV
rPSUsO+YdZX0XI7+imiUYSVyt+kniL3C36kGON/qGDahscoQYFS6GdoI5XDzI0c+
jN7Q2Ecrphd5F5G/2plNLbVy4mPVd9k/I8VjXMaHLm+skT2Z4Zt7aF29A1FFw68=
=/O74
-END PGP SIGNATURE-
-- 
http://mail.python.org/mailman/listinfo/python-list


ANNOUNCE: NHI1-0.9, PLMK-1.7 und libmsgque-4.7

2010-11-11 Thread Andreas Otto
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Dear User,


ANNOUNCE:Major Feature Release


  libmsgque: Application-Server-Toolkit for
 C, C++, JAVA, C#, TCL, PERL, PHP, PYTHON, RUBY, VB.NET
  PLMK:  Programming-Language-Microkernel
  NHI1:  Non-Human-Intelligence #1



LINKS
=

  ChangeLog:
http://nhi1.berlios.de/theLink/changelog.htm
  libmsgque including PHP documentation:
http://nhi1.berlios.de/theLink/index.htm
  NHI1:
http://nhi1.berlios.de/
  DOWNLOAD:
http://developer.berlios.de/projects/nhi1/
  PHP man pages:
reference: msgqueforphpref.n
tutorial:  msgqueforphptut.n



SUMMARY
===

This version adds the ability to:

* PHP language support.
* a new interface of the ProcessEvent function and the startAs
configuration option.
* terminate an application from a callback with the ErrorSetEXIT function.

The PHP language is characterized by an extensive but undocumented C
API. The number of features combined with a growing and moving language
made the extension programming difficult and lengthy. The successful PHP
extension shows the flexibility and adaptability of NHI1.


mfg

  Andreas Otto (aotto1968)
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.15 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJM3Ds6AAoJEGTcPijNG3/ATywH/iguN1+96sp2RGzIz6N3I8mx
tw4YO6ac8NPT+Ztm+IXYbGlkyb2Z/3UwES7aZunYy7DK/kJBh7VBbZNGGWZlRTvm
w02uMa4dTCBye8tNkQ8dRAxjshe9taM1+54Z4k1EsFmIXOMi8bbdDuAPk2i8xGRu
vJIFC6ubIx93Sjgodcr/AIGRskjutpF29+uoaSMz+8UrTxnSoJxq8VvgWR/+MXfZ
UOb8GutVV6bGI/ylE/NgLpxvE1LUMNgMS0QzHgQHSu4E/8tW3Oyzt6FU68k51n8+
OTJaFYC7o1W9VwSoc/HNHPhVmECYONW40pRrf2P0llqiKElBAd23g1/h83iblqo=
=5U+w
-END PGP SIGNATURE-
-- 
http://mail.python.org/mailman/listinfo/python-list


ANNOUNCE: NHI1-0.8, PLMK-1.6 und libmsgque-4.6

2010-10-22 Thread Andreas Otto
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Dear User,


ANNOUNCE:Major Feature Release


  libmsgque: Application-Server-Toolkit for
 C, C++, JAVA, C#, TCL, PERL, PYTHON, RUBY, VB.NET
  PLMK:  Programming-Language-Microkernel
  NHI1:  Non-Human-Intelligence #1


LINKS
=

  ChangeLog:
http://nhi1.berlios.de/theLink/changelog.htm
  libmsgque:
http://nhi1.berlios.de/theLink/index.htm
  NHI1:
http://nhi1.berlios.de/
  DOWNLOAD:
http://developer.berlios.de/projects/nhi1/


SUMMARY
===

This release adds the ability to:

* Ruby language support (LNG)
* L)anguage A)bstraction L)ayer (LaL)
* G)arbage C)ollection (GC) Object-Mark

Ruby is an object-oriented programming language like Python.
The new 'libmsgque' function (MqMark) was added to the GC support and
marks all objects that are referenced within 'libmsgque'. The programmer
now has the opportunity to replace internal functions such as:
SysCalloc, SysMalloc, SysRealloc, SysFree, SysSelect, SysFork,
SysServerSpawn, SysServerThread, SysServerFork, SysWait, SysUSleep,
SysSleep, SysDaemonize, SYSEXIT, SysAbort to adapt to the environment (Lal).


The connection of Ruby on libmsgque had light and shadow.
The light was clearly a complete API that allows very fast classes and
functions to be defined in C. The result was convincing in the
performance test, and let Python, Perl and Tcl behind.
The shadow was first of all the non-existent documentation. The initial
enthusiasm for the thread link was to quickly and ultimately turned out
to be unusable (no matter how many processors / cores are available in
Ruby is only one thread is active and the others are blocked -
ridiculous). Last I made the memory management (garbage collection) to
create. I have no problem with Mark and sweep but without
IncrRefCout and DecrRefCount is a torture and forced me to adapt my
garbage collector.

Finally, a note in their own right:
will from now on, during the development of a work package, only source
code and binaries for x86_64 - created Linux. The reason lies in the
necessary acceleration of the development. The packages for other
operating systems like Windows or BSD / MacOSX only be made at the end
of a Work-Package. Ports and specific adjustments can be booked as a
consulting service.


mfg

  Andreas Otto (aotto1968)
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.15 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJMwcYgAAoJEGTcPijNG3/ALfAH/2k6X1Ry04V4r6k/KYdXocTD
7VmY1NYbGlOIlF5kyM07cDX97tlZG6kxV/RhjF435UZdqcDUkqeQBhULNps5Tugr
6P6n5bPVoTLCQNKpAKE4MAqsia8YmRDn34geDpjczicWLpYEMAoiOHYnGOjzSEba
esEm0ZKnT5ya5YbRkvnnlr6F1aYWW2zEoz1W9oxVPZ2kjf15reCD4rNBziJNTDRI
D5S+UoRB5vkwFmVdryxxwZVBxkUTqJv+XopT7eMpY6UF+Z9dTetiaI7jGTvKxCts
aO9t51kwDnaKwr1wOtgQf51/+stXeXrC1fB45+N0M1a9ugMhvIKXfBcWN9mBysg=
=3EFe
-END PGP SIGNATURE-
-- 
http://mail.python.org/mailman/listinfo/python-list


ANNOUNCE - NHI1 / PLMK / libmsgque - Work-Package-II

2010-10-01 Thread Andreas Otto
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Dear User,


ANNOUNCE:Work-Package-II


  libmsgque: Application-Server-Toolkit for
 C, C++, JAVA, C#, TCL, PERL, PYTHON, VB.NET
  PLMK:  Programming-Language-Microkernel
  NHI1:  Non-Human-Intelligence #1


SUMMARY
===

  After six month research workshop with bicycling through the
  'Black Forrest', 'Vosges', 'Switzerland' / 'French' and 'Italy'
  Alps ... I'm back to serve for Work Package II of NHI1


Read More At


  http://nhi1.berlios.de/theLink/wp2.htm


mfg

  Andreas Otto (aotto1968)
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.15 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJMpb3oAAoJEGTcPijNG3/AzuMH/jU2HKpDL56Imlx25ztWR/Jl
wESKLLj8vBgiFWDUprxpBYF5CHGblXCMfk1CowfnjJ7TiuLKMNhTv/W3V/9gCYbb
C9wNZ6lpl9NYBnfD5QuR6vJsPK9pYY0nhcCh3W1jHOXZ/vlafGhvQETFZp32ukXz
JTWx1LxB4NNxfuXBH5pRnDM9olAVMzndjr/+5QtmM3tQIOKV59wUJWn+1wz+N4Ol
ZwrqYEi355sdFqWdANqlWx5aihInfM25HPZj60lF7lTHWAItJFZDAgjzd55I04wO
S+hvlL18jyTJaJGy/otdYEj3IdVJvc/UzMcOiz9UBSThvhbmTf1OIYr2X9zyGRM=
=gWr2
-END PGP SIGNATURE-
-- 
http://mail.python.org/mailman/listinfo/python-list


ANNOUNCE: Major Feature Release - NHI1-0.7, PLMK-1.6 and libmsgque-4.5

2010-03-08 Thread Andreas Otto
Dear User,


ANNOUNCE:Major Feature Release


  libmsgque: Application-Server-Toolkit for
 C, C++, JAVA, C#, TCL, PERL, PYTHON, VB.NET
  PLMK:  Programming-Language-Microkernel
  NHI1:  Non-Human-Intelligence #1


SUMMARY
===

This is a 'major-feature-release' to add 'longtime-transaction' support.

A 'longtime-transaction' is a transaction with a possible infinite time
period between the start and the end. A 'longtime-transaction' is always
a 'persistent-transaction' too. The 'persistent' support is available as
an in-memory solution on the 'application-server' or in an additional
'bidirectional-filter' available for the next release.

A typical scenario for a 'longtime-transaction' is:

* A user with a client connect to the server and start a
'longtime-transaction' job. After a while the user shutdown the client
and leave the office. At the next morning the user start the client
again and the results are send from the server to the client.
* On a space mission the time-overhead between transaction start and end
is large. It is usually not possible to keep the
client-server-connection open all the time.
* On a military action-system the enemy try to interrupted the
client-server-connection to disable data communication.

To use a 'longtime-transaction' the results are send to a
'client-service' registered with MqServiceCreate. This service and
addtional data (I call this data 'local-context-data') have to be added
to the 'longterm-transaction' package to be available in the result. On the
'link-target' the 'local-context-data' is initial stripped from the
'data-package' and is later added to the results again.

The 'local-context-data' is added to the 'data-package' with
MqSendT_START and MqSendT_END.
The 'local-context-data' is read from the 'data-package' with
MqReadT_START and MqReadT_END.


LINKS
=

  libmsgque:
http://nhi1.berlios.de/theLink/index.htm
  NHI1:
http://nhi1.berlios.de/
  DOWNLOAD:
http://developer.berlios.de/projects/nhi1/



mfg

  Andreas Otto (aotto1968)
-- 
http://mail.python.org/mailman/listinfo/python-list


ANNOUNCE: libmsgque-4.1, PLMK-1.2, NHI1-0.3

2009-12-23 Thread Andreas Otto
Dear User,


ANNOUNCE:  Christmas-Present-Release


  libmsgque: Application-Server-Toolkit for
 C, C++, JAVA, C#, TCL, PERL, PYTHON, VB.NET
  PLMK:  Programming-Language-Microkernel
  NHI1:  Non-Human-Intelligence #1


SUMMARY
===

  libmsgque: add the new technology called:

  bi-directional filter 

  to extend the functionality of an existing client/server
  application without implementation details available.

   http://nhi1.berlios.de/theLink/filter.htm

  NHI1: add new subproject theGuard including the new
  tool aguard to encrypt an existing libmsgaue client/
  server link.

   http://openfacts2.berlios.de/wikien/index.php/
 BerliosProject:NHI1_-_TheGuard


LINKS
=

  libmsgque:
http://nhi1.berlios.de/theLink/index.htm
  NHI1:
http://nhi1.berlios.de/
  DOWNLOAD:
http://developer.berlios.de/projects/nhi1/



mfg

  Andreas Otto (aotto1968)
-- 
http://mail.python.org/mailman/listinfo/python-list


ANNOUNCE: libmsgque 3.6 with perl support

2009-10-19 Thread Andreas Otto
Dear Users,
=

?? I would like to announce libmsgque 3.6 and PLMK 1.1

?? libmsgque is an infrastructure to write programming language
?? independent software using the :

?? ??  Programming Language Micro Kernel

?? architecture. Never was it so easy to write an application server 
?? by your own or to extend your software from local-size to company-size.

?? LibMsgque does now support software written in:

?? ??  C, C++, C#, JAVA, Python, Tcl and ?? ??!! ?? Perl ?? !!

?? available on Unix or Windows OS.

?? Performance is always a story and is measured for every supported
?? language on its own. Read more at:

?? ??  http://libmsgque.sourceforge.net/performance.htm


CHANGES
 ??

- Add new programming language Perl
?? The new language is added if the --enable-perl configure switch is used.
?? Create and Install new perl module Net::Msgque.
?? Use native perl MakeMaker build environment to create Perl-Conform build
?? and perform a Perl-Conform installation.
- The dependency for Tcl is now optional
?? The Tcl language is added if the --enable-tcl configure switch is used.
?? Be aware that the test-environment depend on Tcl
- Add asynchronous background handler
?? This handler is used to process errors not belonging to a transaction in
?? a centralized manner. The feature was implemented as Interface (C++,Java
?? ,C#) or as configuration option (C,Perl,Python,Tcl).
- Add signature based type checking
?? Non-Typed languages without usable class or inheritance type checking now
?? using this feature to create type-save code. This feature is used for Tcl
?? and Perl.
- Add new Performance Test environment
?? The new environment using a separated directory performance and does
?? create better results combined with a clearly arranged result-table. Read
?? more in performance/README


READ MORE
==

??  http://libmsgque.sourceforge.net/
??  http://sourceforge.net/projects/libmsgque/


AUTHOR
===

?? aotto1968


-- 
http://mail.python.org/mailman/listinfo/python-list


ANNOUNCE libmsgque 3.5, ANNOUNCE (P)rogramming (L)anguage (M)icro(K)ernel 1.0

2009-09-25 Thread Andreas Otto

Dear Users;


  this is the ANNOUNCEMENT of:

libmsgque 3.5 

  and the *first* public  ANNOUNCEMENT of the:

(P)rogramming (L)anguage (M)icro(K)ernel 1.0


  
  libmsgque 3.5
=

LibMsgque is an OS independent, programming language independent, 
and hardware independent solution to link applications together to act like 
a single application. In other words, LibMsgque is an application-server 
toolkit.

  changes from libmsgque 3.5
===

- Add new programming language C++ :
  The new language is added if the --enable-cxx configure switch is used.
- C++ add a new design pattern to libmsgque based on the language 
requirements:
  1.  In C++ a constructor can not call a virtual method. This is the 
main
  difference between C++ and C# or JAVA. This require that
  Object creation/deletion and Link creation/deletion have to be 
  separated into two different tasks. The former (C# and JAVA) 
  implementation was to use a feature-rich constructor to setup a
 Link during object creation. This was changed.
  A new methods LinkCreate(..) and LinkCreateChild(..) were
  introduced for Link setup as counterpart for the LinkDelete()
  method. A new method ConfigGetIsConnected() return the Link-Status
  of the Object-Instance. With the new Pattern it is now possible to
  reuse a object-instance.
  2.  In C++ a RTTI based Object-Creation is not possible. This task was
  shifted into a Factory pattern. A virtual method called:
  virtual MqC* Factory() const
  is used to return a new object instance of the top-most class.
  The Factory pattern was used as default design pattern because of:
- far more easy as the RTTI design pattern
- available for every programming language
- change the default visibility for GCC functions to hidden -
fvisibility=hidden.
- This support the Windows binary design on Linux to create faster
code.
- redesign of the main struct MqS and delete many of the data pointers
- create smarter and faster code
- only *one* pointer is used to used the entire API
- the Filter mode was redesigned and is using the Master/Slave pattern
- code cleanup and standardization
- the IFilterFTR / IFilterEOF does now support a pipelining as
   default
- the Error handling was redesigned and moved into an independent object
  or class. This was necessary to transport an error through the error
  stack of the embedded programming language.


  (P)rogramming (L)anguage (M)icro(K)ernel 1.0


  JAVA says:

YOU can do whatever YOU want on every os YOU require but YOU have
 to use JAVA

  C# says:

YOU can do whatever YOU want on every os YOU require but YOU have
 to have to use a CLR compatible language

  I say:

YOU can do whatever YOU want on every os YOU require using the
 programming language YOU like most but YOU have to use the PLMK
 design pattern


The PLMK is an afford to shift the design responsible away from the very 
heteros group of language designers to a free open and mature framework 
called PLMK. This framework is available for C, C++, C#, JAVA, PYTHON 
and TCL and was designed as C/C++ shared library. The library is able to 
plugin into the hosting programming language to take-over the responsibly 
for the application design. PLMK is *not* a programming language, the 
software
programming is done using the hosting programming language *only*.


   - libmsgque is the first component of the PLMK framework -



  GET IT


  read more at: http://libmsgque.sourceforge.net/
  get the software from:http://sourceforge.net/projects/libmsgque/
  subversion archive:   https://libmsgque.svn.sourceforge.net/svnroot/
/libmsgque/tags/libmsgque-3.5/



mfg

  aotto1968


-- 
http://mail.python.org/mailman/listinfo/python-list


Re: problem to write a THREAD enabled python extension

2009-08-25 Thread Andreas Otto
Stefan Behnel wrote:

 
 You forgot to create a thread state for the new thread. See the
 PyThreadState_New() function.
 

this does not really solve the problem even if the original error does no 
happen anymore ...

but a bucket of other error happen  sometimes  and this mean
that time and (I call it so) internal state stuff has influence on the 
problem and create errors like:

 1. http://mail.python.org/pipermail/python-list/2004-January/242740.html
 2. various PyThreadState_Get - PyThreadState_Get: no current thread
 3. sometimes ThreadState has NULL sometimes not and NULL create an
 CORE for tstate pointer access operations
 4. ... a lot of other problems too

all problems together I come to the conclusion:

 1. I spend ~ 1week for a job done in C# or java in a day - and have no
 usable solution
 2. python need a couple of 100+ C API function for the same job
 java need 10+
 3. the design on the C-API is amateurish - significant parts are
 implemented as GLOBAL variables
 4. the thread support is not more than a joke - go to 3
 5. after pay a lot of effort to get something working the final solution 
 is significant slower than C# or JAVA
 6. you can not truss any-thing in python because you never know
 if under some circumstance you get a CORE 
 
the resulting PYTHON code is usable but not significant more readable
as JAVA, C* or even C++ code


mfg

  aotto1968

-- 
http://mail.python.org/mailman/listinfo/python-list


problem to write a THREAD enabled python extension

2009-08-24 Thread Andreas Otto

Hi,

  the following scenario:
   
 1. using GIL
 2. a pthread is created in a library and have to be announced to python
 3. the thread is created in a PyObject_CallObject function call from
  extension c code using a other extension c-code function called
  from python code

 python CRASH with invalid thread-state object
  http://www.linuxjournal.com/article/3641
 has information that GIL is NOT able to keep thread state information
 for cross thread operation.

workaround -
..
PyGILState_STATE gilState = PyGILState_Ensure(); // PyEval_RestoreThread
// Call Python/C API...
PyGILState_Release(gilState); // PyEval_SaveThread
..
// Create new thread...
..
PyGILState_STATE gilState = PyGILState_Ensure(); // PyEval_RestoreThread
// Call Python/C API...
PyGILState_Release(gilState); // PyEval_SaveThread
..

the problem is that PyGILState_Release have to be done in the call of
PyObject_CallObject and not in the extension c-code

- for now i call it impossible to provide thread support if thread is 
created in extension code

- more info by valgrind
==29105==
==29105== Invalid read of size 4
==29105==at 0x4F099AB: PyEval_EvalFrameEx (ceval.c:3728)
==29105==by 0x4F0B476: PyEval_EvalCodeEx (ceval.c:3180)
==29105==by 0x4E9DE50: function_call (funcobject.c:630)
==29105==by 0x4E7610C: PyObject_Call (abstract.c:2160)
==29105==by 0x4E8BEFB: method_call (classobject.c:323)
==29105==by 0x4E7610C: PyObject_Call (abstract.c:2160)
==29105==by 0x4F04975: PyEval_CallObjectWithKeywords (ceval.c:3624)
==29105==by 0x72132DF: pymsgque_ProcCall (misc_python.c:48)
==29105==by 0x742A23E: pTokenInvoke (token.c:327)
==29105==by 0x742E7E2: sMqEventStart (msgque.c:908)
==29105==by 0x7425365: pEventStart (event.c:360)
==29105==by 0x742ECBF: MqProcessEvent (msgque.c:1081)
==29105==by 0x7215F24: pymsgque_ProcessEvent (context_python.c:176)
==29105==by 0x4F09BFA: PyEval_EvalFrameEx (ceval.c:3961)
==29105==by 0x4F0B476: PyEval_EvalCodeEx (ceval.c:3180)
==29105==by 0x4F0B58A: PyEval_EvalCode (ceval.c:650)
==29105==by 0x4F2EE29: PyRun_FileExFlags (pythonrun.c:1697)
==29105==by 0x4F2F134: PyRun_SimpleFileExFlags (pythonrun.c:1182)
==29105==by 0x4F43CFB: Py_Main (main.c:625)
==29105==by 0x400D11: main (python.c:152)
==29105==  Address 0x24 is not stack'd, malloc'd or (recently) free'd


- extension code ... (including some debugging output)

M0
  PyGILState_STATE gstate = PyGILState_Ensure();
  PyObject *result;
  PyObject * const self = (PyObject*) CONTEXT-self;
  PyObject * const callable = (PyObject*) dataP;
  enum MqErrorE ret = MQ_OK;

  // clean Python and libmsgque error
  PyErr_Clear();
  MqErrorReset(msgque-error);

  // call the function
M1
printP(PyThreadState_Get())
  if (PyMethod_Check(callable)  PyMethod_Self(callable) == self) {
//PyGILState_Release(gstate);
result = PyObject_CallObject(callable, NULL);
//gstate = PyGILState_Ensure();
  } else {
//PyGILState_Release(gstate);
result = PyObject_CallFunctionObjArgs(callable, self, NULL);
//gstate = PyGILState_Ensure();
  }
M2
printP(PyThreadState_Get())
  Py_XDECREF(result);

  // no error return OK
  if (PyErr_Occurred() != NULL) {
NS(ErrorSet) (self);
ret = MqErrorGetCode(msgque-error);
  }
  PyGILState_Release(gstate);
  return ret;
}

with GIL wrapper 'PyGILState_Release' and 'PyGILState_Ensure' enabled for 
'PyObject_CallObject' the following SEG happen

  if (PyMethod_Check(callable)  PyMethod_Self(callable) == self) {
PyGILState_Release(gstate);
result = PyObject_CallObject(callable, NULL);
gstate = PyGILState_Ensure();
  } else {
PyGILState_Release(gstate);
result = PyObject_CallFunctionObjArgs(callable, self, NULL);
gstate = PyGILState_Ensure();
  }
pymsgque_ProcCall(misc_python.c:32) - 0
pymsgque_ProcCall(misc_python.c:44) - 1
pymsgque_ProcCall(misc_python.c:45) - PyThreadState_Get()0x68c2ad8
==29223==
==29223== Thread 2:
==29223== Invalid read of size 4
==29223==at 0x4E760EA: PyObject_Call (abstract.c:2158)
==29223==by 0x4F04975: PyEval_CallObjectWithKeywords (ceval.c:3624)
==29223==by 0x72132F7: pymsgque_ProcCall (misc_python.c:48)
==29223==by 0x7430092: MqLinkCreate (msgque.c:644)
==29223==by 0x7430AB0: MqDefaultLinkCreate (msgque.c:681)
==29223==by 0x742F73B: MqLinkCreate (msgque.c:346)
==29223==by 0x7432C3D: sSysServerThreadCreate (sys.c:502)
==29223==by 0x521606F: start_thread (in /lib64/libpthread-2.9.so)
==29223==by 0x5B5B10C: clone (in /lib64/libc-2.9.so)
==29223==  Address 0x18 is not stack'd, malloc'd or (recently) free'd
==29223==
==29223== Process terminating with default action of signal 11 (SIGSEGV)


mfg

  aotto1968


-- 
http://mail.python.org/mailman/listinfo/python-list


ANNOUNCE: libmsgque 3.4

2009-07-03 Thread Andreas Otto

Dear Users,

  I would like to provide a new !! Major Feature Release !! of  

 LibMsgque (3.4) 

  This Release Introduce a new technology called

 Master / Slave - Link 

  and is used to create, mange and configure a MESH of
  node's (process or thread) distributed over multiple hosts.

  But a picture says more then all the words, read more at:

  - http://libmsgque.sourceforge.net/master_versa_slave.htm

  To get the Details and the Downloads read more at:

  - http://libmsgque.sourceforge.net/  

  P.S. sourceforge introduce a new interface yesterday 
 and this has still some bugs ...
 to get the release 3.4 files you have to use the files link.


mfg

  Andreas Otto



-- 
http://mail.python.org/mailman/listinfo/python-list


ANNOUNCE: libmsgque 3.3

2009-06-12 Thread Andreas Otto

ANNOUNCE a majorfeature improvement of libmsgque ...


What is LibMsgque
=

LibMsgque is an OS independent, Programming Language independent and
Hardware independent solution to link applications together to act like a
single application. Or with other words, LibMsgque is an Application-Server
toolkit.


Highlights of the current Release:
=

This release introduce the C# port and the long waiting managed code
interface to libmsgque. This interface allow writing language-bindings
to libmsgque without using an addition C library as translator between
the native language and libmsgque. The skip of this translation
library introduce a new performance leader using C# together with
the mono tools and outperform JAVA, TCL, PYTHON.

On windows the mono tool and the microsoft native C# is supported.

The performance-comparison between c, tcl, python, C# and java 
was updated:

  - results: http://libmsgque.sourceforge.net/performance.htm


The Web-Site was updated:
=

   - http://libmsgque.sourceforge.net

  For a fast introduction use the following URL:

   - http://libmsgque.sourceforge.net/features.htm



mfg

  Andreas Otto
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: PYTHONPATH on Windows XP module load problem

2009-05-21 Thread Andreas Otto
Hi,

  I setup the PYTHONPATH environment variable too

  does windows use this variable ?


mfg

  Andreas Otto
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: PYTHONPATH on Windows XP module load problem

2009-05-21 Thread Andreas Otto
Hi,

  I solved the problem ...
  thank you for your help


mfg

  Andreas Otto
-- 
http://mail.python.org/mailman/listinfo/python-list


ANNOUNCE: libmsgque 3.2

2009-05-21 Thread Andreas Otto

ANNOUNCE a minor feature improvement of libmsgque ...


What is LibMsgque
=

LibMsgque is an OS independent, Programming Language independent and
Hardware independent solution to link applications together to act like a
single application. Or with other words, LibMsgque is an Application-Server
toolkit.


Highlights of the current Release:
=

This release introduce a new windows build into the LibMsgque world.
The build switched from the GNU toolchain to Visual C++ 2008 Express

This is the official statement for this switch:

  The decision to use GNU tools on Windows including
  automake, autoconf, libtool and mingw was wrong.
  The tools were replaced by Visual C++ 2008 Express.
  The reason was the extremely low performance of the
  GNU tools on Windows which end up in a 20min overhead per
  configuration life-cycle and a 5min overhead per build.
  This end up in an additional TCO of 2000euro per release.


In addition the performance-comparison between c, tcl, python
and java was updated

  - results: http://libmsgque.sourceforge.net/performance.htm

After quite a wile I'm now able to support python on windows


The Web-Site was updated:
=

   - http://libmsgque.sourceforge.net

  For a fast introduction use the following URL:

   - http://libmsgque.sourceforge.net/features.htm



mfg

  Andreas Otto
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: PYTHONPATH on Windows XP module load problem

2009-05-20 Thread Andreas Otto
Hi,

  I try to use distutils and setup.py to create an C extension

  Now a list of problems:

  1. I'm using automake, autoconf to setup the build-environment
for example CPPFLAGS

- how can I transport the CPPFLAGS on the commandline
to setup.py 

I can not use the define_macros argument in the setup.py
script

  2. the following shared library is created:

build/lib.linux-x86_64-3.0/pymsgque.so

- in my tool a test environment is included this mean
after a build but before install a test is
done. this mean that the library have to be found
and used by the test-environment.

- the problem is that the directory name
build/lib.linux-x86_64-3.0/
is system-depend

- question: how I get an unique system independent name
or just in general how I solve this kind of problem

  3. why is no .pyd file created ?

- pyd is the extension name supported 


mfg

  Andreas Otto


-- 
http://mail.python.org/mailman/listinfo/python-list


Re: PYTHONPATH on Windows XP module load problem

2009-05-20 Thread Andreas Otto
Hi,

  after we know how your bathroom looks like ...

  I have done additional research.

1. setup a setup.py script
2. compiled the extension
3. copy the extension to the test directory
- cp ../pymsgque/build/lib.win32-3.0-pydebug/pymsgque.pyd .
4. start the test

$ python_d.exe ./server.py
Traceback (most recent call last):
  File ./server.py, line 13, in module
import pymsgque
ImportError: No module named pymsgque
[31909 refs]

- same as before

Question:

- is the module was not found or
could a found module not be loaded

mfg

  Andreas Otto
-- 
http://mail.python.org/mailman/listinfo/python-list


PYTHONPATH on Windows XP module load problem

2009-05-19 Thread Andreas Otto
Hi,

  I have the following problem using python on windows.
  I crated a binary extension called

pymsgque.dll

  on windows. The same extension works fine on UNIX/Linux.

  The problem is on Windows. The build is no problem 
  but python is not able to load this extension with

import pymsgque

  and create the following error:

  Traceback (most recent call last):
  File server.py, line 13, in module
import pymsgque
ImportError: No module named pymsgque
[31906 refs]

  the PYTHONPATH variable has the directory of
  pymsgque.dll location

  the build of python and the pymsgque extension was done using
 Microsoft Visual C++ Express Edition

  it seems that I missing something

mfg

  Andreas Otto
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: PYTHONPATH on Windows XP module load problem

2009-05-19 Thread Andreas Otto
MRAB wrote:

 Andreas Otto wrote:
 Hi,
 
   I have the following problem using python on windows.
   I crated a binary extension called
 
 pymsgque.dll
 
   on windows. The same extension works fine on UNIX/Linux.
 
   The problem is on Windows. The build is no problem
   but python is not able to load this extension with
 
 import pymsgque
 
   and create the following error:
 
   Traceback (most recent call last):
   File server.py, line 13, in module
 import pymsgque
 ImportError: No module named pymsgque
 [31906 refs]
 
   the PYTHONPATH variable has the directory of
   pymsgque.dll location
 
   the build of python and the pymsgque extension was done using
  Microsoft Visual C++ Express Edition
 
   it seems that I missing something
 
 mfg
 
   Andreas Otto
 
 Does this help?
 
 http://pyfaq.infogami.com/is-a-pyd-file-the-same-as-a-dll

Hi,

  this link is nice but I'm still confused ...

  1. on LINUX I create a pymsgque.so and I can load this library
with import pymsgque

  2. in WINDOWS, I expect to create a pymsgque.dll and do the
same as on unix import pymgque

- is this behaviour is supported or not ???
 
  3. the hint with *.pyd is totally new to me and I don't know
is this the official way to use dll's on windows or
just a hack which works


mfg

  Andreas Otto

-- 
http://mail.python.org/mailman/listinfo/python-list


ANNOUNCE: libmsgque 3.1

2009-05-12 Thread Andreas Otto
ANNOUNCE a major feature improvement of libmsgque ...


What is LibMsgque
=

LibMsgque is an OS independent, Programming Language independent and
Hardware independent solution to link applications together to act like a
single application. Or with other words, LibMsgque is an Application-Server
toolkit.


Highlights of the current Release:
=

This release introduce a couple of highlights into the LibMsgque World
including the Python 3.01 support and a brand new Tcl/Java interface

As bonus an C/Tcl/Java/Python performance test was added using the
following conditions:

  1. same basic native library - libmsgque (written in C)
  2. same user - me
  3. same performance management tool
  4. same code workflow using the native language interface
to link libmsgque with a language specific service
handler
  5. testing the following aspects:
a) application startup/shutdown performance
b) synchronous and asynchronous transaction performance
c) spawn, fork and thread process creation performance

  - results: http://libmsgque.sourceforge.net/performance.htm


Programmer-Visible-Changes:
===

Add Python 3.01 support
  This is the next step to provide an OS and programming language
  independent solution

New Tcl and Java Library binding
  Now Tcl, Java and Python using the same function namespace
  to improve the cross language code readability

C library improvement including better error checking support
  Add more error-case checking

Add new test hardware, apple iBook (ppc) running Debian 5
  Put my old iBook back to live

Re-Add big/little endian support
  Now be able to test endianness

Improve 32Bit/64Bit support
  Code Cleanup

Add new documentation
  Entire new documentation and examples were added


The Web-Site was updated:
=

   - http://libmsgque.sourceforge.net

  For a fast introduction use the following URL:

   - http://libmsgque.sourceforge.net/features.htm



mfg

  Andreas Otto
-- 
http://mail.python.org/mailman/listinfo/python-list


who is calling the base class __new__ method

2009-04-21 Thread Andreas Otto
Hi,

  I have the following example:

  1. I create a new type in C with it's own tp_new called PyMqS_new
  2. I use this type as basis-class for a python class called Server.

class Server(pymsgque.MqS):

- I checked: self.__class__.__bases__: (class 'pymsgque.PyMqS',)
from a Server startup code and the base is available


  3. A object of Server should create a new object of class Server in
the C code of MqS using the following statement

context-self = PyObject_GC_New(PyObject,(PyTypeObject*)context-class);

class is the Server but the PyMqS_new is *not* called as expected

- Why ?

  4. I checked the code with a debugger and I find out that the python
ServerObject create with PyObject_GC_New has the right pointer

- ServerObject-ob_type-tp_new has a pointer to PyMqS_new

- this seems to be fine


I checked the tp_basicsize and this has a size of 40 seems ok

from: http://docs.python.org/3.0/extending/newtypes.html
If you want your type to be subclassable from Python, and your type has the
same tp_basicsize as its base type, you may have problems with multiple
inheritance. A Python subclass of your type will have to list your type
first in its __bases__, or else it will not be able to call your type’s
__new__() method without getting an error. You can avoid this problem by
ensuring that your type has a larger value for tp_basicsize than its base
type does. Most of the time, this will be true anyway, because either your
base type will be object, or else you will be adding data members to your
base type, and therefore increasing its size.

An other aspect from your docu (same link as above): 

If you are creating a co-operative tp_new (one that calls a base type’s
tp_new or __new__()), you must not try to determine what method to call
using method resolution order at runtime. Always statically determine what
type you are going to call, and call its tp_new directly, or via
type-tp_base-tp_new. If you do not do this, Python subclasses of your
type that also inherit from other Python-defined classes may not work
correctly. (Specifically, you may not be able to create instances of such
subclasses without getting a TypeError.)


This I don't understand because the  tp_base of MqS is Object
and if I call the Object tp_new from my new

static PyObject *
PyMqS_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
{
M0
  ?? type-tp_base-tp_new(
  PyMqS_Obj *self = (PyMqS_Obj *)type-tp_alloc(type, 0);
  self-msgque = NULL;
  return (PyObject *)self;
}



mfg

  Andreas Otto
--
http://mail.python.org/mailman/listinfo/python-list


Re: who is calling the base class __new__ method

2009-04-21 Thread Andreas Otto


Hi,

  found a solution 

  - PyObject_GC_New seems not to be *not* the right function to
create a new Python object with a base class included

  - PyType_GenericNew is the right one ...
but this one is not documented 

from: http://docs.python.org/3.0/c-api/type.html
=
PyObject* PyType_GenericNew(PyTypeObject *type, PyObject *args, PyObject
*kwds)¶
Return value: New reference.

XXX: Document.
=

   Question: What is the difference between these both functions
and why is one working and the other not ?

--
http://mail.python.org/mailman/listinfo/python-list


best void return of a member function

2009-04-20 Thread Andreas Otto

Hi,

  I'm writing a native language binding for a library.

http://libmsgque.sourceforge.net/

  Every native method called by PYTHON have to return
  a PyObject* even if the function itself does not
  return anything.

  I have 2 possibilities for return a PyObject*


1. the first argument of the method function
- return self;
2. an entire new empty object
- return Py_BuildValue();

  Question: what is the best return statement for a void function ?

  P.S:  NULL is not allowed, because NULL is returned in the case
of an error


mfg

  Andreas Otto

--
http://mail.python.org/mailman/listinfo/python-list


Re: best void return of a member function

2009-04-20 Thread Andreas Otto
Andreas Otto wrote:

  well propable found the answer by my own ...

Py_RETURN_NONE

  should be the best

--
http://mail.python.org/mailman/listinfo/python-list


Re: best void return of a member function

2009-04-20 Thread Andreas Otto
Stefan Behnel wrote:

 Andreas Otto writes:
   I'm writing a native language binding for a library.
 
 http://libmsgque.sourceforge.net/
 
   Every native method called by PYTHON have to return
   a PyObject* even if the function itself does not
   return anything.
  [...]
   Question: what is the best return statement for a void function ?
 
 Hmmm, this sounds like your goal is to write an exact 1:1 wrapper of the C
 library API (for which there are tools like SWIGfriends). If the library
 happens to have a rather unusual, close-to object oriented, high-level C
 API, that might work. Otherwise, you might want to try to wrap it in a
 more Pythonic lookfeel style, that wraps operations and use-cases rather
 than plain functions. That should make it easier to hide things like
 memory allocation and other C implementation details from users, and will
 generally increase the performance of your binding, as it will require
 less calls for larger operations in C space.
 
 Stefan

Thanks for your help ..

  I'm almost finished ... it took me ~1week from a non Python developer to:
1. download, install python
2. learn how to use python, syntax, class, objects, protocol, ...
3. learn how to use the native interface, ~hundreds of C functions
4. finally create a project add my native code, compile, build ... test
- I just add one extra type I call them PyMqS_type

  all the special tools are not necessary because
if you wrote one language interface you can write every language 
interface
- the tasks are allways the same... just the language-specific-names
are changing


mfg

  Andreas Otto

--
http://mail.python.org/mailman/listinfo/python-list


Re: best void return of a member function

2009-04-20 Thread Andreas Otto

Propable you can help me with an other problem ...

the following code crash with:

==31431== Process terminating with default action of signal 11 (SIGSEGV)
==31431==  General Protection Fault
==31431==at 0x4EA5151: PyObject_GenericGetAttr (object.c:982)
==31431==by 0x4EF1FBD: PyEval_EvalFrameEx (ceval.c:1941)
==31431==by 0x4EF5261: PyEval_EvalCodeEx (ceval.c:2869)
==31431==by 0x4E91618: function_call (funcobject.c:628)
==31431==by 0x4E6C7AC: PyObject_Call (abstract.c:2161)
==31431==by 0x4E8055A: method_call (classobject.c:323)
==31431==by 0x4E6C7AC: PyObject_Call (abstract.c:2161)
==31431==by 0x4E6DFFE: PyObject_CallFunctionObjArgs (abstract.c:2392)
==31431==by 0x6B8A43B: Python_pymsgque_pCallVoidMethod (pymisc.c:36)
==31431==by 0x6B8991D: PythonChildCreate (pymsgque.c:89)
==31431==by 0x6D9E15F: pTokenCheckSystem (token.c:547)
==31431==by 0x6DA5110: pReadHDR (read.c:385)

with the following scenario

1. I have an object on an class
2. this object has a callable method context-config
3. I create an additional object of the same class
4. now I want to bind the context-config to the new object
5. I use: 
context-config = PyMethod_New(PyMethod_GET_FUNCTION(context-config),
(PyObject*)context-self);
6. but call this object with PyObject_CallFunctionObjArgs create a crash

this is my C code with some helper

  if (context-self == NULL) {
context-self = PyObject_New(PyMqS_Obj,(PyTypeObject*)context-class);
M0
printO(PyMethod_Function(context-config))
if (context-config != NULL)
  context-config = PyMethod_New(PyMethod_GET_FUNCTION(context-config),
(PyObject*)context-self);
M1
if (context-create != NULL)
  context-create = PyMethod_New(PyMethod_GET_FUNCTION(context-create),
(PyObject*)context-self);
M2
printO(context-config)
printO(PyObject_Type(context-config))
  }

  // 4. set the 'hdl'
  context-self-msgque = msgque;

  // 5. init the new object
M3
  if (msgque-config.server == MQ_YES  context-config != NULL) {
switch (NS(pCallVoidMethod)(msgque, context-config, NULL)) {
  case MQ_OK:   break;
  case MQ_CONTINUE:
  case MQ_ERROR:goto error;
}
  }
M4

this is the output:

output from the first object without error:
configO - bound method Server.config of __main__.Server object at
0x2acee8eb7830
PyObject_Type(configO) - class 'method'
PythonChildCreate(pymsgque.c:87) - 3
PythonChildCreate(pymsgque.c:95) - 4

output from the second object with the crash:
PythonChildCreate(pymsgque.c:71) - 0
PyMethod_Function(context-config) - function config at 0x2acee8ead8d0
PythonChildCreate(pymsgque.c:75) - 1
PythonChildCreate(pymsgque.c:78) - 2
context-config - bound method Server.config of __main__.Server object at
0x2acee8a67b20
PyObject_Type(context-config) - class 'method'
PythonChildCreate(pymsgque.c:87) - 3

--
http://mail.python.org/mailman/listinfo/python-list


Re: Question to python C API

2009-04-17 Thread Andreas Otto
Hi,

  just my first step in Cython

  1. download Cython-0.11.1

  2. read INSTALL.txt


(1) Run the setup.py script in this directory
as follows:

python setup.py install

This will install the Pyrex package
into your Python system.


Question 1: Why you wall it Pyrex package ?

  3. this happen


python ./setup.py install
Traceback (most recent call last):
  File ./setup.py, line 5, in module
from Cython.Compiler.Version import version
  File /home/dev1usr/src/Cython-0.11.1/Cython/__init__.py, line 2, in
module
from Shadow import *
ImportError: No module named Shadow

  4. I use a thread enabled python V3 


Question 2: What I have to do ?

  4. than I try the second part from INSTALL.txt


(2) If you prefer not to modify your Python
installation, arrange for the directory
containing this file (INSTALL.txt) to be in
your PYTHONPATH. On unix, also put the bin
directory on your PATH.


  5. and start to build the hello world example

I changed:  print Hello World
to: print(Hello World)- this is V3

  6. but got the following error

 cat setup.py
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext

setup(
cmdclass = {'build_ext': build_ext},
ext_modules = [Extension(pymsgque, [helloworld.pyx])]
)

 python setup.py build_ext --inplace   
Traceback (most recent call last):
  File setup.py, line 3, in module
from Cython.Distutils import build_ext
ImportError: No module named Cython.Distutils

  7. a little bit to much errors for the first step, isn't it ?


mfg

  Andreas Otto
--
http://mail.python.org/mailman/listinfo/python-list


howto submit documentation bugs on python V3 web-site ?

2009-04-17 Thread Andreas Otto

Hi,

  is an email or something else available ?
--
http://mail.python.org/mailman/listinfo/python-list


Re: Question to python C API

2009-04-17 Thread Andreas Otto
alex23 wrote:

 On Apr 17, 4:22 pm, Andreas Otto aotto1...@onlinehome.de wrote:
 Question 1: Why you wall it Pyrex package ?
 
 From the first paragraph on the Cython site: Cython is based on the
 well-known Pyrex, but supports more cutting edge functionality and
 optimizations.
 
 python ./setup.py install

 Traceback (most recent call last):
 File ./setup.py, line 5, in module
 from Cython.Compiler.Version import version
 File /home/dev1usr/src/Cython-0.11.1/Cython/__init__.py, line 2, in
 module
 from Shadow import *
 ImportError: No module named Shadow
 
 Did you unpack the Cython archive correctly? Is there a Shadow.py in
 your src/Cython-0.11.1/Cython/ folder?

yes

 
 4. than I try the second part from INSTALL.txt
 (2) If you prefer not to modify your Python
 installation, arrange for the directory
 containing this file (INSTALL.txt) to be in
 your PYTHONPATH. On unix, also put the bin
 directory on your PATH.

 Traceback (most recent call last):
 File setup.py, line 3, in module
 from Cython.Distutils import build_ext
 ImportError: No module named Cython.Distutils
 
 Did you follow the 2nd set of instructions  modify both your
 PYTHONPATH  PATH env vars? Have you confirmed they're correct? This
 is the sort of error I'd expect if those weren't set up properly.

I put the the Cython-0.11.1 into the PATH and don't modify the
PYTHONPATH

the INSTALL.txt say: On unix, *also* put the bin directory on your PATH

but I think I found the reason I have to set the PYTHONPATH to this
directory *and* setup the PATH. I understand *also* as something like or

but now the following error happen:


 PYTHONPATH=~/ext/x86_64-suse-linux/thread/bin/Cython-0.11.1/
PATH=$PATH:~/ext/x86_64-suse-linux/thread/bin/Cython-0.11.1/
python ./setup.py build_ext --inplace
Traceback (most recent call last):
  File ./setup.py, line 3, in module
from Cython.Distutils import build_ext
 
File 
/home/dev1usr/ext/x86_64-suse-linux/thread/bin/Cython-0.11.1/Cython/__init__.py,
line 2, in module
from Shadow import *
ImportError: No module named Shadow


 
 7. a little bit to much errors for the first step, isn't it ?
 
 Yes, however none of these happened when I just installed Cython to
 the XP, OSX  Ubuntu boxen I'm working on, so this isn't usual
 behaviour.
 
 What is your setup? What OS?

SuSE 10.3, I have compiled python on my own and install it in:
~/ext/x86_64-suse-linux/thread


--
http://mail.python.org/mailman/listinfo/python-list


Re: Question to python C API

2009-04-17 Thread Andreas Otto
Andreas Otto wrote:

 alex23 wrote:
 Did you unpack the Cython archive correctly? Is there a Shadow.py in
 your src/Cython-0.11.1/Cython/ folder?
 
 yes

dev1...@linux02:~/ext/x86_64-suse-linux/thread/bin/Cython-0.11.1 ls -al
Cython/Shadow.py
-rw-r--r-- 1 dev1usr users 4130  3. Apr 10:52 Cython/Shadow.py


mfg

  Andreas Otto
--
http://mail.python.org/mailman/listinfo/python-list


[issue5777] unable to search in python V3 documentation

2009-04-17 Thread Andreas Otto

New submission from Andreas Otto aotto1...@users.sourceforge.net:

Hi,

  if I search for sys.argv I get


Your search did not match any documents. Please make sure that all words
are spelled correctly and that you've selected enough categories.

but its available at: http://docs.python.org/3.0/library/sys.html

--
assignee: georg.brandl
components: Documentation
messages: 86057
nosy: aotto1968, georg.brandl
severity: normal
status: open
title: unable to search in python V3 documentation
type: resource usage
versions: Python 3.0

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue5777
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



Re: Question to python C API

2009-04-16 Thread Andreas Otto
Hi,

 I want to make a language binding for an existing C library

http://libmsgque.sourceforge.net

  is this possible ?
--
http://mail.python.org/mailman/listinfo/python-list


Re: Question to python C API

2009-04-16 Thread Andreas Otto
Yes, you are right ...

  I read more and found the doc about this ...

  the problem I have is something more tricky ...

  I allready have an extension written for java
  and the easyest thing would be use this as template
  and replace the java specific calls with python calls ...

  but the python C API is much more complex than java JNI.

  I don't understand why because the task is allways the 
  same

  the problem is that i have a C api but don't want to
  use a 1 to 1 translation of the C functions to python.

  java generate the stub with java.h and you have to fill
  the stub with code even if it is just a function call
  of a C api function with near the same name.

  for me as user I would prefer the exact same way in python
  to:   1. write a python wrapper class
2. declare all external function with native
3. call python_h to create the necessary C header
4. and let the user bill the body
5. this require to have a clean and small language
native interface (JNI fit on one web page 
that's it)

  but i have helper functions which , for example, create 
  threads and python module have to attach to this thread.

  the problem with such kind of framework is usually
  that you start with the easy stuff and than (after a couple
  of days/weeks) you come to the difficult stuff and you
  have to figure out that this kind of problem does not
  fit into the tool.

  stuff what I do is:

1. create objects on the fly as connection handle
2. do callbacks from C to Python
3. create and delete threads or manage to continue
work after an fork 
4. is server mode start an event-loop and never come
back


  what I want:

I want to use this tool but still be able to intermix
parts of my C helper code with the python code

  question:

it is possible to write C and python code into the 
same file ?


--
http://mail.python.org/mailman/listinfo/python-list


Question to python C API

2009-04-15 Thread Andreas Otto
Hi,

  I have the following question ...

  I write a custom *.init method and expect a variable number or arguments

  This are my questions:

  1.I need something like a for loop to analyse this arguments
For now I try the PyArg_ParseTupleAndKeywords but i missing somehing 
like an Object-Array return value as format 

  2.can i combine variable args with keywords ?
because it will fit into my spec to use both together

  3.I want to retrieve a bool object as int value, where is a format O
and O! for a type object  HOWTO put the type into the function 
from
above
  
  
mfg

  Andreas Otto
--
http://mail.python.org/mailman/listinfo/python-list


python module developer wanted for 'libmsgque'

2007-05-10 Thread Andreas Otto
Hi,

  I'm a the maintainer for the new project 'libmsgque'
  hosted at SF (see below for details) and need a volunteer 
  to develop the language bindings for python.

  Is somebody available to take over this job ?

  An example language binding for tcl is allready available.

  This is the initial announcement:

ANNOUNCE: libmsgque2.3-beta2

The libmsgque project is an infrastructure for linking applications together
to act like a single application. This is done using Unix or inet domain
sockets. The framework handles all aspects of setting up and maintaining
the link in addition to starting and stopping the different applications,
starting and stopping the communication interface, sending and receiving
packages, reading and writing data from or into packages, setting up and
maintaining the event handling for asynchronous transfers, and propagating
warnings or errors.

WHERE TO GET


As usual, it is available from:
 http://libmsgque.sourceforge.net/
 http://sourceforge.net/projects/libmsgque/

WHAT'S NEW
==

This is the initial announcement

WHAT IS IT
==

First of all it is a framework to link commands together to avoid
the traditional shell pipline using a similar approach as MS PowerShell.

To get more information's please use the following links:

1. an overview about the basic concept:
http://libmsgque.sourceforge.net/overview.htm

2. the man page of the tclmsgque extension:
http://libmsgque.sourceforge.net/tclmsgque.htm




Regards,

Andreas Otto (aotto1968)
-- 
http://mail.python.org/mailman/listinfo/python-list