smartjob


Namesmartjob JSON
Version 0.0.27 PyPI version JSON
download
home_pageNone
SummaryLittle async python library for dealing with GCP/Cloud Run Jobs and GCP/VertexAI CustomJobs
upload_time2024-10-01 07:26:46
maintainerNone
docs_urlNone
authorFabien MARTY
requires_python<4.0,>=3.11
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Welcome on SmartJob Python Library!

## What is it?

**SmartJob** is a thin Python 3.11+ job library for dealing with [GCP/Cloud Run Jobs](https://cloud.google.com/run), [GCP/VertexAI CustomJobs](https://cloud.google.com/vertex-ai/docs/training/create-custom-job) and (local) Docker (jobs):

- in a **very simple** way
- in a **unified** way *(with as little difference as possible between the 3 providers)*
- in an **async way** *(not with `asyncio` but with `concurrent.futures.Future` objects; in most cases, this is enough for dealing with complex parallel workflows (including parralelism, chaining, conditionals...) and you don't need to learn another pipeline workflow or switching your whole codebase to `asyncio`)*
- in a **reactive** way *(when you're in the experimentation phase, you can pass the main Python script without rebuilding/pushing a whole docker image at each attempt)*
- in a **production ready** way (with retries, timeouts...)


## Non-features

**SmartJob** is a thin library and not a whole pipeline framework. He tries to be as un-opinionated as possible.

## Quickstart

[Let's go 🚀](https://fabien-marty.github.io/smartjob/tutorials/quickstart/)

## Documentation

[https://fabien-marty.github.io/smartjob/](https://fabien-marty.github.io/smartjob/)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "smartjob",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.11",
    "maintainer_email": null,
    "keywords": null,
    "author": "Fabien MARTY",
    "author_email": "fab@fabien-marty.dev",
    "download_url": "https://files.pythonhosted.org/packages/52/98/bcc21ec425821643e93b45073a3dfce45d7b62d679151fe3170e769c6c6d/smartjob-0.0.27.tar.gz",
    "platform": null,
    "description": "# Welcome on SmartJob Python Library!\n\n## What is it?\n\n**SmartJob** is a thin Python 3.11+ job library for dealing with [GCP/Cloud Run Jobs](https://cloud.google.com/run), [GCP/VertexAI CustomJobs](https://cloud.google.com/vertex-ai/docs/training/create-custom-job) and (local) Docker (jobs):\n\n- in a **very simple** way\n- in a **unified** way *(with as little difference as possible between the 3 providers)*\n- in an **async way** *(not with `asyncio` but with `concurrent.futures.Future` objects; in most cases, this is enough for dealing with complex parallel workflows (including parralelism, chaining, conditionals...) and you don't need to learn another pipeline workflow or switching your whole codebase to `asyncio`)*\n- in a **reactive** way *(when you're in the experimentation phase, you can pass the main Python script without rebuilding/pushing a whole docker image at each attempt)*\n- in a **production ready** way (with retries, timeouts...)\n\n\n## Non-features\n\n**SmartJob** is a thin library and not a whole pipeline framework. He tries to be as un-opinionated as possible.\n\n## Quickstart\n\n[Let's go \ud83d\ude80](https://fabien-marty.github.io/smartjob/tutorials/quickstart/)\n\n## Documentation\n\n[https://fabien-marty.github.io/smartjob/](https://fabien-marty.github.io/smartjob/)\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Little async python library for dealing with GCP/Cloud Run Jobs and GCP/VertexAI CustomJobs",
    "version": "0.0.27",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9d32659aef0f1c0c3d6cb974aa1ad8dbd81cab67ecd294ea9ff2d25dd40c1035",
                "md5": "759cac74e536bd473346c907e5a67a99",
                "sha256": "55c07bbc0ceff1f4cc0bf6468d1a18900f6a3e7914464e46101947473e9637d0"
            },
            "downloads": -1,
            "filename": "smartjob-0.0.27-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "759cac74e536bd473346c907e5a67a99",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.11",
            "size": 26678,
            "upload_time": "2024-10-01T07:26:45",
            "upload_time_iso_8601": "2024-10-01T07:26:45.768942Z",
            "url": "https://files.pythonhosted.org/packages/9d/32/659aef0f1c0c3d6cb974aa1ad8dbd81cab67ecd294ea9ff2d25dd40c1035/smartjob-0.0.27-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5298bcc21ec425821643e93b45073a3dfce45d7b62d679151fe3170e769c6c6d",
                "md5": "a41adffe863107e7455e0e13dbd9e852",
                "sha256": "463c80ab158cfc0796208a2c384fbd9e76bcf5f14ebfaf959171caa51b709c2a"
            },
            "downloads": -1,
            "filename": "smartjob-0.0.27.tar.gz",
            "has_sig": false,
            "md5_digest": "a41adffe863107e7455e0e13dbd9e852",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.11",
            "size": 18982,
            "upload_time": "2024-10-01T07:26:46",
            "upload_time_iso_8601": "2024-10-01T07:26:46.920139Z",
            "url": "https://files.pythonhosted.org/packages/52/98/bcc21ec425821643e93b45073a3dfce45d7b62d679151fe3170e769c6c6d/smartjob-0.0.27.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-01 07:26:46",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "smartjob"
}
        
Elapsed time: 0.75581s