gemini-code-assist[bot] commented on code in PR #187:
URL: https://github.com/apache/tvm-ffi/pull/187#discussion_r2451973397
##########
python/tvm_ffi/module.py:
##########
@@ -305,29 +309,36 @@ def system_lib(symbol_prefix: str = "") -> Module:
return _ffi_api.SystemLib(symbol_prefix)
-def load_module(path: str) -> Module:
+def load_module(path: Union[str, os.PathLike]) -> Module:
Review Comment:

The type hint `os.PathLike` will cause a `NameError` at runtime because the
`os` module itself is not imported, only `fspath` from it.
To fix this, you should import `PathLike` from `os` and use it directly in
the type hint.
1. Modify the import on line 31 to `from os import fspath, PathLike`.
2. Update this line to use `PathLike` as shown in the suggestion.
```suggestion
def load_module(path: Union[str, PathLike]) -> Module:
```
##########
python/tvm_ffi/module.py:
##########
@@ -305,29 +309,36 @@ def system_lib(symbol_prefix: str = "") -> Module:
return _ffi_api.SystemLib(symbol_prefix)
-def load_module(path: str) -> Module:
+def load_module(path: Union[str, os.PathLike]) -> Module:
"""Load module from file.
-
+
Parameters
----------
- path
+ path : str or PathLike
The path to the module file.
-
+
Returns
-------
module
The loaded module
-
+
Examples
--------
.. code-block:: python
-
- mod = tvm_ffi.load_module("path/to/module.so")
- mod.func_name(*args)
-
+
+ # Works with string paths
+ mod = tvm_ffi.load_module("path/to/module.so")
+ mod.func_name(*args)
+
+ # Also works with pathlib.Path objects
+ from pathlib import Path
+ mod = tvm_ffi.load_module(Path("path/to/module.so"))
+ mod.func_name(*args)
+
See Also
--------
:py:class:`tvm_ffi.Module`
-
"""
Review Comment:

The updated docstring contains several unnecessary blank lines which makes
it less compact and readable. Also, for consistency with the function's type
hint, it's better to use `Union[str, PathLike]` instead of `str or PathLike`
for describing the `path` parameter. Please consider the following suggestion
which addresses both points, following numpy-style docstring conventions.
```python
"""Load module from file.
Parameters
----------
path : Union[str, PathLike]
The path to the module file.
Returns
-------
module
The loaded module
Examples
--------
.. code-block:: python
# Works with string paths
mod = tvm_ffi.load_module("path/to/module.so")
mod.func_name(*args)
# Also works with pathlib.Path objects
from pathlib import Path
mod = tvm_ffi.load_module(Path("path/to/module.so"))
mod.func_name(*args)
See Also
--------
:py:class:`tvm_ffi.Module`
"""
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]