hd2api.models.Base package

Submodules

hd2api.models.Base.Assignment module

class hd2api.models.Base.Assignment.Assignment(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, id32: int | None = None, progress: List[int] | None = None, expiresIn: int | None = None, setting: Setting | None = None, **data)

Bases: BaseApiModel

Raw Model representing an assignment given from Super Earth to the Helldivers.

expiresIn: int | None
id32: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

progress: List[int] | None
setting: Setting | None

hd2api.models.Base.Campaign module

class hd2api.models.Base.Campaign.Campaign(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, id: int | None = None, planetIndex: int | None = None, type: int | None = None, count: int | None = None, race: int | None = None, **data)

Bases: BaseApiModel

Raw model reguarding an ongoing campaign on a specific planetindex.

count: int | None
id: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

planetIndex: int | None
race: int | None
type: int | None

hd2api.models.Base.Effects module

class hd2api.models.Base.Effects.PlanetActiveEffects(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, index: int | None = None, galacticEffectId: int | None = None, **data)

Bases: BaseApiModel

Raw Active Planet Effects, with the planet index and the galacticEffectId. Planet effects are applied to specific worlds.

galacticEffectId: int | None
index: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

hd2api.models.Base.GalaxyStats module

class hd2api.models.Base.GalaxyStats.GalaxyStats(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, missionsWon: int | None = None, missionsLost: int | None = None, missionTime: int | None = None, bugKills: int | None = None, automatonKills: int | None = None, illuminateKills: int | None = None, bulletsFired: int | None = None, bulletsHit: int | None = None, timePlayed: int | None = None, deaths: int | None = None, revives: int | None = None, friendlies: int | None = None, missionSuccessRate: int | None = None, accurracy: int | None = None, **data)

Bases: BaseApiModel

Raw model containing galaxy wide statistics.

accurracy: int | None
automatonKills: int | None
bugKills: int | None
bulletsFired: int | None
bulletsHit: int | None
deaths: int | None
friendlies: int | None
illuminateKills: int | None
missionSuccessRate: int | None
missionTime: int | None
missionsLost: int | None
missionsWon: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

revives: int | None
timePlayed: int | None

hd2api.models.Base.GlobalEvent module

class hd2api.models.Base.GlobalEvent.GlobalEvent(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, eventId: int | None = None, id32: int | None = None, portraitId32: int | None = None, title: str | None = None, titleId32: int | None = None, message: str | None = None, messageId32: int | None = None, introMediaId32: int | None = None, outroMediaId32: int | None = None, race: int | None = None, flag: int | None = None, assignmentId32: int | None = None, effectIds: List[int] | None = <factory>, planetIndices: List[int] | None = <factory>, expireTime: int | None = None, **data)

Bases: BaseApiModel

Raw object which is an ongoing global event.

assignmentId32: int | None
effectIds: List[int] | None
eventId: int | None
expireTime: int | None
flag: int | None
id32: int | None
introMediaId32: int | None
message: str | None
messageId32: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

outroMediaId32: int | None
planetIndices: List[int] | None
portraitId32: int | None
race: int | None
strout() str
title: str | None
titleId32: int | None

hd2api.models.Base.HomeWorld module

class hd2api.models.Base.HomeWorld.HomeWorld(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, race: int | None = None, planetIndices: List[int] | None = None, **data)

Bases: BaseApiModel

None model

Represents information about the homeworld(s) of a given race.

model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

planetIndices: List[int] | None
race: int | None

hd2api.models.Base.JointOperation module

class hd2api.models.Base.JointOperation.JointOperation(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, id: int | None = None, planetIndex: int | None = None, hqNodeIndex: int | None = None, **data)

Bases: BaseApiModel

Raw model representing a joint operation. Typically seen with planetary defense campaigns, but exact use is unknown.

hqNodeIndex: int | None
id: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

planetIndex: int | None

hd2api.models.Base.NewsFeedItem module

class hd2api.models.Base.NewsFeedItem.NewsFeedItem(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, id: int | None = None, published: int | None = None, type: int | None = None, tagIds: List[str | int] | None = <factory>, message: str | None = None, **data)

Bases: BaseApiModel

Represents an item in the newsfeed of Super Earth, known in game as a dispatch.

id: int | None
message: str | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

