| Name | pyoci JSON |
| Version |
0.1.0
JSON |
| download |
| home_page | None |
| Summary | OCI-runtime spec represented as python objects. |
| upload_time | 2024-08-08 18:08:15 |
| maintainer | None |
| docs_url | None |
| author | None |
| requires_python | >=3.8 |
| license | None |
| keywords |
|
| VCS |
 |
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# pyoci
[](https://pypi.python.org/pypi/pyoci)
[](https://pypi.python.org/pypi/pyoci)
[](https://pypi.python.org/pypi/pyoci)
**What**: A library to define [OCI Runtime Specification](https://github.com/opencontainers/runtime-spec) compliant container instances.
**When**: When you need to run or modify a container at the lowest level, without containerd or docker/podman.
**Why**: The full OCI runtime spec can be quite large to read and even trickier to implement. This library saves you all the json-wrangling and validation, without abstracting any features away.
**How**: Under the hood, everything here is a msgpack Struct. These structs were generated from the original json-schema with help of [datamodel-code-generator](https://github.com/koxudaxi/datamodel-code-generator) and then manually refactored by me.
#
**Pros**:
- Full control over the container.
- Compatible with many runtimes.
- Very lightweight[^1].
**Cons**:
- Requires low-level knowledge of how a container is constructed.
- Doesn't support dealing with images in any way (for now), you'll need to provide an already existing container root.
- Isn't well tested with runtimes (for now).
#
This is a low-level library. If you want to simply run a container, without configuring all the inner workings, i'd suggest [docker-py](https://github.com/docker/docker-py).
This library is runtime-agnostic, so it doesn't provide a way to actually run the container. You'll need to pass the definition to an appropriate runtime yourself.
Also, I want to say a huge thanks to koxudaxi and other contributors for the awesome code generator!
[^1]: Pyoci should be very fast and memory/resource efficent thanks to use of msgpack. The performance of actually running the container will depend on your provided runtime. However, since using a runtime directly involves much less abstraction than containerd/docker/etc, this approach should be more efficent overall.
Raw data
{
"_id": null,
"home_page": null,
"name": "pyoci",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": null,
"author": null,
"author_email": "hazyfossa <hazyfossa@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/da/ee/9518c91fa78c15ce8fc082581252b1bffe45091711a072c709fcc93a64ed/pyoci-0.1.0.tar.gz",
"platform": null,
"description": "# pyoci\n\n[](https://pypi.python.org/pypi/pyoci)\n[](https://pypi.python.org/pypi/pyoci)\n[](https://pypi.python.org/pypi/pyoci)\n\n**What**: A library to define [OCI Runtime Specification](https://github.com/opencontainers/runtime-spec) compliant container instances.\n\n**When**: When you need to run or modify a container at the lowest level, without containerd or docker/podman.\n\n**Why**: The full OCI runtime spec can be quite large to read and even trickier to implement. This library saves you all the json-wrangling and validation, without abstracting any features away.\n\n**How**: Under the hood, everything here is a msgpack Struct. These structs were generated from the original json-schema with help of [datamodel-code-generator](https://github.com/koxudaxi/datamodel-code-generator) and then manually refactored by me.\n\n#\n**Pros**:\n- Full control over the container.\n- Compatible with many runtimes.\n- Very lightweight[^1].\n\n**Cons**:\n- Requires low-level knowledge of how a container is constructed.\n- Doesn't support dealing with images in any way (for now), you'll need to provide an already existing container root.\n- Isn't well tested with runtimes (for now).\n\n#\n\nThis is a low-level library. If you want to simply run a container, without configuring all the inner workings, i'd suggest [docker-py](https://github.com/docker/docker-py).\n\nThis library is runtime-agnostic, so it doesn't provide a way to actually run the container. You'll need to pass the definition to an appropriate runtime yourself.\n\nAlso, I want to say a huge thanks to koxudaxi and other contributors for the awesome code generator!\n\n[^1]: Pyoci should be very fast and memory/resource efficent thanks to use of msgpack. The performance of actually running the container will depend on your provided runtime. However, since using a runtime directly involves much less abstraction than containerd/docker/etc, this approach should be more efficent overall.",
"bugtrack_url": null,
"license": null,
"summary": "OCI-runtime spec represented as python objects.",
"version": "0.1.0",
"project_urls": {
"Homepage": "https://github.com/hazyfossa/pyoci",
"Issues": "https://github.com/hazyfossa/pyoci/issues"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "5b08f045202a624cdbb565248cba7015ee4c3dc4181f34caeb84f4d59f4543d6",
"md5": "5ff463da610903fafba40625421457ca",
"sha256": "2aff74a1b2246c2fc29a689da0920fb8d02d890fe79679b3776c7d9f2ff5a3f8"
},
"downloads": -1,
"filename": "pyoci-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5ff463da610903fafba40625421457ca",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 11778,
"upload_time": "2024-08-08T18:08:11",
"upload_time_iso_8601": "2024-08-08T18:08:11.146263Z",
"url": "https://files.pythonhosted.org/packages/5b/08/f045202a624cdbb565248cba7015ee4c3dc4181f34caeb84f4d59f4543d6/pyoci-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "daee9518c91fa78c15ce8fc082581252b1bffe45091711a072c709fcc93a64ed",
"md5": "cbe83b8801d0cf895fb8768ab1b1bb21",
"sha256": "a01b2d884f70b13bee4fdf22fd7c246f6ab6c91e22bc0f8d972bd542f999390f"
},
"downloads": -1,
"filename": "pyoci-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "cbe83b8801d0cf895fb8768ab1b1bb21",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 9636,
"upload_time": "2024-08-08T18:08:15",
"upload_time_iso_8601": "2024-08-08T18:08:15.894427Z",
"url": "https://files.pythonhosted.org/packages/da/ee/9518c91fa78c15ce8fc082581252b1bffe45091711a072c709fcc93a64ed/pyoci-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-08 18:08:15",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "hazyfossa",
"github_project": "pyoci",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "pyoci"
}