Speckle V2.0 in-memory transport seems to be broken

I’m using pySpeckle or specklePy (whatever the V2 version is called) on an AWS Lambda. Since it’s a read only file system I’ve had to use the in-memory transport as recommended and I had it setup something like this:

This was working fine, but some time during the last month or so it’s stopped working and is giving me the following error, which I think is the same error I was getting when I was using the default transport:

SpeckleException: SQLiteTransport could not initialise Objects.db at /home/sbx_user1051/.local/share/Speckle. Either provide a different base_path or use an alternative transport.

Looks like this change in behaviour came about around the time of this work: make sure specklepy send works completely without disk write access by gjedlicska · Pull Request #228 · specklesystems/specklepy · GitHub

I’m not familiar enough with the actual v2 code. Does anyone else have any ideas why this might be happening?


Hey @tluther

Can I ask what version of specklepy are you using on that installation? The fixes landed in 2.9.1

The fixes in the referenced PR was specifically targeting your usecase.

See my example below, I’ve just double checked with the current version and I can send and receive with an unwritable home/myuser/.local/share/Speckle folder.

Are you sure the error is raised because of the receive code you posted? Your code looks valid to me.

Let me know if you need more help.

Thanks for the response.

I’m using 2.9.1 and I think the error must be coming from that code snippet because that’s really the only area where I’m interacting with speckle. Just to pull down a stream.

I’m pretty sure it’s also the same error I was getting before I even specified the MemoryTransport, so it makes me think it’s not actually using the memory transport now