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

Package RenderPipeline into .whl and host on PyPI #109

Open
rdb opened this issue Feb 24, 2019 · 8 comments
Open

Package RenderPipeline into .whl and host on PyPI #109

rdb opened this issue Feb 24, 2019 · 8 comments

Comments

@rdb
Copy link
Collaborator

rdb commented Feb 24, 2019

Now that RenderPipeline is a pure-Python module and Panda3D is on PyPI as well, it would be very useful if RenderPipeline were built into a .whl with a dependency on panda3d>=1.10.0 and uploaded to PyPI. It would make installing the RenderPipeline into any Panda3D installation very easy (just a matter of pip install render_pipeline), and would also make deploying an application using the RenderPipeline easier.

@tobspr
Copy link
Owner

tobspr commented Feb 25, 2019

I actually would have done this already, if I wouldn't have been that busy :p I am not too experienced with the Python Packaging system.
I think I already added a pip package: https://pypi.org/project/render_pipeline/
However, I never found the time to actually update it / make it work.

If anybody is interested, I would greatly appreciate that and supply all needed information!

@rdb
Copy link
Collaborator Author

rdb commented Feb 25, 2019

Would you want to put all the RenderPipeline stuff under a root render_pipeline module, so that import rpcore becomes import render_pipeline.core or do you want to keep rpcore, rplibs, data, etc. modules as top-level packages?

Would you want to include the effects and config or would you want people to just copy them into their own game directories?

@tobspr
Copy link
Owner

tobspr commented Feb 26, 2019

@rdb Good questions.

Would you want to put all the RenderPipeline stuff under a root render_pipeline module

Yeah that certainly makes sense. I think almost everything could go into that module then, it would simply avoid name clashing. For the sake of easiness, we could also keep the rpcore name so old code stays compatible by adding the root module to the path. Does that make sense? (Its been ages since I've worked with python :P)

Would you want to include the effects and config or would you want people to just copy them into their own game directories?

This is a harder question. Since the plugin configurator and daytime editor work directly on the builtin config.xml IIRC, they would have to need access to that. However, as a pip module, it would be weird to modify the files of a module. I guess it would make more sense to require the user to copy the file.

I will spend some time figuring out how to solve this this afternoon.

@rdb
Copy link
Collaborator Author

rdb commented Feb 26, 2019

Does that make sense?

Yeah, I think that makes sense.

Feel free to use this as a starting point:
rdb@a646e0b
That was my attempt to get it to work packaged as wheel before I got stuck on figuring out what to do with the top-level directories.

As for the configuration, maybe there could be a default Pipeline config supplied, subject to being overridden by user configuration, or does that not make sense?

@tobspr
Copy link
Owner

tobspr commented Feb 26, 2019

That was my attempt to get it to work packaged as wheel before I got stuck on figuring out what to do with the top-level directories.

Ah cool! I will check it out. Can I simply install the latest panda3d via pip? Right now I don't have my development setup available to build panda3d from source..

As for the configuration, maybe there could be a default Pipeline config supplied, subject to being overridden by user configuration, or does that not make sense?

Yeah, right now the pipeline does not support that, but I can add support for it. I will have to dive into the code for that again, its been a while :P

@rdb
Copy link
Collaborator Author

rdb commented Feb 26, 2019

Yes, pip install panda3d should do the right thing. No headers are included with that, but that should not be a problem as panda3d._rplight is included with Panda.

Thanks a lot!

@tobspr
Copy link
Owner

tobspr commented Feb 27, 2019

Cool! I will try to get it to it within the next days :)

@tobspr
Copy link
Owner

tobspr commented Mar 5, 2019

Will post once I have some updates, right now I am pretty busy with other stuff ..

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

No branches or pull requests

2 participants