pihole_lib.models package
Submodules
pihole_lib.models.base module
Base model classes.
- class pihole_lib.models.base.StrictModel(**data)[source]
Bases:
BaseModelBase model with Pydantic v2 config.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.base.TimedResponse(**data)[source]
Bases:
StrictModelBase for API responses with timing information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.base.ProcessedSuccess(**data)[source]
Bases:
StrictModelGeneric success item in processing result.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.base.ProcessedError(**data)[source]
Bases:
StrictModelGeneric error item in processing result.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.base.ProcessedResult(**data)[source]
Bases:
StrictModelGeneric processing result.
-
success:
list[ProcessedSuccess]
-
errors:
list[ProcessedError]
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
success:
pihole_lib.models.client_mgmt module
Client management models.
- class pihole_lib.models.client_mgmt.Client(**data)[source]
Bases:
StrictModelPi-hole client entry.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.client_mgmt.ClientRequest(**data)[source]
Bases:
StrictModelRequest model for creating or updating a client.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.client_mgmt.ClientUpdateRequest(**data)[source]
Bases:
StrictModelRequest model for updating an existing client.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.client_mgmt.ClientBatchDeleteItem(**data)[source]
Bases:
StrictModelItem for batch client deletion.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.client_mgmt.ClientProcessedSuccess(**data)[source]
Bases:
StrictModelSuccess item in client processing result.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.client_mgmt.ClientProcessedError(**data)[source]
Bases:
StrictModelError item in client processing result.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.client_mgmt.ClientProcessedResult(**data)[source]
Bases:
StrictModelProcessing result for client operations.
-
success:
list[ClientProcessedSuccess]
-
errors:
list[ClientProcessedError]
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
success:
- class pihole_lib.models.client_mgmt.ClientsResponse(**data)[source]
Bases:
TimedResponseResponse model for client operations.
-
processed:
ClientProcessedResult|None
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
-
processed:
- class pihole_lib.models.client_mgmt.ClientSuggestionsResponse(**data)[source]
Bases:
TimedResponseResponse model for client suggestions.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
pihole_lib.models.dhcp module
DHCP models.
- class pihole_lib.models.dhcp.DHCPLease(**data)[source]
Bases:
StrictModelDHCP lease information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.dhcp.DHCPLeasesInfo(**data)[source]
Bases:
StrictModelDHCP leases information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
pihole_lib.models.dns module
DNS models.
- class pihole_lib.models.dns.DNSRecord(**data)[source]
Bases:
StrictModelDNS record information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.dns.DNSConfig(**data)[source]
Bases:
StrictModelDNS configuration information.
- classmethod from_raw_config(raw_config)[source]
Create DNSConfig from raw API response.
- Return type:
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.dns.DNSConfigInfo(**data)[source]
Bases:
StrictModelDNS configuration response information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.dns.DNSBlockingStatus(**data)[source]
Bases:
TimedResponseDNS blocking status information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
pihole_lib.models.domains module
Domain models.
- class pihole_lib.models.domains.DomainType(value)[source]
-
Pi-hole domain types.
- ALLOW = 'allow'
- DENY = 'deny'
- __format__(format_spec)
Returns format using actual value type unless __str__ has been overridden.
- class pihole_lib.models.domains.DomainKind(value)[source]
-
Pi-hole domain kinds.
- EXACT = 'exact'
- REGEX = 'regex'
- __format__(format_spec)
Returns format using actual value type unless __str__ has been overridden.
- class pihole_lib.models.domains.Domain(**data)[source]
Bases:
StrictModelPi-hole domain entry.
-
type:
DomainType
-
kind:
DomainKind
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
type:
- class pihole_lib.models.domains.DomainsResponse(**data)[source]
Bases:
TimedResponseResponse for domains endpoints.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
- class pihole_lib.models.domains.DomainRequest(**data)[source]
Bases:
StrictModelRequest for adding/updating domains.
-
type:
DomainType|None
-
kind:
DomainKind|None
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
type:
- class pihole_lib.models.domains.DomainBatchDeleteItem(**data)[source]
Bases:
StrictModelItem for batch domain deletion.
-
type:
DomainType
-
kind:
DomainKind
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
type:
- class pihole_lib.models.domains.DomainProcessedSuccess(**data)[source]
Bases:
StrictModelSuccessful domain processing result.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.domains.DomainProcessedError(**data)[source]
Bases:
StrictModelFailed domain processing result.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.domains.DomainProcessedResult(**data)[source]
Bases:
StrictModelDomain processing results.
-
success:
list[DomainProcessedSuccess]
-
errors:
list[DomainProcessedError]
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
success:
- class pihole_lib.models.domains.DomainMutationResponse(**data)[source]
Bases:
TimedResponseResponse for domain mutation operations.
-
processed:
DomainProcessedResult
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
-
processed:
- class pihole_lib.models.domains.DomainBatchDeleteResponse(**data)[source]
Bases:
TimedResponseResponse for batch domain deletion.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
pihole_lib.models.ftl module
FTL and database models.
- class pihole_lib.models.ftl.DatabaseUser(**data)[source]
Bases:
StrictModelDatabase file user information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.ftl.DatabaseGroup(**data)[source]
Bases:
StrictModelDatabase file group information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.ftl.DatabaseOwner(**data)[source]
Bases:
StrictModelDatabase file ownership information.
-
user:
DatabaseUser
-
group:
DatabaseGroup
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
user:
- class pihole_lib.models.ftl.DatabaseInfo(**data)[source]
Bases:
StrictModelPi-hole database information.
-
owner:
DatabaseOwner
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
owner:
- class pihole_lib.models.ftl.FTLDatabaseStats(**data)[source]
Bases:
StrictModelFTL database statistics.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.ftl.FTLClientStats(**data)[source]
Bases:
StrictModelFTL client statistics.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.ftl.FTLDnsmasqStats(**data)[source]
Bases:
StrictModelFTL dnsmasq statistics.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.ftl.FTLStats(**data)[source]
Bases:
StrictModelFTL statistics.
-
database:
FTLDatabaseStats
-
clients:
FTLClientStats
-
dnsmasq:
FTLDnsmasqStats
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
database:
- class pihole_lib.models.ftl.FTLInfo(**data)[source]
Bases:
StrictModelPi-hole FTL information wrapper.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
pihole_lib.models.groups module
Group models.
- class pihole_lib.models.groups.Group(**data)[source]
Bases:
StrictModelPi-hole group information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.groups.GroupRequest(**data)[source]
Bases:
StrictModelRequest model for creating or updating a group.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.groups.GroupProcessedSuccess(**data)[source]
Bases:
StrictModelSuccess item in group processing result.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.groups.GroupProcessedError(**data)[source]
Bases:
StrictModelError item in group processing result.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.groups.GroupProcessedResult(**data)[source]
Bases:
StrictModelProcessing result for group operations.
-
success:
list[GroupProcessedSuccess]
-
errors:
list[GroupProcessedError]
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
success:
- class pihole_lib.models.groups.GroupsResponse(**data)[source]
Bases:
TimedResponseResponse model for group operations.
-
processed:
GroupProcessedResult|None
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
-
processed:
pihole_lib.models.host module
Host system models.
- class pihole_lib.models.host.HostUname(**data)[source]
Bases:
StrictModelHost system uname information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.host.HostDMIBios(**data)[source]
Bases:
StrictModelHost DMI BIOS information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.host.HostDMIBoard(**data)[source]
Bases:
StrictModelHost DMI board information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.host.HostDMIProduct(**data)[source]
Bases:
StrictModelHost DMI product information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.host.HostDMISystem(**data)[source]
Bases:
StrictModelHost DMI system information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.host.HostDMI(**data)[source]
Bases:
StrictModelHost DMI/SMBIOS information.
-
bios:
HostDMIBios
-
board:
HostDMIBoard
-
product:
HostDMIProduct
-
sys:
HostDMISystem
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
bios:
- class pihole_lib.models.host.HostDetails(**data)[source]
Bases:
StrictModelHost system details.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.host.HostInfo(**data)[source]
Bases:
StrictModelPi-hole host system information wrapper.
-
host:
HostDetails
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
host:
pihole_lib.models.lists module
List models.
- class pihole_lib.models.lists.ListType(value)[source]
-
Pi-hole list types.
- ALLOW = 'allow'
- BLOCK = 'block'
- __format__(format_spec)
Returns format using actual value type unless __str__ has been overridden.
- class pihole_lib.models.lists.PiHoleList(**data)[source]
Bases:
StrictModelPi-hole domain list.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.lists.AddListRequest(**data)[source]
Bases:
StrictModelRequest model for adding a new Pi-hole list.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.lists.UpdateListRequest(**data)[source]
Bases:
StrictModelRequest model for updating an existing Pi-hole list.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.lists.BatchDeleteItem(**data)[source]
Bases:
StrictModelItem for batch delete operation.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.lists.ListProcessedSuccess(**data)[source]
Bases:
StrictModelSuccess item in list processing result.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.lists.ListProcessedError(**data)[source]
Bases:
StrictModelError item in list processing result.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.lists.ListProcessedResult(**data)[source]
Bases:
StrictModelProcessing result for list operations.
-
success:
list[ListProcessedSuccess]
-
errors:
list[ListProcessedError]
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
success:
- class pihole_lib.models.lists.ListsResponse(**data)[source]
Bases:
TimedResponseResponse model for list operations.
-
lists:
list[PiHoleList]
-
processed:
ListProcessedResult|None
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
-
lists:
pihole_lib.models.messages module
Message models.
- class pihole_lib.models.messages.Message(**data)[source]
Bases:
StrictModelPi-hole system message.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.messages.MessagesInfo(**data)[source]
Bases:
StrictModelPi-hole messages information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.messages.MessagesCountInfo(**data)[source]
Bases:
StrictModelPi-hole messages count information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
pihole_lib.models.network module
Network models.
- class pihole_lib.models.network.NetworkDeviceAddress(**data)[source]
Bases:
StrictModelNetwork device address information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.network.NetworkDevice(**data)[source]
Bases:
StrictModelNetwork device information.
-
addresses:
list[NetworkDeviceAddress]
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
addresses:
- class pihole_lib.models.network.NetworkDevicesResponse(**data)[source]
Bases:
TimedResponseResponse for network devices endpoint.
-
devices:
list[NetworkDevice]
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
-
devices:
- class pihole_lib.models.network.NetworkGateway(**data)[source]
Bases:
StrictModelNetwork gateway information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.network.NetworkGatewayResponse(**data)[source]
Bases:
TimedResponseResponse for network gateway endpoint.
-
gateway:
list[NetworkGateway]
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
-
gateway:
- class pihole_lib.models.network.NetworkGatewayDetailedResponse(**data)[source]
Bases:
TimedResponseResponse for detailed network gateway endpoint.
-
gateway:
list[NetworkGateway]
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
-
gateway:
- class pihole_lib.models.network.NetworkInterfaceStats(**data)[source]
Bases:
StrictModelNetwork interface statistics.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.network.NetworkInterfaceAddress(**data)[source]
Bases:
StrictModelNetwork interface address information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.network.NetworkInterface(**data)[source]
Bases:
StrictModelNetwork interface information.
-
stats:
NetworkInterfaceStats
-
addresses:
list[NetworkInterfaceAddress] |None
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
stats:
- class pihole_lib.models.network.NetworkInterfacesResponse(**data)[source]
Bases:
TimedResponseResponse for network interfaces endpoint.
-
interfaces:
list[NetworkInterface]
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
-
interfaces:
- class pihole_lib.models.network.NetworkRoute(**data)[source]
Bases:
StrictModelNetwork route information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.network.NetworkRoutesResponse(**data)[source]
Bases:
TimedResponseResponse for network routes endpoint.
-
routes:
list[NetworkRoute]
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
-
routes:
- class pihole_lib.models.network.NetworkDeviceDeleteResponse(**data)[source]
Bases:
TimedResponseResponse for network device deletion.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
pihole_lib.models.padd module
PADD (Pi-hole API Dashboard Data) models.
- class pihole_lib.models.padd.PADDQueries(**data)[source]
Bases:
StrictModelPADD queries information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.padd.PADDCache(**data)[source]
Bases:
StrictModelPADD cache information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.padd.PADDMemory(**data)[source]
Bases:
StrictModelPADD memory information.
-
swap:
MemoryStats
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
swap:
- class pihole_lib.models.padd.PADDSystem(**data)[source]
Bases:
StrictModelPADD system information.
-
memory:
PADDMemory
-
ftl:
FTLResourceUsage
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
memory:
- class pihole_lib.models.padd.PADDNetworkBytes(**data)[source]
Bases:
StrictModelPADD network bytes information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.padd.PADDNetworkInterface(**data)[source]
Bases:
StrictModelPADD network interface information.
-
rx_bytes:
PADDNetworkBytes|None
-
tx_bytes:
PADDNetworkBytes|None
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
rx_bytes:
- class pihole_lib.models.padd.PADDInterface(**data)[source]
Bases:
StrictModelPADD interface information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.padd.PADDVersionComponent(**data)[source]
Bases:
StrictModelPADD version component information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.padd.PADDVersionRemote(**data)[source]
Bases:
StrictModelPADD remote version information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.padd.PADDVersionInfo(**data)[source]
Bases:
StrictModelPADD version component info.
-
local:
PADDVersionComponent
-
remote:
PADDVersionRemote
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
local:
- class pihole_lib.models.padd.PADDVersionDocker(**data)[source]
Bases:
StrictModelPADD Docker version information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.padd.PADDVersion(**data)[source]
Bases:
StrictModelPADD version information.
-
core:
PADDVersionInfo
-
web:
PADDVersionInfo
-
ftl:
PADDVersionInfo
-
docker:
PADDVersionDocker
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
core:
- class pihole_lib.models.padd.PADDConfig(**data)[source]
Bases:
StrictModelPADD configuration information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.padd.PADDSensors(**data)[source]
Bases:
StrictModelPADD sensors information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.padd.PADDInfo(**data)[source]
Bases:
StrictModelPi-hole PADD (Pi-hole API Dashboard Data) information.
-
queries:
PADDQueries
-
system:
PADDSystem
-
iface:
PADDInterface
-
version:
PADDVersion
-
config:
PADDConfig
-
sensors:
PADDSensors
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
queries:
pihole_lib.models.search module
Search models.
- class pihole_lib.models.search.SearchResultCounts(**data)[source]
Bases:
StrictModelSearch result counts.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.search.SearchGravityCounts(**data)[source]
Bases:
StrictModelSearch gravity result counts.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.search.SearchResults(**data)[source]
Bases:
StrictModelSearch results summary.
-
domains:
SearchResultCounts
-
gravity:
SearchGravityCounts
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
domains:
- class pihole_lib.models.search.SearchParameters(**data)[source]
Bases:
StrictModelSearch parameters used.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.search.SearchData(**data)[source]
Bases:
StrictModelSearch data container.
-
domains:
list[PiHoleList]
-
gravity:
list[PiHoleList]
-
results:
SearchResults
-
parameters:
SearchParameters
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
domains:
- class pihole_lib.models.search.SearchResponse(**data)[source]
Bases:
TimedResponseResponse for domain search operations.
-
search:
SearchData
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
-
search:
pihole_lib.models.session module
Authentication and session models.
- class pihole_lib.models.session.LoginInfo(**data)[source]
Bases:
StrictModelPi-hole login page information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.session.PiHoleAuthSession(**data)[source]
Bases:
StrictModelPi-hole authentication session data.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.session.ClientHeader(**data)[source]
Bases:
StrictModelHTTP header from client request.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.session.ClientInfo(**data)[source]
Bases:
StrictModelPi-hole client request information.
-
headers:
list[ClientHeader]
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
headers:
pihole_lib.models.stats module
Statistics and history models.
- class pihole_lib.models.stats.HistoryEntry(**data)[source]
Bases:
StrictModelHistory entry for activity graph data.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.stats.HistoryResponse(**data)[source]
Bases:
TimedResponseResponse for history endpoints.
-
history:
list[HistoryEntry]
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
-
history:
- class pihole_lib.models.stats.ClientHistoryEntry(**data)[source]
Bases:
StrictModelClient history entry for per-client activity data.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.stats.ClientHistoryResponse(**data)[source]
Bases:
TimedResponseResponse for client history endpoints.
-
history:
list[ClientHistoryEntry]
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
-
history:
- class pihole_lib.models.stats.DatabaseHistoryResponse(**data)[source]
Bases:
TimedResponseResponse for database history endpoints.
-
history:
list[HistoryEntry]
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
-
history:
- class pihole_lib.models.stats.DatabaseClientHistoryResponse(**data)[source]
Bases:
TimedResponseResponse for database client history endpoints.
-
history:
list[ClientHistoryEntry]
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
-
history:
- class pihole_lib.models.stats.QueryEntry(**data)[source]
Bases:
StrictModelIndividual query entry.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.stats.QueriesResponse(**data)[source]
Bases:
TimedResponseResponse for queries endpoint.
-
queries:
list[QueryEntry]
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
-
queries:
- class pihole_lib.models.stats.QuerySuggestions(**data)[source]
Bases:
StrictModelQuery filter suggestions.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.stats.QuerySuggestionsResponse(**data)[source]
Bases:
TimedResponseResponse for query suggestions endpoint.
-
suggestions:
QuerySuggestions
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
-
suggestions:
- class pihole_lib.models.stats.QueryTypesResponse(**data)[source]
Bases:
TimedResponseResponse for query types endpoints.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
- class pihole_lib.models.stats.DatabaseSummaryResponse(**data)[source]
Bases:
TimedResponseResponse for database summary endpoint.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
- class pihole_lib.models.stats.TopClient(**data)[source]
Bases:
StrictModelTop client entry.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.stats.TopClientsResponse(**data)[source]
Bases:
TimedResponseResponse for top clients endpoints.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
- class pihole_lib.models.stats.TopDomain(**data)[source]
Bases:
StrictModelTop domain entry.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.stats.TopDomainsResponse(**data)[source]
Bases:
TimedResponseResponse for top domains endpoints.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
- class pihole_lib.models.stats.UpstreamStatistics(**data)[source]
Bases:
StrictModelUpstream server statistics.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.stats.UpstreamServer(**data)[source]
Bases:
StrictModelUpstream server information.
-
statistics:
UpstreamStatistics|None
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
statistics:
- class pihole_lib.models.stats.UpstreamsResponse(**data)[source]
Bases:
TimedResponseResponse for upstreams endpoints.
-
upstreams:
list[UpstreamServer]
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
-
upstreams:
- class pihole_lib.models.stats.RecentBlockedResponse(**data)[source]
Bases:
TimedResponseResponse for recent blocked domains endpoint.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
- class pihole_lib.models.stats.SummaryQueries(**data)[source]
Bases:
StrictModelSummary queries information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.stats.SummaryClients(**data)[source]
Bases:
StrictModelSummary clients information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.stats.SummaryGravity(**data)[source]
Bases:
StrictModelSummary gravity information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.stats.SummaryResponse(**data)[source]
Bases:
TimedResponseResponse for summary endpoint.
-
queries:
SummaryQueries
-
clients:
SummaryClients
-
gravity:
SummaryGravity
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
-
queries:
pihole_lib.models.system module
System resource models.
- class pihole_lib.models.system.MemoryStats(**data)[source]
Bases:
StrictModelMemory statistics (RAM or Swap).
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.system.RAMStats(**data)[source]
Bases:
MemoryStatsRAM statistics with available memory.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- total: int
- free: int
- used: int
- percent_used: float
- class pihole_lib.models.system.Memory(**data)[source]
Bases:
StrictModelCombined RAM and swap memory information.
-
swap:
MemoryStats
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
swap:
- class pihole_lib.models.system.CPULoad(**data)[source]
Bases:
StrictModelCPU load averages.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.system.CPUStats(**data)[source]
Bases:
StrictModelCPU statistics.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.system.FTLResourceUsage(**data)[source]
Bases:
StrictModelFTL process resource usage.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.system.NetworkBytes(**data)[source]
Bases:
StrictModelNetwork byte count with unit.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.system.SystemDetails(**data)[source]
Bases:
StrictModelSystem resource details.
-
ftl:
FTLResourceUsage
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
ftl:
- class pihole_lib.models.system.SystemInfo(**data)[source]
Bases:
StrictModelPi-hole system information wrapper.
-
system:
SystemDetails
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
system:
pihole_lib.models.teleporter module
Teleporter models.
- class pihole_lib.models.teleporter.TeleporterGravityOptions(**data)[source]
Bases:
StrictModelTeleporter gravity database import options.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.teleporter.TeleporterImportOptions(**data)[source]
Bases:
StrictModelPi-hole Teleporter import options.
-
gravity:
TeleporterGravityOptions
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
gravity:
pihole_lib.models.version module
Version models.
- class pihole_lib.models.version.VersionLocal(**data)[source]
Bases:
StrictModelLocal version information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.version.VersionRemote(**data)[source]
Bases:
StrictModelRemote version information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.version.ComponentVersion(**data)[source]
Bases:
StrictModelComponent version information.
-
local:
VersionLocal
-
remote:
VersionRemote
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
local:
- class pihole_lib.models.version.DockerVersion(**data)[source]
Bases:
StrictModelDocker version information.
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pihole_lib.models.version.VersionDetails(**data)[source]
Bases:
StrictModelPi-hole version details for all components.
-
core:
ComponentVersion
-
web:
ComponentVersion
-
ftl:
ComponentVersion
-
docker:
DockerVersion
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
core:
- class pihole_lib.models.version.VersionInfo(**data)[source]
Bases:
TimedResponsePi-hole version information response.
-
version:
VersionDetails
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- took: float
-
version:
Module contents
Data models for Pi-hole API responses.