https://github.com/flyteorg/flyte

Scalable and flexible workflow orchestration platform that seamlessly unifies data, ML and analytics stacks.

https://github.com/flyteorg/flyte

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    4 of 309 committers (1.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.4%) to scientific vocabulary

Keywords

data data-analysis data-science dataops declarative fine-tuning flyte golang grpc hacktoberfest kubernetes kubernetes-operator llm machine-learning mlops orchestration-engine production python scale workflow

Keywords from Contributors

distribution parallel llm-inference llm-serving reinforcement-learning large-language-models serving hyperparameter-optimization ray rllib
Last synced: 5 months ago · JSON representation

Repository

Scalable and flexible workflow orchestration platform that seamlessly unifies data, ML and analytics stacks.

Basic Info
  • Host: GitHub
  • Owner: flyteorg
  • License: apache-2.0
  • Language: Go
  • Default Branch: master
  • Homepage: https://flyte.org
  • Size: 324 MB
Statistics
  • Stars: 6,461
  • Watchers: 256
  • Forks: 745
  • Open Issues: 200
  • Releases: 0
Topics
data data-analysis data-science dataops declarative fine-tuning flyte golang grpc hacktoberfest kubernetes kubernetes-operator llm machine-learning mlops orchestration-engine production python scale workflow
Created over 6 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Codeowners Security

README.md

Flyte and LF AI & Data Logo

Flyte

:building_construction: :rocket: :chart_with_upwards_trend:

Current Release label Sandbox Status label Test Status label License label OpenSSF Best Practices label Flyte Helm Chart label Flyte Slack label

Flyte is an open-source orchestrator that facilitates building production-grade data and ML pipelines. It is built for scalability and reproducibility, leveraging Kubernetes as its underlying platform. With Flyte, user teams can construct pipelines using the Python SDK, and seamlessly deploy them on both cloud and on-premises environments, enabling distributed processing and efficient resource utilization.

Build

Write code in Python or any other language and leverage a robust type engine.

Getting started with Flyte

Deploy & Scale

Either locally or on a remote cluster, execute your models with ease.

Getting started with Flyte

Get Started · Documentation · Resources

Table of contents

* How to contribute

Quick start

  1. Install Flyte's Python SDK bash pip install flytekit
  2. Create a workflow (see example)
  3. Run it locally with: bash pyflyte run hello_world.py hello_world_wf Ready to try a Flyte cluster?

  4. Create a new sandbox cluster, running as a Docker container: bash flytectl demo start

  5. Now execute your workflows on the cluster: bash pyflyte run --remote hello_world.py hello_world_wf Getting started with Flyte, showing the welcome screen and Flyte dashboard

Do you want to see more but don't want to install anything?

Try out the Union platform built on top of Flyte, and get free access to GPUs, data lineage, and more!

Ready to productionize?

Go to the Deployment guide for instructions to install Flyte on different environments

Tutorials

Features

