Mlflow: [FR] REST API Swagger File

Created on 17 Jun 2020  路  4Comments  路  Source: mlflow/mlflow

Thank you for submitting a feature request. Before proceeding, please review MLflow's Issue Policy for feature requests and the MLflow Contributing Guide.

Please fill in this feature request template to ensure a timely and thorough response.

Willingness to contribute

The MLflow Community encourages new feature contributions. Would you or another member of your organization be willing to contribute an implementation of this feature (either as an MLflow Plugin or an enhancement to the MLflow code base)?

  • [ ] Yes. I can contribute this feature independently.
  • [x] Yes. I would be willing to contribute this feature with guidance from the MLflow community.
  • [ ] No. I cannot contribute this feature at this time.

Proposal Summary

Provide a Swagger file so that users can generate clients with toolks like Swagger Codegen

Motivation

  • What is the use case for this feature?

Easier for users on non-supported languages/platforms to create clients to interface with MLFlow

  • Why is this use case valuable to support for MLflow users in general?
  • Why is this use case valuable to support for your project(s) or organization?
  • Why is it currently difficult to achieve this use case? (please be as specific as possible about why related MLflow features and components are insufficient)

Can't find the Swagger file in docs or inside the project

What component(s), interfaces, languages, and integrations does this feature affect?

Components

  • [ ] area/artifacts: Artifact stores and artifact logging
  • [ ] area/build: Build and test infrastructure for MLflow
  • [x] area/docs: MLflow documentation pages
  • [ ] area/examples: Example code
  • [x] area/model-registry: Model Registry service, APIs, and the fluent client calls for
    Model Registry
  • [ ] area/models: MLmodel format, model serialization/deserialization, flavors
  • [ ] area/projects: MLproject format, project running backends
  • [ ] area/scoring: Local serving, model deployment tools, spark UDFs
  • [x] area/tracking: Tracking Service, tracking client APIs, autologging

Interfaces

  • [ ] area/uiux: Front-end, user experience, JavaScript, plotting
  • [ ] area/docker: Docker use across MLflow's components, such as MLflow Projects and MLflow Models
  • [ ] area/sqlalchemy: Use of SQLAlchemy in the Tracking Service or Model Registry
  • [ ] area/windows: Windows support

Languages

  • [ ] language/r: R APIs and clients
  • [ ] language/java: Java APIs and clients

Integrations

  • [ ] integrations/azure: Azure and Azure ML integrations
  • [ ] integrations/sagemaker: SageMaker integrations

Details

(Use this section to include any additional information about the feature. If you have a proposal for how to implement this feature, please include it here. For implementation guidelines, please refer to the Contributing Guide.)

aredocs aremodel-registry aretracking enhancement help wanted prioritimportant-longterm

All 4 comments

@pogil how do we want to prioritize this? backlog or community help?

@lqdev and others, thanks for raising this - we'd be happy to review a proposal of how Swagger API docs might be added & what it'd entail for the development workflow (for example, can we autogenerate Swagger API docs from our existing protobuf REST API definitions?)

A cursory google search suggests it's possible to go from Swagger to protobuf (https://github.com/nytimes/openapi2proto), but it'd be nice if we could continue to define REST APIs in protobuf and generate the Swagger docs from our protobuf definitions.

Excellent! Thanks, @pogil @smurching @lqdev Hopefully, we can get community help on this one.

This looks promising.

https://github.com/googleapis/gnostic

I'll investigate a bit.

Was this page helpful?
0 / 5 - 0 ratings