published: int | None
tagIds: List[str | int] | None
to_str() Tuple[str, str]
type: int | None

hd2api.models.Base.PlanetAttack module

class hd2api.models.Base.PlanetAttack.PlanetAttack(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, source: int | None = None, target: int | None = None, **data)

Bases: BaseApiModel

Raw model representing an attack from one in game planet to another. Planet Attacks are required for Liberation Campaigns (when a Super Earth world attacks an enemy world) and Defense Campaigns (when an enemy world attacks a Super Earth world).

model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

source: int | None
target: int | None

hd2api.models.Base.PlanetCoordinates module

class hd2api.models.Base.PlanetCoordinates.PlanetCoordinates(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, x: float | None = None, y: float | None = None, **data)

Bases: BaseApiModel

Represents a set of coordinates returned by ArrowHead’'’s API.

model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

x: float | None
y: float | None

hd2api.models.Base.PlanetEvent module

class hd2api.models.Base.PlanetEvent.PlanetEvent(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, id: int | None = None, planetIndex: int | None = None, eventType: int | None = None, race: int | None = None, health: int | None = None, maxHealth: int | None = None, startTime: int | None = None, expireTime: int | None = None, campaignId: int | None = None, jointOperationIds: List[int] | None = None, potentialBuildUp: int | None = None, **data)

Bases: BaseApiModel

Raw model representing An ongoing event on a planet, such as defense campaigns.

campaignId: int | None
eventType: int | None
expireTime: int | None
health: int | None
id: int | None
jointOperationIds: List[int] | None
long_event_details()
maxHealth: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

planetIndex: int | None
potentialBuildUp: int | None
race: int | None
startTime: int | None

hd2api.models.Base.PlanetInfo module

class hd2api.models.Base.PlanetInfo.PlanetInfo(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, index: int | None = None, settingsHash: int | None = None, position: PlanetCoordinates | None = None, waypoints: List[int] | None = None, sector: int | None = None, maxHealth: int | None = None, disabled: bool | None = None, initialOwner: int | None = None, **data)

Bases: BaseApiModel

Raw model Representing information of a planet from the ‘WarInfo’ endpoint returned by ArrowHead’s API.

disabled: bool | None
index: int | None
initialOwner: int | None
maxHealth: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

position: PlanetCoordinates | None
sector: int | None
settingsHash: int | None
waypoints: List[int] | None

hd2api.models.Base.PlanetStats module

class hd2api.models.Base.PlanetStats.PlanetStats(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, planetIndex: int | None = 0, missionsWon: int | None = 0, missionsLost: int | None = 0, missionTime: int | None = 0, bugKills: int | None = 0, automatonKills: int | None = 0, illuminateKills: int | None = 0, bulletsFired: int | None = 0, bulletsHit: int | None = 0, timePlayed: int | None = 0, deaths: int | None = 0, revives: int | None = 0, friendlies: int | None = 0, missionSuccessRate: int | None = 0, accurracy: int | None = 0, **data)

Bases: BaseApiModel

Raw model similar to GalaxyStats, but scoped to a specific planet.

accurracy: int | None
automatonKills: int | None
bugKills: int | None
bulletsFired: int | None
bulletsHit: int | None
deaths: int | None
friendlies: int | None
illuminateKills: int | None
missionSuccessRate: int | None
missionTime: int | None
missionsLost: int | None
missionsWon: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

planetIndex: int | None
revives: int | None
timePlayed: int | None

hd2api.models.Base.PlanetStatus module

class hd2api.models.Base.PlanetStatus.PlanetStatus(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, index: int | None = None, owner: int | None = None, health: int | None = None, regenPerSecond: float | None = None, players: int | None = None, position: PlanetCoordinates | None = None, **data)

Bases: BaseApiModel

Raw model Representing the ‘current’ state of a planet in the galactic war.

health: int | None
index: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

owner: int | None
players: int | None
position: PlanetCoordinates | None
regenPerSecond: float | None

hd2api.models.Base.Reward module

class hd2api.models.Base.Reward.Reward(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, type: int | None = None, id32: int | None = None, amount: int | None = None, **data)

Bases: BaseApiModel

Raw model representing a reward that will be given for the completion of an Assignment.

amount: int | None
format() str

Return the string representation of any reward.

id32: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

type: int | None

