You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reacted by Ashwin Raghav, Iman Mirzadeh, Chanhyeong Lee, Etienne Landuré, Simon, Tarek Salama, KHELIFI Ahmed Aziz, Tuukka Mustonen, Tuukka Mustonen, Lenormand Julien and 1 more
Can this be not handled in the application code? Basically execute Admin SDK methods like ref.get() on separate threads.
Reacted by Jon Goodrum
Reacted by Rémy HUBSCHER, Victor Malov, Samuel Stroschein, Clament John, Spinne, Iman Mirzadeh, icnahom, ChenCheng Jiang, Artem Belyakov, denisolyanyuk and 1 more
Most of our users are on Python 2.7, so we cannot directly expose async coroutines from the SDK anytime soon. In the meantime you should be able to get around the scalability issues by using the run_in_executor() method of the asyncio event loop.
ref = db.reference(path) # Doesn't make RPC calls
executor = concurrent.futures.ThreadPoolExecutor(max_workers=8)
loop = asyncio.get_event_loop()
loop.run_in_executor(executor, ref.get) # Make RPC call on a separate thread
I wanted to report that having async support for an auth SDK is very important. This is exactly the area where async frameworks make a huge difference, where you do a client side request inside a server side request.
Reacted by Victor Malov, Daniel, Sylvain Hellegouarch, Dev Aggarwal, Philipp Gross, Chanhyeong Lee, Dominik Magdaleński, Takos, cam-matsui, TOLOMIKA and 4 more
I agree with the general feeling here. Not having async support is making this library a tad less useful nowadays. Not very future proof unfortunately.
+1 on this. My project has a few hundred thousand items that need to be worked via Firebase, and ~1 second latency times make wait times intractable without async support
This needs to be first addressed in other GCP Python libraries that we use as dependencies. More specifically, the google-auth library (which we use to make all authorized HTTP calls) needs to support it. From what I can see, they have plans to add async support starting from 2020, but there is no concrete timetable as of now:
I can only imagine that this will take a while considering the engineering effort that is involved. Pretty much all existing APIs have to be re-evaluated and redesigned for async support.
If google-auth takes a very long time to introduce async support, we can consider wrapping the existing google-auth APIs in async threads, so that at least firebase-admin can expose an async API to the developer. But even that is going to require a lot of work, based on some prototyping results I've managed to put together.
Is there any development on this front?
Also can you please reopen this issue?
We have been using firestore and lack of async is a very big downside of firestore.
If async supported is not planned for google services, It would be nice if we know beforehand so we can plan our migration to services that support it. Lack of this feature is causing us both money and product quality tbh.
There's been no development in this space afaik. We cannot support an async API until the core GCP Python libraries like google-auth provide async support. For Firestore you can file a feature request directly at https://github.com/googleapis/python-firestore
Good news! We are prioritizing this task and have plans to start the initial planning work over the coming months. It is still too early to provide a timeline, but I will reopen this issue so we can track the progress here. Thank you everyone for your patience!
Reacted by Dominik Magdaleński, Alexander, Chanhyeong Lee, Leo Trubach, Amit Krishna A, Etienne Landuré, David Nellessen and icnahom
Reacted by Brad Reardon, Samuel Stroschein, Notmeor, Kamyar, Anand, Fernando Alves, Eran Hirsch, Takos, Chanhyeong Lee, Sjukd00m and 4 more
Hello! I know the last comment wasn't left here long ago, but as it didn't get any answer, I'm posting another one.
Has a timeline been agreed upon since April 2021, and if there is one, could you please let everyone know here?
Thank you again for your patience on this!
This is a high priority task for us and we should start seeing the initial changes sometime in Q2/Q3 2022. I can't promise you a timeline for this feature but rest assured that this is something on our immediate roadmap for this year and you will see updates in the coming months.
Hey Folks, We just released v5.3.0 which added async support for the Cloud Firestore API. This is the first step into fulfilling this FR so please give it a try and let us know what you think!
Reacted by Toni Alatalo, Alec Daling and Alessandro Facchin
Reacted by Brad Reardon, Nelson Castillo, MeRuslan, Eran Hirsch and Alessandro Facchin
Hi @lahirumaramba ! Just checking in - are there any updates or an ETA on this feature? Are there any blockers currently preventing progress?
It’s been quite a while - over 8 years since the issue was created and 2.5 years since the last update - so any news or context would be greatly appreciated. Thanks in advance!
Reacted by KHELIFI Ahmed Aziz, Bar Harel, Ivan Malison, kukac, Mike, Paul Stoker, Safa Arıman and Lenormand Julien
The SDK also supports async counterparts for Messaging (send_each_async() and send_each_for_multicast_async()).
We will continue to extend support for other services in the future. If you have requests for async support in a specific Firebase service please create a new FR covering that service. It helps us track progress instead of having a global FR for all the services/APIs.
Activity
hiranya911 commentedon Dec 11, 2017
Can this be not handled in the application code? Basically execute Admin SDK methods like
ref.get()on separate threads.eranhirs commentedon Dec 12, 2017
It won't scale as I would like and, to my opinion, complicates the code and is harder to track.
hiranya911 commentedon Dec 12, 2017
Most of our users are on Python 2.7, so we cannot directly expose async coroutines from the SDK anytime soon. In the meantime you should be able to get around the scalability issues by using the
run_in_executor()method of the asyncio event loop.eranhirs commentedon Dec 13, 2017
In case anyone runs into the same problem -
Eventually, I am using the REST API.
Calling it asynchronously with
aiohttp.For
authI am using the database secret which is DEPRECATED, so it's not ideal, but it works for now.Natim commentedon Mar 5, 2019
@eranhirs would you feel like starting a async-firebase project that we could contribute to?
hyperknot commentedon Apr 17, 2019
I wanted to report that having async support for an auth SDK is very important. This is exactly the area where async frameworks make a huge difference, where you do a client side request inside a server side request.
Please consider adding core support and examples for using with ASGI frameworks, like Starlette:
https://github.com/encode/starlette
Lawouach commentedon Jul 26, 2019
I agree with the general feeling here. Not having async support is making this library a tad less useful nowadays. Not very future proof unfortunately.
labroid commentedon Jan 1, 2020
+1 on this. My project has a few hundred thousand items that need to be worked via Firebase, and ~1 second latency times make wait times intractable without async support
labroid commentedon Jan 1, 2020
Python 2.7 is no longer supported. Any progress here?
hiranya911 commentedon Jan 1, 2020
This needs to be first addressed in other GCP Python libraries that we use as dependencies. More specifically, the google-auth library (which we use to make all authorized HTTP calls) needs to support it. From what I can see, they have plans to add async support starting from 2020, but there is no concrete timetable as of now:
googleapis/google-auth-library-python#321
googleapis/google-cloud-python#3103
I can only imagine that this will take a while considering the engineering effort that is involved. Pretty much all existing APIs have to be re-evaluated and redesigned for async support.
If google-auth takes a very long time to introduce async support, we can consider wrapping the existing google-auth APIs in async threads, so that at least firebase-admin can expose an async API to the developer. But even that is going to require a lot of work, based on some prototyping results I've managed to put together.
[DataStore] closes #7
kamyar commentedon Jun 3, 2020
Is there any development on this front?
Also can you please reopen this issue?
We have been using firestore and lack of async is a very big downside of firestore.
If async supported is not planned for google services, It would be nice if we know beforehand so we can plan our migration to services that support it. Lack of this feature is causing us both money and product quality tbh.
hiranya911 commentedon Jun 3, 2020
There's been no development in this space afaik. We cannot support an async API until the core GCP Python libraries like
google-authprovide async support. For Firestore you can file a feature request directly at https://github.com/googleapis/python-firestorekamyar commentedon Jun 3, 2020
It seems there is an open PR related to adding async support.
One of the contributors to the libraries just left a comment.
Would be great to hear about firebase-admin maintainers/contributors perspective on this. :)
Edit: I will look into the repo you linked and file a feature request maybe, thanks for the reply :)
5 remaining items
lahirumaramba commentedon Apr 9, 2021
Good news! We are prioritizing this task and have plans to start the initial planning work over the coming months. It is still too early to provide a timeline, but I will reopen this issue so we can track the progress here. Thank you everyone for your patience!
miksa commentedon Dec 20, 2021
Hi! Is there any update about this feature ? I saw a pull request to use new version of the google-auth api, would that fulfill prerequisites ?
guneemwelloeux commentedon Feb 24, 2022
Hello! I know the last comment wasn't left here long ago, but as it didn't get any answer, I'm posting another one.
Has a timeline been agreed upon since April 2021, and if there is one, could you please let everyone know here?
Many thanks!
lahirumaramba commentedon Feb 24, 2022
Thank you again for your patience on this!
This is a high priority task for us and we should start seeing the initial changes sometime in Q2/Q3 2022. I can't promise you a timeline for this feature but rest assured that this is something on our immediate roadmap for this year and you will see updates in the coming months.
jkyle109 commentedon Aug 25, 2022
Hey Folks, We just released v5.3.0 which added async support for the Cloud Firestore API. This is the first step into fulfilling this FR so please give it a try and let us know what you think!
antont commentedon Feb 2, 2024
Seems to be working well, we haven't used this under heavy load yet, though.
I'm curious to hear how others are experiencing this, but AFAIK it's good and robust.
We mostly use firestore and do async gcloud storage uploads too, so things are pretty good.
Messages seems to be one thing missing? #639
That would be actually nice to have.
alexandermalyga commentedon Dec 22, 2024
Hi, are there any plans to add async support to the admin auth client? Thanks for the great work!
alex-paru commentedon May 24, 2025
Hi @lahirumaramba ! Just checking in - are there any updates or an ETA on this feature? Are there any blockers currently preventing progress?
It’s been quite a while - over 8 years since the issue was created and 2.5 years since the last update - so any news or context would be greatly appreciated. Thanks in advance!
hojjatabdollahi commentedon Dec 4, 2025
Is there any plan to add async support? Or is this a won't fix?
Natim commentedon Dec 5, 2025
If you want async support, you should rely on google-cloud-firestore:
hojjatabdollahi commentedon Dec 5, 2025
@Natim Thank you. But does that work for auth too?
Natim commentedon Dec 5, 2025
I haven't tried but, if it doesn't, alternatively you can use an async wrapper such as:
Natim commentedon Dec 5, 2025
Apparently you can yes
lahirumaramba commentedon Dec 9, 2025
Firebase Admin Python SDK supports Firestore Async clients. See https://firebase.google.com/docs/firestore/quickstart#python_2
The SDK also supports async counterparts for Messaging (
send_each_async()andsend_each_for_multicast_async()).We will continue to extend support for other services in the future. If you have requests for async support in a specific Firebase service please create a new FR covering that service. It helps us track progress instead of having a global FR for all the services/APIs.