OpenAPI Specification
openapi: 3.1.0
info:
title: Vineyard Python Client Blobs Objects API
description: The Vineyard Python client API provides programmatic access to the Vineyard in-memory immutable data manager (v6d), a CNCF project. Clients connect via IPC (UNIX domain socket) for zero-copy local access or via RPC (TCP) for remote access. The API supports storing, retrieving, naming, persisting, and deleting distributed in-memory objects.
version: 0.19.0
contact:
name: Vineyard Community
url: https://v6d.io/
license:
name: Apache 2.0
url: https://github.com/v6d-io/v6d/blob/main/LICENSE
servers:
- url: ipc://{socket}
description: IPC socket connection (local zero-copy access)
variables:
socket:
default: /var/run/vineyard.sock
- url: tcp://{host}:{port}
description: RPC TCP connection (remote access)
variables:
host:
default: localhost
port:
default: '9600'
tags:
- name: Objects
description: Store and retrieve in-memory objects
paths:
/objects:
post:
operationId: putObject
summary: Put Object
description: Store a Python object in vineyard. Returns the ObjectID for later retrieval. Optionally persist the object for cross-instance visibility or associate a name.
tags:
- Objects
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PutObjectRequest'
responses:
'201':
description: Object stored successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectIDResponse'
'400':
description: Invalid object or unsupported type
/objects/{objectId}:
get:
operationId: getObject
summary: Get Object
description: Retrieve a vineyard object by its ObjectID, deserializing it back to a Python value.
tags:
- Objects
parameters:
- name: objectId
in: path
required: true
description: The 64-bit unsigned integer ObjectID
schema:
type: string
- name: fetch
in: query
required: false
description: Whether to fetch remote objects via RPC if not local
schema:
type: boolean
default: false
responses:
'200':
description: Object retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectResponse'
'404':
description: Object not found
delete:
operationId: deleteObject
summary: Delete Object
description: Remove a vineyard object from memory by its ObjectID.
tags:
- Objects
parameters:
- name: objectId
in: path
required: true
description: The ObjectID to delete
schema:
type: string
- name: force
in: query
required: false
description: Force deletion even if the object is referenced
schema:
type: boolean
default: true
- name: deep
in: query
required: false
description: Recursively delete member objects
schema:
type: boolean
default: true
responses:
'204':
description: Object deleted successfully
'404':
description: Object not found
components:
schemas:
ObjectIDResponse:
type: object
description: Response containing a vineyard ObjectID
properties:
object_id:
type: string
description: The 64-bit unsigned integer ObjectID as a string
ObjectResponse:
type: object
description: Response containing a retrieved vineyard object
properties:
object_id:
type: string
description: The ObjectID of the retrieved object
value:
description: The deserialized Python object value
typename:
type: string
description: The vineyard type name of the object
PutObjectRequest:
type: object
description: Request to store an object in vineyard
properties:
value:
description: The Python object to store (serialized representation)
persist:
type: boolean
description: Whether to immediately persist the object globally
default: false
name:
type: string
description: Optional human-readable name to associate
externalDocs:
description: Vineyard Python API Reference
url: https://v6d.io/notes/references/python-api.html