hd2api.models.Base.Setting module

class hd2api.models.Base.Setting.Setting(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, type: int | None = None, overrideTitle: str | None = None, overrideBrief: str | None = None, taskDescription: str | None = None, tasks: List[Task | None] | None = None, reward: Reward | None = None, rewards: List[Reward | None] | None = None, flags: int | None = None, **data)

Bases: BaseApiModel

Raw model containing the details of an Assignment, such as the reward upon completion and requirements to compete the assignmient.

flags: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

overrideBrief: str | None
overrideTitle: str | None
reward: Reward | None
rewards: List[Reward | None] | None
taskDescription: str | None
tasks: List[Task | None] | None
type: int | None

hd2api.models.Base.SteamNewsRaw module

class hd2api.models.Base.SteamNewsRaw.SteamNewsRaw(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, id: str | None = None, title: str | None = None, url: str | None = None, author: str | None = None, content: str | None = None, publishedAt: str | None = None, **data)

Bases: BaseApiModel

None model

Represents a new article from Steam’'’s news feed.

author: str | None
content: str | None
id: str | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

publishedAt: str | None
title: str | None
url: str | None

hd2api.models.Base.Task module

class hd2api.models.Base.Task.Task(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, type: int | None = None, values: List[int] | None = None, valueTypes: List[int] | None = None, **data)

Bases: BaseApiModel

Raw model representing a task to be completed in an Assignment. It’s exact values are not all known at the time.

model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

type: int | None
valueTypes: List[int] | None
values: List[int] | None

hd2api.models.Base.WarId module

class hd2api.models.Base.WarId.WarId(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, id: int | None = None, **data)

Bases: BaseApiModel

Raw model Representing the ID of the current war returned from the WarID endpoint.

id: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

hd2api.models.Base.WarInfo module

class hd2api.models.Base.WarInfo.WarInfo(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, warId: int | None = None, startDate: int | None = None, endDate: int | None = None, layoutVersion: int | None = None, minimumClientVersion: str | None = None, planetInfos: List[PlanetInfo | None] | None = <factory>, homeWorlds: List[HomeWorld | None] | None = <factory>, capitalInfos: List[Any] | None = <factory>, planetPermanentEffects: List[Any] | None = <factory>, planetRegions: List[PlanetRegionInfo] | None = <factory>, **data)

Bases: BaseApiModel

Mostly static information on the current galactic war. This includes information on each planet, homeworlds, supply lines, the current warID, and more.

capitalInfos: List[Any] | None
endDate: int | None
homeWorlds: List[HomeWorld | None] | None
layoutVersion: int | None
minimumClientVersion: str | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

planetInfos: List[PlanetInfo | None] | None
planetPermanentEffects: List[Any] | None
planetRegions: List[PlanetRegionInfo] | None
startDate: int | None
warId: int | None

hd2api.models.Base.WarStatus module

class hd2api.models.Base.WarStatus.WarStatus(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, warId: int | None = None, time: int | None = None, impactMultiplier: float | None = None, storyBeatId32: int | None = None, planetStatus: List[PlanetStatus] | None = <factory>, planetRegions: List[PlanetRegion] | None = <factory>, planetAttacks: List[PlanetAttack | None] | None = <factory>, campaigns: List[Campaign | None] | None = <factory>, jointOperations: List[JointOperation | None] | None = [], planetEvents: List[PlanetEvent | None] | None = [], communityTargets: List[Any] | None = [], activeElectionPolicyEffects: List[Any] | None = [], planetActiveEffects: List[PlanetActiveEffects] | None = [], globalEvents: List[GlobalEvent] | None = [], spaceStations: List[SpaceStationStatus] | None = <factory>, globalResources: List[GlobalResource] | None = [], superEarthWarResults: List[Any] | None = [], layoutVersion: int | None = None, **data)

Bases: BaseApiModel

Raw model representing a snapshot of the current state of the galactic war,

including all active campaigns and the owner of each planet.

activeElectionPolicyEffects: List[Any] | None
campaigns: List[Campaign | None] | None
communityTargets: List[Any] | None
globalEvents: List[GlobalEvent] | None
globalResources: List[GlobalResource] | None
impactMultiplier: float | None
jointOperations: List[JointOperation | None] | None
layoutVersion: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

