Models
Pydantic models for Prusa Connect API responses.
This module defines the data structures used by the client to parse API responses into typed objects.
| MODULE | DESCRIPTION |
|---|---|
cameras |
Camera models for Prusa Connect SDK. |
common |
Common models for Prusa Connect SDK. |
config |
Models for the /app/config endpoint. |
files |
File models for Prusa Connect SDK. |
jobs |
Job models for Prusa Connect SDK. |
printers |
Printer models for Prusa Connect SDK. |
stats |
Stats models for Prusa Connect SDK. |
teams |
Team models for Prusa Connect SDK. |
AppConfig
Bases: WarnExtraFieldsModel
Application configuration returned by /app/config.
Source code in src/prusa/connect/client/models/config.py
21 22 23 24 | |
AuthConfig
Bases: WarnExtraFieldsModel
Authentication configuration.
Source code in src/prusa/connect/client/models/config.py
6 7 8 9 10 11 12 13 14 15 16 17 18 | |
BaseFile
Bases: WarnExtraFieldsModel
Common fields for all file types.
Source code in src/prusa/connect/client/models/files.py
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | |
Camera
Bases: WarnExtraFieldsModel
Camera information.
Source code in src/prusa/connect/client/models/cameras.py
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | |
CameraConfig
Bases: WarnExtraFieldsModel
Camera internal configuration snapshot.
Source code in src/prusa/connect/client/models/cameras.py
21 22 23 24 25 26 27 28 29 30 31 32 33 34 | |
CameraNetworkInfo
Bases: WarnExtraFieldsModel
Camera network configuration.
Source code in src/prusa/connect/client/models/cameras.py
13 14 15 16 17 18 | |
CameraOptions
Bases: WarnExtraFieldsModel
Available options/capabilities for the camera.
Source code in src/prusa/connect/client/models/cameras.py
37 38 39 40 | |
CameraResolution
Bases: WarnExtraFieldsModel
Camera resolution details.
Source code in src/prusa/connect/client/models/cameras.py
6 7 8 9 10 | |
CancelableObject
Bases: WarnExtraFieldsModel
Represents an object that can be cancelled during print.
Source code in src/prusa/connect/client/models/jobs.py
56 57 58 59 60 61 62 | |
FirmwareFile
Bases: BaseFile
Represents a firmware file on the printer.
Source code in src/prusa/connect/client/models/files.py
108 109 110 111 112 113 114 | |
FirmwareFileMeta
Bases: WarnExtraFieldsModel
Metadata associated with a firmware file.
Source code in src/prusa/connect/client/models/files.py
58 59 60 61 62 63 64 65 66 | |
FirmwareSupport
Bases: WarnExtraFieldsModel
Firmware version information.
Source code in src/prusa/connect/client/models/printers.py
81 82 83 84 85 86 87 88 89 90 | |
Job
Bases: WarnExtraFieldsModel
A planned or history job.
Source code in src/prusa/connect/client/models/jobs.py
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | |
JobFailureReason
Bases: WarnExtraFieldsModel
Details about a job failure.
Source code in src/prusa/connect/client/models/jobs.py
65 66 67 68 69 | |
JobFailureTag
Bases: StrEnum
Enum representing reasons for job failure/cancellation.
Source code in src/prusa/connect/client/models/jobs.py
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | |
JobInfo
Bases: WarnExtraFieldsModel
Snapshot of a job currently on a printer.
Source code in src/prusa/connect/client/models/jobs.py
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | |
JobStatus
Bases: StrEnum
Enum representing the status of a job.
| METHOD | DESCRIPTION |
|---|---|
__lt__ |
Compare two JobStatus members by order of declaration. |
get_order |
Get the index of the member in the order of declaration. |
Source code in src/prusa/connect/client/models/stats.py
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | |
__lt__(other)
Compare two JobStatus members by order of declaration.
Source code in src/prusa/connect/client/models/stats.py
39 40 41 42 43 | |
get_order(member)
classmethod
Get the index of the member in the order of declaration.
Source code in src/prusa/connect/client/models/stats.py
31 32 33 34 35 36 37 | |
JobsSuccess
Bases: StatsModel
Printer usage statistics: job success history.
Source code in src/prusa/connect/client/models/stats.py
107 108 109 110 111 112 113 114 115 116 | |
JobsSuccessSeries
Bases: WarnExtraFieldsModel
Series data for job success stats.
Source code in src/prusa/connect/client/models/stats.py
100 101 102 103 104 | |
MaterialQuantity
Bases: StatsModel
Printer usage statistics: material quantity used.
Source code in src/prusa/connect/client/models/stats.py
75 76 77 78 79 80 | |
NetworkInfo
Bases: WarnExtraFieldsModel
Network configuration details.
Source code in src/prusa/connect/client/models/common.py
30 31 32 33 34 35 36 37 38 39 | |
Owner
Bases: SourceInfo
Represents the owner of a resource (same fields as SourceInfo).
Source code in src/prusa/connect/client/models/common.py
60 61 62 63 | |
PlannedTasks
Bases: StatsModel
Printer usage statistics: planned tasks.
Source code in src/prusa/connect/client/models/stats.py
91 92 93 94 95 96 97 | |
PlannedTasksSeries
Bases: WarnExtraFieldsModel
Series data for planned tasks.
Source code in src/prusa/connect/client/models/stats.py
83 84 85 86 87 88 | |
PrintFile
Bases: BaseFile
Represents a print file (G-code, BG-code).
Source code in src/prusa/connect/client/models/files.py
99 100 101 102 103 104 105 | |
PrintFileMeta
Bases: WarnExtraFieldsModel
Metadata associated with a print file (statistics parse from G-code).
Source code in src/prusa/connect/client/models/files.py
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | |
Printer
Bases: WarnExtraFieldsModel
Detailed Printer Object.
Matches structure in printers.error.response.json and printer_details.json.
Source code in src/prusa/connect/client/models/printers.py
116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 | |
PrinterCommand
Bases: StrEnum
Enum representing known commands for a printer.
NOTE: These commands are the subset of commands on a MK4S printer that do not require any additional parameters.
TODO(dcode): Add support for commands that require additional parameters. TODO(dcode): Consider dynamic command generation from the printer's capabilities.
Source code in src/prusa/connect/client/models/printers.py
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | |
PrinterListResponse
Bases: WarnExtraFieldsModel
Response model for the /printers endpoint.
Source code in src/prusa/connect/client/models/printers.py
190 191 192 193 | |
PrinterState
Bases: StrEnum
Enum representing the possible states of a printer.
Source code in src/prusa/connect/client/models/printers.py
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | |
PrintingNotPrinting
Bases: StatsModel
Printer usage statistics: printing vs not printing.
Source code in src/prusa/connect/client/models/stats.py
67 68 69 70 71 72 | |
PrintingNotPrintingEntry
Bases: WarnExtraFieldsModel
Represents a single entry in printing vs not printing stats.
Source code in src/prusa/connect/client/models/stats.py
60 61 62 63 64 | |
RegularFile
Bases: BaseFile
Represents a generic file.
Source code in src/prusa/connect/client/models/files.py
93 94 95 96 | |
SlotInfo
Bases: WarnExtraFieldsModel
MMU Slot information.
Source code in src/prusa/connect/client/models/printers.py
107 108 109 110 111 112 113 | |
SourceInfo
Bases: WarnExtraFieldsModel
Information about the source of an action or object (e.g., user).
| METHOD | DESCRIPTION |
|---|---|
resolve_avatar_url |
Automatically prepend MEDIA_BASE_URL if missing. |
Source code in src/prusa/connect/client/models/common.py
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | |
resolve_avatar_url(v)
classmethod
Automatically prepend MEDIA_BASE_URL if missing.
Source code in src/prusa/connect/client/models/common.py
51 52 53 54 55 56 57 | |
StatsModel
Bases: WarnExtraFieldsModel
Base model for statistics with date validation.
Source code in src/prusa/connect/client/models/stats.py
46 47 48 49 50 51 52 53 54 55 56 57 | |
Storage
Bases: WarnExtraFieldsModel
Represents a storage device on the printer.
Source code in src/prusa/connect/client/models/files.py
11 12 13 14 15 16 17 18 19 20 21 22 | |
SyncInfo
Bases: WarnExtraFieldsModel
Synchronization details for a resource.
Source code in src/prusa/connect/client/models/common.py
66 67 68 69 70 71 | |
Team
Bases: WarnExtraFieldsModel
Team information.
Source code in src/prusa/connect/client/models/teams.py
24 25 26 27 28 29 30 31 32 33 34 35 36 | |
TeamUser
Bases: WarnExtraFieldsModel
User in a team.
Source code in src/prusa/connect/client/models/teams.py
11 12 13 14 15 16 17 18 19 20 21 | |
Temperatures
Bases: WarnExtraFieldsModel
Printer temperatures.
Source code in src/prusa/connect/client/models/printers.py
72 73 74 75 76 77 78 | |
Tool
Bases: WarnExtraFieldsModel
Tool/Head information.
Source code in src/prusa/connect/client/models/printers.py
93 94 95 96 97 98 99 100 101 102 103 104 | |
UploadStatus
Bases: WarnExtraFieldsModel
Status of a file upload to Prusa Connect.
Source code in src/prusa/connect/client/models/files.py
120 121 122 123 124 125 126 127 128 129 | |
WarnExtraFieldsModel
Bases: BaseModel
Base model that logs a warning if extra fields are present.
| METHOD | DESCRIPTION |
|---|---|
__init__ |
Initialize the model. |
Source code in src/prusa/connect/client/models/common.py
15 16 17 18 19 20 21 22 23 24 25 26 27 | |
__init__(**data)
Initialize the model.
Source code in src/prusa/connect/client/models/common.py
20 21 22 23 24 25 26 27 | |
cameras
Camera models for Prusa Connect SDK.
Camera
Bases: WarnExtraFieldsModel
Camera information.
Source code in src/prusa/connect/client/models/cameras.py
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | |
CameraConfig
Bases: WarnExtraFieldsModel
Camera internal configuration snapshot.
Source code in src/prusa/connect/client/models/cameras.py
21 22 23 24 25 26 27 28 29 30 31 32 33 34 | |
CameraNetworkInfo
Bases: WarnExtraFieldsModel
Camera network configuration.
Source code in src/prusa/connect/client/models/cameras.py
13 14 15 16 17 18 | |
CameraOptions
Bases: WarnExtraFieldsModel
Available options/capabilities for the camera.
Source code in src/prusa/connect/client/models/cameras.py
37 38 39 40 | |
CameraResolution
Bases: WarnExtraFieldsModel
Camera resolution details.
Source code in src/prusa/connect/client/models/cameras.py
6 7 8 9 10 | |
common
Common models for Prusa Connect SDK.
NetworkInfo
Bases: WarnExtraFieldsModel
Network configuration details.
Source code in src/prusa/connect/client/models/common.py
30 31 32 33 34 35 36 37 38 39 | |
Owner
Bases: SourceInfo
Represents the owner of a resource (same fields as SourceInfo).
Source code in src/prusa/connect/client/models/common.py
60 61 62 63 | |
SourceInfo
Bases: WarnExtraFieldsModel
Information about the source of an action or object (e.g., user).
| METHOD | DESCRIPTION |
|---|---|
resolve_avatar_url |
Automatically prepend MEDIA_BASE_URL if missing. |
Source code in src/prusa/connect/client/models/common.py
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | |
resolve_avatar_url(v)
classmethod
Automatically prepend MEDIA_BASE_URL if missing.
Source code in src/prusa/connect/client/models/common.py
51 52 53 54 55 56 57 | |
SyncInfo
Bases: WarnExtraFieldsModel
Synchronization details for a resource.
Source code in src/prusa/connect/client/models/common.py
66 67 68 69 70 71 | |
WarnExtraFieldsModel
Bases: BaseModel
Base model that logs a warning if extra fields are present.
| METHOD | DESCRIPTION |
|---|---|
__init__ |
Initialize the model. |
Source code in src/prusa/connect/client/models/common.py
15 16 17 18 19 20 21 22 23 24 25 26 27 | |
__init__(**data)
Initialize the model.
Source code in src/prusa/connect/client/models/common.py
20 21 22 23 24 25 26 27 | |
config
Models for the /app/config endpoint.
AppConfig
Bases: WarnExtraFieldsModel
Application configuration returned by /app/config.
Source code in src/prusa/connect/client/models/config.py
21 22 23 24 | |
AuthConfig
Bases: WarnExtraFieldsModel
Authentication configuration.
Source code in src/prusa/connect/client/models/config.py
6 7 8 9 10 11 12 13 14 15 16 17 18 | |
files
File models for Prusa Connect SDK.
BaseFile
Bases: WarnExtraFieldsModel
Common fields for all file types.
Source code in src/prusa/connect/client/models/files.py
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | |
FirmwareFile
Bases: BaseFile
Represents a firmware file on the printer.
Source code in src/prusa/connect/client/models/files.py
108 109 110 111 112 113 114 | |
FirmwareFileMeta
Bases: WarnExtraFieldsModel
Metadata associated with a firmware file.
Source code in src/prusa/connect/client/models/files.py
58 59 60 61 62 63 64 65 66 | |
PrintFile
Bases: BaseFile
Represents a print file (G-code, BG-code).
Source code in src/prusa/connect/client/models/files.py
99 100 101 102 103 104 105 | |
PrintFileMeta
Bases: WarnExtraFieldsModel
Metadata associated with a print file (statistics parse from G-code).
Source code in src/prusa/connect/client/models/files.py
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | |
RegularFile
Bases: BaseFile
Represents a generic file.
Source code in src/prusa/connect/client/models/files.py
93 94 95 96 | |
Storage
Bases: WarnExtraFieldsModel
Represents a storage device on the printer.
Source code in src/prusa/connect/client/models/files.py
11 12 13 14 15 16 17 18 19 20 21 22 | |
UploadStatus
Bases: WarnExtraFieldsModel
Status of a file upload to Prusa Connect.
Source code in src/prusa/connect/client/models/files.py
120 121 122 123 124 125 126 127 128 129 | |
jobs
Job models for Prusa Connect SDK.
CancelableObject
Bases: WarnExtraFieldsModel
Represents an object that can be cancelled during print.
Source code in src/prusa/connect/client/models/jobs.py
56 57 58 59 60 61 62 | |
Job
Bases: WarnExtraFieldsModel
A planned or history job.
Source code in src/prusa/connect/client/models/jobs.py
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | |
JobFailureReason
Bases: WarnExtraFieldsModel
Details about a job failure.
Source code in src/prusa/connect/client/models/jobs.py
65 66 67 68 69 | |
JobFailureTag
Bases: StrEnum
Enum representing reasons for job failure/cancellation.
Source code in src/prusa/connect/client/models/jobs.py
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | |
JobInfo
Bases: WarnExtraFieldsModel
Snapshot of a job currently on a printer.
Source code in src/prusa/connect/client/models/jobs.py
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | |
printers
Printer models for Prusa Connect SDK.
FirmwareSupport
Bases: WarnExtraFieldsModel
Firmware version information.
Source code in src/prusa/connect/client/models/printers.py
81 82 83 84 85 86 87 88 89 90 | |
Printer
Bases: WarnExtraFieldsModel
Detailed Printer Object.
Matches structure in printers.error.response.json and printer_details.json.
Source code in src/prusa/connect/client/models/printers.py
116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 | |
PrinterCommand
Bases: StrEnum
Enum representing known commands for a printer.
NOTE: These commands are the subset of commands on a MK4S printer that do not require any additional parameters.
TODO(dcode): Add support for commands that require additional parameters. TODO(dcode): Consider dynamic command generation from the printer's capabilities.
Source code in src/prusa/connect/client/models/printers.py
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | |
PrinterListResponse
Bases: WarnExtraFieldsModel
Response model for the /printers endpoint.
Source code in src/prusa/connect/client/models/printers.py
190 191 192 193 | |
PrinterState
Bases: StrEnum
Enum representing the possible states of a printer.
Source code in src/prusa/connect/client/models/printers.py
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | |
SlotInfo
Bases: WarnExtraFieldsModel
MMU Slot information.
Source code in src/prusa/connect/client/models/printers.py
107 108 109 110 111 112 113 | |
Temperatures
Bases: WarnExtraFieldsModel
Printer temperatures.
Source code in src/prusa/connect/client/models/printers.py
72 73 74 75 76 77 78 | |
Tool
Bases: WarnExtraFieldsModel
Tool/Head information.
Source code in src/prusa/connect/client/models/printers.py
93 94 95 96 97 98 99 100 101 102 103 104 | |
stats
Stats models for Prusa Connect SDK.
JobStatus
Bases: StrEnum
Enum representing the status of a job.
| METHOD | DESCRIPTION |
|---|---|
__lt__ |
Compare two JobStatus members by order of declaration. |
get_order |
Get the index of the member in the order of declaration. |
Source code in src/prusa/connect/client/models/stats.py
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | |
__lt__(other)
Compare two JobStatus members by order of declaration.
Source code in src/prusa/connect/client/models/stats.py
39 40 41 42 43 | |
get_order(member)
classmethod
Get the index of the member in the order of declaration.
Source code in src/prusa/connect/client/models/stats.py
31 32 33 34 35 36 37 | |
JobsSuccess
Bases: StatsModel
Printer usage statistics: job success history.
Source code in src/prusa/connect/client/models/stats.py
107 108 109 110 111 112 113 114 115 116 | |
JobsSuccessSeries
Bases: WarnExtraFieldsModel
Series data for job success stats.
Source code in src/prusa/connect/client/models/stats.py
100 101 102 103 104 | |
MaterialQuantity
Bases: StatsModel
Printer usage statistics: material quantity used.
Source code in src/prusa/connect/client/models/stats.py
75 76 77 78 79 80 | |
PlannedTasks
Bases: StatsModel
Printer usage statistics: planned tasks.
Source code in src/prusa/connect/client/models/stats.py
91 92 93 94 95 96 97 | |
PlannedTasksSeries
Bases: WarnExtraFieldsModel
Series data for planned tasks.
Source code in src/prusa/connect/client/models/stats.py
83 84 85 86 87 88 | |
PrintingNotPrinting
Bases: StatsModel
Printer usage statistics: printing vs not printing.
Source code in src/prusa/connect/client/models/stats.py
67 68 69 70 71 72 | |
PrintingNotPrintingEntry
Bases: WarnExtraFieldsModel
Represents a single entry in printing vs not printing stats.
Source code in src/prusa/connect/client/models/stats.py
60 61 62 63 64 | |
StatsModel
Bases: WarnExtraFieldsModel
Base model for statistics with date validation.
Source code in src/prusa/connect/client/models/stats.py
46 47 48 49 50 51 52 53 54 55 56 57 | |
teams
Team models for Prusa Connect SDK.
Team
Bases: WarnExtraFieldsModel
Team information.
Source code in src/prusa/connect/client/models/teams.py
24 25 26 27 28 29 30 31 32 33 34 35 36 | |
TeamUser
Bases: WarnExtraFieldsModel
User in a team.
Source code in src/prusa/connect/client/models/teams.py
11 12 13 14 15 16 17 18 19 20 21 | |