iomete-sdk


Nameiomete-sdk JSON
Version 3.0.0 PyPI version JSON
download
home_pagehttps://github.com/iomete/iomete-sdk
SummaryIOMETE SDK for Python.
upload_time2025-01-17 18:00:12
maintainerNone
docs_urlNone
authorIOMETE
requires_python>=3.8
licenseApache License 2.0
keywords iomete sdk spark-job data-security-api
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # IOMETE SDK

This is the IOMETE SDK for Python. 
It provides convenient access to the IOMETE API from applications written in the Python language.

## Installation

Install the package with:

```bash
pip install iomete-sdk
```

## Usage - Spark Job API

### Import and initialize the client
```python
from iomete_sdk.spark import SparkJobApiClient

HOST = "<DATAPLANE_HOST>" # https://dataplane-endpoint.example.com
API_KEY = "<IOMETE_API_KEY>"
DOMAIN = "<IOMETE_DOMAIN>"

job_client = SparkJobApiClient(
    host=HOST,
    api_key=API_KEY,
    domain=DOMAIN
)
```

### Create a new job
```python
response = job_client.create_job(payload={
        "name": "job-name",
        "namespace": "k8s-namespace",
        "jobUser": "job-user",
        "jobType": "MANUAL/SCHEDULED/STREAMING",
        "template": {
            "applicationType": "python",
            "image": f"iomete/spark-py:3.5.3-v1",
            "mainApplicationFile": "path/to/job.py",
            "configMaps": [{
                "key": "application.conf",
                "content": "[SELECT 1]",
                "mountPath": "/etc/configs"
            }],
            "deps": {
                "pyFiles": ["path/to/dependencies.zip"]
            },
            "instanceConfig": {
                "singleNodeDeployment": False, "driverType": "driver-x-small",
                "executorType": "exec-x-small", "executorCount": 1
            },
            "restartPolicy": {"type": "Never"},
            "maxExecutionDurationSeconds": "max-execution-duration",
            "volumeId": "volume-id",
        }
    })

job_id = response["id"]
```

### Get jobs
```python
response = job_client.get_jobs()
```

### Get job
```python
response = job_client.get_job(job_id=job_id)
```

### Update job
```python
response = job_client.update_job(job_id=job_id, payload=updated_payload)
```

### Delete job
```python
response = job_client.delete_job(job_id=job_id)
```


### Submit job run
```python
response = job_client.submit_job_run(job_id=job_id, payload={})
```

### Cancel job run
```python
response = job_client.cancel_job_run(job_id=job_id, run_id=run_id)
```

### Get Job Runs
```python
response = job_client.get_job_runs(job_id=job_id)
```

### Get Job Run
```python
response = job_client.get_job_run(job_id=job_id, run_id=run_id)
```

### Get Job Run Logs
```python
response = job_client.get_job_run_logs(job_id=job_id, run_id=run_id, time_range="5m")
```
**Supported Time Range:** 5m, 15m, 30m, 1h, 3h, 6h, 12h, 24h, 2d, 7d, 14d, 30d 

