oxidized_importer Python Resource Types¶
The oxidized_importer module defines Python types beyond
OxidizedFinder. This page documents those types and their APIs.
Important
All types are backed by Rust structs and all properties return copies of the data. This means that if you mutate a Python variable that was obtained from an instance’s property, that mutation won’t be reflected in the backing Rust struct.
OxidizedResource¶
Represents a resource that is indexed by a OxidizedFinder
instance.
See OxidizedResource for API documentation.
OxidizedResource Resource Types¶
Each OxidizedResource instance describes a particular type of resource.
If a resource identifies as a type, it sets one of the following is_*
attributes to True:
OxidizedResource.is_moduleA Python module. These typically have source or bytecode attached.
Modules can also be packages. In this case, they can hold additional data, such as a mapping of resource files.
OxidizedResource.is_builtin_extension_moduleA built-in extension module. These represent Python extension modules that are compiled into the application and don’t exist as separate shared libraries.
OxidizedResource.is_frozen_moduleA frozen Python module. These are Python modules whose bytecode is compiled into the application.
OxidizedResource.is_extension_moduleA Python extension module. These are shared libraries that can be loaded to provide additional modules to Python.
OxidizedResource.is_shared_libraryA shared library. e.g. a
.soor.dll.
PythonModuleSource¶
The PythonModuleSource type represents Python module
source code. e.g. a .py file. See its linked API documentation
for more.
PythonModuleBytecode¶
The PythonModuleBytecode type represents Python
module bytecode. e.g. what a .pyc file holds (but without the header
that a .pyc file has).
PythonExtensionModule¶
The PythonExtensionModule type represents a
Python extension module. This is a shared library defining a Python
extension implemented in native machine code that can be loaded into
a process and defines a Python module. Extension modules are typically
defined by .so, .dylib, or .pyd files.
Note
Properties of this type are read-only.
PythonPackageResource¶
The PythonPackageResource type represents a non-module
resource file.
PythonPackageDistributionResource¶
The PythonPackageDistributionResource type represents
a non-module resource file living in a package distribution directory