@@ -72,9 +72,16 @@ async def __aexit__(self, exc_type, exc_value, traceback):
7272 await self ._pool .put (self ._session )
7373
7474
75- @CrossSync .convert_class
75+ @CrossSync .convert_class (
76+ docstring_format_vars = {
77+ "experimental_api" : (
78+ "\n \n .. warning::\n The Spanner AsyncIO API is experimental and may be subject to breaking changes.\n " ,
79+ "" ,
80+ )
81+ }
82+ )
7683class AbstractSessionPool (object ):
77- """Specifies required API for concrete session pool implementations.
84+ """{experimental_api} Specifies required API for concrete session pool implementations.
7885
7986 :type labels: dict (str -> str) or None
8087 :param labels: (Optional) user-assigned labels for sessions created
@@ -208,9 +215,16 @@ def session(self, **kwargs):
208215 return SessionCheckout (self , ** kwargs )
209216
210217
211- @CrossSync .convert_class
218+ @CrossSync .convert_class (
219+ docstring_format_vars = {
220+ "experimental_api" : (
221+ "\n \n .. warning::\n The Spanner AsyncIO API is experimental and may be subject to breaking changes.\n " ,
222+ "" ,
223+ )
224+ }
225+ )
212226class FixedSizePool (AbstractSessionPool ):
213- """Concrete session pool implementation:
227+ """{experimental_api} Concrete session pool implementation:
214228
215229 - Pre-allocates / creates a fixed number of sessions.
216230
@@ -474,9 +488,16 @@ async def clear(self):
474488 await session .delete ()
475489
476490
477- @CrossSync .convert_class
491+ @CrossSync .convert_class (
492+ docstring_format_vars = {
493+ "experimental_api" : (
494+ "\n \n .. warning::\n The Spanner AsyncIO API is experimental and may be subject to breaking changes.\n " ,
495+ "" ,
496+ )
497+ }
498+ )
478499class BurstyPool (AbstractSessionPool ):
479- """Concrete session pool implementation:
500+ """{experimental_api} Concrete session pool implementation:
480501
481502 - "Pings" existing sessions via :meth:`session.exists` before returning
482503 them.
@@ -585,9 +606,16 @@ async def clear(self):
585606 await session .delete ()
586607
587608
588- @CrossSync .convert_class
609+ @CrossSync .convert_class (
610+ docstring_format_vars = {
611+ "experimental_api" : (
612+ "\n \n .. warning::\n The Spanner AsyncIO API is experimental and may be subject to breaking changes.\n " ,
613+ "" ,
614+ )
615+ }
616+ )
589617class PingingPool (FixedSizePool ):
590- """Concrete session pool implementation:
618+ """{experimental_api} Concrete session pool implementation:
591619
592620 - Pre-allocates / creates a fixed number of sessions.
593621
@@ -834,9 +862,16 @@ async def ping(self):
834862 await self .put (session )
835863
836864
837- @CrossSync .convert_class
865+ @CrossSync .convert_class (
866+ docstring_format_vars = {
867+ "experimental_api" : (
868+ "\n \n .. warning::\n The Spanner AsyncIO API is experimental and may be subject to breaking changes.\n " ,
869+ "" ,
870+ )
871+ }
872+ )
838873class TransactionPingingPool (PingingPool ):
839- """Concrete session pool implementation:
874+ """{experimental_api} Concrete session pool implementation:
840875
841876 Deprecated: TransactionPingingPool no longer begins a transaction for each of its sessions at startup.
842877 Hence the TransactionPingingPool is same as :class:`PingingPool` and maybe removed in the future.
0 commit comments