Skip to content

Commit 39f352a

Browse files
committed
IdentityPython#976 need to avoid dbm.sqlite which is default in Python >= 3.13
1 parent 175a450 commit 39f352a

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

src/saml2/server.py

+11
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,18 @@
5555
}
5656

5757

58+
def _avoid_dbm_sqlite():
59+
"""
60+
Force dbm.gnu to be used instead of dbm.sqlite because of threading issues when
61+
running idp_server.py. The dbm.sqlite is the default dbm module used by Python >= 3.13
62+
"""
63+
import dbm.gnu
64+
import dbm
65+
dbm._defaultmod = dbm.gnu
66+
67+
5868
def _shelve_compat(name, *args, **kwargs):
69+
_avoid_dbm_sqlite()
5970
try:
6071
return shelve.open(name, *args, **kwargs)
6172
except dbm.error[0]:

0 commit comments

Comments
 (0)