planetActiveEffects: List[PlanetActiveEffects] | None
planetAttacks: List[PlanetAttack | None] | None
planetEvents: List[PlanetEvent | None] | None
planetRegions: List[PlanetRegion] | None
planetStatus: List[PlanetStatus] | None
spaceStations: List[SpaceStationStatus] | None
storyBeatId32: int | None
superEarthWarResults: List[Any] | None
time: int | None
warId: int | None

hd2api.models.Base.WarSummary module

class hd2api.models.Base.WarSummary.WarSummary(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, galaxy_stats: GalaxyStats | None = None, planets_stats: List[PlanetStats | None] | None = None, **data)

Bases: BaseApiModel

General statistics about the galaxy and any specific planets that the community has played on.

galaxy_stats: GalaxyStats | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

planets_stats: List[PlanetStats | None] | None

Module contents

class hd2api.models.Base.Assignment(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, id32: int | None = None, progress: List[int] | None = None, expiresIn: int | None = None, setting: Setting | None = None, **data)

Bases: BaseApiModel

Raw Model representing an assignment given from Super Earth to the Helldivers.

expiresIn: int | None
id32: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

progress: List[int] | None
setting: Setting | None
class hd2api.models.Base.Campaign(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, id: int | None = None, planetIndex: int | None = None, type: int | None = None, count: int | None = None, race: int | None = None, **data)

Bases: BaseApiModel

Raw model reguarding an ongoing campaign on a specific planetindex.

count: int | None
id: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

planetIndex: int | None
race: int | None
type: int | None
class hd2api.models.Base.Cost(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, id: str | None = None, itemMixId: int | None = None, targetValue: int | None = None, currentValue: float | None = None, deltaPerSecond: float | None = None, maxDonationAmount: int | None = None, maxDonationPeriodSeconds: int | None = None, **data)

Bases: BaseApiModel

Raw model that’s the cost for maintaining a DSS Tactical action

currentValue: float | None
deltaPerSecond: float | None
id: str | None
itemMixId: int | None
maxDonationAmount: int | None
maxDonationPeriodSeconds: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

targetValue: int | None
class hd2api.models.Base.GalaxyStats(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, missionsWon: int | None = None, missionsLost: int | None = None, missionTime: int | None = None, bugKills: int | None = None, automatonKills: int | None = None, illuminateKills: int | None = None, bulletsFired: int | None = None, bulletsHit: int | None = None, timePlayed: int | None = None, deaths: int | None = None, revives: int | None = None, friendlies: int | None = None, missionSuccessRate: int | None = None, accurracy: int | None = None, **data)

Bases: BaseApiModel

Raw model containing galaxy wide statistics.

accurracy: int | None
automatonKills: int | None
bugKills: int | None
bulletsFired: int | None
bulletsHit: int | None
deaths: int | None
friendlies: int | None
illuminateKills: int | None
missionSuccessRate: int | None
missionTime: int | None
missionsLost: int | None
missionsWon: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

revives: int | None
timePlayed: int | None
class hd2api.models.Base.GlobalEvent(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, eventId: int | None = None, id32: int | None = None, portraitId32: int | None = None, title: str | None = None, titleId32: int | None = None, message: str | None = None, messageId32: int | None = None, introMediaId32: int | None = None, outroMediaId32: int | None = None, race: int | None = None, flag: int | None = None, assignmentId32: int | None = None, effectIds: List[int] | None = <factory>, planetIndices: List[int] | None = <factory>, expireTime: int | None = None, **data)

Bases: BaseApiModel

Raw object which is an ongoing global event.

assignmentId32: int | None
effectIds: List[int] | None
eventId: int | None
expireTime: int | None
flag: int | None
id32: int | None
introMediaId32: int | None
message: str | None
messageId32: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

outroMediaId32: int | None
planetIndices: List[int] | None
portraitId32: int | None
race: int | None
strout() str
title: str | None
titleId32: int | None
class hd2api.models.Base.GlobalResource(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, id32: int | None = None, currentValue: int | float | None = None, maxValue: int | float | None = None, flags: int | None = None, changePerSecond: int | float | None = None, **data)

Bases: BaseApiModel

Raw object which represents a global resource.

