Module Import Examples


Module Import Examples

This document introduces import, from . import * and importing from .pyi files.

Module Introduction

Supports import module, from module import *, importing via .pyi declarations, etc. Built-in examples:

#!pika
import PikaStdLib as std
print(std.MemChecker)
#!pika
#!pika
from opbt import UartConfig
UartConfig(0, 115200)
#!pika

Example Code

Conditional Import (import.py)

#!pika
if True:
    import PikaStdLib as std


print("PASS")
#!pika

Note: Import module within conditional block and create alias, execute subsequent code after successful import.

Import All from Module (from_import_all.py)

#!pika
from test_module1 import *

mytest()
#!pika

Note: from module import * brings all defined names from module into current namespace, can call mytest() directly. Requires test_module1 module to exist on device.

Call via Module Name (from_import_all_module.py)

#!pika
import test_module5

test_module5.mytest()
#!pika

Note: When using import module, call via module.function_name to avoid naming conflicts.

Import from pyi (from_import_pyi.py)

#!pika
from i18n import _
import  _from_import_pyi
print("PASS")
#!pika

Note: Import symbols from .pyi declared modules (like i18n), and work with actual implementation modules (like _from_import_pyi), suitable for binding C/firmware interfaces.

Notes

  • Available modules on device are determined by firmware and requestment.txt, unlisted modules may not be importable.
  • import * brings in all public names from module, may affect readability and namespace for large modules.