Skip to main content

The core interop library for Selene python interfaces

Project description

Selene-Core

Selene is designed to be extensible through the use of plugins, in the form of compiled libraries and lightweight python interfaces that provide configuration for the selene-sim frontend. We achieve this through this selene-core crate and python module.

Each plugin should comprise a python component and a compiled library component. The compiled library implements the Selene plugin API, and the python component provides configuration, link information and the path to the compiled library to the selene frontend.

The python module

The selene-core python module provides interfaces for plugins to adhere to. It also provides a bundled include directory, containing C headers for the Selene plugin API for each type of component.

To access the C headers in the build stage of a python package, depend on selene-core as a build dependency and call selene_core.get_include_directory(). The resulting path can be provided to a build system for C or C++ and the plugin APIs can be included through:

#include <selene/simulator.h>   # for the simulator API
#include <selene/error_model.h> # for the error model API
#include <selene/runtime.h>     # for the runtime API

By implementing the required functions, the plugin can be dynamically loaded by Selene at runtime.

The rust crate

The selene-core rust crate defines the compiled plugin interfaces for the Selene backend to use. It additionally provides helper functionality for rust-based plugins to expose the Selene plugin APIs while providing a more idiomatic trait interface.

See the following for examples:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

selene_core-0.2.0a4-py3-none-any.whl (26.4 kB view details)

Uploaded Python 3

File details

Details for the file selene_core-0.2.0a4-py3-none-any.whl.

File metadata

  • Download URL: selene_core-0.2.0a4-py3-none-any.whl
  • Upload date:
  • Size: 26.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for selene_core-0.2.0a4-py3-none-any.whl
Algorithm Hash digest
SHA256 2bb14d35b083828151ec9df3e2251a9c9b8dd34eb14cd1bddbb1b440ebe0896d
MD5 c8f9c54defe8b35dff917fd03f6c9a36
BLAKE2b-256 e1f2c65fb87771f8540b8c0d0f10b2928c46c208dbf48d9667c4791ec48d5d7f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page