Struct python_packaging::bytecode::BytecodeCompiler[][src]

pub struct BytecodeCompiler { /* fields omitted */ }

An entity to perform Python bytecode compilation.

Implementations

impl BytecodeCompiler[src]

pub fn new(
    python: &Path,
    script_dir: impl AsRef<Path>
) -> Result<BytecodeCompiler>
[src]

Create a bytecode compiler using a Python executable.

A Python process will be started and it will start executing a Python source file embedded in this crate. That process interacts with this object via a pipe, which is used to send bytecode compilation requests and receive the compiled bytecode. The process is terminated when this object is dropped.

A Python script is written to the directory passed. This should ideally be a temporary directory. The file name is deterministic, so it isn’t safe for multiple callers to simultaneously pass the same directory. The temporary file is deleted before this function returns. Ideally this function would use a proper temporary file internally. The reason this isn’t done is to avoid an extra crate dependency.

Trait Implementations

impl Debug for BytecodeCompiler[src]

impl Drop for BytecodeCompiler[src]

impl PythonBytecodeCompiler for BytecodeCompiler[src]

Auto Trait Implementations

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, U> Into<U> for T where
    U: From<T>, 
[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.