Skip to main content

A client library for accessing Flink Job Manager REST API

Project description

Flink SQL Gateway Python Client

A client library for accessing Flink Job Manager REST API (mostly generated by OpenAPI Generator)

Compartibility Overview

API Versions Compatible Flink Versions Comment
API V1 flink-1.16.2 -> flink-2.1 Allow users to submit statements to the gateway and execute.

Usage

First, create a client:

from flink_job_manager_api import Client
from flink_job_manager_api.api.default import get_cluster_overview, get_dashboard_configuration
from flink_job_manager_api.models import DashboardConfiguration

BASE_URL = "http://localhost:8081"

# Sync Client:
with Client(BASE_URL) as client:
   response: ClusterOverviewWithVersion = get_cluster_overview.sync(client=client)
   print(f"Flink version: {response.flink_version}")
   print(f"Flink commit: {response.flink_commit}")
   print(f"Jobs cancelled: {response.jobs_cancelled}")
   print(f"Jobs failed: {response.jobs_failed}")
   print(f"Jobs finished: {response.jobs_finished}")
   print(f"Jobs running: {response.jobs_running}")
   print(f"Slots available: {response.slots_available}")
   print(f"Slots free and blocked: {response.slots_free_and_blocked}")
   print(f"Slots total: {response.slots_total}")
   print(f"Taskmanagers: {response.taskmanagers}")
   print(f"Taskmanagers blocked: {response.taskmanagers_blocked}")

# Async Client:
async with Client(BASE_URL) as client:
   response = await get_dashboard_configuration.asyncio(client=client)

Advanced customizations

Developer

  1. Quick start
# code gen
make gen
make release

# release production
make release_production
  1. Manual release
# 1. test, exit if fail
cd $(rev-parse --show-toplevel)/flink-job-manager-api && pytest tests

# 2. check current version
cd $(rev-parse --show-toplevel)
cat flink-job-manager-api/pyproject.toml | grep version
version=$(cat flink-job-manager-api/pyproject.toml| grep version | cut -d '"' -f2)

# 3. tag & release
release_tag='VERSION_TO_BE_SET'
poetry -C flink-job-manager-api/flink-job-manager-api/ version $release_tag
cd $(rev-parse --show-toplevel)
git add -u
git commit -m
git tag -d $release_tag || true
git tag "release-$version"
git push origin "release-$version"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flink_job_manager_api-1.0.2.tar.gz (61.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flink_job_manager_api-1.0.2-py3-none-any.whl (215.7 kB view details)

Uploaded Python 3

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page