🚀 Strongly typed interfaces: Validate your data at every step of the workflow by defining data guardrails using Flyte types.
🌐 Any language: Write code in any language using raw containers, or choose Python, Java, Scala or JavaScript SDKs to develop your Flyte workflows.
🔒 Immutability: Immutable executions help ensure reproducibility by preventing any changes to the state of an execution.
🧬 Data lineage: Track the movement and transformation of data throughout the lifecycle of your data and ML workflows.
📊 Map tasks: Achieve parallel code execution with minimal configuration using map tasks.
🌎 Multi-tenancy: Multiple users can share the same platform while maintaining their own distinct data and configurations.
🌟 Dynamic workflows: Build flexible and adaptable workflows that can change and evolve as needed, making it easier to respond to changing requirements.
⏯️ Wait for external inputs before proceeding with the execution.
🌳 Branching: Selectively execute branches of your workflow based on static or dynamic data produced by other tasks or input data.
📈 Data visualization: Visualize data, monitor models and view training history through plots.
📂 FlyteFile & FlyteDirectory: Transfer files and directories between local and cloud storage.
🗃️ Structured dataset: Convert dataframes between types and enforce column-level type checking using the abstract 2D representation provided by Structured Dataset.
🛡️ Recover from failures: Recover only the failed tasks.
🔁 Rerun a single task: Rerun workflows at the most granular level without modifying the previous state of a data/ML workflow.
🔍 Cache outputs: Cache task outputs by passing cache=True to the task decorator.
🚩 Intra-task checkpointing: Checkpoint progress within a task execution.
Timeout: Define a timeout period, after which the task is marked as failure.
🏭 Dev to prod: As simple as changing your domain from development or staging to production.
💸 Spot or preemptible instances: Schedule your workflows on spot instances by setting interruptible to True in the task decorator.
☁️ Cloud-native deployment: Deploy Flyte on AWS, GCP, Azure and other cloud services.
📅 Scheduling: Schedule your data and ML workflows to run at a specific time.
📢 Notifications: Stay informed about changes to your workflow's state by configuring notifications through Slack, PagerDuty or email.
⌛️ Timeline view: Evaluate the duration of each of your Flyte tasks and identify potential bottlenecks.
💨 GPU acceleration: Enable and control your tasks’ GPU demands by requesting resources in the task decorator.
🐳 Dependency isolation via containers: Maintain separate sets of dependencies for your tasks so no dependency conflicts arise.
🔀 Parallelism: Flyte tasks are inherently parallel to optimize resource consumption and improve performance.
💾 Allocate resources dynamically at the task level.

Who's using Flyte

Join the likes of LinkedIn, Spotify, Freenome, Pachama, Warner Bros. and many others in adopting Flyte for mission-critical use cases. For a full list of adopters and information on how to add your organization or project, please visit our ADOPTERS page.

How to stay involved

👥 Monthly community sync: Happening the first Tuesday of every month, this is where the Flyte team provides updates on the project, and community members can share their progress and ask questions.
💬 Slack: Join the Flyte community on Slack to chat with other users, ask questions, and get help.
⚠️ Newsletter: join this group to receive the Flyte Monthly newsletter.
📹 Youtube: Tune into panel discussions, customer success stories, community updates and feature deep dives.
📄 Blog: Here, you can find tutorials and feature deep dives to help you learn more about Flyte.
💡 RFCs: RFCs are used for proposing new ideas and features to improve Flyte. You can refer to them to stay updated on the latest developments and contribute to the growth of the platform.

How to contribute

There are many ways to get involved in Flyte, including:

We :heart: our contributors

