monty 0.0.19-beta.2

A sandboxed, snapshotable Python interpreter written in Rust.
Documentation
/// Type definitions for Python runtime values.
///
/// This module contains structured types that wrap heap-allocated data
/// and provide Python-like semantics for operations like append, insert, etc.
///
/// The `AbstractValue` trait provides a common interface for all heap-allocated
/// types, enabling efficient dispatch via `enum_dispatch`.
pub mod bytes;
pub mod class;
pub mod dataclass;
pub mod date;
pub mod datetime;
pub mod dict;
pub mod dict_view;
pub mod file;
pub mod instance;
pub mod iter;
pub mod list;
pub mod long_int;
pub mod module;
pub mod namedtuple;
pub mod path;
pub mod property;
pub mod py_trait;
pub mod range;
pub mod re_match;
pub mod re_pattern;
pub mod set;
pub mod slice;
pub mod str;
pub mod timedelta;
pub mod timezone;
pub mod tuple;
pub mod r#type;

pub(crate) use bytes::Bytes;
pub(crate) use class::Class;
pub(crate) use dataclass::Dataclass;
pub(crate) use dict::Dict;
pub(crate) use dict_view::{DictItemsView, DictKeysView, DictValuesView};
pub(crate) use file::OpenFile;
pub(crate) use instance::{BoundMethod, Instance};
pub(crate) use iter::MontyIter;
pub(crate) use list::List;
pub(crate) use long_int::LongInt;
pub(crate) use module::Module;
pub(crate) use namedtuple::NamedTuple;
pub(crate) use path::Path;
pub(crate) use property::Property;
pub(crate) use py_trait::{AttrCallResult, CmpOrder, LazyHeapSet, PyTrait};
pub(crate) use range::Range;
pub(crate) use re_match::ReMatch;
pub(crate) use re_pattern::{BoundedCompileError, RePattern};
pub(crate) use set::{FrozenSet, Set};
pub(crate) use slice::Slice;
pub(crate) use str::{Str, allocate_string};
pub(crate) use timedelta::TimeDelta;
pub(crate) use timezone::TimeZone;
pub(crate) use tuple::{Tuple, allocate_tuple};
pub(crate) use r#type::Type;