GithubHelp home page GithubHelp logo

ckiosidis / flyteidl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from flyteorg/flyteidl

0.0 0.0 0.0 25.31 MB

Flyte at its core has a declarative, type-safe language for declaring data dependencies between arbitrary computation units. This repository contains the core specification of this language in the form of protocol-buffers.

Home Page: https://flyte.org

License: Apache License 2.0

Makefile 0.08% Shell 0.42% Go 12.20% Python 40.82% HTML 0.02% JavaScript 46.47%

flyteidl's Introduction

Flyte IDL

This is one of the core repositories of Flyte and contains the Specification of the Flyte Lanugage using protobuf messages, the Backend API specification in gRPC and Swagger REST. The repo contains generated clients and protocol message structures in multiple languages. Along-with the generated code, the repository also contains the Golang clients for Flyte's backend API's (the services grouped under Flyteadmin).

Contributing to FlyteIDL

Tooling for FlyteIDL

  1. Run make download_tooling to install generator dependencies
   make download_tooling
  1. Make sure docker is installed locally.
  2. Once installed, run make generate to generate all the code and mock client for FlyteAdmin Service aswell as the docs for it.
    make generate
  1. To add new dependencies for documentation generation, modify doc-requirements.in and then
   make doc-requirements.txt

Docs structure

The index.rst files for protos are kept in parallel folder structure under the docs folder. All the proto definitions are within protos/flyteidl and there corresponding docs are kept in protos/docs

docs
├── admin
│   ├── admin.rst
│   └── index.rst
├── core
│   ├── core.rst
│   └── index.rst
├── datacatalog
│   ├── datacatalog.rst
│   └── index.rst
├── event
│   ├── event.rst
│   └── index.rst
├── plugins
│   ├── index.rst
│   └── plugins.rst
├── service
│   ├── index.rst
│   └── service.rst

Each module in protos has same named module under the docs also. eg : protos/flyteidl/core has same named doc structure placing it index and other documentation files in protos/docs/core

Docs Generation

  • If introducing a new module then follow the structure for core files in generate_protos.sh file which helps in generating the core documentation from its proto files.
     core_proto_files=`ls protos/flyteidl/core/*.proto |xargs`
     # Remove any currently generated file
     ls -d protos/docs/core/* | grep -v index.rst | xargs rm
     protoc --doc_out=protos/docs/core --doc_opt=restructuredtext,core.rst -I=protos `echo $core_proto_files`
  • make generate would have already generated the modified rst files.

  • make html Generate the sphinx documentation from the docs folder to use the modified rst for docs.

flyteidl's People

Contributors

katrogan avatar enghabu avatar yindia avatar kumare3 avatar pmahindrakar-oss avatar wild-endeavor avatar migueltol22 avatar anandswaminathan avatar honnix avatar cosmicbboy avatar schottra avatar matthewphsmith avatar samhita-alla avatar kosigz-lyft avatar surindersinghp avatar slai avatar jonathanburns avatar milton0825 avatar bnsblue avatar chanadian avatar flyte-bot avatar kanterov avatar pingsutw avatar hanzo avatar igorvalko avatar lu4nm3 avatar mayitbeegh avatar vsbus avatar tnsetting avatar

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.