https://pypi.org/project/pythonaoe2/
>>> from pythonaoe2 import aoe2>>> client = aoe2.Client()Or if you are running your own instance of the api:
>>> client = aoe2.Client("https://your.url.here/"+"api_version")>>> client.get_all_civilizations()Civilizations are returned as objects:
>>> for civ in client.get_all_civilizations():
>>> print(civ.name)
Aztecs
...
Vietnamese>>> client.get_civilization("Aztecs").name
'Aztecs'
>>> client.get_civilization("1").name
'Aztecs'
>>> >>> for unit in client.get_all_units():
>>> print(unit.name)
Archer
...
Elite Woad Raider>>> client.get_unit("1").name
'Archer'
>>> client.get_unit("Archer").name
'Archer'>>> for structure in client.get_all_structures():) d))
>>> print(structure.name + "|" + str(structure.id))
Barracks|1
...
Keep|59
>>>>>> client.get_structure("59").name
'Keep'
>>> client.get_structure("Keep").name
'Keep'>>> for tech in client.get_all_technologies():
>>> print(tech.name)
Crossbowman
...
Elite Woad Raider>>> client.get_technology("1").name
'Crossbowman'
>>> client.get_technology("Crossbowman").name
'Crossbowman'Some information requires additonal API calls with the provided ID/Name values, and some structures have multiple entries for different ages:
>>> unit = client.get_unit("4")
>>> unit.name
'Cavalry Archer'
>>> for structure in client.get_structure(unit.created_in):
>>> print(structure.name + " | " + structure.age)
Archery Range | Feudal
Archery Range | Castle
Archery Range | Imperial>>> tech = client.get_technology("3")
>>> tech.applies_to
['crossbowman']
>>> tech.develops_in
'archery_range'
>>> unit = client.get_unit(tech.applies_to[0])
>>> unit.name
'Crossbowman'