### Get Job Run Metrics
```python
response = job_client.get_job_run_metrics(job_id=job_id, run_id=run_id)
```




            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/iomete/iomete-sdk",
    "name": "iomete-sdk",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "iomete, sdk, spark-job, data-security-api",
    "author": "IOMETE",
    "author_email": "vusal@iomete.com",
    "download_url": "https://files.pythonhosted.org/packages/a9/24/62b4d63dfbc2f212bc5fac91e5533043142ed3137a6338f26fe7fd7826ff/iomete_sdk-3.0.0.tar.gz",
    "platform": null,
    "description": "# IOMETE SDK\n\nThis is the IOMETE SDK for Python. \nIt provides convenient access to the IOMETE API from applications written in the Python language.\n\n## Installation\n\nInstall the package with:\n\n```bash\npip install iomete-sdk\n```\n\n## Usage - Spark Job API\n\n### Import and initialize the client\n```python\nfrom iomete_sdk.spark import SparkJobApiClient\n\nHOST = \"<DATAPLANE_HOST>\" # https://dataplane-endpoint.example.com\nAPI_KEY = \"<IOMETE_API_KEY>\"\nDOMAIN = \"<IOMETE_DOMAIN>\"\n\njob_client = SparkJobApiClient(\n    host=HOST,\n    api_key=API_KEY,\n    domain=DOMAIN\n)\n```\n\n### Create a new job\n```python\nresponse = job_client.create_job(payload={\n        \"name\": \"job-name\",\n        \"namespace\": \"k8s-namespace\",\n        \"jobUser\": \"job-user\",\n        \"jobType\": \"MANUAL/SCHEDULED/STREAMING\",\n        \"template\": {\n            \"applicationType\": \"python\",\n            \"image\": f\"iomete/spark-py:3.5.3-v1\",\n            \"mainApplicationFile\": \"path/to/job.py\",\n            \"configMaps\": [{\n                \"key\": \"application.conf\",\n                \"content\": \"[SELECT 1]\",\n                \"mountPath\": \"/etc/configs\"\n            }],\n            \"deps\": {\n                \"pyFiles\": [\"path/to/dependencies.zip\"]\n            },\n            \"instanceConfig\": {\n                \"singleNodeDeployment\": False, \"driverType\": \"driver-x-small\",\n                \"executorType\": \"exec-x-small\", \"executorCount\": 1\n            },\n            \"restartPolicy\": {\"type\": \"Never\"},\n            \"maxExecutionDurationSeconds\": \"max-execution-duration\",\n            \"volumeId\": \"volume-id\",\n        }\n    })\n\njob_id = response[\"id\"]\n```\n\n### Get jobs\n```python\nresponse = job_client.get_jobs()\n```\n\n### Get job\n```python\nresponse = job_client.get_job(job_id=job_id)\n```\n\n### Update job\n```python\nresponse = job_client.update_job(job_id=job_id, payload=updated_payload)\n```\n\n### Delete job\n```python\nresponse = job_client.delete_job(job_id=job_id)\n```\n\n\n### Submit job run\n```python\nresponse = job_client.submit_job_run(job_id=job_id, payload={})\n```\n\n### Cancel job run\n```python\nresponse = job_client.cancel_job_run(job_id=job_id, run_id=run_id)\n```\n\n### Get Job Runs\n```python\nresponse = job_client.get_job_runs(job_id=job_id)\n```\n\n### Get Job Run\n```python\nresponse = job_client.get_job_run(job_id=job_id, run_id=run_id)\n```\n\n### Get Job Run Logs\n```python\nresponse = job_client.get_job_run_logs(job_id=job_id, run_id=run_id, time_range=\"5m\")\n```\n**Supported Time Range:** 5m, 15m, 30m, 1h, 3h, 6h, 12h, 24h, 2d, 7d, 14d, 30d \n\n### Get Job Run Metrics\n```python\nresponse = job_client.get_job_run_metrics(job_id=job_id, run_id=run_id)\n```\n\n\n\n",
    "bugtrack_url": null,
    "license": "Apache License 2.0",
    "summary": "IOMETE SDK for Python.",
    "version": "3.0.0",
    "project_urls": {
        "Homepage": "https://github.com/iomete/iomete-sdk"
    },
    "split_keywords": [
        "iomete",
        " sdk",
        " spark-job",
        " data-security-api"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a92462b4d63dfbc2f212bc5fac91e5533043142ed3137a6338f26fe7fd7826ff",
                "md5": "22b58d5af31d0e8280d68c2ed931f681",
                "sha256": "5d7d0b257c6a15ad63ba1559472576187a599153a315c7de2b0e540feca23b80"
            },
            "downloads": -1,
            "filename": "iomete_sdk-3.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "22b58d5af31d0e8280d68c2ed931f681",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 9096,
            "upload_time": "2025-01-17T18:00:12",
            "upload_time_iso_8601": "2025-01-17T18:00:12.188743Z",
            "url": "https://files.pythonhosted.org/packages/a9/24/62b4d63dfbc2f212bc5fac91e5533043142ed3137a6338f26fe7fd7826ff/iomete_sdk-3.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-17 18:00:12",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "iomete",
    "github_project": "iomete-sdk",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "iomete-sdk"
}
        
Elapsed time: 0.41346s