Skip to content

Releases: k8thekat/AMPAPI_Python

Release v4.6.0

19 Jan 20:38
a2a37e2

Choose a tag to compare

Version - 4.5.3 - 7e4ebc5

Changelog.md

  • Version info from 4.5.2 added.

init.py

  • Version bump to 4.5.3

v4.5.3

  • Brief formatting update to logger statements throughout.
  • Added __name__ to all Loggers.
  • Overwrote the dunder method for ActionResultError.__str__().

Version - 4.5.2 - 76c4c13

Changelog.md

  • Version info from 4.5.1 added.

init.py

  • Version bump to 4.5.2

base.py

  • Changed format of debug logger statements.
  • Fixed logic handling for closed sessions and attempting to re-create a ClientSession().

instance.py

  • Removed unneeded debug print in it's init.

Version - 4.5.1 - 87e6630

Changelog.md

  • Version info from 4.5.0 added.

init.py

  • Version bump to 4.5.1

base.py

  • Pulled back connection closing via Base to be controlled by the AMPControllerInstance instead.

Version - 4.5.0 - 99b12f5

Changelog.md

  • Version info from 4.4.0 added.

init.py

  • Version bump to 4.5.0

base.py

  • Implemented a backoff class from discord.py-> ExponentialBackoff.
  • Improved logic handling for aiohttp.ClientSession requests upon failure or similar.
  • Added logic to attempt to reopen the ClientSession should it become closed.

Version - 4.4.0 - 886b0e4

Changelog.md

  • Version info from 4.3.0 added.

init.py

  • Version bump to 4.4.0

Overall

  • Added logic to support a single aiohttp.ClientSession at runtime while allowing an existing ClientSession to be supplied at the class AMPControllerInstance level.
  • Updated the sample.py to show existing session usage.

Version - 4.3.0 - d2e2634

Changelog.md

  • Version info from 4.2.0 added.

init.py

  • Version bump to 4.3.0

Overall

  • Fixed Type annotations on multiple modules which was breaking data building.

Version - 4.2.0 - 7afa8d7

Changelog.md

  • Version info from 4.1.2 added.

init.py

  • Version bump to 4.2.0

adsmodule.py

  • Docstring change.

base.py

  • Fixed parameter type for parse_data as it was refrencing the wrong data module.

core.py

  • Fixed function get_status, the data module it was returning was incorrect and failing. Changed from InstanceStatus to just Status.
    • Updated docstring to match.

instance.py

  • Fixed function get_application_status in tangent to Core.get_status as both were incorrect.
    • Updated docstring to match.
    • Added a warning in regards to using this function on an Controller/Target Instance.

Version - 4.1.2 - dc08462

Changelog.md

  • Version info from 4.1.1 added.

init.py

  • Version bump to 4.1.2

Overall

  • Added a _no_data check to _call_api function to return None early.

Version - 4.1.1 - c12da9f

Changelog.md

  • Version info from 4.1.0 added.

init.py

  • Version bump to 4.1.1

controller.py

  • Return type handling for get_instance via overloads added.

Version - 4.1.0 - a93505e

Changelog.md

  • Version info from 4.0.0 added.

init.py

  • Version bump to 4.1.0

Overall

  • Hotfix for import errors and docs.
  • Implemented ActionResultError class to handle any Exceptions inside of _call_api which all endpoints use.

controller.py

  • Created overloads for instance_conversion function and added logic to handle a single Instance class.
  • Created a function get_instance to get a single Instance via "Instance ID" and convert the Instance to it's respective class.

Version - 4.0.0 - 426bad9

Changelog.md

  • Version info from 2.0.0 added.

init.py

  • Version bump to 4.0.0

adsmodule.py

  • Partial refactor of parameter key values as AMP refactors the API parameters to match PascalCase..lol
  • attach_ads() has new parameters and was merged with attach_ads_with_pairing_code to simplfy code.
  • set_instance_network_info has new parameters, "must_stop" and "application_ip".
  • Added new functions!
    • cancel_pairing
    • create_instance_from_spec
    • get_target_pairing_code
    • register_target_with_code

core.py

  • Updated get_oidc_login_url with new parameters as the API was updated.
  • New function, oidc_login and update_public_key.

