<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Lua API in Archicad Python API</title>
    <link>https://community.graphisoft.com/t5/Archicad-Python-API/Lua-API/m-p/242783#M782</link>
    <description>&lt;BLOCKQUOTE&gt;poco2013 wrote:&lt;BR /&gt;
Possibly, you may have that reversed. JSON is used to wrap the Python commands in a database format (json) so that any language that supports json can send commands (inquiries) to Archicad.
&lt;/BLOCKQUOTE&gt;

No, Gerry. Seems more like you got that reversed somehow. &lt;EMOJI seq="1f917"&gt;珞&lt;/EMOJI&gt;&lt;BR /&gt;
&lt;BR /&gt;
To quote the &lt;A href="https://pypi.org/project/archicad/" target="_blank"&gt;Python package docs&lt;/A&gt;:&lt;BR /&gt;
&amp;gt; This is the official Python binding for the ARCHICAD JSON command interface.&lt;BR /&gt;
&lt;BR /&gt;
There once was a real Python interface (if you took part in the betas for that you'll remember), but GS sacked that since it possibly seemed to be difficult to maintain. However that one was really powerful and you could do things which aren't doable with the new JSON interface.&lt;BR /&gt;
&lt;BR /&gt;
As quoted above the Python package only provides a wrapper. In the background there is only communication over an locally exposed HTTP port to Archicad. Archicad will return JSON data to any well-formed request.&lt;BR /&gt;
&lt;BR /&gt;
A last quote from the &lt;A href="https://archicadapi.graphisoft.com/JSONInterfaceDocumentation/#Introduction" target="_blank"&gt;JSON interface docs&lt;/A&gt;:&lt;BR /&gt;
&amp;gt; The ARCHICAD JSON API provides a way for external applications to automate ARCHICAD functions. It is a one-way communication from the external software to ARCHICAD. The communication happens via HTTP using JSON messages.&lt;BR /&gt;
&amp;gt; Because JSON is a language-independent data format, you can use any programming language to send commands to ARCHICAD.</description>
    <pubDate>Sun, 07 Feb 2021 12:42:29 GMT</pubDate>
    <dc:creator>runxel</dc:creator>
    <dc:date>2021-02-07T12:42:29Z</dc:date>
    <item>
      <title>Lua API</title>
      <link>https://community.graphisoft.com/t5/Archicad-Python-API/Lua-API/m-p/242779#M778</link>
      <description>&lt;DIV class="actalk-migrated-content"&gt;What are the chances of a wild lua api emerging besides of the default, python one? If zero, what'd it take to not be zero?&lt;/DIV&gt;</description>
      <pubDate>Tue, 14 Sep 2021 07:57:26 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-Python-API/Lua-API/m-p/242779#M778</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2021-09-14T07:57:26Z</dc:date>
    </item>
    <item>
      <title>Re: Lua API</title>
      <link>https://community.graphisoft.com/t5/Archicad-Python-API/Lua-API/m-p/242780#M779</link>
      <description>Given the major resources to add Lua... I'd say you would need to make a case with multiple examples of what Lua would provide to ARCHICAD users that Python does not - especially considering that the audience for even Python within ARCHICAD is quite limited.</description>
      <pubDate>Sat, 06 Feb 2021 01:30:00 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-Python-API/Lua-API/m-p/242780#M779</guid>
      <dc:creator>Karl Ottenstein</dc:creator>
      <dc:date>2021-02-06T01:30:00Z</dc:date>
    </item>
    <item>
      <title>Re: Lua API</title>
      <link>https://community.graphisoft.com/t5/Archicad-Python-API/Lua-API/m-p/242781#M780</link>
      <description>This thing will probably never exist.&lt;BR /&gt;
Even the official Python API is more or less an example, since that "API" is barely anything more than a wrapper around the JSON API.</description>
      <pubDate>Sat, 06 Feb 2021 18:54:51 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-Python-API/Lua-API/m-p/242781#M780</guid>
      <dc:creator>runxel</dc:creator>
      <dc:date>2021-02-06T18:54:51Z</dc:date>
    </item>
    <item>
      <title>Re: Lua API</title>
      <link>https://community.graphisoft.com/t5/Archicad-Python-API/Lua-API/m-p/242782#M781</link>
      <description>&lt;BLOCKQUOTE&gt;runxel wrote:&lt;BR /&gt;
Even the official Python API is more or less an example, since that "API" is barely anything more than a wrapper around the JSON API.
&lt;/BLOCKQUOTE&gt;

Possibly, you may have that reversed. JSON is used to wrap the Python commands in a database format (json) so that any language that supports json can send commands (inquiries) to Archicad.&lt;BR /&gt;
&lt;BR /&gt;
The Archicad Python API extensively uses Python classes and the Python language to communicate. Since Python script can and does communicate directly with Archicad, I see no usage for the json wrapper unless one is already using another language and wants to embed a json data script.&lt;BR /&gt;
&lt;BR /&gt;
I have been using Python directly since its first release in 24 and in the Betas before and it is a extremely stable interface. I doubt if Luna would ever be used, since it does not support classes which are simulated in it by just being being added to functions. At this point, that would require a complete rewrite of a already stable API with no practical advantage , plus Luna severely limits the Python language. Luna's real usage is intended for small applications where memory and speed are a concern which is not the case here.Keep in mind that one of the key advantages of Python is the availability of external modules which greatly simplify versatility -- already demonstrated.&lt;BR /&gt;
&lt;BR /&gt;
The real problem with Python is that its initial implementation is so limited that there are very few practical applications to demonstrate. Of course, there is little interest since there is nothing of interest at present --- "Chicken or the Egg". Those of us who endorse this new API, can not demo meaningful applications, since, with any attempt, will run into serious roadblocks of non-supported functions.&lt;BR /&gt;
&lt;BR /&gt;
I expect ,that by mid year with the release of 25, we'll see if Graphisoft intends to support this new API or it is just more marketing "hype".  As of now, I see no practical usage for Python, Json, Luna, or whatever. Something needs to change and be demonstrated before serious user interest will occur? At the present time, there isn't even a medium to convey constructive concerns to Graphisoft. That should say something about Graphisoft's support for the new Python API.</description>
      <pubDate>Sun, 07 Feb 2021 02:51:01 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-Python-API/Lua-API/m-p/242782#M781</guid>
      <dc:creator>poco2013</dc:creator>
      <dc:date>2021-02-07T02:51:01Z</dc:date>
    </item>
    <item>
      <title>Re: Lua API</title>
      <link>https://community.graphisoft.com/t5/Archicad-Python-API/Lua-API/m-p/242783#M782</link>
      <description>&lt;BLOCKQUOTE&gt;poco2013 wrote:&lt;BR /&gt;
Possibly, you may have that reversed. JSON is used to wrap the Python commands in a database format (json) so that any language that supports json can send commands (inquiries) to Archicad.
&lt;/BLOCKQUOTE&gt;

No, Gerry. Seems more like you got that reversed somehow. &lt;EMOJI seq="1f917"&gt;珞&lt;/EMOJI&gt;&lt;BR /&gt;
&lt;BR /&gt;
To quote the &lt;A href="https://pypi.org/project/archicad/" target="_blank"&gt;Python package docs&lt;/A&gt;:&lt;BR /&gt;
&amp;gt; This is the official Python binding for the ARCHICAD JSON command interface.&lt;BR /&gt;
&lt;BR /&gt;
There once was a real Python interface (if you took part in the betas for that you'll remember), but GS sacked that since it possibly seemed to be difficult to maintain. However that one was really powerful and you could do things which aren't doable with the new JSON interface.&lt;BR /&gt;
&lt;BR /&gt;
As quoted above the Python package only provides a wrapper. In the background there is only communication over an locally exposed HTTP port to Archicad. Archicad will return JSON data to any well-formed request.&lt;BR /&gt;
&lt;BR /&gt;
A last quote from the &lt;A href="https://archicadapi.graphisoft.com/JSONInterfaceDocumentation/#Introduction" target="_blank"&gt;JSON interface docs&lt;/A&gt;:&lt;BR /&gt;
&amp;gt; The ARCHICAD JSON API provides a way for external applications to automate ARCHICAD functions. It is a one-way communication from the external software to ARCHICAD. The communication happens via HTTP using JSON messages.&lt;BR /&gt;
&amp;gt; Because JSON is a language-independent data format, you can use any programming language to send commands to ARCHICAD.</description>
      <pubDate>Sun, 07 Feb 2021 12:42:29 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-Python-API/Lua-API/m-p/242783#M782</guid>
      <dc:creator>runxel</dc:creator>
      <dc:date>2021-02-07T12:42:29Z</dc:date>
    </item>
    <item>
      <title>Re: Lua API</title>
      <link>https://community.graphisoft.com/t5/Archicad-Python-API/Lua-API/m-p/242784#M783</link>
      <description>Potato -- Potato&lt;BR /&gt;
&lt;BR /&gt;
I have written several Python interfaces/applications with Archicad and never used JSON and don't intend too. Python can be used by itself, either internally or externally, and I have demoed both without JSON The classes and commands are completely Python and run in the Python embedded environment.They simply request data from Archicad.. JSON is a Data format not a Programming language&lt;BR /&gt;
&lt;BR /&gt;
"JavaScript Object Notation (JSON) is a standard text-based format for representing structured data based on JavaScript object syntax. It is commonly used for transmitting data in web applications (e.g., sending some data from the server to the client, so it can be displayed on a web page, or vice versa)."&lt;BR /&gt;
&lt;BR /&gt;
After the Beta in 23 Graphisoft removed almost all of the "create" capabilities in order to concentrate on the new Class style  format. I can't argue with that but its my belief that it fatally crippled usage unless it is restored.</description>
      <pubDate>Sun, 07 Feb 2021 17:14:58 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-Python-API/Lua-API/m-p/242784#M783</guid>
      <dc:creator>poco2013</dc:creator>
      <dc:date>2021-02-07T17:14:58Z</dc:date>
    </item>
    <item>
      <title>Re: Lua API</title>
      <link>https://community.graphisoft.com/t5/Archicad-Python-API/Lua-API/m-p/242785#M784</link>
      <description>&lt;BLOCKQUOTE&gt;poco2013 wrote:&lt;BR /&gt;
I have written several Python interfaces/applications with Archicad and never used JSON and don't intend too. Python can be used by itself, either internally or externally, and I have demoed both without JSON The classes and commands are completely Python and run in the Python embedded environment.They simply request data from Archicad. JSON is a Data format not a Programming language.
&lt;/BLOCKQUOTE&gt;

I don't want to argue with you, but I still have to point out, that there seems to be a misunderstanding here.&lt;BR /&gt;
It's true, JSON is not a programming language (nobody in this thread has said this to be so in the first place, tho).&lt;BR /&gt;
&lt;BR /&gt;
You write "They simply request data from Archicad" – and how is this done?&lt;BR /&gt;
By getting JSON data out of Archicad. Which means you have used JSON in any case. There is simply no other way. &lt;E&gt;&lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/E&gt;&lt;BR /&gt;
&lt;BR /&gt;
Cheers!</description>
      <pubDate>Sun, 07 Feb 2021 19:48:57 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-Python-API/Lua-API/m-p/242785#M784</guid>
      <dc:creator>runxel</dc:creator>
      <dc:date>2021-02-07T19:48:57Z</dc:date>
    </item>
    <item>
      <title>Re: Lua API</title>
      <link>https://community.graphisoft.com/t5/Archicad-Python-API/Lua-API/m-p/242786#M785</link>
      <description>Agree with Runxel, JSON API opens accessibility to any language. Python API is just a convenient integration of the JSON API into the Archicad environment. As I see it.</description>
      <pubDate>Mon, 08 Feb 2021 10:11:52 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-Python-API/Lua-API/m-p/242786#M785</guid>
      <dc:creator>leceta</dc:creator>
      <dc:date>2021-02-08T10:11:52Z</dc:date>
    </item>
  </channel>
</rss>

