Skip to main content
The Import API provides tools for working with imports and managing dependencies between files.

Accessing Imports

You can access these through File.imports and File.import_statements:

Common Operations

The Import API provides several methods for modifying imports:

Import Resolution

Imports can be traced to their original symbols:
With Python one can specify the PYTHONPATH environment variable which is then considered when resolving packages.

Working with External Modules

You can determine if an import references an ExternalModule by checking the type of Import.imported_symbol, like so:
Learn more about external modules here

Bulk Operations

Here are patterns for working with multiple imports:
Always check if imports resolve to external modules before modification to avoid breaking third-party package imports.

Import Statements vs Imports

Codegen provides two levels of abstraction for working with imports:
  • ImportStatement - Represents a complete import statement
  • Import - Represents individual imported symbols
You can access these through File.imports and File.import_statements:
ImportStatement inherits from Statement, providing operations like remove() and insert_before().