Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simpler procedure for installation of ascli on Windows #126

Open
laurent-martin opened this issue Oct 20, 2023 · 3 comments
Open

Simpler procedure for installation of ascli on Windows #126

laurent-martin opened this issue Oct 20, 2023 · 3 comments
Assignees
Labels
customer request Request from end users enhancement New feature or request question Further information is requested

Comments

@laurent-martin
Copy link
Member

Some users have reported that the installation procedure for ascli on Windows is much more complex than the older CLI: aspera version 3.9

aspera was a single executable.

@laurent-martin laurent-martin added enhancement New feature or request question Further information is requested customer request Request from end users labels Oct 20, 2023
@laurent-martin laurent-martin self-assigned this Oct 20, 2023
@laurent-martin
Copy link
Member Author

The aspera cli v3.9 is end of support since already some time, and is replaced with open source ascli.

aspera was a C++ app, with the advantage of being a single executable (well, using ascp and its dll as well)

ascli is an open source ruby tool.

The installation of ascli is relatively flexible, and there are multiple methods.

The typical, basic, installation on Windows is a documented 3 step procedure:

  • install ruby: this can be done in an automated way and is a single executable
  • install the aspera-cli gem
  • install sdk (ascp)

In any case, be aware that it's possible to prepare a single archive (zip) with all needed files, and then create a .bat file that automatically installs the components, I have documented here:

You can find an example here:
https://eudemo.asperademo.com/download/aspera-cli-installer.zip

Extract the zip, and then execute install.bat : that will install ascli in the user's home under aspera-cli

@laurent-martin
Copy link
Member Author

@laurent-martin
Copy link
Member Author

laurent-martin commented Oct 23, 2023

It turns out that the need on windows is the following:

an in-house developped python script is used to send files using Faspex.

Initially, it was used the aspera CLI, which is basically 2 binary executables:

  • aspera.exe : the CLI
  • ascp.exe : The Aspera transfer protocol

Using ascli comes with many advantages for interactive use, or using in simple shell scripts, but it also comes with its complexity: installation of Ruby, and possibly Ruby vulnerabilities to monitor.

So, a good alternative, described here:

https://github.com/IBM/aspera-cli#when-to-use-and-when-not-to-use

in such case: in python, for a single task, is to use the API directly, basically 2 APIs:

  • Faspex API, described in the IBM API Hub
  • Transfer SDK API

The Faspex API is simply a REST API, which can be called using any HTTP library.

The Transfer SDK API is a gRPC API, with stubs available in many languages.

Transfer SDK consists in 2 executables:

  • asperatransferd.exe : it provides the gRPC API, and manages ascp : creating command line options, restarting in case of error.
  • ascp.exe : the aspera transfer protocol

One can find code examples here:

https://github.com/laurent-martin/aspera-api-examples/tree/main/python

For this precise case, take the code from:

1- faspex.py : this is the main code
2- test_environment.py : this is helper functions to start the daemon

@laurent-martin laurent-martin changed the title Installation of ascli on Windows is too complex Simpler procedure for installation of ascli on Windows Nov 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
customer request Request from end users enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

1 participant