flyteorg / flytekit-java   0.4.60

Apache License 2.0 GitHub

Java/Scala library for easily authoring Flyte tasks and workflows

Scala versions: 2.13 2.12

flytekit-java

Lifecycle

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

Current development status:

  • MVP features are developed
  • Missing user documentation
  • Project being tested, and collecting feedback
  • No guarantees of API stability

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

  • Go to Actions: Create flytekit-java release and click "Run workflow"
  • Wait until the workflow finishes; in the meanwhile prepare a release note
  • Making sure the new release is visible in Maven central
  • Publish the release note associating with the latest tag created by the release workflow