Urgent Help Needed: Persistent TypeError

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:

  1. 4D Validation: Reading a schedule.json to check for project delays.

  2. 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 :

  1. 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.

  2. Specific requirements.txt (Attempt A):

codeText

specklepy==2.17.4
speckle-automate==2.17.0
  1. Specific requirements.txt (Attempt B, with gql):

codeText

specklepy==2.17.4
speckle-automate==2.17.0
gql[requests]==3.4.1
  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

Hey, unlucky but we are dealing with an outage/error from our cloud provider. We are working with them actively on a solution, but a lot of this is out of our hands. Things will hopefully be resolved soon and I will let you know as soon as they are! Apologies for the stress so close to your presentation.

1 Like

@MaurOne Things appear to be back online, let me know if you see otherwise. And good luck with your presentation!

Hi @chuck,

I’m writing to follow up on my previous issue regarding the persistent TypeError: Client.execute() takes 2 positional arguments but 3 were given.

First, thank you for the transparency regarding the cloud provider outage. I’m glad to hear things are back online.

Unfortunately, despite the service restoration, the blocking TypeError remains completely unchanged on my end. This error is preventing any of my automations from running, even scripts that were working perfectly before the outage.

This is a critical blocker for my project.

To be sure this is not an issue with my code, I have systematically tried every possible configuration, including:

  1. No requirements.txt: Running a minimal, self-contained Python script to use the default server environment. Result: TypeError.

  2. requirements.txt with specklepy==2.17.4 / speckle-automate==2.17.0 . Result: TypeError.

  3. requirements.txt with specklepy==2.19.0 / speckle-automate==2.19.0 . Result: TypeError.

  4. requirements.txt with specklepy==2.17.4, speckle-automate==2.17.0, and gql[requests]==3.4.1 . Result: TypeError.

The error always occurs during the entrypoint initialization, before my main.py script begins execution. This confirms it is an environmental dependency conflict on the execution host.

My simple question is:
What is the exact, bulletproof requirements.txt configuration that is guaranteed to work with your current production Python 3.11 environment?

I am completely blocked and need a definitive solution to get my project back on track.

Thank you for your urgent attention to this matter.

Mauro

Hi @MaurOne

I notice you’re referencing quite old versions of SpecklePy.

I’d recommend updating to something newer, there have been many bug fixes and several breaking several changes to Speckle Automate since 2.19.0 was released..

A quick suggestion would be to try using version 2.23.0, this is the last v2 version of the SDK.


Since you asked for the official recommendation for stability, and long term support, I would recommend migrating to Speckle v3.
But please be aware that there’s been many changes to object data in v3, so may not be the quick fix you’re looking for.

You can read about v2 → v3 migration for connectors here and for specklepy here.

1 Like