[][src]Struct pyo3::types::PyModule

#[repr(transparent)]
pub struct PyModule(_);

Represents a Python module object.

Methods

impl PyModule[src]

pub fn new<'p>(py: Python<'p>, name: &str) -> PyResult<&'p PyModule>[src]

Create a new module object with the __name__ attribute set to name.

pub fn import<'p>(py: Python<'p>, name: &str) -> PyResult<&'p PyModule>[src]

Import the Python module with the specified name.

pub fn from_code<'p>(
    py: Python<'p>,
    code: &str,
    file_name: &str,
    module_name: &str
) -> PyResult<&'p PyModule>
[src]

Loads the python code specified into a new module 'code' is the raw Python you want to load into the module 'file_name' is the file name to associate with the module (this is used when Python reports errors, for example) 'module_name' is the name to give the module

pub fn dict(&self) -> &PyDict[src]

Return the dictionary object that implements module's namespace; this object is the same as the __dict__ attribute of the module object.

pub fn name(&self) -> PyResult<&str>[src]

Gets the module name.

May fail if the module does not have a __name__ attribute.

pub fn filename(&self) -> PyResult<&str>[src]

Gets the module filename.

May fail if the module does not have a __file__ attribute.

pub fn call(
    &self,
    name: &str,
    args: impl IntoPy<Py<PyTuple>>,
    kwargs: Option<&PyDict>
) -> PyResult<&PyObjectRef>
[src]

Calls a function in the module. This is equivalent to the Python expression: getattr(module, name)(*args, **kwargs)

pub fn call0(&self, name: &str) -> PyResult<&PyObjectRef>[src]

Calls a function in the module. This is equivalent to the Python expression: getattr(module, name)()

pub fn call1<A>(&self, name: &str, args: A) -> PyResult<&PyObjectRef> where
    A: IntoPy<Py<PyTuple>>, 
[src]

Calls a function in the module. This is equivalent to the Python expression: getattr(module, name)(*args)

pub fn get(&self, name: &str) -> PyResult<&PyObjectRef>[src]

Gets a member from the module. This is equivalent to the Python expression: getattr(module, name)

pub fn add<V>(&self, name: &str, value: V) -> PyResult<()> where
    V: ToPyObject
[src]

Adds a member to the module.

This is a convenience function which can be used from the module's initialization function.

pub fn add_class<T>(&self) -> PyResult<()> where
    T: PyTypeCreate
[src]

Adds a new extension type to the module.

This is a convenience function that initializes the class, sets new_type.__module__ to this module's name, and adds the type to this module.

pub fn add_wrapped(&self, wrapper: &dyn Fn(Python) -> PyObject) -> PyResult<()>[src]

Adds a function or a (sub)module to a module, using the functions name as name.

Use this together with the#[pyfunction] and wrap_pyfunction! or #[pymodule] and wrap_pymodule!.

This example is not tested
m.add_wrapped(wrap_pyfunction!(double));
m.add_wrapped(wrap_pymodule!(utils));

You can also add a function with a custom name using add:

This example is not tested
m.add("also_double", wrap_pyfunction!(double)(py));

Trait Implementations

impl ToPyObject for PyModule[src]

impl PyObjectWithGIL for PyModule[src]

impl ToPyPointer for PyModule[src]

fn as_ptr(&self) -> *mut PyObject[src]

Gets the underlying FFI pointer, returns a borrowed pointer.

impl PyTypeInfo for PyModule[src]

type Type = ()

Type of objects to store in PyObject struct

type BaseType = PyObjectRef

Base class

const DESCRIPTION: &'static str[src]

Class doc string

const FLAGS: usize[src]

Type flags (ie PY_TYPE_FLAG_GC, PY_TYPE_FLAG_WEAKREF)

fn is_exact_instance(object: &PyObjectRef) -> bool[src]

Check if *mut ffi::PyObject is exact instance of this type

impl PyObjectAlloc for PyModule[src]

unsafe fn alloc(_py: Python) -> *mut PyObject[src]

unsafe fn dealloc(py: Python, obj: *mut PyObject)[src]

Calls the rust destructor for the object and frees the memory (usually by calling ptr->ob_type->tp_free). This function is used as tp_dealloc implementation. Read more

unsafe fn drop(py: Python, obj: *mut PyObject)[src]

Calls the rust destructor for the object.

impl PyTypeObject for PyModule[src]

fn type_object() -> Py<PyType>[src]

Returns the safe abstraction over the type object from PyTypeObject::init_type

impl<'a> From<&'a PyModule> for &'a PyObjectRef[src]

impl PartialEq<PyModule> for PyModule[src]

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0
[src]

This method tests for !=.

impl AsRef<PyObjectRef> for PyModule[src]

impl Display for PyModule[src]

impl Debug for PyModule[src]

Auto Trait Implementations

impl Send for PyModule

impl Sync for PyModule

Blanket Implementations

impl<T> PyObjectAlloc for T where
    T: PyObjectWithFreeList
[src]

unsafe fn drop(py: Python, obj: *mut PyObject)[src]

Calls the rust destructor for the object.

impl<T> PyTypeObject for T where
    T: PyTypeInfo + PyMethodsProtocol + PyObjectAlloc
[src]

fn type_object() -> Py<PyType>[src]

Returns the safe abstraction over the type object from PyTypeObject::init_type

impl<T> PyTypeCreate for T where
    T: PyObjectAlloc + PyTypeObject
[src]

#[must_use]
fn create(py: Python) -> PyResult<PyRawObject>
[src]

Create PyRawObject which can be initialized with rust value

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.