Home

Awesome

<!-- Copyright 2021 Flyte Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -->

flytekit-java

Lifecycle

Java/Scala library for easily authoring Flyte tasks and workflows.

Current development status:

To learn more about Flyte refer to:

Build from source

It requires Java 11 and Docker

mvn clean verify

# Inspect dependency tree
mvn dependency:tree

# Inspect tooling dependency tree
mvn dependency:resolve-plugins

How to run examples

You can build und run examples yourself.

Create .env.local with:

FLYTE_PLATFORM_URL=localhost:30081
FLYTE_AWS_ENDPOINT=http://localhost:30084
FLYTE_AWS_ACCESS_KEY_ID=minio
FLYTE_AWS_SECRET_ACCESS_KEY=miniostorage
FLYTE_STAGING_LOCATION=s3://my-s3-bucket
FLYTE_PLATFORM_INSECURE=True

Note: If you're registering against the local Demo Flyte Cluster, you'll need to adjust the ports to align with it.

Package and register:

$ mvn package
$ scripts/jflyte register workflows \
  -d=development \
  -p=flytesnacks \
  -v=$(git describe --always) \
  -cp=flytekit-examples/target/lib

Note: scripts/jflyte requires jq to run, in addition to docker

Usage

Maven

<dependency>
    <groupId>org.flyte</groupId>
    <artifactId>flytekit-java</artifactId>
    <version>0.4.58</version>
</dependency>

SBT

Scala 2.12 and Scala 2.13 are supported.

libraryDependencies ++= Seq(
  "org.flyte" % "flytekit-java" % "0.4.58",
  "org.flyte" %% "flytekit-scala" % "0.4.58"
)

Contributing

Run mvn spotless:apply before committing.

Also use git commit --signoff "Commit message" to comply with DCO.

Releasing