//! This crate contains most python logic. //! //! - Compilation //! - Bytecode //! - Import mechanics //! - Base objects // for methods like vm.to_str(), not the typical use of 'to' as a method prefix #![allow( clippy::wrong_self_convention, clippy::let_and_return, clippy::implicit_hasher )] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustPython/RustPython/master/logo.png")] #![doc(html_root_url = "https://docs.rs/rustpython-vm/")] #[cfg(feature = "flame-it")] #[macro_use] extern crate flamer; #[macro_use] extern crate bitflags; #[macro_use] extern crate lazy_static; extern crate lexical; #[macro_use] extern crate log; #[macro_use] extern crate maplit; // extern crate env_logger; #[macro_use] extern crate rustpython_derive; extern crate self as rustpython_vm; pub use rustpython_derive::*; #[doc(hidden)] pub use rustpython_derive::py_compile_bytecode as _py_compile_bytecode; #[macro_export] macro_rules! py_compile_bytecode { ($($arg:tt)*) => {{ #[macro_use] mod __m { $crate::_py_compile_bytecode!($($arg)*); } __proc_macro_call!() }}; } //extern crate eval; use eval::eval::*; // use py_code_object::{Function, NativeType, PyCodeObject}; // This is above everything else so that the defined macros are available everywhere #[macro_use] pub mod macros; mod builtins; pub mod cformat; mod descriptor; mod dictdatatype; #[cfg(feature = "rustpython-compiler")] pub mod eval; pub mod exceptions; pub mod format; mod frame; mod frozen; pub mod function; pub mod import; pub mod obj; pub mod py_serde; mod pyhash; pub mod pyobject; pub mod scope; mod sequence; pub mod stdlib; mod sysmodule; pub mod types; pub mod util; mod version; mod vm; // pub use self::pyobject::Executor; pub use self::vm::{InitParameter, PySettings, VirtualMachine}; pub use rustpython_bytecode::*; #[doc(hidden)] pub mod __exports { pub use maplit::hashmap; }