Tool to sync OrcaFlex simulations to the cloud and local drives
Project description
OFX Cloud Sync
Tool which allows syncing of OrcaFlex simulation files to the cloud and back to local drives.
Requirements
To use this you will need:
- Python 3.6+ installed on all servers and local machines
- Cloud Key ID, Secret and Bucket (these can either be from your own AWS account or you can request some from us)
Installing
Using pip
pip install orcaflex-cloudsync
User guide
Introduction
This tool tries to solve the problem of running OrcaFlex simulations on remote servers but then wanting to have the simulation files on a local machine for viewing/processing. There are a few reasons you might want this:
- remote desktop wars with other users
- corporate VPN making everything terrible
- cloud servers within a private network with no remote access
Our solution to this comes in the form of a command line tool called ofxcs
combined with a post calculation action script in OrcaFlex.
Configuring
If you have successfully installed the tool with pip then you should be able to type:
ofxcs
and see something like:
Usage: ofxcs [OPTIONS] COMMAND1 [ARGS]... [COMMAND2 [ARGS]...]...
Command line interface to orcaflex-cloudsync.
Options:
--version Show the version and exit.
--help Show this message and exit.
Commands:
add add a folder to sync
configure configures orcaflex-cloudsync
keygen generates a keyfile used to encrypt simulation data
remove stop syncing a folder
show shows the current config
sync sync files from cloud to local drive
Configuring
YOU WILL NEED TO INSTALL AND CONFIGURE ON EVERY MACHINE THAT YOU WANT TO RUN SIMULATIONS OR SYNC SIMULATIONS LOCALLY
The ofxcs
tool will guide you through configuration:
ofxcs configure
Will ask a series of questions:
- It will ask you to enter your cloud key details, bucket and the region that your bucket is based in
- It will ask you where you want to copy the post calculation action script. You will need to point to this from all your models
- It will ask where you want to save local simulations when they are synced back to your local drive
- It will ask you if you have a key file. See section below for more details.
Encryption
Access to your bucket is restricted only to people who have access to the cloud key and secret and the administrator of the cloud account. Encryption allows you to ensure that your stored simulation files can only ever be read by people in your company.
This is done with a key file
, you can generate these with:
ofxcs keygen
This will save a key file and optionally it will update the local config to point to the key file.
IMPORTANT: You should only do this once for your company and then share the key file internally and have each user configure their system with this key file. If you lose the key file there will be no way to decrypt the simulation files stored in the cloud.
Now you have configured ofxcs
you can start to sync simulations to the cloud.
Post-calculation actions
In every model you want to sync you must specify a Post calculation action. Action type needs to be In-process Python
and version must be Python 3
.
The Script File Name is wherever you saved the file during the ofxcs configure
process above.
NOTE: The default location for
pca_ofx2cloud.py
is based on your local user profile and may be different on remote computers. It might be easier to move the file to somewhere like C:\pca_ofx2cloud.py so it will be consistent on all machines.
You also need to add a tag on General of FOLDER
in every model. This is how your simulations will be organised in the cloud. The folder name can contain only alphanumeric and the following special characters:
! - _ . * ' ( )
With ofxcs
configured and post calculations specified, simulations run in batch processing or distributed OrcaFlex will be automatically uploaded to the cloud.
Local sync
Now you want to sync them to you local machine. You start by adding the folders that you specified in the models:
ofxcs add --folder my_ofx_project
There is no need to add the folders every time you start the sync, it will remember which folders you want.
You can then run the sync command:
ofxcs sync
The syncing operation will continue until you stop it by killing the process or pressing CRTL+C
.
If you want to see what folders are currently set to sync:
ofxcs show
{'bucket': 'xxx000',
'root_folder': 'C:\\Users\\username\\AppData\\Local\\agiletek\\ofx-cloudsync\\ofxsync',
'sync': ['my_ofx_project']}
To remove a folder (stop syncing it)
ofx remove --folder my_ofx_project
will stop syncing but not delete the local files, whereas:
ofxcs remove --delete --folder my_ofx_project
deletes the folder locally.
Roadmap
Next steps for development:
- Proper logging
- Simple GUI
Help/support
If you have any questions or need any help with this package then contact ofxcs@agiledat.co.uk
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file orcaflex-cloudsync-0.2.2.tar.gz
.
File metadata
- Download URL: orcaflex-cloudsync-0.2.2.tar.gz
- Upload date:
- Size: 8.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.5 CPython/3.6.5 Linux/4.19.95-flatcar
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | efcc89f98de6ea6666997f941c035d3ac5c6a7f29007581b41f139175914b9b1 |
|
MD5 | 830b7419cf7afa4e907c987aadb8a506 |
|
BLAKE2b-256 | 1c654734e82cbc290a0466f886e29e339fb0f166f28e05c3da3b5c05ecc1b9a5 |
File details
Details for the file orcaflex_cloudsync-0.2.2-py3-none-any.whl
.
File metadata
- Download URL: orcaflex_cloudsync-0.2.2-py3-none-any.whl
- Upload date:
- Size: 9.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.5 CPython/3.6.5 Linux/4.19.95-flatcar
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d07959859f37c5a3b136c02096589212d02b60be01200d5efba37918db0427a |
|
MD5 | 714dab485e289ec7f6e20d4bf660c3bc |
|
BLAKE2b-256 | ac1f84bcf58a808a2fc149346bb702b2044aa357eefe05bf772ccae5e422abd2 |