cloudcoil.models.kpack


Namecloudcoil.models.kpack JSON
Version 0.16.1.1 PyPI version JSON
download
home_pageNone
SummaryVersioned kpack models for cloudcoil
upload_time2025-02-10 04:28:00
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseApache-2.0
keywords async cloud-native cloudcoil cloudcoil-models kpack kubernetes pydantic python
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # cloudcoil-models-kpack

Versioned kpack models for cloudcoil.
> [!WARNING]  
> This repository is auto-generated from the [cloudcoil repository](https://github.com/cloudcoil/cloudcoil/tree/main/models/kpack). Please do not submit pull requests here. Instead, submit them to the main repository at https://github.com/cloudcoil/cloudcoil.

## 🔧 Installation

> [!NOTE]
> For versioning information and compatibility, see the [Versioning Guide](https://github.com/cloudcoil/cloudcoil/blob/main/VERSIONING.md).

Using [uv](https://github.com/astral-sh/uv) (recommended):

```bash
# Install with kpack support
uv add cloudcoil.models.kpack
```

Using pip:

```bash
pip install cloudcoil.models.kpack
```

## 💡 Examples

### Using kpack Models

```python
from cloudcoil import apimachinery
import cloudcoil.models.kpack.v1alpha2 as kpack
import cloudcoil.models.kpack.core as core
import cloudcoil.models.kubernetes.core.v1 as k8score

# Create an Image resource
image = kpack.Image(
    metadata=apimachinery.ObjectMeta(name="my-app"),
    spec=kpack.ImageSpec(
        tag="registry.example.com/my-app",
        builder_=k8score.ObjectReference(
            name="my-builder",
            kind="ClusterBuilder"
        ),
        source=core.SourceConfig(
            git=core.Git(
                url="https://github.com/my-org/my-app.git",
                revision="main"
            )
        )
    )
).create()

# Create a Builder
builder = kpack.BuilderResource(
    metadata=apimachinery.ObjectMeta(name="my-builder"),
    spec=kpack.BuilderSpec(
        tag="registry.example.com/builder",
        stack=k8score.ObjectReference(
            name="base",
            kind="ClusterStack"
        ),
        store=k8score.ObjectReference(
            name="default",
            kind="ClusterStore"
        )
    )
).create()

# List Images
for img in kpack.Image.list():
    print(f"Found image: {img.metadata.name}")

# Update an Image
image.spec.source.git.revision = "v1.0.0"
image.save()

# Delete resources
kpack.Image.delete("my-app")
kpack.BuilderResource.delete("my-builder")
```

### Using the Fluent Builder API

```python
from cloudcoil.models.kpack.v1alpha2 import Image

# Create an Image using the fluent builder
image = (
    Image.builder()
    .metadata(lambda m: m
        .name("my-app")
        .namespace("default")
    )
    .spec(lambda s: s
        .tag("registry.example.com/my-app")
        .builder_(lambda b: b
            .name("my-builder")
            .kind("ClusterBuilder")
        )
        .source(lambda src: src
            .git(lambda g: g
                .url("https://github.com/my-org/my-app.git")
                .revision("main")
            )
        )
    )
    .build()
)
```

### Using the Context Manager Builder API

```python
from cloudcoil.models.kpack.v1alpha2 import Image, BuilderResource

# Create an image using context managers
with Image.new() as app_image:
    with app_image.metadata() as metadata:
        metadata.name("my-app")
        metadata.namespace("default")
    
    with app_image.spec() as spec:
        spec.tag("registry.example.com/my-app")
        
        with spec.builder_() as builder:
            builder.name("my-builder")
            builder.kind("ClusterBuilder")
        
        with spec.source() as source:
            with source.git() as git:
                git.url("https://github.com/my-org/my-app.git")
                git.revision("main")

final_image = app_image.build()

# Create a builder using context managers
with BuilderResource.new() as builder:
    with builder.metadata() as metadata:
        metadata.name("my-builder")
        metadata.namespace("default")
    
    with builder.spec() as spec:
        spec.tag("registry.example.com/builder")
        
        with spec.stack() as stack:
            stack.name("base")
            stack.kind("ClusterStack")
        
        with spec.store() as store:
            store.name("default")
            store.kind("ClusterStore")
        
        # Add buildpacks to the builder
        with spec.buildpacks() as buildpacks:
            with buildpacks.add() as pack:
                pack.id("paketo-buildpacks/java")
                pack.version("3.0.0")

final_builder = builder.build()
```

The context manager builder provides:
- 🎭 Clear visual nesting of resource structure
- 🔒 Automatic resource cleanup
- 🎯 Familiar Python context manager pattern
- ✨ Same great IDE support as the fluent builder

## 📚 Documentation

For complete documentation, visit [cloudcoil.github.io/cloudcoil](https://cloudcoil.github.io/cloudcoil)

## 📜 License

Apache License, Version 2.0 - see [LICENSE](LICENSE)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "cloudcoil.models.kpack",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "Sambhav Kothari <sambhavs.email@gmail.com>",
    "keywords": "async, cloud-native, cloudcoil, cloudcoil-models, kpack, kubernetes, pydantic, python",
    "author": null,
    "author_email": "Sambhav Kothari <sambhavs.email@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/24/47/48c11de84332bcb3f4c65e46b5d83732cc4dc19c49ed4794c6c5f2cdfc4c/cloudcoil_models_kpack-0.16.1.1.tar.gz",
    "platform": null,
    "description": "# cloudcoil-models-kpack\n\nVersioned kpack models for cloudcoil.\n> [!WARNING]  \n> This repository is auto-generated from the [cloudcoil repository](https://github.com/cloudcoil/cloudcoil/tree/main/models/kpack). Please do not submit pull requests here. Instead, submit them to the main repository at https://github.com/cloudcoil/cloudcoil.\n\n## \ud83d\udd27 Installation\n\n> [!NOTE]\n> For versioning information and compatibility, see the [Versioning Guide](https://github.com/cloudcoil/cloudcoil/blob/main/VERSIONING.md).\n\nUsing [uv](https://github.com/astral-sh/uv) (recommended):\n\n```bash\n# Install with kpack support\nuv add cloudcoil.models.kpack\n```\n\nUsing pip:\n\n```bash\npip install cloudcoil.models.kpack\n```\n\n## \ud83d\udca1 Examples\n\n### Using kpack Models\n\n```python\nfrom cloudcoil import apimachinery\nimport cloudcoil.models.kpack.v1alpha2 as kpack\nimport cloudcoil.models.kpack.core as core\nimport cloudcoil.models.kubernetes.core.v1 as k8score\n\n# Create an Image resource\nimage = kpack.Image(\n    metadata=apimachinery.ObjectMeta(name=\"my-app\"),\n    spec=kpack.ImageSpec(\n        tag=\"registry.example.com/my-app\",\n        builder_=k8score.ObjectReference(\n            name=\"my-builder\",\n            kind=\"ClusterBuilder\"\n        ),\n        source=core.SourceConfig(\n            git=core.Git(\n                url=\"https://github.com/my-org/my-app.git\",\n                revision=\"main\"\n            )\n        )\n    )\n).create()\n\n# Create a Builder\nbuilder = kpack.BuilderResource(\n    metadata=apimachinery.ObjectMeta(name=\"my-builder\"),\n    spec=kpack.BuilderSpec(\n        tag=\"registry.example.com/builder\",\n        stack=k8score.ObjectReference(\n            name=\"base\",\n            kind=\"ClusterStack\"\n        ),\n        store=k8score.ObjectReference(\n            name=\"default\",\n            kind=\"ClusterStore\"\n        )\n    )\n).create()\n\n# List Images\nfor img in kpack.Image.list():\n    print(f\"Found image: {img.metadata.name}\")\n\n# Update an Image\nimage.spec.source.git.revision = \"v1.0.0\"\nimage.save()\n\n# Delete resources\nkpack.Image.delete(\"my-app\")\nkpack.BuilderResource.delete(\"my-builder\")\n```\n\n### Using the Fluent Builder API\n\n```python\nfrom cloudcoil.models.kpack.v1alpha2 import Image\n\n# Create an Image using the fluent builder\nimage = (\n    Image.builder()\n    .metadata(lambda m: m\n        .name(\"my-app\")\n        .namespace(\"default\")\n    )\n    .spec(lambda s: s\n        .tag(\"registry.example.com/my-app\")\n        .builder_(lambda b: b\n            .name(\"my-builder\")\n            .kind(\"ClusterBuilder\")\n        )\n        .source(lambda src: src\n            .git(lambda g: g\n                .url(\"https://github.com/my-org/my-app.git\")\n                .revision(\"main\")\n            )\n        )\n    )\n    .build()\n)\n```\n\n### Using the Context Manager Builder API\n\n```python\nfrom cloudcoil.models.kpack.v1alpha2 import Image, BuilderResource\n\n# Create an image using context managers\nwith Image.new() as app_image:\n    with app_image.metadata() as metadata:\n        metadata.name(\"my-app\")\n        metadata.namespace(\"default\")\n    \n    with app_image.spec() as spec:\n        spec.tag(\"registry.example.com/my-app\")\n        \n        with spec.builder_() as builder:\n            builder.name(\"my-builder\")\n            builder.kind(\"ClusterBuilder\")\n        \n        with spec.source() as source:\n            with source.git() as git:\n                git.url(\"https://github.com/my-org/my-app.git\")\n                git.revision(\"main\")\n\nfinal_image = app_image.build()\n\n# Create a builder using context managers\nwith BuilderResource.new() as builder:\n    with builder.metadata() as metadata:\n        metadata.name(\"my-builder\")\n        metadata.namespace(\"default\")\n    \n    with builder.spec() as spec:\n        spec.tag(\"registry.example.com/builder\")\n        \n        with spec.stack() as stack:\n            stack.name(\"base\")\n            stack.kind(\"ClusterStack\")\n        \n        with spec.store() as store:\n            store.name(\"default\")\n            store.kind(\"ClusterStore\")\n        \n        # Add buildpacks to the builder\n        with spec.buildpacks() as buildpacks:\n            with buildpacks.add() as pack:\n                pack.id(\"paketo-buildpacks/java\")\n                pack.version(\"3.0.0\")\n\nfinal_builder = builder.build()\n```\n\nThe context manager builder provides:\n- \ud83c\udfad Clear visual nesting of resource structure\n- \ud83d\udd12 Automatic resource cleanup\n- \ud83c\udfaf Familiar Python context manager pattern\n- \u2728 Same great IDE support as the fluent builder\n\n## \ud83d\udcda Documentation\n\nFor complete documentation, visit [cloudcoil.github.io/cloudcoil](https://cloudcoil.github.io/cloudcoil)\n\n## \ud83d\udcdc License\n\nApache License, Version 2.0 - see [LICENSE](LICENSE)\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Versioned kpack models for cloudcoil",
    "version": "0.16.1.1",
    "project_urls": {
        "Changelog": "https://github.com/cloudcoil/models-kpack/releases",
        "Documentation": "https://cloudcoil.github.io/cloudcoil",
        "Homepage": "https://github.com/cloudcoil/cloudcoil",
        "Issues": "https://github.com/cloudcoil/models-kpack/issues",
        "Repository": "https://github.com/cloudcoil/models-kpack"
    },
    "split_keywords": [
        "async",
        " cloud-native",
        " cloudcoil",
        " cloudcoil-models",
        " kpack",
        " kubernetes",
        " pydantic",
        " python"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "015fe950c61826f89ccf959211a0b823c498b2d8b043f9f101ab27d1f681a939",
                "md5": "f8214f9d3198f95e2edad40dafaf566f",
                "sha256": "a3db533a9c53ea5cd2d5876a19ddf00f518cc76ad147da3af8dec09a10dffdcc"
            },
            "downloads": -1,
            "filename": "cloudcoil_models_kpack-0.16.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f8214f9d3198f95e2edad40dafaf566f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 34414,
            "upload_time": "2025-02-10T04:27:58",
            "upload_time_iso_8601": "2025-02-10T04:27:58.323991Z",
            "url": "https://files.pythonhosted.org/packages/01/5f/e950c61826f89ccf959211a0b823c498b2d8b043f9f101ab27d1f681a939/cloudcoil_models_kpack-0.16.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "244748c11de84332bcb3f4c65e46b5d83732cc4dc19c49ed4794c6c5f2cdfc4c",
                "md5": "e881c750b9fe114474f872bf4c072099",
                "sha256": "6e778db6c1534c2b07325221bac7dec6ad877ef369076a1eb3361953cb91a076"
            },
            "downloads": -1,
            "filename": "cloudcoil_models_kpack-0.16.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "e881c750b9fe114474f872bf4c072099",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 94675,
            "upload_time": "2025-02-10T04:28:00",
            "upload_time_iso_8601": "2025-02-10T04:28:00.185687Z",
            "url": "https://files.pythonhosted.org/packages/24/47/48c11de84332bcb3f4c65e46b5d83732cc4dc19c49ed4794c6c5f2cdfc4c/cloudcoil_models_kpack-0.16.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-10 04:28:00",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "cloudcoil",
    "github_project": "models-kpack",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "cloudcoil.models.kpack"
}
        
Elapsed time: 3.12366s