filebackup.py

  • Updated take_backup with new parameters, "local" and "s3".

minecraft.py

  • New function mc_reject_eula.

modules.py'

  • Added a new function to CreateInstance to convert the class into a useable datastructure for the API.

utils.py

  • Updated amp_api_update function to get the most current version of any Instance as long as it matches the ADS version.

Overall

  • Updated docs.
  • Relocated classes from dataclass.py file into modules.py.
  • Added attributes to docstring of AMPControllerInstance and any other classes that inherit from Instance dataclass.
  • Updated docs to reflect changes.
  • Updated sample.py to reflect changes.

Version - 2.0.0 - c765d8f

Changelog.md

  • Version info from 1.3.2 added.

init.py

  • Version bump to 2.0.0

base.py

  • Updated formatting of debug logger statements in _call_api().
  • Fixed logic error when handling api response not returning the data correctly.(This may break older versions of AMP)
  • Updated logic inside json_to_dataclass as it was returning None on certain edge cases when it should just return the data.

Version - 1.3.2 - ac4118a

Changelog.md

  • Version info from 1.3.1 added.

init.py

  • Version bump to 1.3.2

controller.py

  • Updated type definitions for get_instances() via overloads.

Readme.md

  • Formatting change to Contributing to the Project section.

Version - 1.3.1 - cad740f

Changelog.md

  • Version info from 1.3.0 added.

init.py

  • Version bump to 1.3.1

Overall

  • Updated Readme with better examples of importing the package.
  • Fixed Example URL being broken and now re-directs to github Sample.

Version 1.3.0-release

06 Apr 22:41
0b96307

Choose a tag to compare

Version - 1.3.0 - 24d971b

Changelog.md

  • Version info from 1.2.1 added.

init.py

  • Version bump to 1.3.0

base.py

  • Fixed logic error in _connect() method not handling 2FA codes properly.

Version 1.2.1-release

06 Apr 21:18
1e16285

Choose a tag to compare

Version - 1.2.1 - 1b814ff

Changelog.md

  • Version info from 1.2.0 added.

init.py

  • Version bump to 1.2.1

Overall

  • Updated docs/events and /docs/nodes rst files.
  • Fixed missing dynamic entry for dependencies.

core.py

  • Fixed typo in docstring for get_user_list().

dataclass.py

  • Changed formatting of __repr__ for the Instance class.

minecraft.py

  • Formatted imports and updated docstrings as this file was ommitted from the docs.

index.rst

  • Fixed link for Quick Example.

instances.rst

  • Changed wording to not be as confusing/redundant.

modules.rst

  • Added the missing Minecraft Module.

Version 1.1.2-release

16 Feb 02:44
da54d65

Choose a tag to compare

Version - 1.1.2 - 212fecc

Changelog.md

  • Version info from 1.1.1 added.

init.py

  • Version bump to 1.1.2

pyproject.toml

  • Removed unsed lint rule.

samples.py

  • Fixed example of using Players from a Minecraft server updated to reflect changes due to #16 .

Version - 1.1.1 - bac0a57

Changelog.md

  • Version info from 1.1.0 added.

init.py

  • Version bump to 1.1.1

Overall

  • Initialize "self.sorted"
  • Issue fixes and documentation update.

Version 1.1.0-release

31 Jan 07:53
6e47274

Choose a tag to compare

Version - 1.1.0 - 2c8094f

Changelog.md

  • Version info from 1.0.7 added.

init.py

  • Version bump to 1.1.0

nodes

  • Updated documentation for permission and setting nodes.
  • Removed merge messages.

pyproject.toml

  • Changed the readme property's file extension and content-type.
  • Removed comment.

build.yml

  • Removed comment.

core.py

  • Fixed issue mentioned in #13
    • All connected players are represented in a Players dataclass. You can access the list via the sorted attribute.
  • Fixed typo on LN1459.

dataclass.py

  • New Players Dataclass and a Player NamedTuple to house the data.
    • Players.get_player(name_or_uuid: str) now exists to allow for searching of players by name or uuid.

index.rst

  • Fixed incorrect information throughout.

types.rst

  • Added API Modules.

README.md

  • Fixed incorrect information throughout.

Version 1.0.7-release

29 Nov 05:27
7923502

Choose a tag to compare

