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:
It requires Java 11 and Docker
mvn clean verify
# Inspect dependency tree
mvn dependency:tree
# Inspect tooling dependency tree
mvn dependency:resolve-plugins
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
<dependency>
<groupId>org.flyte</groupId>
<artifactId>flytekit-java</artifactId>
<version>0.4.58</version>
</dependency>
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"
)
Run mvn spotless:apply
before committing.
Also use git commit --signoff "Commit message"
to comply with DCO.
- 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