Snakepit.Compatibility (Snakepit v0.13.0)

Copy Markdown View Source

Thread-safety compatibility matrix for common Python libraries.

Legacy Optional Module

Snakepit does not call this module internally. It remains available for compatibility and may be removed in v0.16.0 or later.

Prefer explicit worker-profile and adapter-level thread-safety configuration in your host application.

Summary

Types

library_info()

@type library_info() :: %{thread_safe: thread_safety(), notes: String.t()}

thread_safety()

@type thread_safety() :: true | false | :conditional

Functions

check(library, profile)

@spec check(String.t() | atom(), :thread | :process) ::
  {:ok, String.t()} | {:warning, String.t()} | {:error, String.t()}

generate_report(libraries, profile)

@spec generate_report([String.t() | atom()], :thread | :process) ::
  {:ok, map()} | {:error, term()}

get_library_info(library)

@spec get_library_info(String.t() | atom()) :: library_info() | nil

list_all(arg1)

@spec list_all(:thread_safe | :thread_unsafe | :conditional | :all) :: [String.t()]