Package: airavata-mft-cli
Airavata Managed File Transfers (MFT)Apache Airavata MFT is a high-performance, multi-protocol data transfer engine to orchestrate data movement and operations across most cloud and On-premises storages. MFT aims to abstract the complexity of heterogenous storages by providing a unified and simple interface for users to seamlessly access and move data across any storage endpoint. To accomplish this goal, MFT provides simple but highly-performing tools to access most cloud and on-premise storages as seamlessly as they access local files in their workstations.Apache Airavata MFT bundles easily deployable agents that auto determine optimum network path with additional multi-channel, parallel data paths to optimize the transfer performance to gain the maximum throughput between storage endpoints. MFT utilizes parallel Agents to transfer data between endpoints to gain the advantage of multiple network links.Try Airavata MFTMFT requires Java 11+ and python3.10+  to install Airavata MFT in your environment. MFT currently supports Linux and MacOS operating systems. Contributions to support Windows are welcome!!.Download and InstallFollowing commands will download Airavata MFT into your machine and start the MFT service.pip3 install airavata-mft-cli
mft initIf the installer failed for M1 and M2 Macs complaining about grpcio installation. Follow the solution mentioned inhere. You might have to uninstall already installed grpcio and grpcio-tools distributions first.
For other common installation issues, please refer to thetroubleshooting section.To stop MFT after usingmft stopRegistering StoragesFirst you need to register your storage endpoints into MFT in order to access them. Registering storage is an interactive process and you can easily register those without prior knowledgemft storage addThis will ask the type of storage you need and credentials to access those storages. To list already added storages, you can runmft storage listAccessing Data in StoragesIn Airavata MFT, we provide a unified interface to access the data in any storage. Users can access data in storages just as they access data in their computers. MFT converts user queries into storage specific data representations (POSIX, Block, Objects, ..) internallymft ls <storage name>
mft ls <storage name>/<resource path>Moving Data between StoragesCopying data between storages are simple as copying data between directories of local machine for users. MFT takes care of network path optimizations, parallel data path selections and selections or creations of suitable transfer agents.mft cp <source storage name>/<path> <destination storage name>/<path>MFT is capable of auto detecting directory copying and file copying based on the path given.Troubleshooting and Issue ReportingThis is our very first attempt release Airavata MFT for community usage and there might be lots of corner cases that we have not noticed. All the logs of MFT service are available in~/.mft/Standalone-Service-0.01/logs/airavata.log. If you see any error while using MFT, please report that in our Github issue page and we will respond as soon as possible. We really appreciate your contribution as it will greatly help to improve the stability of the product.Common issuesFollowing error can be noticed if you have a python version which is less than 3.10ERROR: Could not find a version that satisfies the requirement airavata-mft-cli (from versions: none)
  ERROR: No matching distribution found for airavata-mft-cliIf the Error still occurs after installing the right python version, try creating a virtual environemntpython3.10 -m venv venv
source venv/bin/activate
pip install airavata-mft-cli