"""Provide the Qualia-CodeGen Linux deployer class with support for Spiking Neural Networks."""
from __future__ import annotations
from importlib.resources import files
from qualia_core.deployment.qualia_codegen.Linux import Linux as LinuxQualiaCore
from qualia_core.typing import TYPE_CHECKING
from qualia_core.utils.path import resources_to_path
if TYPE_CHECKING:
from pathlib import Path
[docs]
class Linux(LinuxQualiaCore):
"""Qualia-CodeGen Linux deployer using example from qualia_codegen-plugin-snn for SNN support."""
[docs]
def __init__(self,
projectdir: str | Path | None = None,
outdir: str | Path | None = None) -> None:
"""Construct :class:`qualia_plugin_snn.deployment.qualia_codegen.Linux.Linux`.
:param cxxflags: Override default compiler flags, see :meth:`qualia_core.deployment.qualia_codegen.Linux.Linux.__init__`
:param modeldir: Path to model C code directory, default: ``out/qualia_codegen``
:param projectdir: Path to Qualia-CodeGen-Plugin-SNN Linux project dir, default:
``<qualia_codegen_plugin_snn.examples>/Linux``
:param outdir: Path to build products directory, default: ``out/deploy/Linux``
"""
super().__init__(projectdir=projectdir if projectdir is not None else
resources_to_path(files('qualia_codegen_plugin_snn.examples')/'Linux'),
outdir=outdir)