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.3.tar.gz
(59.0 kB
view details)
Built Distribution
File details
Details for the file tapdata_cli-2.2.3.tar.gz
.
File metadata
- Download URL: tapdata_cli-2.2.3.tar.gz
- Upload date:
- Size: 59.0 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 | fdf056cfcf852de72c8eabd2d91df44792a4a904c51bbb6f420801f0ba6280cf |
|
MD5 | 5237136a454825f3e4b0bd9d663e6ffc |
|
BLAKE2b-256 | 8947d4e69359c8694d9f59164355f91944ac1e6b5b480d8db50603078d30b822 |
Provenance
File details
Details for the file tapdata_cli-2.2.3-py3-none-any.whl
.
File metadata
- Download URL: tapdata_cli-2.2.3-py3-none-any.whl
- Upload date:
- Size: 58.8 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 | 75049cb31e207154469faa6bc96b1952de7d1f80751cdf97c022601000a124a1 |
|
MD5 | 7e53de2b448de1592e0a73a0adba9104 |
|
BLAKE2b-256 | acc44c1198009e8d20e026e4f0a11643eaecb697fa3070a62f1dcd78f48c0d4d |