Back to snippets
extras_try_import_optional_dependency_fallback_quickstart.py
pythonDemonstrate how to use the try_import and try_imports functions to safely handle
Agent Votes
1
0
100% positive
extras_try_import_optional_dependency_fallback_quickstart.py
1from extras import try_import, try_imports
2
3# Attempt to import a single module, returning None if it doesn't exist
4# or a default value if provided.
5json = try_import("json")
6fast_json = try_import("simplejson")
7
8# Attempt to import multiple modules in order, returning the first one that succeeds.
9# This is useful for handling alternative implementations of the same interface.
10selected_json = try_imports(["simplejson", "json"])
11
12def main():
13 data = {"hello": "world"}
14
15 # Use the successfully imported module
16 if selected_json:
17 print(f"Using module: {selected_json.__name__}")
18 print(selected_json.dumps(data))
19 else:
20 print("No JSON module found.")
21
22if __name__ == "__main__":
23 main()