{"id":24138,"library":"olot","title":"olot","description":"OCI layers on top — a Python library for building and manipulating OCI container images at the layer level. Current version 0.1.17, active development, monthly releases.","status":"active","version":"0.1.17","language":"python","source_language":"en","source_url":"https://github.com/someuser/olot","tags":["OCI","container","images","layers","registry","docker"],"install":[{"cmd":"pip install olot","lang":"bash","label":"default"}],"dependencies":[{"reason":"HTTP requests to container registries","package":"requests","optional":false},{"reason":"YAML parsing for OCI manifests","package":"pyyaml","optional":false}],"imports":[{"wrong":"from olot import RegistryClient","symbol":"RegistryClient","correct":"from olot import RegistryClient"}],"quickstart":{"code":"import os\nfrom olot import RegistryClient\n\n# Use environment variables for auth\nregistry = os.environ.get('REGISTRY_URL', 'https://index.docker.io/v1/')\nusername = os.environ.get('REGISTRY_USERNAME', '')\npassword = os.environ.get('REGISTRY_PASSWORD', '')\n\nclient = RegistryClient(registry, username, password)\nprint('Connected to registry:', registry)","lang":"python","description":"Initialize a registry client for OCI operations."},"warnings":[{"fix":"Replace `insecure=True` with `tls_verify=False`.","message":"RegistryClient constructor changed signature in 0.1.15: removed `insecure` parameter, added `tls_verify`.","severity":"breaking","affected_versions":">=0.1.15"},{"fix":"Migrate to RegistryClient.push(manifest, blobs).","message":"olot.push_layer() is deprecated since 0.1.16, use RegistryClient.push() instead.","severity":"deprecated","affected_versions":">=0.1.16"},{"fix":"Use `content = b''.join(blob.content)` for reliable reuse.","message":"Blob.content is a generator by default; calling it multiple times yields empty after first iteration. Always consume or convert to bytes once.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'0.1.17':22 'activ':23 'build':10 'contain':14,28 'current':20 'develop':24 'docker':32 'imag':15,29 'layer':3,18,30 'level':19 'librari':8 'manipul':12 'month':25 'oci':2,13,27 'olot':1 'python':7 'registri':31 'releas':26 'top':5 'version':21","created_at":"2026-05-01T08:11:29.869359+00:00","updated_at":"2026-05-01T08:11:29.869359+00:00","problems":{"verify_error":"Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\nImportError: cannot import name 'RegistryClient' from 'olot' (/tmp/tmpnf4ctlv8/venv/lib/python3.12/site-packages/olot/__init__.py)"},"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"0.1.17","cli_name":"","cli_version":null,"type":"library","homepage":null,"github":null,"docs":null,"changelog":null,"pypi":"https://pypi.org/project/olot/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops","serialization"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"import_fail","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-07-10","install_tag":null}}