Skip to main content

An unofficial Aternos API

Project description

Python Aternos API

An unofficial Aternos API written in Python.
It uses aternos' private API and html parsing.

Note:
Now, the main repository is located on Codeberg because GitHub bans its Russian users.
I'm still updating the GH repository together with the Codeberg one.

Installing

pip install python-aternos

Note for Windows users:
Install lxml package from here if you have a problem with it,
and then execute pip install --no-deps python-aternos

Usage

To use Aternos API in your Python script, import it and login with your username and password/MD5.

Then request the servers list using list_servers().
You can start/stop your Aternos server now, calling start() or stop().

Here is an example how to use the API:

# Import
from python_aternos import Client

# Log in
aternos = Client.from_credentials('example', 'test123')
# ----OR----
aternos = Client.from_hashed('example', 'cc03e747a6afbbcbf8be7668acfebee5')
# ----OR----
aternos = Client.restore_session()

# Returns AternosServer list
servs = aternos.list_servers()

# Get the first server by the 0 index
myserv = servs[0]

# Start
myserv.start()
# Stop
myserv.stop()

# You can also find server by IP
testserv = None
for serv in servs:
    if serv.address == 'test.aternos.org':
        testserv = serv
if testserv != None:
    # Prints a server softaware and its version
    # (for example, "Vanilla 1.12.2")
    print(testserv.software, testserv.version)
    # Starts server
    testserv.start()

The documentation have not made yet. View examples and ask in the issues.

More examples / on GitHub

Changelog

Version Description
v0.1 The first release.
v0.2 Fixed import problem.
v0.3 Implemented files API, added typization.
v0.4 Implemented configuration API, some bugfixes.
v0.5 The API was updated corresponding to new Aternos security methods. Huge thanks to lusm554.
v0.6/v1.0.0 Code refactoring, websockets API and session saving to prevent detecting automation access.
v1.0.x Lots of bugfixes, changed versioning (SemVer).
v1.1.x Switching to selenium with a custom Chrome driver, writing API documentation.
v1.2.x Full implementation of config and software API, unit tests and documentation is planned.
v1.3.x Shared access API and Google Drive backups is planned.

License

License Notice:

Copyright 2021 Chechkenev Andrey, lusm554

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

You don't need to attribute me, if you are just using this module installed from PIP or wheel.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-aternos-1.0.2.tar.gz (18.3 kB view details)

Uploaded Source

Built Distribution

python_aternos-1.0.2-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

File details

Details for the file python-aternos-1.0.2.tar.gz.

File metadata

  • Download URL: python-aternos-1.0.2.tar.gz
  • Upload date:
  • Size: 18.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.25.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.62.3 importlib-metadata/4.8.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.4

File hashes

Hashes for python-aternos-1.0.2.tar.gz
Algorithm Hash digest
SHA256 fee58c440bc1b83abb591b52ccfef3e54e5e5dd77d2a2792a60a617469f6e43b
MD5 49abd862682686daa3b251887a6bcecb
BLAKE2b-256 d14a7303016cd4a1570253ae7115b35f3a253ec28aa08d754b8fa8961a8f8871

See more details on using hashes here.

File details

Details for the file python_aternos-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: python_aternos-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 20.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.25.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.62.3 importlib-metadata/4.8.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.4

File hashes

Hashes for python_aternos-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e8f413982901c483d261a7dd79c2114a84efa77b2251f49e54f0243216a9d6af
MD5 c53d41064ed87af96d3ade49cf756eab
BLAKE2b-256 ff356bcf890c6c532f2d4e93560786cd1cf1c0ab85d6ffdfab827657715738df

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page