88 PEtab should use for operations that can be performed in parallel.
99 By default, all operations are performed sequentially.
1010"""
11+
1112import importlib
1213import sys
1314from functools import partial
@@ -23,7 +24,9 @@ def __getattr__(name):
2324 return attr
2425 if name == "v1" :
2526 return importlib .import_module ("petab.v1" )
26- if name != "__path__" :
27+ if name == "v2" :
28+ return importlib .import_module ("petab.v2" )
29+ if name not in ("__path__" , "__all__" , "__wrapped__" ):
2730 warn (
2831 f"Accessing `petab.{ name } ` is deprecated and will be removed in "
2932 f"the next major release. Please use `petab.v1.{ name } ` instead." ,
@@ -33,8 +36,8 @@ def __getattr__(name):
3336 return getattr (importlib .import_module ("petab.v1" ), name )
3437
3538
36- def v1getattr (name , module ):
37- if name != "__path__" :
39+ def _v1getattr (name , module ):
40+ if name not in ( "__path__" , "__all__" , "__wrapped__" ) :
3841 warn (
3942 f"Accessing `petab.{ name } ` is deprecated and will be removed in "
4043 f"the next major release. Please use `petab.v1.{ name } ` instead." ,
@@ -64,7 +67,7 @@ def v1getattr(name, module):
6467 real_module = importlib .import_module (
6568 f"petab.v1.{ '.' .join (v1_object_parts )} "
6669 )
67- real_module .__getattr__ = partial (v1getattr , module = real_module )
70+ real_module .__getattr__ = partial (_v1getattr , module = real_module )
6871 sys .modules [module_name ] = real_module
6972 except ModuleNotFoundError :
7073 pass
0 commit comments