Hi everyone,
I’m in a critical situation and would be incredibly grateful for any expert help. I have a major presentation of my advanced BIM automation project tomorrow, and my Speckle Automate function has suddenly become completely blocked by a persistent TypeError.
The Core Problem
Every single attempt to run my automation now fails immediately with “No logs found”. The underlying traceback (which I can only see briefly in the function report) is always the same:
Code
Traceback (most recent call last):
File "/home/speckle/main.py", line [varies], in <module>
execute_automate_function(main)
File "/usr/local/lib/python3.11/site-packages/speckle_automate/runner.py", line 126, in execute_automate_function
automation_context = run_function()
File "/usr/local/lib/python3.11/site-packages/speckle_automate/runner.py", line 164, in run_function
automation_context.report_run_status()
File "/usr/local/lib/python3.11/site-packages/speckle_automate/automation_context.py", line 269, in report_run_status
self.speckle_client.httpclient.execute(query, params)
TypeError: Client.execute() takes 2 positional arguments but 3 were given
This error happens during the entrypoint initialization, before any of my main.py code actually runs.
Background: What Used to Work Perfectly
I have a “Golden Master” version of my script (v25.0) that was simpler. It performed a “Fire Validation” check and sent notifications to Discord. This version worked perfectly in the default Speckle environment without using a requirements.txt file . This proves the basic setup was functional.
The Goal: Evolving the Automation to a “Guardian”
I evolved the script into “ARGUS.AI” to perform more advanced checks for my presentation, including:
-
4D Validation: Reading a schedule.json to check for project delays.
-
Advanced PGI Validation: Reading a pgi_rules.json to check for:
-
Type naming conventions.
-
Required Instance parameters (like WBS-S01).
-
Required Type parameters (like WBS-F01).
Troubleshooting Steps Taken (All Failed)
The TypeError started appearing after I began developing the new features. To solve it, I have systematically tried the following, but every single attempt resulted in the same TypeError :
-
No requirements.txt: I created a minimal, self-contained “Invincible” script (v34.0) with no external JSON dependencies and deleted requirements.txt entirely, hoping to revert to the stable default environment. The error persists.
-
Specific requirements.txt (Attempt A):
codeText
specklepy==2.17.4
speckle-automate==2.17.0
- Specific requirements.txt (Attempt B, with gql):
codeText
specklepy==2.17.4
speckle-automate==2.17.0
gql[requests]==3.4.1
- Specific requirements.txt (Attempt C, newer versions):
codeText
specklepy==2.19.0
speckle-automate==2.19.0
No matter the configuration, the TypeError happens at the same point during initialization. This strongly suggests an incompatibility issue within the Speckle Automate execution environment itself.
My Core Question for the Speckle Team
Given that this error is happening even with a minimal script and no requirements.txt, what is the current, officially recommended, and guaranteed-to-be-stable requirements.txt configuration for Speckle Automate functions?
Is there a known issue or a recent change in the default Python 3.11 environment that could be causing this persistent dependency conflict?
I’m against a very hard deadline and need to get a stable, working version for my presentation tomorrow. Any guidance you can provide would be a lifesaver.
Thank you so much for your time and expertise.
Mauro