Skip to content

feat(C/C++): add C/C++ namespace SDK#357

Draft
aheev wants to merge 2 commits into
lance-format:mainfrom
aheev:add-c-sdk
Draft

feat(C/C++): add C/C++ namespace SDK#357
aheev wants to merge 2 commits into
lance-format:mainfrom
aheev:add-c-sdk

Conversation

@aheev

@aheev aheev commented Jun 21, 2026

Copy link
Copy Markdown
  • stable C-ABI, C++ RAII wrappers
  • structure similar to python. impls live in lance-c
  • use openapi-generator-cli::opencpp-restsdk for rest-client generation and add a C shim layer in the core

@github-actions

Copy link
Copy Markdown
Contributor

ACTION NEEDED
Lance follows the Conventional Commits specification for release automation.

The PR title and description are used as the merge commit message. Please update your PR title and description to match the specification.

For details on the error please inspect the "PR Title Check" action.

@aheev aheev changed the title add C/C++ SDK feat(C/C++): add C/C++ namespace SDK Jun 21, 2026
@github-actions github-actions Bot added the enhancement New feature or request label Jun 21, 2026
@aheev

aheev commented Jun 22, 2026

Copy link
Copy Markdown
Author

@wjones127 @jackye1995

I need input on rest-client integration into core

The current approach to integrating rest-client into the core and re-exposing models and apis is not working very well. Right now I am generating rest-client C++ lib using openapi-generator::cpp-restsdk and then adding a C shim layer(> 100 model and api classes rewritten in C)

When I asked Claude, it suggested the following approaches

  • Generate C/C++ REST client using patched C/C++ templates in one go
C generator is notorious for poorly maintained and generating code that's hard to integrate (When I pointed Claude at a generated model, it found out memory leaks and data type issues)

So, use C/C++ patched templates with `openapi-generator`: fixing issues in generated C client + RAII wrappers for C++
 
  • Generate C and C++ rest clients separately
Use patched template for C rest client and `cpp-restsdk` for C++ rest client

What do you think? Feel free to suggest any alternative approaches as well

CC: @jja725

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant