22
33import argparse
44import optparse
5- from typing import Union
5+ from typing import TYPE_CHECKING , Type
66
77import pkg_resources
88
9+ if TYPE_CHECKING :
10+ from .common_transport import CommonTransport
11+
912default_transport = "PikaTransport"
1013
1114
12- def lookup (transport ) :
15+ def lookup (transport : str ) -> Type [ CommonTransport ] :
1316 """Get a transport layer class based on its name."""
1417 return get_known_transports ().get (
1518 transport , get_known_transports ()[default_transport ]
1619 )
1720
1821
1922def add_command_line_options (
20- parser : Union [ argparse .ArgumentParser , optparse .OptionParser ] ,
23+ parser : argparse .ArgumentParser | optparse .OptionParser ,
2124 transport_argument : bool = False ,
2225) -> None :
2326 """Add command line options for all available transport layer classes."""
@@ -52,7 +55,7 @@ def add_command_line_options(
5255 transport ().add_command_line_options (parser )
5356
5457
55- def get_known_transports ():
58+ def get_known_transports () -> dict [ str , Type [ CommonTransport ]] :
5659 """Return a dictionary of all known transport mechanisms."""
5760 if not hasattr (get_known_transports , "cache" ):
5861 setattr (
@@ -63,4 +66,4 @@ def get_known_transports():
6366 for e in pkg_resources .iter_entry_points ("workflows.transport" )
6467 },
6568 )
66- return get_known_transports .cache .copy ()
69+ return get_known_transports .cache .copy () # type: ignore
0 commit comments