#![forbid(unsafe_code)]
#![deny(missing_docs)]
mod fidelity;
mod function;
mod library_core;
mod managed;
mod matrix_row;
mod objects;
mod profile;
mod resumable;
mod runtime;
#[cfg(test)]
mod tests;
pub use fidelity::{
PYTHON_EVIDENCE_CASES, PYTHON_EXTERNAL_ORACLE, PYTHON_FIDELITY, PythonEvidenceCase,
PythonFidelity,
};
pub use function::{
PythonBodyPolicy, PythonCallError, PythonFunction, PythonFunctionFlags, PythonSignature,
};
pub use library_core::{
MatchCase, MatchOutcome, PythonLibraryManifest, PythonSurface, PythonSurfaceState,
dynamic_python_policy, dynamic_python_policy_with_codec, match_expr, python_library_manifest,
python_module_policy, python_module_policy_with_codec,
};
pub use managed::{
PythonHeap, PythonHeapExt, PythonHeapPolicy, PythonManagedKind, PythonManagedMutationError,
PythonManagedObject,
};
pub use matrix_row::{python_core_matrix_row, python_core_source_cases};
pub use objects::{
AttributeError, ClassError, DescriptorHook, PythonClass, PythonObjectSpace, PythonObjectValue,
};
pub use profile::{install_python_core_profile, python_core_profile, python_profile_symbol};
pub use resumable::{
ContextManager, PythonExceptionData, PythonExceptionError, PythonExceptionRef,
PythonExceptionRelation, PythonExceptions, PythonGenerator, PythonGeneratorError,
PythonGeneratorStep, PythonIterator, run_with_context,
};
pub use runtime::{Annotation, PythonEvalPolicy, PythonValue};
pub const PYTHON_OBJECT_CONTROL_GAPS: &[&str] = &[
"custom metaclass construction and __prepare__",
"dynamic descriptor protocol mutation after class creation",
"weak-reference callbacks and proxy objects",
"language-visible __del__ finalizers and resurrection",
"async event-loop scheduling and async-generator hooks",
];
pub type PythonCoroutine<T, D> = PythonGenerator<T, D>;
pub static RECIPES: sim_cookbook::EmbeddedDir =
include!(concat!(env!("OUT_DIR"), "/cookbook_recipes.rs"));