/anacreonlib

Unofficial API client for anacreon.kronosaur.com

Primary LanguagePythonMIT LicenseMIT

anacreonlib

PyPI Version Documentation Status

This unofficial library provides a Python interface to the API of Anacreon 3, which is an online 4X game produced by Kronosaur Productions, LLC..

The minimum supported Python version is 3.8

Make sure to read the "Scripts and Bots" section of the Kronosaur Terms of Service.

Installation

anacreonlib can be installed using pip:

$ pip install anacreonlib

Usage

Below is a minimum working example to get started with using the Anacreon API

from anacreonlib import Anacreon, Fleet
import asyncio

async def main():
    ## Step 1: Log in
    client: Anacreon = await Anacreon.log_in(
        game_id="8JNJ7FNZ",
        username="username",
        password="password"
    )

    ## Step 2: do cool stuff, automatically!
    # find all of our fleets
    all_my_fleets = [
        fleet
        for fleet in client.space_objects.values()
        if isinstance(fleet, Fleet)
        and fleet.sovereign_id == client.sov_id
    ]

    # send all our fleets to world ID 100
    for fleet in all_my_fleets:
        await client.set_fleet_destination(fleet.id, 100)

if __name__ == "__main__":
    asyncio.run(main())

Rate Limits

The API has rate limits which are detailed in this Ministry record. Beware that they apply to both any scripts you write AND the online client.