duck.utils.ipc

This module provides a simple inter-process communication (IPC) mechanism using file streams. It allows processes to communicate by writing to and reading from a shared file.

Functions:

  • get_writer() -> FileWriter: Returns a FileWriter object for writing messages.

  • get_reader() -> FileReader: Returns a FileReader object for reading messages.

Example Usage:

# Process 1
with get_writer() as writer:
    writer.write_message('Hello from Process 1')
# Process 2
with get_reader() as reader:
    message = reader.read_message()
    print(message)

Module Contents

Classes

FileReader

A class to read messages from a shared file for IPC.

FileWriter

A class to write messages to a shared file for IPC.

Functions

get_reader

Get a FileReader object for reading messages.

get_writer

Get a FileWriter object for writing messages.

API

class duck.utils.ipc.FileReader(filepath: str)[source]

A class to read messages from a shared file for IPC.

Initialization

__enter__()[source]
__exit__(exc_type, exc_val, exc_tb)[source]
close()[source]

Close the file.

read_message() str[source]

Read a message from the file.

Returns:

The message read from the file.

Return type:

str

class duck.utils.ipc.FileWriter(filepath: str)[source]

A class to write messages to a shared file for IPC.

Initialization

__enter__()[source]
__exit__(exc_type, exc_val, exc_tb)[source]
close()[source]

Close the file.

write_message(message: str)[source]

Write a message to the file.

Parameters:

message – The message to write.

duck.utils.ipc.get_reader(filepath: str = '.ipc') duck.utils.ipc.FileReader[source]

Get a FileReader object for reading messages.

Parameters:

filepath – The path to the shared file. Defaults to ‘ipc_file.txt’.

Returns:

The FileReader object.

Return type:

FileReader

duck.utils.ipc.get_writer(filepath: str = '.ipc') duck.utils.ipc.FileWriter[source]

Get a FileWriter object for writing messages.

Parameters:

filepath – The path to the shared file. Defaults to ‘ipc_file.txt’.

Returns:

The FileWriter object.

Return type:

FileWriter