Skip to main content

Universal Command Line Interface for Genymotion Cloud SaaS

Project description

gmsaas

Description

gmsaas is a command line interface to rule all your virtual devices hosted in Genymotion SaaS solution without opening an Internet browser. With it you can list, start and stop devices. Above all, you can securely connect to any devices through Android Debug Bridge.

It is a lightweight binary, easy to install, easy to update.

Requirements

  • Python 3.10 or above
  • pip3
  • Android SDK

Installation

pip3 install [--user] gmsaas

Get started

Two steps are required to use gmsaas properly:

  • Configure the path to your Android SDK with:

    gmsaas config set android-sdk-path <sdk_path>
    
  • Authenticate with:

    gmsaas auth token <token>
    

Full documentation can be found here

Change Log

All notable changes of gmsaas are documented in this file.

1.16.0

Added

  • gmsaas admin usage command to get usage report for the current organization
  • --cpu-count and --ram-size options to gmsaas hwprofiles create command
  • form_factors fields in gmsaas osimages list|get|clone commands
  • gmsaas --completion to get help on Tab-Completion setup

Changed

  • Drop Python 3.8 and 3.9 support
  • Better handling of HTTP 403 errors
  • gmsaas instances adbconnect does not need UUID argument as long as one and only one instance is ONLINE.
  • gmsaas instances adbdisconnect does not need UUID argument

Fixed

  • Fix inverted --delete-osimage and --delete-hwprofile in gmsaas recipes delete command
  • Enforce ADB connection
  • Fixed ADB Tunnel daemon failing to start in certain environments where $TMPDIR is ephemeral (e.g. Nix shell sessions)
  • Fix grammar in API error messages

1.15.0

Added

  • Linux arm64 wheel available for distributions with glibc 2.39 (Ubuntu 24+, Fedora 40+, Debian 13+)

Changed

  • macOS: native arm64 ADB Tunnel (Rosetta 2 no longer needed)
  • Linux x86 wheel upgraded and available for distributions with glibc 2.31 (Ubuntu 20+, Fedora 32+, Debian 11+)
  • Windows x86 wheel upgraded
  • OpenSSL 3 used for ADB Tunnel instead of OpenSSL 1.1.1

1.14.1

Fixed

  • Resolved an issue where adbconnect command failed on Windows due to a missing OpenSSL dependency.

1.14.0

Changed

  • Drop support of Linux distributions using glibc version earlier than 2.31.

Fixed

  • Fixed ADB Tunnel stability within a congested network environment.

1.13.0

Added

  • Added gmsaas adb start|stop commands.

Changed

  • Included architecture information in the gmsaas portal.
  • Updated exit_code_desc for exit code 12 from ADBTUNNEL_GENERIC_ERROR to ADBTUNNEL_TIMEOUT_ERROR.
  • Updated exit_code_desc for exit code 9 from APPLE_M1_CHIP_ERROR to APPLE_SILICON_CHIP_ERROR.
  • Refined error wording for exit code 7 (PACKAGE_ERROR).
  • Refined error wording for exit code 12 (ADBTUNNEL_TIMEOUT_ERROR).

Fixed

  • Enhanced ADB Tunnel reliability.

1.12.0

Added

  • Native Android support (ARM-based images).
  • Display Android image beta information in the recipes get|list and osimages get|list commands.

1.11.0

Added

  • Added gmsaas doctor command to quickly check if gmsaas is configured properly.

Fixed

  • Python 3.12 support.

1.10.0

Added

  • Added gmsaas auth token <token> command (use API Token for authentication).
  • Added gmsaas auth reset command (clear API Token from cache).
  • Read GENYMOTION_API_TOKEN environment variable for authentication.

Changed

  • Marked gmsaas auth login <email> command as deprecated.
  • Marked gmsaas auth logout command as deprecated.
  • Marked gmsaas auth whoami command as deprecated.

Fixed

  • Improved real-time instance state update reliability.

1.9.0

Added

  • Added gmsaas instances display command.

1.8.0

Added

  • Added --max-run-duration option for command gmsaas instances start.
  • Added gmsaas hwprofiles get|list|create|delete commands.
  • Added gmsaas osimages get|list|clone|delete commands.
  • Added gmsaas recipes get|create|delete commands.
  • Added gmsaas instances save|saveas commands.

Changed

  • Require at least Python 3.8.
  • Marked as deprecated --stop-when-inactive option, replaced by --max-run-duration.
  • Added --out option to gmsaas logzip command.
  • Added --source option to gmsaas recipes list command.
  • Improved help wording which is now accessible with -h in addition of --help.
  • Added more details in JSON output format regarding Recipes and Instances.

1.7.1

Fixed

  • Fix gmsaas when system temp directory is mounted on a separate partition.

1.7.0

