Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/flyteorg/flytekit-java
Java/Scala library for easily authoring Flyte tasks and workflows
https://github.com/flyteorg/flytekit-java
flyte java scala
Last synced: 3 days ago
JSON representation
Java/Scala library for easily authoring Flyte tasks and workflows
- Host: GitHub
- URL: https://github.com/flyteorg/flytekit-java
- Owner: flyteorg
- License: apache-2.0
- Created: 2020-04-14T14:32:32.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-08-07T07:17:57.000Z (3 months ago)
- Last Synced: 2024-09-07T08:00:52.444Z (2 months ago)
- Topics: flyte, java, scala
- Language: Java
- Homepage:
- Size: 2.61 MB
- Stars: 44
- Watchers: 25
- Forks: 28
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# flytekit-java
[![Lifecycle](https://img.shields.io/badge/lifecycle-alpha-a0c3d2.svg)](https://img.shields.io/badge/lifecycle-alpha-a0c3d2.svg)
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 stabilityTo learn more about Flyte refer to:
- [Flyte homepage](https://flyte.org)
- [Flyte master repository](https://github.com/lyft/flyte)## Build from source
It requires **Java 11 and Docker**
```bash
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:
```bash
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](https://docs.flyte.org/en/latest/user_guide/environment_setup.html#create-a-local-demo-flyte-cluster), you'll need to adjust the ports to align with it.
Package and register:
```bash
$ 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
```
org.flyte
flytekit-java
0.4.58```
### SBT
Scala 2.12 and Scala 2.13 are supported.
```scala
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](https://github.com/flyteorg/flytekit-java/actions/workflows/release.yaml) 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](https://repo1.maven.org/maven2/org/flyte/flytekit-java/)
- Publish the release note associating with the latest tag created by the release workflow