diff options
Diffstat (limited to 'generalresearch/models/network/label.py')
| -rw-r--r-- | generalresearch/models/network/label.py | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/generalresearch/models/network/label.py b/generalresearch/models/network/label.py index b9a7659..e4ddd18 100644 --- a/generalresearch/models/network/label.py +++ b/generalresearch/models/network/label.py @@ -2,15 +2,14 @@ from __future__ import annotations import ipaddress from enum import StrEnum -from typing import Optional, List from pydantic import ( BaseModel, + ConfigDict, Field, + IPvAnyNetwork, computed_field, field_validator, - ConfigDict, - IPvAnyNetwork, ) from generalresearch.models.custom_types import ( @@ -69,7 +68,7 @@ class IPLabel(BaseModel): ip: IPvAnyNetwork = Field() labeled_at: AwareDatetimeISO = Field(default_factory=now_utc_factory) - created_at: Optional[AwareDatetimeISO] = Field(default=None) + created_at: AwareDatetimeISO | None = Field(default=None) label_kind: IPLabelKind = Field() source: IPLabelSource = Field() @@ -77,11 +76,11 @@ class IPLabel(BaseModel): confidence: float = Field(default=1.0, ge=0.0, le=1.0) # Optionally, if this is untrusted, which service is providing the proxy/vpn service - provider: Optional[str] = Field( + provider: str | None = Field( default=None, examples=["geonode", "gecko"], max_length=128 ) - metadata: Optional[IPLabelMetadata] = Field(default=None) + metadata: IPLabelMetadata | None = Field(default=None) @field_validator("ip", mode="before") @classmethod @@ -96,7 +95,7 @@ class IPLabel(BaseModel): @field_validator("provider", mode="before") @classmethod - def provider_format(cls, v: Optional[str]) -> Optional[str]: + def provider_format(cls, v: str | None) -> str | None: if v is None: return v return v.lower().strip() @@ -123,4 +122,4 @@ class IPLabelMetadata(BaseModel): model_config = ConfigDict(validate_assignment=True, extra="allow") - services: Optional[List[str]] = Field(min_length=1, examples=[["RDP"]]) + services: list[str] | None = Field(min_length=1, examples=[["RDP"]]) |
