[−][src]Struct pyo3::prelude::PyModule
Represents a Python module
object.
Implementations
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]
py: Python<'p>,
code: &str,
file_name: &str,
module_name: &str
) -> PyResult<&'p PyModule>
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]
&self,
name: &str,
args: impl IntoPy<Py<PyTuple>>,
kwargs: Option<&PyDict>
) -> PyResult<&PyAny>
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]
&self,
name: &str,
args: impl IntoPy<Py<PyTuple>>
) -> PyResult<&PyAny>
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]
V: ToPyObject,
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]
T: PyClass,
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]
&self,
wrapper: &impl Fn(Python<'_>) -> PyObject
) -> PyResult<()>
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!.
m.add_wrapped(wrap_pyfunction!(double)); m.add_wrapped(wrap_pymodule!(utils));
You can also add a function with a custom name using add:
m.add("also_double", wrap_pyfunction!(double)(py));
Methods from Deref<Target = PyAny>
pub fn downcast<T>(&self) -> Result<&T, PyDowncastError> where
T: PyTryFrom<'py>,
[src]
T: PyTryFrom<'py>,
Convert this PyAny to a concrete Python type.
pub fn hasattr<N>(&self, attr_name: N) -> PyResult<bool> where
N: ToPyObject,
[src]
N: ToPyObject,
Determines whether this object has the given attribute.
This is equivalent to the Python expression hasattr(self, attr_name)
.
pub fn getattr<N>(&self, attr_name: N) -> PyResult<&PyAny> where
N: ToPyObject,
[src]
N: ToPyObject,
Retrieves an attribute value.
This is equivalent to the Python expression self.attr_name
.
pub fn setattr<N, V>(&self, attr_name: N, value: V) -> PyResult<()> where
N: ToBorrowedObject,
V: ToBorrowedObject,
[src]
N: ToBorrowedObject,
V: ToBorrowedObject,
Sets an attribute value.
This is equivalent to the Python expression self.attr_name = value
.
pub fn delattr<N>(&self, attr_name: N) -> PyResult<()> where
N: ToPyObject,
[src]
N: ToPyObject,
Deletes an attribute.
This is equivalent to the Python expression del self.attr_name
.
pub fn compare<O>(&self, other: O) -> PyResult<Ordering> where
O: ToPyObject,
[src]
O: ToPyObject,
Compares two Python objects.
This is equivalent to:
if self == other:
return Equal
elif a < b:
return Less
elif a > b:
return Greater
else:
raise TypeError("PyAny::compare(): All comparisons returned false")
pub fn rich_compare<O>(
&self,
other: O,
compare_op: CompareOp
) -> PyResult<&PyAny> where
O: ToPyObject,
[src]
&self,
other: O,
compare_op: CompareOp
) -> PyResult<&PyAny> where
O: ToPyObject,
Compares two Python objects.
Depending on the value of compare_op
, this is equivalent to one of the
following Python expressions:
- CompareOp::Eq:
self == other
- CompareOp::Ne:
self != other
- CompareOp::Lt:
self < other
- CompareOp::Le:
self <= other
- CompareOp::Gt:
self > other
- CompareOp::Ge:
self >= other
pub fn is_callable(&self) -> bool
[src]
Determines whether this object is callable.
pub fn call(
&self,
args: impl IntoPy<Py<PyTuple>>,
kwargs: Option<&PyDict>
) -> PyResult<&PyAny>
[src]
&self,
args: impl IntoPy<Py<PyTuple>>,
kwargs: Option<&PyDict>
) -> PyResult<&PyAny>
Calls the object.
This is equivalent to the Python expression self(*args, **kwargs)
.
pub fn call0(&self) -> PyResult<&PyAny>
[src]
Calls the object without arguments.
This is equivalent to the Python expression self()
.
pub fn call1(&self, args: impl IntoPy<Py<PyTuple>>) -> PyResult<&PyAny>
[src]
Calls the object with only positional arguments.
This is equivalent to the Python expression self(*args)
.
pub fn call_method(
&self,
name: &str,
args: impl IntoPy<Py<PyTuple>>,
kwargs: Option<&PyDict>
) -> PyResult<&PyAny>
[src]
&self,
name: &str,
args: impl IntoPy<Py<PyTuple>>,
kwargs: Option<&PyDict>
) -> PyResult<&PyAny>
Calls a method on the object.
This is equivalent to the Python expression self.name(*args, **kwargs)
.
Example
use pyo3::types::IntoPyDict; let gil = Python::acquire_gil(); let py = gil.python(); let list = vec![3, 6, 5, 4, 7].to_object(py); let dict = vec![("reverse", true)].into_py_dict(py); list.call_method(py, "sort", (), Some(dict)).unwrap(); assert_eq!(list.extract::<Vec<i32>>(py).unwrap(), vec![7, 6, 5, 4, 3]); let new_element = 1.to_object(py); list.call_method(py, "append", (new_element,), None).unwrap(); assert_eq!(list.extract::<Vec<i32>>(py).unwrap(), vec![7, 6, 5, 4, 3, 1]);
pub fn call_method0(&self, name: &str) -> PyResult<&PyAny>
[src]
Calls a method on the object without arguments.
This is equivalent to the Python expression self.name()
.
pub fn call_method1(
&self,
name: &str,
args: impl IntoPy<Py<PyTuple>>
) -> PyResult<&PyAny>
[src]
&self,
name: &str,
args: impl IntoPy<Py<PyTuple>>
) -> PyResult<&PyAny>
Calls a method on the object with only positional arguments.
This is equivalent to the Python expression self.name(*args)
.
pub fn is_true(&self) -> PyResult<bool>
[src]
Returns whether the object is considered to be true.
This is equivalent to the Python expression bool(self)
.
pub fn is_none(&self) -> bool
[src]
Returns whether the object is considered to be None.
This is equivalent to the Python expression self is None
.
pub fn is_empty(&self) -> PyResult<bool>
[src]
Returns true if the sequence or mapping has a length of 0.
This is equivalent to the Python expression len(self) == 0
.
pub fn get_item<K>(&self, key: K) -> PyResult<&PyAny> where
K: ToBorrowedObject,
[src]
K: ToBorrowedObject,
Gets an item from the collection.
This is equivalent to the Python expression self[key]
.
pub fn set_item<K, V>(&self, key: K, value: V) -> PyResult<()> where
K: ToBorrowedObject,
V: ToBorrowedObject,
[src]
K: ToBorrowedObject,
V: ToBorrowedObject,
Sets a collection item value.
This is equivalent to the Python expression self[key] = value
.
pub fn del_item<K>(&self, key: K) -> PyResult<()> where
K: ToBorrowedObject,
[src]
K: ToBorrowedObject,
Deletes an item from the collection.
This is equivalent to the Python expression del self[key]
.
pub fn iter(&self) -> PyResult<PyIterator<'_>>
[src]
Takes an object and returns an iterator for it.
This is typically a new iterator but if the argument is an iterator, this returns itself.
pub fn get_type(&self) -> &PyType
[src]
Returns the Python type object for this object's type.
pub fn get_type_ptr(&self) -> *mut PyTypeObject
[src]
Returns the Python type pointer for this object.
pub fn cast_as<'a, D>(&'a self) -> Result<&'a D, PyDowncastError> where
D: PyTryFrom<'a>,
[src]
D: PyTryFrom<'a>,
Casts the PyObject to a concrete Python object type.
This can cast only to native Python types, not types implemented in Rust.
pub fn extract<'a, D>(&'a self) -> PyResult<D> where
D: FromPyObject<'a>,
[src]
D: FromPyObject<'a>,
Extracts some type from the Python object.
This is a wrapper function around FromPyObject::extract()
.
pub fn get_refcnt(&self) -> isize
[src]
Returns the reference count for the Python object.
pub fn repr(&self) -> PyResult<&PyString>
[src]
Computes the "repr" representation of self.
This is equivalent to the Python expression repr(self)
.
pub fn str(&self) -> PyResult<&PyString>
[src]
Computes the "str" representation of self.
This is equivalent to the Python expression str(self)
.
pub fn hash(&self) -> PyResult<isize>
[src]
Retrieves the hash code of self.
This is equivalent to the Python expression hash(obi)
.
pub fn len(&self) -> PyResult<usize>
[src]
Returns the length of the sequence or mapping.
This is equivalent to the Python expression len(self)
.
pub fn dir(&self) -> &PyList
[src]
Returns the list of attributes of this object.
This is equivalent to the Python expression dir(self)
.
Trait Implementations
impl AsPyPointer for PyModule
[src]
impl AsRef<PyAny> for PyModule
[src]
impl Debug for PyModule
[src]
impl Deref 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]
const IS_NATIVE_TYPE: bool
[src]
fn get_super(&mut self) -> Option<&mut T::BaseLayout>
[src]
unsafe fn py_init(&mut self, _value: T)
[src]
unsafe fn py_drop(&mut self, _py: Python<'_>)
[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
const NAME: &'static str
[src]
const MODULE: Option<&'static str>
[src]
fn type_object_raw(_py: Python<'_>) -> *mut PyTypeObject
[src]
fn is_instance(ptr: &PyAny) -> bool
[src]
const DESCRIPTION: &'static str
[src]
const FLAGS: usize
[src]
fn is_exact_instance(object: &PyAny) -> bool
[src]
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]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[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]
T: 'p + PyNativeType,
unsafe fn from_owned_ptr_or_opt(Python<'p>, *mut PyObject) -> Option<&'p T>
[src]
unsafe fn from_borrowed_ptr_or_opt(Python<'p>, *mut PyObject) -> Option<&'p T>
[src]
unsafe fn from_owned_ptr_or_panic(
py: Python<'p>,
ptr: *mut PyObject
) -> &'p Self
[src]
py: Python<'p>,
ptr: *mut PyObject
) -> &'p Self
unsafe fn from_owned_ptr(py: Python<'p>, ptr: *mut PyObject) -> &'p Self
[src]
unsafe fn from_owned_ptr_or_err(
py: Python<'p>,
ptr: *mut PyObject
) -> PyResult<&'p Self>
[src]
py: Python<'p>,
ptr: *mut PyObject
) -> PyResult<&'p Self>
unsafe fn from_borrowed_ptr_or_panic(
py: Python<'p>,
ptr: *mut PyObject
) -> &'p Self
[src]
py: Python<'p>,
ptr: *mut PyObject
) -> &'p Self
unsafe fn from_borrowed_ptr(py: Python<'p>, ptr: *mut PyObject) -> &'p Self
[src]
unsafe fn from_borrowed_ptr_or_err(
py: Python<'p>,
ptr: *mut PyObject
) -> PyResult<&'p Self>
[src]
py: Python<'p>,
ptr: *mut PyObject
) -> PyResult<&'p Self>
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> IntoPy<U> for T where
U: FromPy<T>,
[src]
U: FromPy<T>,
impl<'v, T> PyTryFrom<'v> for T where
T: PyTypeInfo + PyNativeType,
[src]
T: PyTypeInfo + PyNativeType,
fn try_from<V>(V) -> Result<&'v T, PyDowncastError> where
V: Into<&'v PyAny>,
[src]
V: Into<&'v PyAny>,
fn try_from_exact<V>(V) -> Result<&'v T, PyDowncastError> where
V: Into<&'v PyAny>,
[src]
V: Into<&'v PyAny>,
unsafe fn try_from_unchecked<V>(V) -> &'v T where
V: Into<&'v PyAny>,
[src]
V: Into<&'v PyAny>,
impl<T> PyTypeObject for T where
T: PyTypeInfo,
[src]
T: PyTypeInfo,
fn type_object(Python<'_>) -> &PyType
[src]
impl<T> ToBorrowedObject for T where
T: ToPyObject,
[src]
T: ToPyObject,
fn with_borrowed_ptr<F, R>(&self, py: Python<'_>, f: F) -> R where
F: FnOnce(*mut PyObject) -> R,
[src]
F: FnOnce(*mut PyObject) -> R,
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,