pyo3::conversion

Trait FromPyObject

Source
pub trait FromPyObject<'py>: Sized {
    // Required method
    fn extract_bound(ob: &Bound<'py, PyAny>) -> PyResult<Self>;

    // Provided methods
    fn extract(ob: &'py PyAny) -> PyResult<Self> { ... }
    fn type_input() -> TypeInfo { ... }
}
Expand description

Extract a type from a Python object.

Normal usage is through the extract methods on Bound and Py, which forward to this trait.

§Examples

use pyo3::prelude::*;
use pyo3::types::PyString;

Python::with_gil(|py| {
    // Calling `.extract()` on a `Bound` smart pointer
    let obj: Bound<'_, PyString> = PyString::new_bound(py, "blah");
    let s: String = obj.extract()?;

    // Calling `.extract(py)` on a `Py` smart pointer
    let obj: Py<PyString> = obj.unbind();
    let s: String = obj.extract(py)?;
})

During the migration of PyO3 from the “GIL Refs” API to the Bound<T> smart pointer, this trait has two methods extract and extract_bound which are defaulted to call each other. To avoid infinite recursion, implementors must implement at least one of these methods. The recommendation is to implement extract_bound and leave extract as the default implementation.

Required Methods§

Source

fn extract_bound(ob: &Bound<'py, PyAny>) -> PyResult<Self>

Extracts Self from the bound smart pointer obj.

Implementors are encouraged to implement this method and leave extract defaulted, as this will be most compatible with PyO3’s future API.

Provided Methods§

Source

fn extract(ob: &'py PyAny) -> PyResult<Self>

Available on crate feature gil-refs only.

Extracts Self from the source GIL Ref obj.

Implementors are encouraged to implement extract_bound and leave this method as the default implementation, which will forward calls to extract_bound.

Source

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.

Extracts the type hint information for this type when it appears as an argument.

For example, Vec<u32> would return Sequence[int]. The default implementation returns Any, which is correct for any type.

For most types, the return value for this method will be identical to that of IntoPy::type_output. It may be different for some types, such as Dict, to allow duck-typing: functions return Dict but take Mapping as argument.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl FromPyObject<'_> for IpAddr

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

impl FromPyObject<'_> for Tz

Available on Py_3_9 and crate feature chrono-tz only.
Source§

impl FromPyObject<'_> for bool

Converts a Python bool to a Rust bool.

Fails with TypeError if the input is not a Python bool.

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl FromPyObject<'_> for char

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl FromPyObject<'_> for i128

Available on non-Py_LIMITED_API and non-GraalPy only.
Source§

fn extract_bound(ob: &Bound<'_, PyAny>) -> PyResult<i128>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl FromPyObject<'_> for u64

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<u64>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl FromPyObject<'_> for u128

Available on non-Py_LIMITED_API and non-GraalPy only.
Source§

fn extract_bound(ob: &Bound<'_, PyAny>) -> PyResult<u128>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl FromPyObject<'_> for usize

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl FromPyObject<'_> for String

Allows extracting strings from Python objects. Accepts Python str and unicode objects.

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl FromPyObject<'_> for Duration

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

impl FromPyObject<'_> for OsString

Source§

fn extract_bound(ob: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

impl FromPyObject<'_> for PathBuf

Source§

fn extract_bound(ob: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

impl FromPyObject<'_> for SystemTime

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

impl FromPyObject<'_> for NaiveDate

Available on crate feature chrono only.
Source§

impl FromPyObject<'_> for NaiveDateTime

Available on crate feature chrono only.
Source§

impl FromPyObject<'_> for NaiveTime

Available on crate feature chrono only.
Source§

impl FromPyObject<'_> for FixedOffset

Available on crate feature chrono only.
Source§

fn extract_bound(ob: &Bound<'_, PyAny>) -> PyResult<FixedOffset>

Convert python tzinfo to rust FixedOffset.

Note that the conversion will result in precision lost in microseconds as chrono offset does not supports microseconds.

Source§

impl FromPyObject<'_> for Utc

Available on crate feature chrono only.
Source§

impl FromPyObject<'_> for Complex<f32>

Available on crate feature num-complex only.
Source§

impl FromPyObject<'_> for Complex<f64>

Available on crate feature num-complex only.
Source§

impl FromPyObject<'_> for Decimal

Available on crate feature rust_decimal only.
Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

impl FromPyObject<'_> for NonZeroI8

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl FromPyObject<'_> for NonZeroI16

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl FromPyObject<'_> for NonZeroI32

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl FromPyObject<'_> for NonZeroI64

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl FromPyObject<'_> for NonZeroI128

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl FromPyObject<'_> for NonZeroIsize

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl FromPyObject<'_> for NonZeroU8

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl FromPyObject<'_> for NonZeroU16

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl FromPyObject<'_> for NonZeroU32

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl FromPyObject<'_> for NonZeroU64

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl FromPyObject<'_> for NonZeroU128

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl FromPyObject<'_> for NonZeroUsize

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl FromPyObject<'_> for Duration

Available on crate feature chrono only.
Source§

impl<'py> FromPyObject<'py> for &'py str

Available on crate feature gil-refs only.

Allows extracting strings from Python objects. Accepts Python str objects.

Source§

fn extract_bound(ob: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py> FromPyObject<'py> for &'py [u8]

Available on crate feature gil-refs only.
Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py> FromPyObject<'py> for Cow<'py, str>

Available on crate feature gil-refs only.
Source§

fn extract_bound(ob: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py> FromPyObject<'py> for Cow<'py, [u8]>

Available on crate feature gil-refs only.

Special-purpose trait impl to efficiently handle both bytes and bytearray

If the source object is a bytes object, the Cow will be borrowed and pointing into the source object, and no copying or heap allocations will happen. If it is a bytearray, its contents will be copied to an owned Cow.

Source§

fn extract_bound(ob: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

impl<'py> FromPyObject<'py> for f32

Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py> FromPyObject<'py> for f64

Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py> FromPyObject<'py> for i8

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py> FromPyObject<'py> for i16

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py> FromPyObject<'py> for i32

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py> FromPyObject<'py> for i64

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py> FromPyObject<'py> for isize

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py> FromPyObject<'py> for u8

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py> FromPyObject<'py> for u16

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py> FromPyObject<'py> for u32

Source§

fn extract_bound(obj: &Bound<'_, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py> FromPyObject<'py> for BigInt

Available on crate feature num-bigint only.
Source§

impl<'py> FromPyObject<'py> for BigUint

Available on crate feature num-bigint only.
Source§

impl<'py> FromPyObject<'py> for Ratio<i8>

Available on crate feature num-rational only.
Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

impl<'py> FromPyObject<'py> for Ratio<i16>

Available on crate feature num-rational only.
Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

impl<'py> FromPyObject<'py> for Ratio<i32>

Available on crate feature num-rational only.
Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

impl<'py> FromPyObject<'py> for Ratio<i64>

Available on crate feature num-rational only.
Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

impl<'py> FromPyObject<'py> for Ratio<isize>

Available on crate feature num-rational only.
Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

impl<'py> FromPyObject<'py> for Ratio<BigInt>

Available on crate feature num-rational only.
Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

impl<'py, A> FromPyObject<'py> for SmallVec<A>
where A: Array, A::Item: FromPyObject<'py>,

Available on crate feature smallvec only.
Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py, K> FromPyObject<'py> for BTreeSet<K>
where K: FromPyObject<'py> + Ord,

Source§

fn extract_bound(ob: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py, K, S> FromPyObject<'py> for HashSet<K, S>
where K: FromPyObject<'py> + Eq + Hash, S: BuildHasher + Default,

Source§

fn extract_bound(ob: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py, K, S> FromPyObject<'py> for HashSet<K, S>
where K: FromPyObject<'py> + Eq + Hash, S: BuildHasher + Default,

Available on crate feature hashbrown only.
Source§

fn extract_bound(ob: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

impl<'py, K, V> FromPyObject<'py> for BTreeMap<K, V>
where K: FromPyObject<'py> + Ord, V: FromPyObject<'py>,

Source§

fn extract_bound(ob: &Bound<'py, PyAny>) -> Result<Self, PyErr>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py, K, V, S> FromPyObject<'py> for HashMap<K, V, S>
where K: FromPyObject<'py> + Eq + Hash, V: FromPyObject<'py>, S: BuildHasher + Default,

Source§

fn extract_bound(ob: &Bound<'py, PyAny>) -> Result<Self, PyErr>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py, K, V, S> FromPyObject<'py> for HashMap<K, V, S>
where K: FromPyObject<'py> + Eq + Hash, V: FromPyObject<'py>, S: BuildHasher + Default,

Available on crate feature hashbrown only.
Source§

fn extract_bound(ob: &Bound<'py, PyAny>) -> Result<Self, PyErr>

Source§

impl<'py, K, V, S> FromPyObject<'py> for IndexMap<K, V, S>
where K: FromPyObject<'py> + Eq + Hash, V: FromPyObject<'py>, S: BuildHasher + Default,

Available on crate feature indexmap only.
Source§

fn extract_bound(ob: &Bound<'py, PyAny>) -> Result<Self, PyErr>

Source§

impl<'py, L, R> FromPyObject<'py> for Either<L, R>
where L: FromPyObject<'py>, R: FromPyObject<'py>,

Available on crate feature either only.
Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py, T0: FromPyObject<'py>> FromPyObject<'py> for (T0,)

Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py, T0: FromPyObject<'py>, T1: FromPyObject<'py>> FromPyObject<'py> for (T0, T1)

Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py, T0: FromPyObject<'py>, T1: FromPyObject<'py>, T2: FromPyObject<'py>> FromPyObject<'py> for (T0, T1, T2)

Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py, T0: FromPyObject<'py>, T1: FromPyObject<'py>, T2: FromPyObject<'py>, T3: FromPyObject<'py>> FromPyObject<'py> for (T0, T1, T2, T3)

Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py, T0: FromPyObject<'py>, T1: FromPyObject<'py>, T2: FromPyObject<'py>, T3: FromPyObject<'py>, T4: FromPyObject<'py>> FromPyObject<'py> for (T0, T1, T2, T3, T4)

Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py, T0: FromPyObject<'py>, T1: FromPyObject<'py>, T2: FromPyObject<'py>, T3: FromPyObject<'py>, T4: FromPyObject<'py>, T5: FromPyObject<'py>> FromPyObject<'py> for (T0, T1, T2, T3, T4, T5)

Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py, T0: FromPyObject<'py>, T1: FromPyObject<'py>, T2: FromPyObject<'py>, T3: FromPyObject<'py>, T4: FromPyObject<'py>, T5: FromPyObject<'py>, T6: FromPyObject<'py>> FromPyObject<'py> for (T0, T1, T2, T3, T4, T5, T6)

Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py, T0: FromPyObject<'py>, T1: FromPyObject<'py>, T2: FromPyObject<'py>, T3: FromPyObject<'py>, T4: FromPyObject<'py>, T5: FromPyObject<'py>, T6: FromPyObject<'py>, T7: FromPyObject<'py>> FromPyObject<'py> for (T0, T1, T2, T3, T4, T5, T6, T7)

Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py, T0: FromPyObject<'py>, T1: FromPyObject<'py>, T2: FromPyObject<'py>, T3: FromPyObject<'py>, T4: FromPyObject<'py>, T5: FromPyObject<'py>, T6: FromPyObject<'py>, T7: FromPyObject<'py>, T8: FromPyObject<'py>> FromPyObject<'py> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)

Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py, T0: FromPyObject<'py>, T1: FromPyObject<'py>, T2: FromPyObject<'py>, T3: FromPyObject<'py>, T4: FromPyObject<'py>, T5: FromPyObject<'py>, T6: FromPyObject<'py>, T7: FromPyObject<'py>, T8: FromPyObject<'py>, T9: FromPyObject<'py>> FromPyObject<'py> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)

Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py, T0: FromPyObject<'py>, T1: FromPyObject<'py>, T2: FromPyObject<'py>, T3: FromPyObject<'py>, T4: FromPyObject<'py>, T5: FromPyObject<'py>, T6: FromPyObject<'py>, T7: FromPyObject<'py>, T8: FromPyObject<'py>, T9: FromPyObject<'py>, T10: FromPyObject<'py>> FromPyObject<'py> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py, T0: FromPyObject<'py>, T1: FromPyObject<'py>, T2: FromPyObject<'py>, T3: FromPyObject<'py>, T4: FromPyObject<'py>, T5: FromPyObject<'py>, T6: FromPyObject<'py>, T7: FromPyObject<'py>, T8: FromPyObject<'py>, T9: FromPyObject<'py>, T10: FromPyObject<'py>, T11: FromPyObject<'py>> FromPyObject<'py> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py, T> FromPyObject<'py> for Option<T>
where T: FromPyObject<'py>,

Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

impl<'py, T> FromPyObject<'py> for Vec<T>
where T: FromPyObject<'py>,

Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

fn type_input() -> TypeInfo

Available on crate feature experimental-inspect only.
Source§

impl<'py, T, const N: usize> FromPyObject<'py> for [T; N]
where T: FromPyObject<'py>,

Source§

fn extract_bound(obj: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

impl<'py, T: FromPyObject<'py>> FromPyObject<'py> for Cell<T>

Source§

fn extract_bound(ob: &Bound<'py, PyAny>) -> PyResult<Self>

Source§

impl<Tz: TimeZone + for<'py> FromPyObject<'py>> FromPyObject<'_> for DateTime<Tz>

Available on crate feature chrono only.

Implementors§

Source§

impl FromPyObject<'_> for PyBackedBytes

Source§

impl FromPyObject<'_> for PyBackedStr

Source§

impl<'py> FromPyObject<'py> for &'py CancelledError

Source§

impl<'py> FromPyObject<'py> for &'py IncompleteReadError

Source§

impl<'py> FromPyObject<'py> for &'py InvalidStateError

Source§

impl<'py> FromPyObject<'py> for &'py LimitOverrunError

Source§

impl<'py> FromPyObject<'py> for &'py QueueEmpty

Source§

impl<'py> FromPyObject<'py> for &'py QueueFull

Source§

impl<'py> FromPyObject<'py> for &'py TimeoutError

Source§

impl<'py> FromPyObject<'py> for &'py gaierror

Source§

impl<'py> FromPyObject<'py> for &'py herror

Source§

impl<'py> FromPyObject<'py> for &'py timeout

Source§

impl<'py> FromPyObject<'py> for &'py PyArithmeticError

Source§

impl<'py> FromPyObject<'py> for &'py PyAssertionError

Source§

impl<'py> FromPyObject<'py> for &'py PyAttributeError

Source§

impl<'py> FromPyObject<'py> for &'py PyBaseException

Source§

impl<'py> FromPyObject<'py> for &'py PyBlockingIOError

Source§

impl<'py> FromPyObject<'py> for &'py PyBrokenPipeError

Source§

impl<'py> FromPyObject<'py> for &'py PyBufferError

Source§

impl<'py> FromPyObject<'py> for &'py PyBytesWarning

Source§

impl<'py> FromPyObject<'py> for &'py PyChildProcessError

Source§

impl<'py> FromPyObject<'py> for &'py PyConnectionAbortedError

Source§

impl<'py> FromPyObject<'py> for &'py PyConnectionError

Source§

impl<'py> FromPyObject<'py> for &'py PyConnectionRefusedError

Source§

impl<'py> FromPyObject<'py> for &'py PyConnectionResetError

Source§

impl<'py> FromPyObject<'py> for &'py PyDeprecationWarning

Source§

impl<'py> FromPyObject<'py> for &'py PyEOFError

Source§

impl<'py> FromPyObject<'py> for &'py PyEncodingWarning

Source§

impl<'py> FromPyObject<'py> for &'py PyEnvironmentError

Source§

impl<'py> FromPyObject<'py> for &'py PyException

Source§

impl<'py> FromPyObject<'py> for &'py PyFileExistsError

Source§

impl<'py> FromPyObject<'py> for &'py PyFileNotFoundError

Source§

impl<'py> FromPyObject<'py> for &'py PyFloatingPointError

Source§

impl<'py> FromPyObject<'py> for &'py PyFutureWarning

Source§

impl<'py> FromPyObject<'py> for &'py PyGeneratorExit

Source§

impl<'py> FromPyObject<'py> for &'py PyIOError

Source§

impl<'py> FromPyObject<'py> for &'py PyImportError

Source§

impl<'py> FromPyObject<'py> for &'py PyImportWarning

Source§

impl<'py> FromPyObject<'py> for &'py PyIndexError

Source§

impl<'py> FromPyObject<'py> for &'py PyInterruptedError

Source§

impl<'py> FromPyObject<'py> for &'py PyIsADirectoryError

Source§

impl<'py> FromPyObject<'py> for &'py PyKeyError

Source§

impl<'py> FromPyObject<'py> for &'py PyKeyboardInterrupt

Source§

impl<'py> FromPyObject<'py> for &'py PyLookupError

Source§

impl<'py> FromPyObject<'py> for &'py PyMemoryError

Source§

impl<'py> FromPyObject<'py> for &'py PyModuleNotFoundError

Source§

impl<'py> FromPyObject<'py> for &'py PyNameError

Source§

impl<'py> FromPyObject<'py> for &'py PyNotADirectoryError

Source§

impl<'py> FromPyObject<'py> for &'py PyNotImplementedError

Source§

impl<'py> FromPyObject<'py> for &'py PyOSError

Source§

impl<'py> FromPyObject<'py> for &'py PyOverflowError

Source§

impl<'py> FromPyObject<'py> for &'py PyPendingDeprecationWarning

Source§

impl<'py> FromPyObject<'py> for &'py PyPermissionError

Source§

impl<'py> FromPyObject<'py> for &'py PyProcessLookupError

Source§

impl<'py> FromPyObject<'py> for &'py PyRecursionError

Source§

impl<'py> FromPyObject<'py> for &'py PyReferenceError

Source§

impl<'py> FromPyObject<'py> for &'py PyResourceWarning

Source§

impl<'py> FromPyObject<'py> for &'py PyRuntimeError

Source§

impl<'py> FromPyObject<'py> for &'py PyRuntimeWarning

Source§

impl<'py> FromPyObject<'py> for &'py PyStopAsyncIteration

Source§

impl<'py> FromPyObject<'py> for &'py PyStopIteration

Source§

impl<'py> FromPyObject<'py> for &'py PySyntaxError

Source§

impl<'py> FromPyObject<'py> for &'py PySyntaxWarning

Source§

impl<'py> FromPyObject<'py> for &'py PySystemError

Source§

impl<'py> FromPyObject<'py> for &'py PySystemExit

Source§

impl<'py> FromPyObject<'py> for &'py PyTimeoutError

Source§

impl<'py> FromPyObject<'py> for &'py PyTypeError

Source§

impl<'py> FromPyObject<'py> for &'py PyUnboundLocalError

Source§

impl<'py> FromPyObject<'py> for &'py PyUnicodeDecodeError

Source§

impl<'py> FromPyObject<'py> for &'py PyUnicodeEncodeError

Source§

impl<'py> FromPyObject<'py> for &'py PyUnicodeError

Source§

impl<'py> FromPyObject<'py> for &'py PyUnicodeTranslateError

Source§

impl<'py> FromPyObject<'py> for &'py PyUnicodeWarning

Source§

impl<'py> FromPyObject<'py> for &'py PyUserWarning

Source§

impl<'py> FromPyObject<'py> for &'py PyValueError

Source§

impl<'py> FromPyObject<'py> for &'py PyWarning

Source§

impl<'py> FromPyObject<'py> for &'py PyZeroDivisionError

Source§

impl<'py> FromPyObject<'py> for &'py PanicException

Source§

impl<'py> FromPyObject<'py> for &'py PyAny

Source§

impl<'py> FromPyObject<'py> for &'py PyBool

Source§

impl<'py> FromPyObject<'py> for &'py PyByteArray

Source§

impl<'py> FromPyObject<'py> for &'py PyBytes

Source§

impl<'py> FromPyObject<'py> for &'py PyCFunction

Source§

impl<'py> FromPyObject<'py> for &'py PyCapsule

Source§

impl<'py> FromPyObject<'py> for &'py PyCode

Available on non-Py_LIMITED_API and non-PyPy and non-GraalPy only.
Source§

impl<'py> FromPyObject<'py> for &'py PyComplex

Source§

impl<'py> FromPyObject<'py> for &'py PyDate

Available on non-Py_LIMITED_API only.
Source§

impl<'py> FromPyObject<'py> for &'py PyDateTime

Available on non-Py_LIMITED_API only.
Source§

impl<'py> FromPyObject<'py> for &'py PyDelta

Available on non-Py_LIMITED_API only.
Source§

impl<'py> FromPyObject<'py> for &'py PyDict

Source§

impl<'py> FromPyObject<'py> for &'py PyDictItems

Source§

impl<'py> FromPyObject<'py> for &'py PyDictKeys

Source§

impl<'py> FromPyObject<'py> for &'py PyDictValues

Source§

impl<'py> FromPyObject<'py> for &'py PyEllipsis

Source§

impl<'py> FromPyObject<'py> for &'py PyFloat

Source§

impl<'py> FromPyObject<'py> for &'py PyFrame

Available on non-Py_LIMITED_API and non-PyPy and non-GraalPy only.
Source§

impl<'py> FromPyObject<'py> for &'py PyFrozenSet

Source§

impl<'py> FromPyObject<'py> for &'py PyFunction

Source§

impl<'py> FromPyObject<'py> for &'py PyIterator

Source§

impl<'py> FromPyObject<'py> for &'py PyList

Source§

impl<'py> FromPyObject<'py> for &'py PyLong

Source§

impl<'py> FromPyObject<'py> for &'py PyMapping

Source§

impl<'py> FromPyObject<'py> for &'py PyMemoryView

Source§

impl<'py> FromPyObject<'py> for &'py PyModule

Source§

impl<'py> FromPyObject<'py> for &'py PyNone

Source§

impl<'py> FromPyObject<'py> for &'py PyNotImplemented

Source§

impl<'py> FromPyObject<'py> for &'py PySequence

Source§

impl<'py> FromPyObject<'py> for &'py PySet

Source§

impl<'py> FromPyObject<'py> for &'py PySlice

Source§

impl<'py> FromPyObject<'py> for &'py PyString

Source§

impl<'py> FromPyObject<'py> for &'py PySuper

Available on neither PyPy nor GraalPy.
Source§

impl<'py> FromPyObject<'py> for &'py PyTime

Available on non-Py_LIMITED_API only.
Source§

impl<'py> FromPyObject<'py> for &'py PyTraceback

Source§

impl<'py> FromPyObject<'py> for &'py PyTuple

Source§

impl<'py> FromPyObject<'py> for &'py PyType

Source§

impl<'py> FromPyObject<'py> for &'py PyTzInfo

Available on non-Py_LIMITED_API only.
Source§

impl<'py> FromPyObject<'py> for &'py PyWeakref

Source§

impl<'py> FromPyObject<'py> for &'py PyWeakrefProxy

Source§

impl<'py> FromPyObject<'py> for &'py PyWeakrefReference

Source§

impl<'py, T> FromPyObject<'py> for &'py PyCell<T>
where T: PyClass,

Available on crate feature gil-refs only.
Source§

impl<'py, T> FromPyObject<'py> for Bound<'py, T>
where T: PyTypeCheck,

Source§

impl<'py, T> FromPyObject<'py> for PyRef<'py, T>
where T: PyClass,

Source§

impl<'py, T> FromPyObject<'py> for PyRefMut<'py, T>
where T: PyClass<Frozen = False>,

Source§

impl<'py, T: Element> FromPyObject<'py> for PyBuffer<T>

Available on non-Py_LIMITED_API or Py_3_11 only.
Source§

impl<T> FromPyObject<'_> for Py<T>
where T: PyTypeCheck,

Source§

impl<T> FromPyObject<'_> for T
where T: PyClass + Clone,