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.8 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.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.15.0-py3-none-win_amd64.whl (32.1 MB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3manylinux: glibc 2.39+ ARM64

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

Uploaded Python 3manylinux: glibc 2.31+ x86-64

gmsaas-1.15.0-py3-none-macosx_11_0_universal2.whl (67.2 MB view details)

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

File details

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

File metadata

  • Download URL: gmsaas-1.15.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/3.8.0 pkginfo/1.10.0 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/1.0.0 urllib3/1.26.20 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.9

File hashes

Hashes for gmsaas-1.15.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 bfca224abfdbf25fbcfcf61d9a5e12591692e3da50441002710d8a9f09271a6c
MD5 2951e6164bf3fbb276c91656f17ee80c
BLAKE2b-256 5770b7c8ede9494e9297f5a2dfbb0c950de8dd9ac05b938c538b0d4c76b0a1a6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gmsaas-1.15.0-py3-none-manylinux_2_39_aarch64.whl
  • Upload date:
  • Size: 21.6 MB
  • Tags: Python 3, manylinux: glibc 2.39+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.10.0 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/1.0.0 urllib3/1.26.20 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.9

File hashes

Hashes for gmsaas-1.15.0-py3-none-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 0a5a695e28c84320cbbd424bc255b6ddd1127f1c6907d6d24c5ed25026f90259
MD5 e1377805ab1414e582b4e9fded6af457
BLAKE2b-256 49029e832616c7cf9c674536da8a2794001aff48a159cf2a539fcda641da96a3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gmsaas-1.15.0-py3-none-manylinux_2_31_x86_64.whl
  • Upload date:
  • Size: 22.6 MB
  • Tags: Python 3, manylinux: glibc 2.31+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.10.0 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/1.0.0 urllib3/1.26.20 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.9

File hashes

Hashes for gmsaas-1.15.0-py3-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 35e1f1dd7431799f749bc76442dfc1b9166320ea2b2da29eb8708c76b8f034e5
MD5 2d7bf1d975416f9e1cf728e6015f1f30
BLAKE2b-256 995da20322e744f053ed43adeb670b61dd02fcffffb86db4c5ddc08bb1d3e49d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gmsaas-1.15.0-py3-none-macosx_11_0_universal2.whl
  • Upload date:
  • Size: 67.2 MB
  • Tags: Python 3, macOS 11.0+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.10.0 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/1.0.0 urllib3/1.26.20 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.9

File hashes

Hashes for gmsaas-1.15.0-py3-none-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 540c3b2d3f52d374b426cfc6c4c348612fa5796c5bec636e00a28b697be9402e
MD5 e8ad7d2b95e3fd089b3280d6b8e603f1
BLAKE2b-256 188660f25a39858477297c76922556637b3513854246a09ef26820c0cb85eb5c

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