[x3d-public] announce: x3d.py release 4.0.65.0 now deployed on Python Package Index (PyPi)
John Carlson
yottzumm at gmail.com
Sat Feb 7 11:55:12 PST 2026
You’re doing great work Don! I hope you resolve all issues soon. I have
forgotten the approach I took with Python, but I’m fairly sure I avoided
deep nesting. I do remember using “””…””” but that was for multi-line
comments.
I have not yet moved my single line commented .x3d files over my multi-line
commented .x3d files, so I appreciate you forging ahead on this.
I did look at one of your python examples, and was impressed that numpy was
used! I do recall a request for rounding long floats in x3d.py, and status
on that is welcome, realizing I have found cumbersome workarounds.
I do have my own GraalPy and Python serializers that need to be tested. I
am fairly sure my GraalPy examples use X3DJSAIL’s technique for comments.
If someone knows a good Java 3D renderer, I may try my hand at rendering
X3DJSAIL-based apps. JavaFX or Java3D?
Another thing I might try is converting JavaScript serializers to
stylesheets, instead of the reverse. This didn’t work too well for JSON
schema generation and Python, so I am doubtful. I don’t want to spend
$1000s to have AI do it.
John
On Sat, Feb 7, 2026 at 12:02 PM Don Brutzman <don.brutzman at gmail.com> wrote:
> All the links are in the email and on the X3DSAIL page. Here are a few
> repeats.
>
> For X3D Example Archives, the .x3d models are checked into SourceForge
> version control as master versions. The conversions (for instance to .py)
> are on the web page for each model. See the Hello World example in the
> email.
>
> The unit test examples are all easily inspected and tested. See
>
> - Python X3D Package x3d.py - Examples
> - https://www.web3d.org/x3d/stylesheets/python/python.html#Examples
>
> There are still some conversions that need work to handle the Comment
> class feature you requested. It is a good translation feature, but has
> required multiple days of debugging. Nevertheless over 90% of the
> translations are correct, and I will keep working on adjusting the others.
> If you want to check on correct syntax, status log is found as follows...
> search for "SyntaxError:" to see failures.
>
> - https://www.web3d.org/x3d/content/examples/build.python.all.log.txt
>
> ===================================
>> create python:
>> C:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling/Animation//CubeWithLabeledSidesViewpointSequencer.x3d processing with X3dToPython stylesheet...
>> C:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling/Animation//CubeWithLabeledSidesViewpointSequencer.py self-validation tests...
>> validate python:
>> File "C:\x3d-code\www.web3d.org\x3d\content\examples\X3dForAdvancedModeling\Animation\CubeWithLabeledSidesViewpointSequencer.py", line 89
>> Comment(' ==================== '),],])
>> ^
>> SyntaxError: closing parenthesis ']' does not match opening parenthesis '(' on line 53
>> Result: 1
>> ===================================
>>
>>
> While some .x3d to .py conversions are still misplacing a round
> parenthesis or square bracket, python detects that instantly and (as usual)
> they will eventually get fixed. Fiddling around with the Python-provided
> IDLE editor (for example) can quickly fix such errata. Meanwhile there are
> no known errors in the x3d.py module, so the release is solid.
>
> Thanks for further testing and use of the library. Have fun with X3D
> Python!
>
> all the best, Don
> --
> X3D Graphics, Maritime Robotics, Distributed Simulation
> Relative Motion Consulting https://RelativeMotion.info
>
>
> On Fri, Feb 6, 2026 at 7:32 PM John Carlson <yottzumm at gmail.com> wrote:
>
>> Clarification, Don, are all the archives stored on sourceforge, or just
>> .x3d files and associated images? If there’s a whole lot of Python files,
>> I may hold back on downloading the whole thing from sourceforge and prefer
>> to do onesy-twosy downloads, from published pages @web3d.org.
>>
>> I’m guessing the Example Archives and the sourceforge archive remains
>> separate. If so, there’s no need to respond. I’ll just wait a few days
>> before doing an update.
>>
>> I also look for a new X3DUOM on sourceforge at that time.
>>
>> Thanks,
>>
>> John
>>
>> On Fri, Feb 6, 2026 at 7:14 PM Don Brutzman via x3d-public <
>> x3d-public at web3d.org> wrote:
>>
>>> Am happy to announce that x3d.py release 4.0.65.0 now deployed on Python
>>> Package Index (PyPi).
>>>
>>> - Python package x3d <https://pypi.org/project/x3d/> is part of Python
>>> Package Index (PyPI) <https://pypi.org>, a repository of software
>>> for the Python programming language.
>>> - PyPI helps you find and install software developed and shared by
>>> the Python community.
>>>
>>> The x3d.py package provides a simple, convenient mechanism for python
>>> programmers to update their local x3d python configuration.
>>>
>>> Project production details are found as follows.
>>>
>>> - X3D Python Scene Access Interface Library (X3DPSAIL)
>>> - The x3d.py Python X3D Package supports programmers with Python
>>> interfaces and objects for standards-based X3D programming, all as open
>>> source.
>>> - "Pythonic is a word because Python programming is... different, in
>>> many excellent ways."
>>> - https://www.web3d.org/x3d/stylesheets/python/python.html
>>>
>>> This is a significant release for Python programmers that adds several
>>> new features to existing capabilities.
>>>
>>> - Full support for X3D 4.0 International Standard, plus additional
>>> support for new nodes undergoing implementation in draft X3D 4.1
>>> specification.
>>> - Online x3d module documentation
>>> <https://www.web3d.org/x3d/stylesheets/python/x3d.html> produced
>>> using PyDoc, matching built-in x3d.py module documentation. In-context
>>> hints and help descriptions originate from the X3D Tooltips
>>> <https://www.web3d.org/x3d/content/X3dTooltips.html>.
>>> - Rigorously correct data structures and utilities for X3D scene
>>> graphs in Python are produced in the x3d.py library through source-code
>>> autogeneration using the X3D Unified Object Model (X3DUOM)
>>> <https://www.web3d.org/specifications/X3DUOM.html>.
>>> - Valid data correctness of strict typing, along with carefully
>>> matched plus flexibility of Python "duck" typing.
>>> - Full expressive power that supports all model capabilities of the
>>> X3D Architecture, equivalently matching XML, ClassicVRML, JSON, Compressed
>>> Binary Encoding, EXI, Turtle, and Java.
>>> - Refined best practices are applied in the x3d.py source for high
>>> quality assurance (QA), resulting in a current pylint score of 9.96
>>> out of 10
>>> <https://sourceforge.net/p/x3d/code/38475/tree/www.web3d.org/x3d/stylesheets/python/build.pylint.log.txt>
>>> .
>>> - All work is maintained under a non-viral Web3D Consortium open-source
>>> license <https://www.web3d.org/x3d/stylesheets/python/license.html> (
>>> text <https://www.web3d.org/x3d/stylesheets/python/license.txt>).
>>> - All assets and logs are maintained using subversion at Sourceforge
>>> version control
>>> <https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/python/>
>>> .
>>> - This release also adds improved optional support for persistent
>>> retention of comments through use of a Comments class.
>>>
>>> Many updated X3D Python models are also available. Given the innate
>>> strictness of Python programming, the x3d.py library makes it easy for
>>> Python programmers to create a correct X3D scene graphs and quite difficult
>>> to create an invalid X3D scene graph.
>>>
>>> - Pre-release "smoke test program
>>> <https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/python/examples/PythonX3dSmokeTests.py>"
>>> and example test models
>>> <https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/python/examples/>
>>> with results log at build.examples.log.txt
>>> <https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/python/build.examples.log.txt>
>>> - Refreshed python versions for ~3800 models in the X3D Example
>>> Archives
>>> <https://www.web3d.org/x3d/content/examples/X3dResources.html#Examples> were
>>> created using X3dToPython.xslt stylesheet
>>> - For instance:
>>> - *X3D Example Archives: X3D4WA, X3D for Web Authors, Chapter 01
>>> Technical Overview, Hello World*
>>> - Simple X3D model example: Hello World! Index page for multiple
>>> encodings
>>> <https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloWorldIndex.html>
>>> and HelloWorld.py
>>> <https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloWorld.py>
>>>
>>> Special thanks to John Carlson and Vince Marchetti for helpful issue
>>> reports. All questions and trouble tickets are always welcome.
>>>
>>> Zooming back: the New Year's blog entry X3D and HAnim Assets Update
>>> <https://relativemotion.info/x3d-and-hanim-assets-update/> provides
>>> "big picture" descriptions of how X3D Python fits as part of many
>>> interlocking X3D capabilities
>>>
>>> Have fun with X3D and Python! 😀
>>>
>>> all the best, Don
>>> --
>>> X3D Graphics, Maritime Robotics, Distributed Simulation
>>> Relative Motion Consulting https://RelativeMotion.info
>>> _______________________________________________
>>> x3d-public mailing list
>>> x3d-public at web3d.org
>>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20260207/95d38510/attachment-0001.html>
More information about the x3d-public
mailing list