changePerSecond: int | float | None
currentValue: int | float | None
flags: int | None
id32: int | None
maxValue: int | float | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class hd2api.models.Base.HomeWorld(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, race: int | None = None, planetIndices: List[int] | None = None, **data)

Bases: BaseApiModel

None model

Represents information about the homeworld(s) of a given race.

model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

planetIndices: List[int] | None
race: int | None
class hd2api.models.Base.JointOperation(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, id: int | None = None, planetIndex: int | None = None, hqNodeIndex: int | None = None, **data)

Bases: BaseApiModel

Raw model representing a joint operation. Typically seen with planetary defense campaigns, but exact use is unknown.

hqNodeIndex: int | None
id: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

planetIndex: int | None
class hd2api.models.Base.NewsFeedItem(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, id: int | None = None, published: int | None = None, type: int | None = None, tagIds: List[str | int] | None = <factory>, message: str | None = None, **data)

Bases: BaseApiModel

Represents an item in the newsfeed of Super Earth, known in game as a dispatch.

id: int | None
message: str | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

published: int | None
tagIds: List[str | int] | None
to_str() Tuple[str, str]
type: int | None
class hd2api.models.Base.PlanetActiveEffects(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, index: int | None = None, galacticEffectId: int | None = None, **data)

Bases: BaseApiModel

Raw Active Planet Effects, with the planet index and the galacticEffectId. Planet effects are applied to specific worlds.

galacticEffectId: int | None
index: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class hd2api.models.Base.PlanetAttack(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, source: int | None = None, target: int | None = None, **data)

Bases: BaseApiModel

Raw model representing an attack from one in game planet to another. Planet Attacks are required for Liberation Campaigns (when a Super Earth world attacks an enemy world) and Defense Campaigns (when an enemy world attacks a Super Earth world).

model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

source: int | None
target: int | None
class hd2api.models.Base.PlanetCoordinates(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, x: float | None = None, y: float | None = None, **data)

Bases: BaseApiModel

Represents a set of coordinates returned by ArrowHead’'’s API.

model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

x: float | None
y: float | None
class hd2api.models.Base.PlanetEvent(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, id: int | None = None, planetIndex: int | None = None, eventType: int | None = None, race: int | None = None, health: int | None = None, maxHealth: int | None = None, startTime: int | None = None, expireTime: int | None = None, campaignId: int | None = None, jointOperationIds: List[int] | None = None, potentialBuildUp: int | None = None, **data)

Bases: BaseApiModel

Raw model representing An ongoing event on a planet, such as defense campaigns.

campaignId: int | None
eventType: int | None
expireTime: int | None
health: int | None
id: int | None
jointOperationIds: List[int] | None
long_event_details()
maxHealth: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

planetIndex: int | None
potentialBuildUp: int | None
race: int | None
startTime: int | None
class hd2api.models.Base.PlanetInfo(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, index: int | None = None, settingsHash: int | None = None, position: PlanetCoordinates | None = None, waypoints: List[int] | None = None, sector: int | None = None, maxHealth: int | None = None, disabled: bool | None = None, initialOwner: int | None = None, **data)

Bases: BaseApiModel

Raw model Representing information of a planet from the ‘WarInfo’ endpoint returned by ArrowHead’s API.

disabled: bool | None
index: int | None
initialOwner: int | None
maxHealth: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

position: PlanetCoordinates | None
sector: int | None
settingsHash: int | None
waypoints: List[int] | None
class hd2api.models.Base.PlanetRegion(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, planetIndex: int | None = None, regionIndex: int | None = None, owner: int | None = None, health: int | None = None, regenPerSecond: float | None = None, availabilityFactor: float | None = None, isAvailable: bool | None = None, players: int | None = None, **data)

Bases: BaseApiModel

Raw model representing the ‘current’ state of a planet in the galactic war.

availabilityFactor: float | None
health: int | None
isAvailable: bool | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

owner: int | None
planetIndex: int | None
players: int | None
regenPerSecond: float | None
regionIndex: int | None
class hd2api.models.Base.PlanetRegionInfo(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, planetIndex: int | None = None, regionIndex: int | None = None, settingsHash: int | None = None, maxHealth: int | None = None, regionSize: int | None = None, flags: int | None = None, damageMultiplier: float | None = None, **data)

Bases: BaseApiModel

Model representing information about a planet region from the ‘WarInfo’ endpoint returned by ArrowHead’s API.

