from __future__ import annotations
{% if !module.functions.is_empty() %}
import sys
from pathlib import Path
from . import _native
def _shared_library_filename() -> str:
if sys.platform == "win32":
return "{{ module.library_name }}.dll"
if sys.platform == "darwin":
return "lib{{ module.library_name }}.dylib"
return "lib{{ module.library_name }}.so"
_native._initialize_loader(str(Path(__file__).resolve().with_name(_shared_library_filename())))
{% for function in module.functions %}
{{ function.python_name }} = _native.{{ function.python_name }}
{% endfor %}
{% endif %}
MODULE_NAME = {{ module.module_name_literal() }}
PACKAGE_NAME = {{ module.package_name_literal() }}
PACKAGE_VERSION = {{ module.package_version_literal() }}
__all__ = [
"MODULE_NAME",
"PACKAGE_NAME",
"PACKAGE_VERSION",
{% for function in module.functions %}
"{{ function.python_name }}",
{% endfor %}
]