I would opt for a hython session per task if you can spare a few secs of startup time. Easy to manage and recover from failures, keeping processes running for a long time is imho harder to deal with then firing short new processes. But obviously it's a per case
situation.
Found 74 posts.
Search results Show results as topic list.
Technical Discussion » Repetitive Houdini task: hscript vs Python RPC
-
- Johan Boekhoven
- 74 posts
- Offline
Technical Discussion » The proper way of doing asyncio in Houdini 20's python node?
-
- Johan Boekhoven
- 74 posts
- Offline
PDG/TOPs » Topnet freezes before cooking
-
- Johan Boekhoven
- 74 posts
- Offline
Same here, I've been moving out lot's of my setup to "pure" python. Better debugging and stability all around. It was great for prototyping, but less for debugging and scaling.
PDG/TOPs » Geometry import but frame range?
-
- Johan Boekhoven
- 74 posts
- Offline
I think you have to get a bit more descriptive of your setup, hard to tell what you're doing exactly.
PDG/TOPs » NON-Pythonic way to create a bunch of SOP nodes with PDG?
-
- Johan Boekhoven
- 74 posts
- Offline
You could try and see if : https://www.sidefx.com/docs/houdini/model/verbs.html [www.sidefx.com]
works. I think it's limited, but if the operation is simple it might work, ymmv
works. I think it's limited, but if the operation is simple it might work, ymmv

PDG/TOPs » Python Server vs Python Processor
-
- Johan Boekhoven
- 74 posts
- Offline
Up until now I've been using python servers to handle external processes. But sometime ago I read that Python processors [www.sidefx.com] are the preferred way to handle the spawning of sub processes.

