<div dir="ltr"><div dir="ltr"><div>Am happy to announce that x3d.py release 4.0.65.0 now deployed on Python Package Index (PyPi).</div><div><ul><li><a href="https://pypi.org/project/x3d/" target="_blank">Python package x3d</a> is part of <a href="https://pypi.org" target="_blank">Python Package Index (PyPI)</a>, a repository of software for the Python programming language.</li><li>PyPI helps you find and install software developed and shared by the Python community.</li></ul><div>The x3d.py package provides a simple, convenient mechanism for python programmers to update their local x3d python configuration.</div></div><div><br></div><div>Project production details are found as follows.</div><div><ul><li>X3D Python Scene Access Interface Library (X3DPSAIL)</li><li>The x3d.py Python X3D Package supports programmers with Python interfaces and objects for standards-based X3D programming, all as open source.</li><li>"Pythonic is a word because Python programming is... different, in many excellent ways."</li><li><a href="https://www.web3d.org/x3d/stylesheets/python/python.html" target="_blank">https://www.web3d.org/x3d/stylesheets/python/python.html</a></li></ul></div><div>This is a significant release for Python programmers that adds several new features to existing capabilities.</div><div><ul><li>Full support for X3D 4.0 International Standard, plus additional support for new nodes undergoing implementation in draft X3D 4.1 specification.</li><li>Online <a href="https://www.web3d.org/x3d/stylesheets/python/x3d.html" target="_blank">x3d module documentation</a> produced using PyDoc, matching built-in x3d.py module documentation.  In-context hints and help descriptions originate from the <a href="https://www.web3d.org/x3d/content/X3dTooltips.html" target="_blank">X3D Tooltips</a>.</li><li>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 <a href="https://www.web3d.org/specifications/X3DUOM.html" target="_blank">X3D Unified Object Model (X3DUOM)</a>.</li><li>Valid data correctness of strict typing, along with carefully matched plus flexibility of Python "duck" typing.</li><li>Full expressive power that supports all model capabilities of the X3D Architecture,

equivalently matching XML, ClassicVRML, JSON, Compressed Binary Encoding, EXI, Turtle, and Java.</li><li>Refined best practices are applied in the x3d.py source for high quality assurance (QA), resulting in a current <a href="https://sourceforge.net/p/x3d/code/38475/tree/www.web3d.org/x3d/stylesheets/python/build.pylint.log.txt" target="_blank">pylint score of 9.96 out of 10</a>.</li><li><font face="arial, sans-serif"><span style="color:rgb(0,0,0)">All work is maintained under a non-viral Web3D Consortium </span><a href="https://www.web3d.org/x3d/stylesheets/python/license.html" target="_blank">open-source license</a><span style="color:rgb(0,0,0)"> (</span><a href="https://www.web3d.org/x3d/stylesheets/python/license.txt" target="_blank">text</a><span style="color:rgb(0,0,0)">).</span></font></li><li><font face="arial, sans-serif"><span style="color:rgb(0,0,0)">All assets and logs are maintained using subversion at </span><a href="https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/python/" target="_blank">Sourceforge version control</a><span style="color:rgb(0,0,0)">.</span></font></li><li>This release also adds improved optional support for persistent retention of comments through use of a Comments class.</li></ul><div>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.</div></div><div><ul><li>Pre-release "<a href="https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/python/examples/PythonX3dSmokeTests.py" target="_blank">smoke test program</a>" and <a href="https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/python/examples/" target="_blank">example test models</a> with results log at <a href="https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/python/build.examples.log.txt" rel="nofollow" title="build.examples.log.txt" style="box-sizing:inherit;margin:0px;padding:0px;font-size:14px;vertical-align:baseline;background:rgb(254,254,254);outline:none;font-family:Lato,sans-serif" target="_blank"><font color="#0000ff">build.examples.log.txt</font></a></li><li>Refreshed python versions for ~3800 models in the <a href="https://www.web3d.org/x3d/content/examples/X3dResources.html#Examples" target="_blank">X3D Example Archives</a> were created using X3dToPython.xslt stylesheet</li><li>For instance: </li><ul><li><i>X3D Example Archives: X3D4WA, X3D for Web Authors, Chapter 01 Technical Overview, Hello World</i></li><li>Simple X3D model example: Hello World!  <a href="https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloWorldIndex.html" target="_blank">Index page for multiple encodings</a> and <a href="https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloWorld.py" target="_blank">HelloWorld.py</a></li></ul></ul><div>Special thanks to John Carlson and Vince Marchetti for helpful issue reports.  All questions and trouble tickets are always welcome.</div></div><div><br></div><div>Zooming back: the New Year's blog entry <a href="https://relativemotion.info/x3d-and-hanim-assets-update/" target="_blank">X3D and HAnim Assets Update</a> provides "big picture" descriptions of how X3D Python fits as part of many interlocking X3D capabilities</div><div><br></div><div>Have fun with X3D and Python!  😀</div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div style="color:rgb(34,34,34)"><font face="monospace"><br></font></div><div style="color:rgb(34,34,34)"><font face="monospace">all the best, Don</font></div><div style="color:rgb(34,34,34)"><font face="monospace">-- </font></div><div style="color:rgb(34,34,34)"><font face="monospace">X3D Graphics, Maritime Robotics, Distributed Simulation</font></div><div style="color:rgb(34,34,34)"><font face="monospace">Relative Motion Consulting  <a href="https://RelativeMotion.info" target="_blank">https://RelativeMotion.info</a></font></div></div></div></div></div>
</div>