Added

  • Added Apple Silicon support (requires pip3 >= 20.9)
  • Instances returned by gmsaas --format json instances * commands include created_at info
  • Improved Android Sdk path verification with gmsaas config set android-sdk-path <path> command

Changed

  • Deprecate Python 3.5

Fixed

  • Fix corrupted configuration file with simultaneous multiple gmsaas processes

1.6.1

Fixed

  • Fix dependencies to continue supporting Python 3.5

1.6.0

Added

  • gmsaas instances get <uuid> command to get information about one specific instance

Fixed

  • Enforce start and stop commands in case of server connection failure

1.5.2

Added

  • gmsaas --format json instances * command outputs full recipe(s) info

Fixed

  • Improve ADB Tunnel stability over time

1.5.1

Added

  • Instances printed by gmsaas --format json instances * commands include recipe UUID info

Fixed

  • Optimize gmsaas instances adbconnect command and reduce the number of timeout errors

1.5.0

Added

  • JSON format output for all gmsaas commands. Get it with --format global option or by defining it in configuration gmsaas config set output-format json

Fixed

  • Improve Socket.IO stability

1.4.0

Added

  • SOCKS5 proxy support with gmsaas config set proxy command

Changed

  • Use simple quotes instead of back quotes in all outputs

Fixed

  • Fix recipes sorting regarding Android 10

1.3.2

Fixed

  • Fix gmsaas behavior when configuration and system proxy are both set: system proxy no longer interferes

1.3.1

Fixed

  • Fix assertion when gmsaas is upgraded while an older ADB Tunnel is running
  • Improve Socket.IO connection stability

1.3.0

Added

  • HTTP/HTTPS proxy support with gmsaas config set proxy command
  • --verbose/-v global option to print logs to standard output

Changed

  • Improve wording of error messages
  • Improve password cyphering

Fixed

  • Make ADB Tunnel more resilient: continue running when terminal is closed

1.2.0

Added

  • --quiet/-q option to gmsaas instances list command to print instance UUIDs only

1.1.0

Added

  • gmsaas logzip command to fetch all logs in one ZIP archive

Changed

  • Improve gmsaas auth login output in case of failure

1.0.0 (initial release)

Added

  • List device recipes available
  • List running devices
  • Start a device based on one recipe
  • Stop a running device
  • Connect a running device to ADB
  • Disconnect a running device from ADB

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

gmsaas-1.16.0-py3-none-win_amd64.whl (32.1 MB view details)

Uploaded Python 3Windows x86-64

gmsaas-1.16.0-py3-none-manylinux_2_39_aarch64.whl (21.6 MB view details)

Uploaded Python 3manylinux: glibc 2.39+ ARM64

gmsaas-1.16.0-py3-none-manylinux_2_31_x86_64.whl (22.6 MB view details)

Uploaded Python 3manylinux: glibc 2.31+ x86-64

gmsaas-1.16.0-py3-none-macosx_11_0_universal2.whl (67.3 MB view details)

Uploaded Python 3macOS 11.0+ universal2 (ARM64, x86-64)

File details

Details for the file gmsaas-1.16.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: gmsaas-1.16.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 32.1 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for gmsaas-1.16.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 0227fda7e37f408c933445f23fe6ee024ff8c8be19ebe2acb56f607b3f541b8a
MD5 526ad20d3378a580287ca978b3f16b44
BLAKE2b-256 55b06a1c4253d06099e45cf21a9409bd6134c0dcbfa89d1ffde4a680fdf84b8a

See more details on using hashes here.

File details

Details for the file gmsaas-1.16.0-py3-none-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for gmsaas-1.16.0-py3-none-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 c04cee5b66c68cad304ee6c8beea7db72ab3565807664558201e3f02a4ef308b
MD5 754cb46ed8aa58cd6ca85fe9e4929910
BLAKE2b-256 50ab2864ed2fb98c4a373d7a80e0e32eccea7ec6765163a096549b6e50bfe605

See more details on using hashes here.

File details

Details for the file gmsaas-1.16.0-py3-none-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for gmsaas-1.16.0-py3-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 bd240e6455f9e60415f19f6a10502ce43877df3a1bbc0ac3f7f91ffe554decb3
MD5 4e630daa3bda8f62014111ea8b54418f
BLAKE2b-256 9c6d969aa5a4754373014e4f48a791e40bbfefefbe65631b500bef190e4e6f13

See more details on using hashes here.

File details

Details for the file gmsaas-1.16.0-py3-none-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for gmsaas-1.16.0-py3-none-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 173d8399ba9c236b6f2c107b1d0f2c3410c1270756fd8eb95f7b917abc59d0ea
MD5 d371ebb1cffdd9fb0db8701eb39dda12
BLAKE2b-256 99246e997b130bcd3785e5230303cd0a756eee4e9ead087acf8ea45b5054a4ab

See more details on using hashes here.

Supported by

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