chipiron.utils package
Subpackages
Submodules
chipiron.utils.chi_nn module
Module for the ChiNN class
- class chipiron.utils.chi_nn.ChiNN[source]
Bases:
ModuleThe Generic Neural network class of chipiron
- load_weights_from_file(path_to_param_file: str | PathLike[str]) None[source]
Loads the neural network weights from a file or initializes them if the file doesn’t exist.
- Parameters:
path_to_param_file (str) – The path to the parameter file.
authorisation_to_create_file (bool) – Flag indicating whether the program has authorization to create a new file.
- Returns:
None
chipiron.utils.comparable module
This module defines the Comparable class, which is an abstract base class for objects that can be compared.
Classes that inherit from Comparable must implement the __lt__ method, which defines the less-than comparison operation.
- class chipiron.utils.comparable.Comparable[source]
Bases:
objectAn abstract base class for objects that can be compared.
Subclasses of Comparable must implement the __lt__ method to define the less-than comparison.
- Variables:
None –
- __lt__(self, other
Any) -> bool: Abstract method that compares the object with another object and returns True if the object is less than the other object, False otherwise.
chipiron.utils.dataclass module
Module to check if an object is a dataclass
- class chipiron.utils.dataclass.DataClass(*args, **kwargs)[source]
Bases:
ProtocolProtocol to represent a dataclass.
This protocol is used to check if an object is a dataclass by checking for the presence of the __dataclass_fields__ attribute.
chipiron.utils.dict_of_numbered_dict_with_pointer_on_max module
Module for DictOfNumberedDictWithPointerOnMax class.
- class chipiron.utils.dict_of_numbered_dict_with_pointer_on_max.DictOfNumberedDictWithPointerOnMax[source]
Bases:
GenericA dictionary-like data structure that stores numbered dictionaries and keeps track of the maximum half move.
- Variables:
half_moves (dict[int, dict[T_Key, T_Value]]) – A dictionary that stores numbered dictionaries.
max_half_move (int | None) – The maximum half move value.
- __setitem__(self, node
T_Key, value: T_Value) -> None: Adds an item to the data structure.
- __getitem__(self, node
T_Key) -> T_Value: Retrieves an item from the data structure.
- __contains__(self, node
T_Key) -> bool: Checks if an item is present in the data structure.
- popitem(self) tuple[T_Key, T_Value][source]
Removes and returns the item with the maximum half move value.
- __bool__() bool[source]
Checks if the data structure is non-empty.
- Returns:
True if the data structure is non-empty, False otherwise.
- Return type:
bool
- __contains__(node: T_Key) bool[source]
Checks if an item is present in the data structure.
- Parameters:
node (T_Key) – The key of the item.
- Returns:
True if the item is present, False otherwise.
- Return type:
bool
- __getitem__(node: T_Key) T_Value[source]
Retrieves an item from the data structure.
- Parameters:
node (T_Key) – The key of the item.
- Returns:
The value of the item.
- Return type:
T_Value
- Raises:
KeyError – If the item is not found in the data structure.
chipiron.utils.logger module
- chipiron.utils.logger.suppress_all_logging(level: int = 40) Generator[None, None, None][source]
Context manager to temporarily suppress logging from all loggers to a specified level.
This sets the level of all loggers (including the root logger) to the given level for the duration of the context, then restores their original levels afterwards. Useful for benchmarking or situations where you want to silence all logging output temporarily.
- Parameters:
level (int) – The logging level to set (e.g., logging.ERROR, logging.WARNING).
- Yields:
None
- chipiron.utils.logger.suppress_logging(logger: Logger, level: int = 30) Generator[None, None, None][source]
Context manager to temporarily suppress logging for a specific logger to a given level.
Sets the logger’s level to the specified value for the duration of the context, then restores its original level afterwards. Useful for silencing output from a particular logger during benchmarking or other operations.
- Parameters:
logger (logging.Logger) – The logger to suppress.
level (int) – The logging level to set (e.g., logging.ERROR, logging.WARNING).
- Yields:
None
chipiron.utils.my_random module
random for chipiron
chipiron.utils.my_value_sorted_dict module
Module for sorting a dictionary by ascending order
chipiron.utils.null_object module
Module that contains the NullObject class.
- class chipiron.utils.null_object.NullObject(*args: Any, **kwargs: Any)[source]
Bases:
object- The NullObject class is a null object implementation in Python. Null objects are objects that always
- and reliably “do nothing.” They are often used as placeholders or default values when an actual object
is not available or needed.
The NullObject class provides the following methods: - __init__: Initializes the NullObject instance. - __call__: Allows the NullObject instance to be called as a function. - __repr__: Returns a string representation of the NullObject instance. - __nonzero__: Returns 0 to indicate that the NullObject instance is considered False. - __getattr__: Handles attribute access on the NullObject instance. - __setattr__: Handles attribute assignment on the NullObject instance. - __delattr__: Handles attribute deletion on the NullObject instance.
chipiron.utils.path_variables module
Path utilities for the Chipiron project.
This module provides centralized path definitions to ensure consistent path handling across the entire project.
chipiron.utils.small_tools module
This module contains utility functions and classes for small tools.
- class chipiron.utils.small_tools.Interval(min_value: float | None = None, max_value: float | None = None)[source]
Bases:
objectRepresents an interval with a minimum and maximum value.
- max_value: float | None = None
- min_value: float | None = None
- chipiron.utils.small_tools.dict_alphabetic_str(dic: dict[Any, Any]) str[source]
Convert a dictionary to a string with keys sorted alphabetically.
- Parameters:
dic – The dictionary to convert.
- Returns:
A string representation of the dictionary with keys sorted alphabetically.
- chipiron.utils.small_tools.distance_number_to_interval(value: float, interval: Interval) float[source]
Calculate the distance between a number and an interval.
- Parameters:
value – The number.
interval – The interval.
- Returns:
The distance between the number and the interval.
- Raises:
AssertionError – If the interval has missing values.
- chipiron.utils.small_tools.intersect_intervals(interval_1: Interval, interval_2: Interval) Interval | None[source]
Find the intersection of two intervals.
- Parameters:
interval_1 – The first interval.
interval_2 – The second interval.
- Returns:
The intersection of the two intervals, or None if there is no intersection.
- Raises:
AssertionError – If any of the intervals have missing values.
- chipiron.utils.small_tools.mkdir_if_not_existing(folder_path: str | PathLike[str]) None[source]
Create a directory at the specified path.
- Parameters:
folder_path – The path to the directory.
- Raises:
FileNotFoundError – If the parent directory does not exist.
FileExistsError – If the directory already exists.
- chipiron.utils.small_tools.nth_key(dct: dict[_T, Any], n: int) _T[source]
Get the nth key from a dictionary.
- Parameters:
dct – The dictionary.
n – The index of the key to retrieve.
- Returns:
The nth key from the dictionary.
- chipiron.utils.small_tools.rec_merge_dic(a: dict[Any, Any], b: dict[Any, Any]) dict[Any, Any][source]
Recursively merge two dictionaries.
- Parameters:
a – The first dictionary.
b – The second dictionary.
- Returns:
The merged dictionary.
- chipiron.utils.small_tools.resolve_package_path(path_to_file: str | Path) str[source]
Replace ‘package://’ at the start of the path with the chipiron package root.
- Parameters:
path_to_file (str or Path) – Input path, possibly starting with ‘package://’.
- Returns:
Resolved absolute path.
- Return type:
str
- chipiron.utils.small_tools.softmax(x: list[float], temperature: float) ndarray[Any, dtype[float64]][source]
Compute softmax values for each set of scores in x.
- Parameters:
x – The list of scores.
temperature – The temperature parameter.
- Returns:
The softmax values.
- chipiron.utils.small_tools.unique_int_from_list(a_list: list[int | None]) int | None[source]
Generate a unique integer from a list of two integers.
- Parameters:
a_list – A list of two integers.
- Returns:
The unique integer generated using the Cantor pairing function.
- Raises:
AssertionError – If the list does not contain exactly two elements.
Module contents
Module that contains small tools that are used in the project.
- chipiron.utils.dict_alphabetic_str(dic: dict[Any, Any]) str[source]
Convert a dictionary to a string with keys sorted alphabetically.
- Parameters:
dic – The dictionary to convert.
- Returns:
A string representation of the dictionary with keys sorted alphabetically.
- chipiron.utils.mkdir_if_not_existing(folder_path: str | PathLike[str]) None[source]
Create a directory at the specified path.
- Parameters:
folder_path – The path to the directory.
- Raises:
FileNotFoundError – If the parent directory does not exist.
FileExistsError – If the directory already exists.
- chipiron.utils.rec_merge_dic(a: dict[Any, Any], b: dict[Any, Any]) dict[Any, Any][source]
Recursively merge two dictionaries.
- Parameters:
a – The first dictionary.
b – The second dictionary.
- Returns:
The merged dictionary.
- chipiron.utils.unique_int_from_list(a_list: list[int | None]) int | None[source]
Generate a unique integer from a list of two integers.
- Parameters:
a_list – A list of two integers.
- Returns:
The unique integer generated using the Cantor pairing function.
- Raises:
AssertionError – If the list does not contain exactly two elements.