Giter Club home page Giter Club logo

epic-cli's People

Contributors

jappa avatar jsharpe avatar lewiky avatar mike-jt79 avatar pyup-bot avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

epic-cli's Issues

Remove clusters

For now we should not expose the clusters interface via the cli. Focus is on jobs and data.

Improve error handling

Move away from just printing response text on error, give more generic and user friendly error code

Download single files

When downloading a single file you get at 403 from AWS:

(venv) Mikes-MacBook-Pro:epic-cli mike$ python epiccli.py data download /data/file.py ./data/


| | _ _ / | | | _ _ | / _ __ ___ | | ___ | |
| | | |) | | | | '
| | | | / // _ \ '_ \ / _ | / _ / | '
| |
| /| | |_ | |) | || | / /| / | | | (_) | || / (| | | |
|
|| |_| |./ _, | /____|| ||_/ ___|_|| ||
|
__/

Loading config from /Users/mike/.epic/config
Downloading /data/file.py to ./data/
Download failed, An error occurred (403) when calling the HeadObject operation: Forbidden

Looks like the key prefix isn't being assembled correctly.

complete pyepic core

A number of the methods in pyepic core are just placeholders and need completing.

EPIC Paths vs local paths

Should the API use an epic specific url to signify a remote location? Something like:

epiccli cp epic://folder/file ./local_file
epiccli ls epic://folder/

We could then drop the download/upload options and do it both with cp. I suggest this because I was using cp expecting it to copy to a local folder but was actually making copies in the S3 bucket...

Paths on windows

Current data functions do not handle paths on windows and so the folder name is included in the s3 object name.

Relative paths

When using relative paths to upload data base keys on the location specified rather than the location relative to the cli execution.
For example running:
python epiccli.py data upload --dryrun ~/Downloads/Zenotech/example/ /example/

Produces the following keys in S3:

Uploading directory /Users/mike/Downloads/Zenotech/example/ to /example/
Uploading /PIV_E/../../Downloads/Zenotech/example/.DS_Store (dryrun)

API documentation

We need to have some public facing documentation for the API that also describes the json inputs required for submitting jobs etc. Ideally this would be autogenerated but might require manual work.
Examples of API usage are also very useful.

Job submission options

The job submission interface is fairly minimal at the moment, for a real case we would also need to pass the application_options. The contents of this depend a lot on which application is being submitted and so a json input of the application options probably makes most sense.
In addition to the application options we should expose the other options available on job submission - basically anything in "BaseBatchJobCreateMixin".

Data upload / download fails

If AWS credentials haven't been setup in cli then upload / download fails with s3 error:

Upload failed, Failed to upload /Users/jamessharpe/myfile.txt to epic-data-ireland//: An error occurred (AccessDenied) when calling the CreateMultipartUpload operation: Access Denied

Move files

Add functions to allow moving of files and dirs (S3 to S3 copy without downloading).

Data copy

As well as move would be good to gave a copy function to create a copy of a directory in the epic store. Same as move but leave original in place.

Switch team on command line

Would be good to be able to switch team on the cli, something like:
python epiccli.py accounts set_team <team_id/team name>

If team_id or team_name not specified then present the list of teams.
Once switched updated team should be stored in the config file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.