Tapdata Python Sdk
Project description
Tapdata Python Sdk
Install
- Install python 3.7, pip By Yourself.
- Run
pip install tapdata_cli
to install sdk. - If you use poetry, please run
poetry add tapdata_cli
to install sdk.
Initial
server = "127.0.0.1:3000"
access_code = "3324cfdf-7d3e-4792-bd32-571638d4562f"
from tapdata_cli import cli
cli.init(server, access_code)
Multi-thread concurrency is not supported
It will send a request to the server to obtain the identity information and save it as a global variable. Therefore, after multiple init the 'server' and 'access_code' variable will be overwritten.
For situations where you need to use different servers and access_codes concurrently, use Python's multiprocess.
Create DataSource
# create datasource by uri
from tapdata_cli import cli
mongo = cli.DataSource("mongodb", name="source")
mongo.uri("mongodb://localhost:8080")
mongo.validate() # available -> True, disabled -> False
mongo.save() # success -> True, Failure -> False
# create datasource by form
mongo = cli.DataSource("mongodb", name="source")
mongo.host("localhost:8080").db("source").username("user").password("password").type("source").props("")
mongo.validate() # success -> True, Failure -> False
mongo.save() # success -> True, Failure -> False
# list datasource
res = mongo.list()
# res struct
{
"total": 94,
"items": [{
"id": "",
"lastUpdBy": "",
"name": "",
"config": {},
"connection_type": "",
"database_type": "",
"definitionScope": "",
"definitionVersion": "",
"definitionGroup": "",
"definitionPdkId": "",
...
}]
}
# get datasource by name/id
cli.DataSource.get(id="")
# return
{
"id": "",
"lastUpdBy": "",
"name": "",
"config": {},
"connection_type": "",
"database_type": "",
"definitionScope": "",
"definitionVersion": "",
"definitionGroup": "",
"definitionPdkId": "",
...
}
create Pipeline
from tapdata_cli import cli
# pipeline create
source = cli.DataSource("mongodb", name="source").uri("").save()
target = cli.DataSource("mongodb", name="target").uri("").save()
p = cli.Pipeline(name="")
p.readFrom("source").writeTo("target")
# pipeline start
p.start()
# pipeline stop
p.stop()
# pipeline delete
p.delete()
# pipeline status
p.status()
# list job object
cli.Job.list()
Job is the underlying implementation of pipeline, so you can use job.start() like pipeline.start().
# init job (get job info) by id
from tapdata_cli import cli
job = cli.Job(id="some id string")
job.save() # success -> True, failure -> False
job.start() # success -> True, failure -> False
data operator
from tapdata_cli import cli
source = cli.DataSource("mongodb", name="source").uri("").save()
target = cli.DataSource("mongodb", name="target").uri("").save()
p = cli.Pipeline(name="")
p = p.readFrom("source.player") # source is db, player is table
p.dag.jobType = cli.JobType.sync
# filter cli.FilterType.keep (keep data) / cli.FilterType.delete (delete data)
p = p.filter("id > 2", cli.FilterType.keep)
# filerColumn cli.FilterType.keep (keep column) / cli.FilterType.delete (delete column)
p = p.filterColumn(["name"], cli.FilterType.delete)
# rename
p = p.rename("name", "player_name")
# valueMap
p = p.valueMap("position", 1)
# js
p = p.js("return record;")
p.writeTo("target.player") # target is db, player is table
API Operation
Publish Api
from tapdata_cli import cli
cli.Api(name="test", table="source.player").publish() # source is db, player is table
Unpublish APi
from tapdata_cli import cli
cli.Api(name="test").unpublish()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
tapdata_cli-2.2.2.tar.gz
(50.8 kB
view details)
Built Distribution
File details
Details for the file tapdata_cli-2.2.2.tar.gz
.
File metadata
- Download URL: tapdata_cli-2.2.2.tar.gz
- Upload date:
- Size: 50.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.14 CPython/3.8.9 Darwin/21.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4ce87dfc94bbb5c3e25dd64a974ca799e294d9af2a47af965519dfc10a63796 |
|
MD5 | 9abe0c244307a21639248e6854ae4238 |
|
BLAKE2b-256 | f4e93c023c1153db79ceac38d120749445fb497a8fcdf0f1da5aa61c8a64628c |
Provenance
File details
Details for the file tapdata_cli-2.2.2-py3-none-any.whl
.
File metadata
- Download URL: tapdata_cli-2.2.2-py3-none-any.whl
- Upload date:
- Size: 50.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.14 CPython/3.8.9 Darwin/21.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef0efb59dc35d139338349c5297663f482fe11394269c5cd5ae31404563f9310 |
|
MD5 | c9fc1e450934cae689b29a897fd218c0 |
|
BLAKE2b-256 | 739d4b083f1aed81a4a0ebdc7d760dbd2864d40851aca069d1c3646eb1bf14bb |