[][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 index(&self) -> PyResult<&PyList>[src]

Return the index (__all__) of the module, creating one if needed.

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<&PyAny>
[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<&PyAny>[src]

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

pub fn call1(
    &self,
    name: &str,
    args: impl IntoPy<Py<PyTuple>>
) -> PyResult<&PyAny>
[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<&PyAny>[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: PyClass
[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: &impl 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 AsPyPointer for PyModule[src]

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

Gets the underlying FFI pointer, returns a borrowed pointer.

impl AsRef<PyAny> for PyModule[src]

impl Debug for PyModule[src]

impl Display for PyModule[src]

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

impl<'_> FromPyObjectImpl for &'_ PyModule[src]

type Impl = Reference

The type which implements ExtractImpl.

impl PartialEq<PyModule> for PyModule[src]

impl PyNativeType for PyModule[src]

impl PyObjectLayout<PyModule> for PyObject[src]

impl PyTypeInfo for PyModule[src]

type Type = ()

Type of objects to store in PyObject struct

type BaseType = PyAny

Base class

type ConcreteLayout = PyObject

Layout

type Initializer = PyNativeTypeInitializer<Self>

Initializer for layout

impl ToPyObject for PyModule[src]

Auto Trait Implementations

impl !RefUnwindSafe for PyModule

impl !Send for PyModule

impl !Sync for PyModule

impl Unpin for PyModule

impl UnwindSafe for PyModule

Blanket Implementations

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

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

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

impl<T> From<T> for T[src]

impl<T> FromPy<T> for T[src]

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

impl<T, U> IntoPy<U> for T where
    U: FromPy<T>, 
[src]

impl<'v, T> PyTryFrom<'v> for T where
    T: PyTypeInfo
[src]

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

impl<T> ToBorrowedObject for T where
    T: ToPyObject
[src]

impl<T> ToBorrowedObject for T where
    T: ToPyObject + AsPyPointer
[src]

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

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

The type returned in the event of a conversion error.