Reading it I still have not a clear grasp on why one over the other.
Thanks!
Reading it I still have not a clear grasp on why one over the other.
Thanks!
PDG/TOPs » Detail attrib to JSON
-
- Johan Boekhoven
- 74 posts
- Offline
Does it need to be in PDG? Just a basic python script on a button would be the fastest solution imho.
PDG/TOPs » PDG and referencing geometry attributes in ROP FBX Output
-
- Johan Boekhoven
- 74 posts
- Offline
Are your cook types matching?
If you're pulling in attributes on cook, they are not available when you use on generate.
Cook types either should match, or you can use generate and then cook types one after another, but not the other way around.
If you're pulling in attributes on cook, they are not available when you use on generate.
Cook types either should match, or you can use generate and then cook types one after another, but not the other way around.
Edited by Johan Boekhoven - Feb. 28, 2023 06:12:00
PDG/TOPs » Topnet freezes before cooking
-
- Johan Boekhoven
- 74 posts
- Offline
How do you start the PDG process? Do you start it with python? I've noticed that when you cook it with python the settings are important, it can freeze the UI for the whole graph to cook, it does run it correctly but no UI feedback.
PDG/TOPs » Dictionary Expand
-
- Johan Boekhoven
- 74 posts
- Offline
I solved it for now like so. I either need int or string so I limited the types to those two.
task_data = work_item.pyObjectAttribValue('task_data')[0] for key in task_data.keys(): attr_type = type(task_data[key]).__name__ val = task_data[key] if attr_type == 'int': work_item.setIntAttrib(key, val) else: work_item.setStringAttrib(key, str(val))
PDG/TOPs » Dictionary Expand
-
- Johan Boekhoven
- 74 posts
- Offline
I use url_request a lot and I was wondering if there was an easier way to expand a json/dict response to actual attributes.
Right now I have a python node where I just map it all manually, I was wondering if there was a easier way?
Right now I have a python node where I just map it all manually, I was wondering if there was a easier way?
PDG/TOPs » Understanding TopNode.cookOutputWorkItems()
-
- Johan Boekhoven
- 74 posts
- Offline
PDG/TOPs » Understanding TopNode.cookOutputWorkItems()
-
- Johan Boekhoven
- 74 posts
- Offline
Hi,
Here's the documentation on the topic : https://www.sidefx.com/docs/houdini/hom/hou/TopNode.html#coo [www.sidefx.com]
My question is what does the tops_only=True argument for cookOutputWorkItems() mean and what is the significance?
From documentation:
What is PDG cooking? If I run it with True of False, both seem to cook the graph, only when False it blocks the UI. Is that it's purpose?
Thanks for any insight!
Here's the documentation on the topic : https://www.sidefx.com/docs/houdini/hom/hou/TopNode.html#coo [www.sidefx.com]
My question is what does the tops_only=True argument for cookOutputWorkItems() mean and what is the significance?
From documentation:
tops_only
If True, TOP nodes will be cooked and schedulers will be initialized. This will create the underlying PDG Nodes and PDG Schedulers. No PDG cooking will occur, and no work items will be generated.
What is PDG cooking? If I run it with True of False, both seem to cook the graph, only when False it blocks the UI. Is that it's purpose?
Thanks for any insight!
Technical Discussion » Houdini 19.5 + Python 3.9 / vfxplatform
-
- Johan Boekhoven
- 74 posts
- Offline
Technical Discussion » Houdini 19.5 + Python 3.9 / vfxplatform
-
- Johan Boekhoven
- 74 posts
- Offline
Just a question about Houdini and python.
Thanks for any insight!
- Does sidefx follow the http://vfxplatform.com/? [vfxplatform.com]
- So can we expect Houdini 20.x to be on python 3.10?
- I know Sidefx releases when it's time to release, but can we make assumptions as in what quarter of 2023 there will be a major release, if any?
Thanks for any insight!
PDG/TOPs » "While Loop", can we make TOP listen and act
-
- Johan Boekhoven
- 74 posts
- Offline
Thanks!
I dove a little bit deeper and
has become obsolete. When I remove it, it works again without errors.
I'd also like to mention thatis undocumented in the GraphContext : https://www.sidefx.com/docs/houdini/tops/pdg/GraphContext.html [www.sidefx.com]
The only mention of it I could find is here, 2nd alinea : https://www.sidefx.com/docs/houdini/tops/pdg/CookOptions.html [www.sidefx.com]
I think this topic is still of great interest to pdg users that want to use Houdini as a service or just have it polling/listening to changes. So would it make sense to RFE for a more quick solution for this, pressing a button on the scheduler, or a TOP's HDA with the soul purpose to loop the current TOPnet?
tpetrick
What issues/errors are you running into?
I dove a little bit deeper and
top_node.executeGraph(True, False, True)
I'd also like to mention that
_cook()
The only mention of it I could find is here, 2nd alinea : https://www.sidefx.com/docs/houdini/tops/pdg/CookOptions.html [www.sidefx.com]
I think this topic is still of great interest to pdg users that want to use Houdini as a service or just have it polling/listening to changes. So would it make sense to RFE for a more quick solution for this, pressing a button on the scheduler, or a TOP's HDA with the soul purpose to loop the current TOPnet?
Edited by Johan Boekhoven - Nov. 17, 2022 09:34:14
PDG/TOPs » "While Loop", can we make TOP listen and act
-
- Johan Boekhoven
- 74 posts
- Offline
tpetrick
There isn't a built in way to do that right now, but we are planning to add support for file system watching/triggers in the future. The same functionality could be generalized to other external resources.
Hi!
I'm revisiting this topic for Houdini 19.5, since the old setup I had, that worked for 18.5 stopped functioning in 19.5. The setup is a python processor with parts of the above code implemented.
1. Is the above setup still valid for 19.5? The goal hasn't changed, I would like a "polling graph" setup. In my case check a database for new items to process.
2. Separate from that I would also be interested in knowing if a setup that can handle web-request payloads via the Houdini web-server for example, preferably non blocking. Probably reasonably big topic, but I would be very interested in a tutorial of some sorts on topic of having a polling or listening Houdini/hython instance.
Thanks for any info! 🙏
-Johan
Edited by Johan Boekhoven - Nov. 11, 2022 11:34:00
Technical Discussion » Where to start with rigging?
-
- Johan Boekhoven
- 74 posts
- Offline
To be honest, I would skip the old way all together. KineFX is more powerful and the way forward in Houdini. The OBJ level rigging might have some uses in mechanical rigging perhaps, but for character related work I would not spend time on it.
PDG/TOPs » Load different assets, inject data, and process
-
- Johan Boekhoven
- 74 posts
- Offline
I figured it out with the houdini server and python command sent.
Now I have some more questions:
1. when I'm in an Houdini server context, I'm running in a new hython process I think is that correct?
2. when I use a ropfetch TOP in the houdini server context, it yet again starts a new hython process correct?
What is the best way to not use so much overhead. Just a python command to .pressButton() on the rops in the new file?
I like ropfetch a lot but I think they are overkill, because I'm not running large sims but small bits of data that I want to process as quick as possible.
My current setup :
Now I have some more questions:
1. when I'm in an Houdini server context, I'm running in a new hython process I think is that correct?
2. when I use a ropfetch TOP in the houdini server context, it yet again starts a new hython process correct?
What is the best way to not use so much overhead. Just a python command to .pressButton() on the rops in the new file?
I like ropfetch a lot but I think they are overkill, because I'm not running large sims but small bits of data that I want to process as quick as possible.
My current setup :
PDG/TOPs » Load different assets, inject data, and process
-
- Johan Boekhoven
- 74 posts
- Offline
I'm looking for a way to run a TOP setup that is able to load 2 assets hip or hda. Inject some data, then run simulation on the the first asset and use the ROP's in the second asset, which renders out the first assets result.
My proof setup is a simple merge file operation where the SOP's with the simulation setup are in one file and the render setup in a second. I punch in some numbers and both work together. Now I want to leverage TOP's to be more flexible and combine different assets with different render setups.
Is anything like this possible with TOPs, I understand you can't merge files in a live TOP session, so what possibilities are there to merge 2 assets and operate on them.
Thanks!
My proof setup is a simple merge file operation where the SOP's with the simulation setup are in one file and the render setup in a second. I punch in some numbers and both work together. Now I want to leverage TOP's to be more flexible and combine different assets with different render setups.
Is anything like this possible with TOPs, I understand you can't merge files in a live TOP session, so what possibilities are there to merge 2 assets and operate on them.
Thanks!
-
- Quick Links