[][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]

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

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

Imports 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]

Returns the module's name.

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

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

Returns the module's 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 module.name(*args, **kwargs).

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

Calls a function in the module with only positional arguments.

This is equivalent to the Python expression module.name(*args).

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

Calls a function in the module without arguments.

This is equivalent to the Python expression module.name().

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

Gets a member from the module.

This is equivalent to the Python expression 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<'py> FromPyObject<'py> for &'py PyModule[src]

impl PartialEq<PyModule> for PyModule[src]

impl PyLayout<PyModule> for PyObject[src]

impl PyNativeType for PyModule[src]

impl PyTypeInfo for PyModule[src]

type Type = ()

Type of objects to store in PyObject struct

type BaseType = PyAny

Base class

type Layout = PyObject

Layout

type BaseLayout = PyObject

Layout of Basetype.

type Initializer = PyNativeTypeInitializer<Self>

Initializer for layout

type AsRefTarget = Self

Utility type to make AsPyRef work

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<'p, T> FromPyPointer<'p> for T where
    T: 'p + PyNativeType
[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<'py, T> PyDowncastImpl for T where
    T: 'py + PyNativeType
[src]

impl<'v, T> PyTryFrom<'v> for T where
    T: PyDowncastImpl + PyTypeInfo + PyNativeType
[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.