[x3d-public] X3D Python availability, planning for releases atWeb3D 2019

John Carlson yottzumm at gmail.com
Thu May 9 18:37:59 PDT 2019

I too would like to see a Jupyter implementation of X3D.  It has already been shown possible with X3DOM document as a string, see this for inspiration: https://qiita.com/tenfu2tea/items/024d89564b9b316477ac

This may be useful for using Cython with Jupyter:


Sent from Mail for Windows 10

From: Brutzman, Donald (Don) (CIV)
Sent: Thursday, May 9, 2019 1:35 AM
To: Holger Seelig; X3D Graphics public mailing list
Subject: Re: [x3d-public] X3D Python availability, planning for releases atWeb3D 2019

Appreciate your asking, Holger.

As you can see from the mail list, there is still a lot of "hammer and tongs" banging going on.  We expect to continue refining the Python API syntax, and look forward to potential additional refinements when we look at Masaki Aono's code patterns with Myeong Won Lee.

Meanwhile the existing initial "X3DPSAIL" build has a lot of pieces/parts, closely tied to Java and X3DJSAIL "full" .jar as underlying engine.  Python installation and configuration was quite tricky, for me at least.  The X3DJSAIL build currently takes multiple libraries to create, which is difficult and complex to set up... but using X3DJSAIL .jar sidesteps all that.

Things are steadily improving.  The Java code examples can now be tested as a whole for each X3D Examples archive, or for individual scenes.  Testing of the Python examples at least occurs in the large; more improvements expected, including singleton conversion/compilation/execution of X3D python models.  Round-trip testing means we have recently achieved spiral improvement stage, which is a big accelerator guaranteeing steady forward momentum.  Our next new "hill to climb" in June will be attempting creation of a Python PIP module to further simplify use.  We shall see... this is a marathon, not a sprint.

We are committed to providing reusable X3DPSAIL package at Web3D 2019 Conference just prior to SIGGRAPH this summer.  A topic for Friday's teleconference will be submission of an X3Dv4 Implementations Tutorial for review... am expecting that JavaScript JSON Java Python C C++ C# XML (.x3d) and ClassicVrml (.x3dv) will all be part of that.  If our colleagues get X3D Python running via C, then a Python Cython port (for native language support) might even be possible.  A number of people have already expressed interest in X3D use via Python in Jupyter notebooks as well...  conceivably X_ITE itself might also be part of the Jupyter environment.

Hoping that continuing progress on this big plan gets us to the point where programmers such as yourself can try things out starting this summer.  The Python work is fully public and under version control.  Direct feedback always helps and is always welcome.

Looking even further ahead at standardization:
a. Planned end date for accepting X3Dv4 functionality proposal (e.g. nodes, components) is 16 DEC 2019.
b. X3D Working Group will finalize document editing and confirm multiple implementations during January~March 2020 before recommending adoption.
c. Subject to Web3D Consortium member approval of X3Dv4, Web3D draft publication and formal ISO submission immediately follows.
d. Corresponding document editing, updates and submissions for each of the 19776 language bindings and 19777 file encodings then proceed next, upgrading each to X3Dv4.
e. The consistency of the X3D Unified Object Model (X3DUOM) and autogeneration of multiple code sets facilities multiple implementations and 100% consistency.

X3D Specification Relationships shows all document relationships at


Ambitious yes, but we are sustaining a pace in Python JSON and JavaScript thanks to John.  Incredibly It Is All X3D.

Again thanks for asking.  Having fun with X3D Python!  8)

On 5/8/2019 3:17 AM, Holger Seelig wrote:
> I am very interested in a Python library for X3D. Is it already possible to test x3dpsail, and when how?
> Best regards,
> Holger
> On 08.05.2019 06:32, John Carlson wrote:
>> I was unable to install x3dpsail in pip repository.  The final command failed.  I used instructions here:
>> https://dzone.com/articles/executable-package-pip-install (first hit on google)
>> You are welcome to try.
>> John
>> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10
>> *From: *John Carlson <mailto:yottzumm at gmail.com>
>> *Sent: *Monday, May 6, 2019 6:17 PM
>> *To: *Brutzman, Donald (Don) (CIV) <mailto:brutzman at nps.edu>; X3D Graphics public mailing list <mailto:x3d-public at web3d.org>
>> *Cc: *X3D Graphics Working Group <mailto:x3d at web3d.org>
>> *Subject: *RE: [x3d] X3D minutes 3 MAY 2019: C/C++/C# and Pythonprogress,PointProperties validation for X3Dv4
>> *From: *Brutzman, Donald (Don) (CIV) <mailto:brutzman at nps.edu>
>>  >6. *C C++ C# and Python progress*
>> Steady progress on Python SAI using Java-based X3DJSAIL by John Carlson and Don Brutzman, having a test framework for all examples is helping a lot.  Working on a Python PIP install next. Korea Chapter has also indicated that an independent Python encoding is emerging, comparisons expected soon, hopefully based on C implementation since we might then use Cython for native implementation in Python language itself.  Exciting.
>>  1. Re: PIP:  I suggest we create a separate folder, perhaps called
>>     “x3dpsail” to build the installation.   Who should we pick to be
>>     registeree of the package?   Can we pick more than one person?  I
>>     would be more proactive about building the package, but unsure would
>>     should administer the package, and if we should share an email
>>     address for password recovery on the registration.  I haven’t looked
>>     much into registration yet.  These are just ideas floating around in
>>     my head.
>>  2. Need decision/action on file structure of X3D python classes.  Do we
>>     like what we have?
>> Thanks,
>> John
>> _______________________________________________
>> x3d-public mailing list
>> x3d-public at web3d.org
>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org

all the best, Don
Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman at nps.edu
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman
x3d-public mailing list
x3d-public at web3d.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20190509/a22be055/attachment.html>

More information about the x3d-public mailing list