Comments (4)
As the internal query engine is asynchronous I do not know how this feature would be properly implemented for the synchronous client.
The naive solution is to simply use something like loop.run_until_complete()
however I don't know what side effects this could cause or it's limitations.
from prisma-client-py.
One possible solution for the synchronous client could be to create a future and use polling. However I don't know if this would work as AFAIK asyncio requires a running event loop for any futures to be completed, however as we would be running the coroutines in a tokio event loop, this might actually be possible.
More research is needed.
Pseudo code:
def connect(self) -> None:
future = engine.connect()
if isinstance(future, asyncio.Future):
while not future.done():
time.sleep(0.001)
exc = future.exception()
if exc is not None:
raise exc
EDIT: this does not work, there needs to be a running loop on the asyncio side
from prisma-client-py.
Found a good solution, implement synchronous rust functions that call the asynchronous rust functions.
from prisma-client-py.
Maybe worth looking into: https://github.com/axodotdev/cargo-dist for building binaries
from prisma-client-py.
Related Issues (20)
- Quoted Tables Break Implicit Many to Many in Python but not Node
- BinaryNotFoundError When Running in Docker HOT 3
- The Client hasn't been generated yet HOT 1
- using models as fastAPI response_model freezes fastAPI docs HOT 1
- When a model is named `Set`, generation fails HOT 1
- Allow partials to be accesed through client
- Consistent enum formatting in 3.11+
- Provide a TypedDict for every model
- Drop support for Python 3.7
- Option to generate camelcase python methods/function names.
- Query engine seems to stop before disconnecting HOT 5
- Retrying db calls?
- Option --generator not being honoured HOT 2
- Pydantic >2.0 makes `prisma generate` crash HOT 2
- Allow specifying generated package name and location HOT 1
- How to import enum values by prisma-client-py ? HOT 1
- Support schemas that are using the preview feature relationJoins on different generators HOT 1
- Generate Async and Sync client together at the same time HOT 2
- httpx.ConnectError: All connection attempts failed HOT 1
- Once event loop is closed, async client can not be used anymore. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from prisma-client-py.