Hi all, ML model support tracked under 6494 <https://github.com/apache/texera/issues/6494> is now on main! A model is a resource of its own, and a Python UDF can read one at runtime without downloading it. Big thanks to Ali, who built the mounting half and reviewed most of this work, to Meng for reviewing, and to Professor Chen for his advising!
Three parts landed together, because running a model needs all three: - Models. Create one under Your Work -> Models, upload files or whole folders, and commit them as an immutable version. Share it with people, publish it to the Hub, and find it through unified search. - Mounting (6606 <https://github.com/apache/texera/issues/6606>). A UDF declares a parameter with value=Resource.MODEL; the property panel then offers a model browser instead of a text box, and at runtime the UDF receives a local directory. Nothing is downloaded - file contents travel only when the code reads them, so loading one shard of a large model transfers one shard. - Curated computing-unit images (8466). An administrator registers a published image, Texera checks it is a computing-unit image and pins its digest, and it appears as a dropdown when a user creates a computing unit. This is what makes a model whose runtime the stock image does not carry - xgboost, or something like AlphaFold 3 - actually runnable. Models are off by default behind gui.tabs.models_enabled and gui.tabs.model_enabled, both toggleable in Admin -> Settings. Ali and I wrote up the design and what the three parts look like in use on the blog, go here if you want to learn more!: https://texera.apache.org/blog/2026/10/04/ml-model-support/ Feedback is welcome. Next up is agreeing on a standard layout for a model so Texera can load one without being told how, and a no-code inference operator on top of that. Thanks, Tanishq