953358370901257597118271592984394388881151083056278108056158892184082372896568379360156533941518524277247631688870927777173230626037779831250323568805803623945045216615335863656289847489857646126257257078122852108698153880645393621326174213126913098469892991815175375584975487021914271628166891937524124364830533133944361047110526540160909769434909370988606505138207208951108201179967134587798502655414728263125543413302332486884679273651103549674588200209435878191638995424817025387601042579291716813605291777447131688122784654540263349699333727524781147085461973368336886416621434433588669240698988262682536006974447914085913193515508789976021315778791480048554340816139945512047003511534815850499746030368211097441810591518140633515178952046377804219343939659139771199138256885140021987162777096099864406268167090184172091274471380854106939297134093844169746411115421902127686718337807459819322624662597592609252412219405317199110693660098349643165094909824247910056968430375389920729566884052897543480690130271167002061521126422486402577195338542094211686921739426733365291745017130913854113062123054334265487366561508361636238391061476126141014308533334748271020124211269256612286331307023688176391730918726834658264049938955457812336299733240114764883437170063438865783368838512510537547264493856431037619544171057324735912913704119345186133317248116143624611279633387040230151245063219349042135802228374162143726198131146298290530515235514640901950671668431507183533915505796703150925994814223418810132967747581400715023806658260484116297104519736471046369026920893270000056288302179035736439622874222232341453138103849250723583344412301382577167782489666474739155670057655433386011088618422367951985337355900078344980393417047030361872017373944104531138474391314695401706960248859469847482835189673589511218666941530049111539728231071926596957103009868508604536506810661030055718143659778008473503685753828105876962101579322269537092503814688684372812939299441958590225427286189119026236953075989116420668349587700012104200811388071183633012569530263994281735176431982395751535975488235067987125364490345139966767992622096501892175321459642330651052299715357162511166516110307215359623109192768972606142114946478720442004011377022211732202024739949648649081043063531911175104152793278186092279790064865844054805404680710047891659415103175910763359738092754440025509836011367245272448699969161722790725131652144381122433367672539117386911142365945274806211335881100597998540347011531334944830700695877233272587580328104383732626539271447721413131131490674861864060102720778115767165266276970332272137398891282151065284495769681009546248779231144255851211803717344684611908193133936119912892468356084735553814153851024543401136042789156888916640310514682479168411899937967739836771707979801142324041714201831196277713777985214996868130902779343819017807752745888688441346071713470664369198716932718253467641431901852291774116924555940143026771971263003151220444106815366489331304786160060156356273237305261084035362440250510255875514673558520135478162702111456773698742815962836467659413233767512822336466388192132370801499218911753922617235548056316747594611747309309377582033111796986906078630335921359189827773319229049123787712343293876806739778636154841002369891122600152343121187558697490199103451849105445729532638151841963647466337581400897892723761633460443689971043051219534421646184729942128455404056828138898150935185836804710215732047107115313670774438217712841908502178048512530327559366853113183450910789313242251300022244656467294714862028047035331821994291032633131308752109763936253185190374137721147841167397938336556266708948667547488631813081390277139198213513017138800017703926178510511193114821980916724173308724194191014504507884147090147935364412421077809865193786149341113245101659473050833036160470810759239294814814785416837142807589100517263167638688761581175184469669285234268801011322857514642405410508216011335612233916421024762739078149680875248665052611549823250311894504138074341651338283207535655837499610582562559762775347530858035067549254867919957072302957100903841733751582966456388483282792388941221669819836490558799137794189828218567580320335411570555343555799376002516557902726715865218555510623301 <!-- CONTRIBUTORS END -->

License

Flyte is available under the Apache License 2.0. Use it wisely.

Owner

  • Name: Flyte
  • Login: flyteorg
  • Kind: organization
  • Email: users@flyte.org

Organization that hosts the Flyte Project with all of the core components. Flyte is an LF AI & Data Graduated Project

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 4,573
  • Total Committers: 309
  • Avg Commits per committer: 14.799
  • Development Distribution Score (DDS): 0.92
Past Year
  • Commits: 503
  • Committers: 101
  • Avg Commits per committer: 4.98
  • Development Distribution Score (DDS): 0.879
Top Committers
Name Email Commits
Haytham Abuelfutuh h****m@a****m 368
Dan Rammer d****l@u****i 243
Katrina Rogan k****H@g****m 240
Flyte Bot a****n@f****g 238
goreleaserbot g****r@c****m 238
Eduardo Apolinario 6****o 208
Kevin Su p****w@a****g 206
Yuvraj c****e@e****v 192
pmahindrakar-oss p****r@g****m 188
Yee Hing Tong w****r 179
Ketan Umare 1****3 159
Katrina Rogan k****a@n****o 131
Chang-Hong Hsu c****u@l****m 111
Jeev B j****b 108
Ketan Umare k****e@l****m 98
Future-Outlier e****1@g****m 88
Niels Bantilan n****n@g****m 80
Samhita Alla a****a@g****m 77
Honnix h****x 62
Andrew Chan a****n@l****m 59
SandraGH5 8****5 50
Yuvraj 1****t 47
Andrew Dye a****e@g****m 43
Nikki Everett n****t 43
Anand Swaminathan a****n@l****m 43
SmritiSatyanV 9****V 42
David Espejo 8****s 37
Fabio M. Graetz, Ph.D f****z@g****m 37
Paul Dittamo 3****t 34
Jason Parraga S****d@g****m 32
and 279 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 1,551
  • Total pull requests: 2,445
  • Average time to close issues: over 1 year
  • Average time to close pull requests: about 1 month
  • Total issue authors: 416
  • Total pull request authors: 193
  • Average comments per issue: 3.41
  • Average comments per pull request: 2.15
  • Merged pull requests: 1,569
  • Bot issues: 0
  • Bot pull requests: 120