Version - 1.0.7 - 8bb2fdc

Changelog.md

  • Version info from 1.0.6 added.

init.py

  • Version bump to 1.0.7

Overall

  • config changes for pyproject.toml to support dynamic versions.

v1.0.6

29 Nov 05:12
a8669d1

Choose a tag to compare

Version - 1.0.6 - 069d040

Changelog.md

  • Version info from 1.0.4 added.

init.py

  • Version bump to 1.0.6

conf.py

  • Changed conf.py path's to relative.

core.py

  • Removed un-used imports.
  • Removed events property as I did not want to support them as MC support is changing via the API.

modules.py

  • Updated docstring for TriggerID.
  • Update/fixed pyproject.toml definitions.
  • Fixed comparison logic on multiple files.
  • Removed un-used imports.

Version - 1.0.4 - 778c229

Changelog.md

  • Version info from 1.0.3 added.

init.py

  • Version bump to 1.0.4

Overall

  • Updating project metadata and configs for RTD and Pypi.

Version 1.0.3-release

27 Nov 23:45
846425e

Choose a tag to compare

Version - 1.0.3 - b06f874

Changelog.md

  • Version info from 1.0.2 added.

init.py

  • Version bump to 1.0.3

readme.md

  • Updated content regarding contributing and git commit formatting.

Version - 1.0.2 - 08eaab4

Changelog.md

  • Version info from 1.0.1 added.

init.py

  • Version bump to 1.0.2

Overall

  • Changed the Pypi project name from cubecoders_amp_api_wrapper to cc-ampapi. Thanks @fret
  • Added rdt.yaml.

Version - 1.0.1 - 448e6ee

Changelog.md

  • Version info from 1.0.0 added.

init.py

  • Version bump to 1.0.1

Overall

  • Version bump v1.0.1
  • Finished numpy docstring conversion throughout codebase.
    • implemented a different numpy-template for better Sphinx autodoc support and layout.
  • Began conversion of data returns from Dataclasses to something simpler like TypedDicts and class definitions.
  • Developed functions to generate .rst and API docs.
  • Changed parameters of multiple functions for similarity and ease of understanding.
  • updated docstring numpy format.
  • added .rst files for Trigger events.
  • added .rst files for Method events.
  • added types_.py to further define JSON response data.

Version - 1.0.0 - 922a08b

Changelog.md

  • Version info from 0.3.0 added.

init.py

  • Version bump to 1.0.0

Overall

  • Implementation of Sphinx documentation.
  • Added gitHub actions to handle changelog building.
  • Switched to pyproject.toml and ruff.
    • Changed docStrings to numpy.
  • Added LICENSES for MIT for borrowed libraries.
  • Restructured dataclass file layout and enums.
  • Auto-generator for Setting Nodes/Permission Node rst files.

Version - 0.3.0 - 68556f7

Changelog.md

  • Version info from 0.2.0 added.

init.py

  • Version bump to 0.3.0

Overall

  • Fixed script patths
  • Updated to 2.5.1.4 | Build: 20240731.1

init.py

  • Version bump 0.3.0.

ads.py

  • Updated docstring to better communicate the point/usage of the class ADSInstance().
  • Updated function docstring's to a better format.
  • Changed AvailableInstances() to a set.
  • Changed
  • Updated property AvailableInstances() docstring to give better information/understanding of what it returns.
    • Improved logic to include the ADSInstance() class to our AMPMinecraftInstance() and AMPInstance() inits.
  • Added AppState property.

adsmodule.py

  • Added ADSonly decorator to every function to validate the Module is correct before making the API call.
  • Updated function docstring's to a better format.
  • Changed logic handling for passed in dataclass's for multiple methods.
  • Added type hinting throughout.

analytics.py

  • Implementation of class AnalyticsPlugin().
    • Added a get_analytics_summary() function which supports a period_days, start_date and filters.

base.py

  • Updated function docstring's to a better format.
  • Added ADSonly() decorator to validate the Module is of ADS.
  • Added online() decorator to check if the Instance is Running.
  • Added a length check to the token parameter of the Bridge.
  • Added type hinting throughout.
  • Added debug prints to _call_api()
  • Added a _no_data parameter to _call_api() to support endpoints without data returns.

