Packages
snakepit
0.8.4
0.13.0
0.12.0
0.11.1
0.11.0
0.10.1
0.10.0
0.9.1
0.9.0
0.8.9
0.8.8
0.8.7
0.8.6
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.7
0.7.6
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.11
0.6.10
0.6.9
0.6.8
0.6.7
0.6.6
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.1
0.5.0
0.4.3
0.4.2
0.4.1
0.4.0
0.3.3
0.3.2
0.3.1
0.3.0
0.2.1
0.2.0
0.1.2
0.1.1
0.1.0
High-performance pooler and session manager for external language integrations. Supports Python, Node.js, Ruby, and more with gRPC streaming, session management, and production-ready process cleanup.
Current section
Files
Jump to
Current section
Files
lib/snakepit/package_error.ex
defmodule Snakepit.PackageError do
@moduledoc """
Structured error for Python package installation and inspection.
"""
defexception [:type, :packages, :message, :suggestion, :output]
@type type ::
:not_installed
| :install_failed
| :version_mismatch
| :invalid_requirement
@type t :: %__MODULE__{
type: type(),
packages: [String.t()],
message: String.t(),
suggestion: String.t() | nil,
output: String.t() | nil
}
@impl true
def message(%__MODULE__{message: message, suggestion: suggestion}) do
base = message || "Python package error"
if suggestion do
base <> "\nSuggestion: " <> suggestion
else
base
end
end
end