Giter Club home page Giter Club logo

mstc-cloud-tools's People

Contributors

dreedyman avatar marcodlk avatar

Watchers

 avatar  avatar  avatar

mstc-cloud-tools's Issues

Unnecessary project bloat

The original intent of this project was to break out the client capability from the mstc-astros project for the following reasons:

  1. Make the client easily available,
  2. Not have to tightly couple projects (from a dependency management point of view)
  3. Reduce the inclusion of unwanted transitive dependencies that a project requires

The inclusion of the Provider class brings along unnecessary dependencies:

  • flask
  • flask-api
  • itsdangerous
  • werkzeug

The project should remove the Provider class and service-side work and focus on the client capabilities.

Client and data_url

The specification of creating a Client includes an optional data_service argument. If the Client is created with this set to None (as is the default), an exception is thrown in normalize_partial_url. A check should be made in normalize_partial_url to see if the provided url argument is None.

We should als adopt some reasonable defaults. Our convention is that the DATA_NODE_PORT will always be accessible via a NodePort with a value of 31002, and the REST_NODE_PORT be accessible via a NodePort with a value of 31001. Having a user understand the details of Kubernetes deployment configuration is unreasonable IMO.

The modified Client should use the same approach that the original uses, and not enforce that the user know both the DATA_NODE_PORT and the REST_NODE_PORT. As the original does, check to see if there are data_url and server values provided. If they are use them, otherwise use the conventions that we have created.

To that end the Client could be smart enough to figure out that it is inside the cluster. If not inside the cluster, we always use http://localhost with the appropriate port.

ClientProxy should be capable of downloading multiple files

The ClientProxy currently only handles accessing one file in its response_to_outputs method. This is understood since this was copied from AstrosClient, that only processes one output file. Since this is meant to be generic, other services may return a list of files (as documented in the openapi.yaml spec).

ClientProxy should be modified accordingly.

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.