Past Year
  • Issues: 315
  • Pull requests: 911
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 11 days
  • Issue authors: 128
  • Pull request authors: 108
  • Average comments per issue: 1.19
  • Average comments per pull request: 2.59
  • Merged pull requests: 581
  • Bot issues: 0
  • Bot pull requests: 52
Top Authors
Issue Authors
  • cosmicBboy (81)
  • wild-endeavor (71)
  • kumare3 (66)
  • katrogan (64)
  • eapolinario (55)
  • samhita-alla (52)
  • pingsutw (49)
  • EngHabu (38)
  • Sovietaced (35)
  • pmahindrakar-oss (33)
  • davidmirror-ops (30)
  • Future-Outlier (28)
  • fg91 (23)
  • hamersaw (23)
  • RRap0so (18)
Pull Request Authors
  • eapolinario (292)
  • Future-Outlier (169)
  • pingsutw (167)
  • dependabot[bot] (119)
  • Sovietaced (117)
  • wild-endeavor (101)
  • neverett (95)
  • flyte-bot (94)
  • pvditt (74)
  • hamersaw (71)
  • katrogan (66)
  • davidmirror-ops (65)
  • ddl-ebrown (59)
  • fg91 (53)
  • cosmicBboy (41)
Top Labels
Issue Labels
stale (636) bug (593) enhancement (553) untriaged (421) flytekit (250) documentation (187) backlogged (176) housekeeping (137) good first issue (120) ui (100) hacktoberfest (74) flyteadmin (50) plugins (40) flytectl (39) exo (35) help wanted (28) UX (23) waiting for reporter (22) flytekit-java (22) flytepropeller (20) pri3 (20) propeller (16) pri2 (13) helm (11) pri1 (11) fit-and-finish (10) needs-decision (10) ui-redesign (10) flyteremote (8) spec-first (7)
Pull Request Labels
lgtm (527) enhancement (287) documentation (269) size:L (176) size:XS (170) size:S (141) size:M (133) housekeeping (131) dependencies (124) bug (107) go (103) helm (72) size:XXL (64) stale (58) security (56) added (51) size:XL (49) fixed (45) kustomize (22) auto-update-contributors (21) rfc (19) changed (18) hacktoberfest-accepted (14) python (12) review-needed (5) spam (4) boilerplate (3) triage/discuss (3) github_actions (2) rust (2)

Packages

  • Total packages: 15
  • Total downloads:
    • pypi 308,025 last-month
    • npm 1,404 last-month
  • Total docker downloads: 29,148
  • Total dependent packages: 97
    (may contain duplicates)
  • Total dependent repositories: 46
    (may contain duplicates)
  • Total versions: 1,373
  • Total maintainers: 8
pypi.org: flyteidl

IDL for Flyte Platform

  • Versions: 305
  • Dependent Packages: 37
  • Dependent Repositories: 22
  • Downloads: 286,962 Last month
  • Docker Downloads: 14,414
Rankings
Dependent packages count: 0.4%
Downloads: 0.5%
Stargazers count: 1.1%
Docker downloads count: 1.5%
Average: 1.5%
Forks count: 2.6%
Dependent repos count: 3.1%
Last synced: 6 months ago
proxy.golang.org: github.com/flyteorg/flyte/flytestdlib
  • Versions: 75
  • Dependent Packages: 17
  • Dependent Repositories: 5
  • Docker Downloads: 3,555
Rankings
Stargazers count: 1.1%
Dependent packages count: 1.4%
Forks count: 1.5%
Average: 1.6%
Dependent repos count: 2.3%
Last synced: 5 months ago
proxy.golang.org: github.com/flyteorg/flyte/flyteplugins
  • Versions: 75
  • Dependent Packages: 11
  • Dependent Repositories: 5
  • Docker Downloads: 3,555
