Skip to content

Commit d95143e

Browse files
authored
refactor:(samsung backend): replace pkg_resources with importlib.resources for schema loading (pytorch#14654)
This PR refactors the Samsung backend schema loading logic in compile_options.py by replacing pkg_resources with importlib.resources. This modernizes resource access, improves compatibility with Python packaging standards, and removes the dependency on setuptools. No functional changes to the compile options logic; only the resource loading mechanism is updated. Signed-off-by: Onuralp SEZER <[email protected]>
1 parent 07dcd95 commit d95143e

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

backends/samsung/serialization/compile_options.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111
from dataclasses import dataclass
1212
from enum import IntEnum, unique
1313

14-
import pkg_resources
14+
from importlib.resources import files
15+
1516
from executorch.exir._serialize._dataclass import _DataclassEncoder
1617
from executorch.exir._serialize._flatbuffer import _flatc_compile
1718
from executorch.exir.backend.backend_details import CompileSpec
@@ -36,12 +37,15 @@ def gen_samsung_backend_compile_spec_core(options: EnnExecuTorchOptions) -> Comp
3637
with tempfile.TemporaryDirectory() as d:
3738
# schema
3839
schema_path = os.path.join(d, "{}.fbs".format(COMPILE_OPTION_SCHEMA_NAME))
40+
41+
schema_content = (
42+
files(__package__)
43+
.joinpath(f"{COMPILE_OPTION_SCHEMA_NAME}.fbs")
44+
.read_bytes()
45+
)
46+
3947
with open(schema_path, "wb") as schema_file:
40-
schema_file.write(
41-
pkg_resources.resource_string(
42-
__name__, "{}.fbs".format(COMPILE_OPTION_SCHEMA_NAME)
43-
)
44-
)
48+
schema_file.write(schema_content)
4549
# dump json
4650
json_path = os.path.join(d, "{}.json".format(COMPILE_OPTION_SCHEMA_NAME))
4751
enn_options_json = json.dumps(options, cls=_DataclassEncoder, indent=4)

0 commit comments

Comments
 (0)