bridge.py

  • Updated function docstring's to a better format.

core.py

  • Updated function docstring's to a better format.
  • Made start_instance(), stop_instance(), restart_instance() and kill_instance() deprecated.
    • Replaced with start_application(), stop_application(), restart_application() and kill_application().
  • Added run_security_check() - UNK data return, waiting on info.
  • Made update_amp_instance(), restart_amp() and upgrade_amp() ADS only methods as that is their intention.

emailsender.py

  • Updated function docstring's to a better format.

filebackup.py

  • Updated function docstring's to a better format.
  • Added type hinting throughout.

filemanager.py

  • Updated function docstring's to a better format.
  • Added type hinting throughout.

instance.py

  • Added a debug print to the __init__().
  • Fixed attribute access issues and added docstring's to commonly used properties for better clarification.
  • Added start(), stop(), restart() and update() functions to control the Instance from inside the Instance.
  • Added online() decorators to validate an instance is Running.
  • Updated function docstring's to a better format.
  • Added type hinting throughout.

minecraft.py

  • Added a MConly() decorator to check the instance Module is Minecraft.
  • Updated function docstring's to a better format.
  • Added type hinting throughout.

types.py

  • Updated function docstring's to a better format.
  • Added type hinting throughout.

util.py

  • Updated function docstring's to a better format.
  • Added type hinting throughout.

docs/

  • Updated ADS API Spec
  • Updated Minecraft API Spec
  • Version info from 0.2.0 added.

Version 0.2.0-release

05 Jul 01:46
f41b658

Choose a tag to compare

Version - 0.2.0 - 4b70f0d

Changelog.md

  • Version info from 0.1.11 added.

init.py

  • Version bump to 0.2.0

Readme.md

  • Updated naming of methods in Quick Example.
    • Added a Sample_Analytics_API() method.
  • Added a section called Basic Usage to help people understand how to setup the Bridge and API Params.

init.py

  • Version bump 0.2.0 release.

ads.py

  • Removed LocalFileBackupPlugin from ADSInstance class inheritance as the ADS no longer has backup functionality.
  • Removed un-used imports.

analytics.py

  • New API class to support AMP 2.5.1.0 Update which introduces Analytics!
  • Added get_analytics_summary() method to retrieve the Instance Analytics Summary.

core.py

  • Added get_authentication_requirements() method to retrieve a users Auth requirements.

emailsender.py

  • Added test_SMTP_settings() method to validate SMTP settings for an Instance.

filebackup.py

  • Added refresh_backup_list() method to refresh the list of backups an Instance has.

instance.py

  • Added AnalyticsPlugin() API class to AMPInstance class inheritance for the new Analytics feature from 2.5.1.0.

base.py

  • Fixed typo in parse_data() docstring.

types.py

  • Added dataclasses for Analytics.
    • Added Analytics_Filter() to assist with filtering Analytics API call.
    • Added Analytics_Summary() to handle the data from get_analytics_summary() method call.
    • Added Analytics_Country_data(), Analytics_Stats() and Analytics_Top_Players() to assist attributes of Analytics_Summary().

util.py

  • Added an AMP_to_API_update() method to wrap over parse_get_api_spec(). No current usage at this time
  • Changed parse_get_api_spec() to a staticmethod.
  • Fixed typo in version syntax.

Version .42-beta release

08 May 21:57
f41b658

Choose a tag to compare

Version - 0.0.42b - 2bf7996

Changelog.md

  • Version info from 0.0.41b

init.py

  • Version bump 0.0.42b

README.md

  • Added missing await in Quick Example - Sample_API().

ads.py

  • Changed some prints to _logger.debug().
  • Type-hinted ads_list inside get_instances() method.
  • Added logic check to get_instances() when not formatting data to prevent error.

base.py

  • Removed type:ignore from __init__().
  • Added return value to format_data setter.
  • Added _logger.debug() for monitoring data formatting.
  • Fixed logic when formatting data causing return failure using the ADSInstance class.
  • Improved readability of format logic of _call_api().

bridge.py

  • Added logging.
  • Changed apiparams to api_params.
  • Added type-hinting to __new__().
  • Added _logger.debug() to __init__().

minecraft.py

  • Removed unused imports.

types.py

  • added repr = False to the Controller() dataclass.