damageMultiplier: float | None
flags: int | None
maxHealth: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

planetIndex: int | None
regionIndex: int | None
regionSize: int | None
settingsHash: int | None
class hd2api.models.Base.PlanetStats(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, planetIndex: int | None = 0, missionsWon: int | None = 0, missionsLost: int | None = 0, missionTime: int | None = 0, bugKills: int | None = 0, automatonKills: int | None = 0, illuminateKills: int | None = 0, bulletsFired: int | None = 0, bulletsHit: int | None = 0, timePlayed: int | None = 0, deaths: int | None = 0, revives: int | None = 0, friendlies: int | None = 0, missionSuccessRate: int | None = 0, accurracy: int | None = 0, **data)

Bases: BaseApiModel

Raw model similar to GalaxyStats, but scoped to a specific planet.

accurracy: int | None
automatonKills: int | None
bugKills: int | None
bulletsFired: int | None
bulletsHit: int | None
deaths: int | None
friendlies: int | None
illuminateKills: int | None
missionSuccessRate: int | None
missionTime: int | None
missionsLost: int | None
missionsWon: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

planetIndex: int | None
revives: int | None
timePlayed: int | None
class hd2api.models.Base.PlanetStatus(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, index: int | None = None, owner: int | None = None, health: int | None = None, regenPerSecond: float | None = None, players: int | None = None, position: PlanetCoordinates | None = None, **data)

Bases: BaseApiModel

Raw model Representing the ‘current’ state of a planet in the galactic war.

health: int | None
index: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

owner: int | None
players: int | None
position: PlanetCoordinates | None
regenPerSecond: float | None
class hd2api.models.Base.Reward(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, type: int | None = None, id32: int | None = None, amount: int | None = None, **data)

Bases: BaseApiModel

Raw model representing a reward that will be given for the completion of an Assignment.

amount: int | None
format() str

Return the string representation of any reward.

id32: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

type: int | None
class hd2api.models.Base.Setting(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, type: int | None = None, overrideTitle: str | None = None, overrideBrief: str | None = None, taskDescription: str | None = None, tasks: List[Task | None] | None = None, reward: Reward | None = None, rewards: List[Reward | None] | None = None, flags: int | None = None, **data)

Bases: BaseApiModel

Raw model containing the details of an Assignment, such as the reward upon completion and requirements to compete the assignmient.

flags: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

overrideBrief: str | None
overrideTitle: str | None
reward: Reward | None
rewards: List[Reward | None] | None
taskDescription: str | None
tasks: List[Task | None] | None
type: int | None
class hd2api.models.Base.SpaceStation(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, id32: int | None = None, lastElectionId: str | None = None, currentElectionId: str | None = None, nextElectionId: str | None = None, planetIndex: int | None = None, flags: int | None = None, currentElectionEndWarTime: int | None = None, tacticalActions: List[TacticalAction] | None = <factory>, **data)

Bases: BaseApiModel

Raw model representing a single space station’s full details.

currentElectionEndWarTime: int | None
currentElectionId: str | None
flags: int | None
id32: int | None
lastElectionId: str | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

nextElectionId: str | None
planetIndex: int | None
tacticalActions: List[TacticalAction] | None
class hd2api.models.Base.SpaceStationStatus(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, id32: int | None = None, planetIndex: int | None = None, activeEffectIds: List[int] | None = <factory>, flags: int | None = None, currentElectionEndWarTime: int | None = None, **data)

Bases: BaseApiModel

Raw model representing a single space station in the WarStatus object

activeEffectIds: List[int] | None
currentElectionEndWarTime: int | None
flags: int | None
id32: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

planetIndex: int | None
class hd2api.models.Base.SteamNewsRaw(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, id: str | None = None, title: str | None = None, url: str | None = None, author: str | None = None, content: str | None = None, publishedAt: str | None = None, **data)

Bases: BaseApiModel

None model

Represents a new article from Steam’'’s news feed.

author: str | None
content: str | None
id: str | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

publishedAt: str | None
title: str | None
url: str | None
class hd2api.models.Base.TacticalAction(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, id32: int | None = None, name: str | None = None, description: str | None = None, strategicDescription: str | None = None, status: int | None = None, statusExpireAtWarTimeSeconds: int | None = None, cost: List[Cost] | None = <factory>, effectIds: List[int] | None = <factory>, activeEffectIds: List[int] | None = <factory>, **data)