Rankings
Stargazers count: 1.1%
Forks count: 1.5%
Average: 1.7%
Dependent packages count: 1.9%
Dependent repos count: 2.3%
Last synced: 6 months ago
proxy.golang.org: github.com/flyteorg/flyte/flytepropeller
  • Versions: 75
  • Dependent Packages: 8
  • Dependent Repositories: 5
  • Docker Downloads: 3,555
Rankings
Stargazers count: 1.1%
Forks count: 1.5%
Average: 1.8%
Dependent packages count: 2.2%
Dependent repos count: 2.3%
Last synced: 5 months ago
proxy.golang.org: github.com/flyteorg/flyte/flyteadmin
  • Versions: 75
  • Dependent Packages: 3
  • Dependent Repositories: 3
Rankings
Stargazers count: 1.1%
Forks count: 1.5%
Average: 2.2%
Dependent repos count: 2.9%
Dependent packages count: 3.4%
Last synced: 6 months ago
proxy.golang.org: github.com/flyteorg/flyte/datacatalog
  • Versions: 75
  • Dependent Packages: 3
  • Dependent Repositories: 3
Rankings
Stargazers count: 1.1%
Forks count: 1.5%
Average: 2.2%
Dependent repos count: 2.9%
Dependent packages count: 3.4%
Last synced: 6 months ago
proxy.golang.org: github.com/flyteorg/flyte/flyteidl
  • Versions: 73
  • Dependent Packages: 13
  • Dependent Repositories: 1
  • Docker Downloads: 3,555
Rankings
Stargazers count: 1.1%
Forks count: 1.5%
Dependent packages count: 1.8%
Average: 2.3%
Dependent repos count: 4.7%
Last synced: 6 months ago
proxy.golang.org: github.com/flyteorg/flyte
  • Versions: 174
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Docker Downloads: 138
Rankings
Docker downloads count: 1.0%
Stargazers count: 1.2%
Forks count: 1.5%
Average: 4.3%
Dependent packages count: 8.2%
Dependent repos count: 9.3%
Last synced: 6 months ago
npmjs.org: @flyteorg/flyteidl

Compiled protocol buffers and gRPC service and connect clients/servers for Flyte IDLs

  • Versions: 248
  • Dependent Packages: 4
  • Dependent Repositories: 2
  • Downloads: 754 Last month
  • Docker Downloads: 367
Rankings
Docker downloads count: 1.0%
Forks count: 3.7%
Downloads: 4.1%
Dependent packages count: 4.5%
Average: 4.7%
Stargazers count: 7.1%
Dependent repos count: 7.6%
Last synced: 6 months ago
proxy.golang.org: github.com/flyteorg/flyte/docker/sandbox-bundled/bootstrap
  • Versions: 47
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Docker Downloads: 9
Rankings
Stargazers count: 1.1%
Forks count: 1.5%
Average: 5.3%
Dependent packages count: 8.5%
Dependent repos count: 10.1%
Last synced: 6 months ago
proxy.golang.org: github.com/flyteorg/flyte/flytectl
  • Versions: 11
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 7.0%
Average: 7.4%
Dependent repos count: 7.9%
Last synced: 6 months ago
proxy.golang.org: github.com/flyteorg/flyte/flytecopilot
  • Versions: 74
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 9.5%
Average: 10.1%
Dependent repos count: 10.7%
Last synced: 6 months ago
npmjs.org: @flyteorg/flyteidl2

Compiled protocol buffers and gRPC service and connect clients/servers for Flyte IDLs

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 64 Last month
Rankings
Dependent repos count: 24.0%
Average: 29.3%
Dependent packages count: 34.6%
Last synced: 6 months ago
npmjs.org: @flyteorg/flyteidl-new

Compiled protocol buffers and gRPC service and connect clients/servers for Flyte IDLs

  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 586 Last month
Rankings
Dependent repos count: 24.0%
Average: 29.3%
Dependent packages count: 34.6%
Last synced: 6 months ago
pypi.org: flyte

Add your description here

  • Versions: 57
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 21,063 Last month
Rankings
Dependent packages count: 9.5%
Average: 31.4%
Dependent repos count: 53.4%
Maintainers (2)
Last synced: 6 months ago