Trait pyo3::conversion::FromPyObject [−][src]
Expand description
FromPyObject is implemented by various types that can be extracted from
a Python object reference.
Normal usage is through the helper methods Py::extract or PyAny::extract:
let obj: Py<PyAny> = ...; let value: &TargetType = obj.extract(py)?; let any: &PyAny = ...; let value: &TargetType = any.extract()?;
Note: depending on the implementation, the lifetime of the extracted result may
depend on the lifetime of the obj or the prepared variable.
For example, when extracting &str from a Python byte string, the resulting string slice will
point to the existing string data (lifetime: 'source).
On the other hand, when extracting &str from a Python Unicode string, the preparation step
will convert the string to UTF-8, and the resulting string slice will have lifetime 'prepared.
Since which case applies depends on the runtime type of the Python object,
both the obj and prepared variables must outlive the resulting string slice.
The trait’s conversion method takes a &PyAny argument but is called
FromPyObject for historical reasons.
Required methods
Implementations on Foreign Types
Converts a Python bool to a Rust bool.
Fails with TypeError if the input is not a Python bool.
impl<'source, K, V, S> FromPyObject<'source> for HashMap<K, V, S> where
K: FromPyObject<'source> + Eq + Hash,
V: FromPyObject<'source>,
S: BuildHasher + Default,
impl<'source, K, V, S> FromPyObject<'source> for HashMap<K, V, S> where
K: FromPyObject<'source> + Eq + Hash,
V: FromPyObject<'source>,
S: BuildHasher + Default,
impl<'source, K, V> FromPyObject<'source> for BTreeMap<K, V> where
K: FromPyObject<'source> + Ord,
V: FromPyObject<'source>,
impl<'source, K, V> FromPyObject<'source> for BTreeMap<K, V> where
K: FromPyObject<'source> + Ord,
V: FromPyObject<'source>,
impl<'source, K, S> FromPyObject<'source> for HashSet<K, S> where
K: FromPyObject<'source> + Eq + Hash,
S: BuildHasher + Default,
impl<'source, K, S> FromPyObject<'source> for HashSet<K, S> where
K: FromPyObject<'source> + Eq + Hash,
S: BuildHasher + Default,
Allows extracting strings from Python objects.
Accepts Python str and unicode objects.
Allows extracting strings from Python objects.
Accepts Python str and unicode objects.