Bases: BaseApiModel

Raw model that’s a DSS Tactical action

activeEffectIds: List[int] | None
cost: List[Cost] | None
description: str | None
effectIds: List[int] | None
id32: int | None
mediaId32: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

name: str | None
status: int | None
statusExpireAtWarTimeSeconds: int | None
strategicDescription: str | None
class hd2api.models.Base.Task(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, type: int | None = None, values: List[int] | None = None, valueTypes: List[int] | None = None, **data)

Bases: BaseApiModel

Raw model representing a task to be completed in an Assignment. It’s exact values are not all known at the time.

model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

type: int | None
valueTypes: List[int] | None
values: List[int] | None
class hd2api.models.Base.WarId(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, id: int | None = None, **data)

Bases: BaseApiModel

Raw model Representing the ID of the current war returned from the WarID endpoint.

id: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class hd2api.models.Base.WarInfo(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, warId: int | None = None, startDate: int | None = None, endDate: int | None = None, layoutVersion: int | None = None, minimumClientVersion: str | None = None, planetInfos: List[PlanetInfo | None] | None = <factory>, homeWorlds: List[HomeWorld | None] | None = <factory>, capitalInfos: List[Any] | None = <factory>, planetPermanentEffects: List[Any] | None = <factory>, planetRegions: List[PlanetRegionInfo] | None = <factory>, **data)

Bases: BaseApiModel

Mostly static information on the current galactic war. This includes information on each planet, homeworlds, supply lines, the current warID, and more.

capitalInfos: List[Any] | None
endDate: int | None
homeWorlds: List[HomeWorld | None] | None
layoutVersion: int | None
minimumClientVersion: str | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

planetInfos: List[PlanetInfo | None] | None
planetPermanentEffects: List[Any] | None
planetRegions: List[PlanetRegionInfo] | None
startDate: int | None
warId: int | None
class hd2api.models.Base.WarStatus(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, warId: int | None = None, time: int | None = None, impactMultiplier: float | None = None, storyBeatId32: int | None = None, planetStatus: List[PlanetStatus] | None = <factory>, planetRegions: List[PlanetRegion] | None = <factory>, planetAttacks: List[PlanetAttack | None] | None = <factory>, campaigns: List[Campaign | None] | None = <factory>, jointOperations: List[JointOperation | None] | None = [], planetEvents: List[PlanetEvent | None] | None = [], communityTargets: List[Any] | None = [], activeElectionPolicyEffects: List[Any] | None = [], planetActiveEffects: List[PlanetActiveEffects] | None = [], globalEvents: List[GlobalEvent] | None = [], spaceStations: List[SpaceStationStatus] | None = <factory>, globalResources: List[GlobalResource] | None = [], superEarthWarResults: List[Any] | None = [], layoutVersion: int | None = None, **data)

Bases: BaseApiModel

Raw model representing a snapshot of the current state of the galactic war,

including all active campaigns and the owner of each planet.

activeElectionPolicyEffects: List[Any] | None
campaigns: List[Campaign | None] | None
communityTargets: List[Any] | None
globalEvents: List[GlobalEvent] | None
globalResources: List[GlobalResource] | None
impactMultiplier: float | None
jointOperations: List[JointOperation | None] | None
layoutVersion: int | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

planetActiveEffects: List[PlanetActiveEffects] | None
planetAttacks: List[PlanetAttack | None] | None
planetEvents: List[PlanetEvent | None] | None
planetRegions: List[PlanetRegion] | None
planetStatus: List[PlanetStatus] | None
spaceStations: List[SpaceStationStatus] | None
storyBeatId32: int | None
superEarthWarResults: List[Any] | None
time: int | None
warId: int | None
class hd2api.models.Base.WarSummary(*, retrieved_at: datetime | None = None, time_delta: timedelta | None = None, galaxy_stats: GalaxyStats | None = None, planets_stats: List[PlanetStats | None] | None = None, **data)

Bases: BaseApiModel

General statistics about the galaxy and any specific planets that the community has played on.

galaxy_stats: GalaxyStats | None
model_config = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

planets_stats: List[PlanetStats | None] | None