Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Python support in Tundra is rotten #652

Closed
Stinkfist0 opened this issue Apr 23, 2013 · 7 comments
Closed

Python support in Tundra is rotten #652

Stinkfist0 opened this issue Apr 23, 2013 · 7 comments

Comments

@Stinkfist0
Copy link
Contributor

If Python want to be a first-class citizen in Tundra, a Python(Qt) script binding tool must be implemented and used for exposing f.ex. all of the MathGeoLib and many Tundra classes to Python.

I would suggest that we either drop Python for good, or move it away from core Tundra repository.

@antont
Copy link
Member

antont commented Apr 23, 2013

even as a second class citizen it is now useful in some cases, and used daily ..current manual math exposing suffices for e.g. the render image server to move & rotate camera etc (we have a demo server online with it), and at least one guy at chiru seems to still dev quite sophisticated avatar navmesh etc. using code using py.

it is convenient that it is on by default on ubuntu, the console is often useful when exploring the API etc, so is consequently convenient that it is in the central repo .. but if it is a problem somehow perhaps we can figure out a nice for it to live in a different repo

@cadaver
Copy link
Member

cadaver commented Apr 23, 2013

The primary problem to me, which would support moving PythonScriptModule to a separate app repo once that's up, is that it is not enabled in all platforms' builds, so it will not get continuous testing.

(when testing on Ubuntu, I get a segfault from PythonScriptModule on startup but that's another story..)

@jonnenauha
Copy link
Member

There are no maintainers for the windows deps build path unfortunately. We here at Admino don't see much value in our production/end user use for PythonScriptModule. I did port it to tundra2 and did tweaks to it even after that, just so that its kept on the loop. Without those it would not run anywhere today. But I don't want to bother with automating the windows path as we are not using it for anything.

Someone needs to step up or it stays like it is, a toy for certain linux guys who know how to set it up :) But if thats the case maybe we could remove it from the core repo all together.

@antont
Copy link
Member

antont commented Apr 24, 2013

yes i agree with cadaver that the main issue is lack of platform support in the build scripts, and therefore lack of testing and indeed rotting. i suppose that's also the cause of the current segfault, i haven't tested with recent versions -- what we have running is a few months old branch, the server that's doing server side rendering for this panorama viewer test setup, http://studio.kyperjokki.fi:8880/tundra/worldpanoramaview.html (the client is in the WorldWebView repo and the readme there has the info about the Tundra branch used as the server)

besides such server use, my upcoming use cases are specific installations -- e.g. the big touch wall, where touch works so that each tile in the wall is actually a pc doing machine vision and they send touch events over UDP, and for that i have a little udp - osc - tuio receiver, https://github.com/antont/tuioinput). so actually also in this case there would be a custom net server running inside tundra. now i do it via mouse emulation in a standalone py app, but the nice thing is that can use exactly same networking code both with and without tundra, when the net code is in py.

i don't foresee a need for windows builds e.g. for the wall and similar (caves etc) installations so don't think that track of work at the uni will take up updating the windows scripts to build the pythonqt dep etc.

like Jonne, I also don't see it useful for typical meshmoon client usage where folks just use tundra like a browser and work on scenes, not custom server plugins or some system integration.

so i suppose it is good to move outside for now at least, hopefully can be still made so that is very easy to include in a Tundra build.

@erno
Copy link
Member

erno commented Apr 25, 2013

The killer app for the Python module has been easy interfacing to the outside world. Maybe in the future there could be another mechanism that would serve that need in a simpler and more direct way. For example a JSON-based (JSON-RPC?) protocol that would let other programs talk to the Tundra JS API without imposing a
big maintainance burden when the Tundra APIs changes. Or at least invoke actions and listen to some events...

@peterclemenko
Copy link
Contributor

Python 3 support would be worthwhile. Blender uses Python 3, and while linking to the actual Blender libraries would cause license issues, my understanding is that the GPL's viral nature does not apply to scripts. It might be possible to use Python 3 to allow for better interop with Blender (although I would suggest talking to the Blender guys before doing it).

@Stinkfist0
Copy link
Contributor Author

Closing and migrating this issue to realXtend/TundraAddons#6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants