Skip to content

refactor: Improve C API support - #29

Merged
papazof merged 6 commits into
mainfrom
refactor_improve_c_api_support
Nov 4, 2025
Merged

papazof merged 6 commits into
mainfrom
refactor_improve_c_api_support

Conversation

@papazof

@papazof papazof commented Nov 4, 2025

Copy link
Copy Markdown
Contributor

Improve C API support and update Arg with new interface:

  • Update Arg with new C API and handle numeric types based on the specified ArgType
  • Properly implement PluginType and Session flags
  • Add *_from_buf() and *_sync C operations in Resource

@papazof
papazof marked this pull request as ready for review November 4, 2025 02:33
@papazof
papazof requested a review from ananos November 4, 2025 02:39
@papazof
papazof force-pushed the refactor_improve_c_api_support branch from 925aac0 to 1adbb1b Compare November 4, 2025 20:29
Enable setting the C type for numeric type wrappers from the `CAny`
adapter class. This allows functions that use `CAny`, instead of the
type-specific `C*` classes, to specify the C types that will be used to
represent numeric Python types.

PR: #29
Signed-off-by: Kostis Papazafeiropoulos <papazof@gmail.com>
Reviewed-by: Anastassios Nanos <ananos@nubificus.co.uk>
Approved-by: Anastassios Nanos <ananos@nubificus.co.uk>
Update `Arg` with new C API; use new allocation/deallocation functions
and implement arg type support

PR: #29
Signed-off-by: Kostis Papazafeiropoulos <papazof@gmail.com>
Reviewed-by: Anastassios Nanos <ananos@nubificus.co.uk>
Approved-by: Anastassios Nanos <ananos@nubificus.co.uk>
Imlement `PluginType` enum for C enum `vaccel_plugin_type_t`, update
`Session` class's `flags` type/methods and use the C heap allocation
function

PR: #29
Signed-off-by: Kostis Papazafeiropoulos <papazof@gmail.com>
Reviewed-by: Anastassios Nanos <ananos@nubificus.co.uk>
Approved-by: Anastassios Nanos <ananos@nubificus.co.uk>
Implement `*_from_buf()` for Python byte-like/numpy array objects and
`*_sync` C operations in `Resource` class

PR: #29
Signed-off-by: Kostis Papazafeiropoulos <papazof@gmail.com>
Reviewed-by: Anastassios Nanos <ananos@nubificus.co.uk>
Approved-by: Anastassios Nanos <ananos@nubificus.co.uk>
Set library path for tests from vAccel's pkg-config file instead of
relying on the user to provide it

PR: #29
Signed-off-by: Kostis Papazafeiropoulos <papazof@gmail.com>
Reviewed-by: Anastassios Nanos <ananos@nubificus.co.uk>
Approved-by: Anastassios Nanos <ananos@nubificus.co.uk>
Correctly access `vaccel_tf_node` C structure's ID in `tf.Node.id`
method

PR: #29
Signed-off-by: Kostis Papazafeiropoulos <papazof@gmail.com>
Reviewed-by: Anastassios Nanos <ananos@nubificus.co.uk>
Approved-by: Anastassios Nanos <ananos@nubificus.co.uk>
@github-actions
github-actions Bot force-pushed the refactor_improve_c_api_support branch from 1adbb1b to 5104cc7 Compare November 4, 2025 22:59
@vaccel-bot vaccel-bot Bot added ok-to-test and removed ok-to-test labels Nov 4, 2025
@papazof
papazof merged commit 3552a83 into main Nov 4, 2025
23 of 24 checks passed
papazof added a commit that referenced this pull request Nov 4, 2025
Enable setting the C type for numeric type wrappers from the `CAny`
adapter class. This allows functions that use `CAny`, instead of the
type-specific `C*` classes, to specify the C types that will be used to
represent numeric Python types.

PR: #29
Signed-off-by: Kostis Papazafeiropoulos <papazof@gmail.com>
Reviewed-by: Anastassios Nanos <ananos@nubificus.co.uk>
Approved-by: Anastassios Nanos <ananos@nubificus.co.uk>
papazof added a commit that referenced this pull request Nov 4, 2025
Update `Arg` with new C API; use new allocation/deallocation functions
and implement arg type support

PR: #29
Signed-off-by: Kostis Papazafeiropoulos <papazof@gmail.com>
Reviewed-by: Anastassios Nanos <ananos@nubificus.co.uk>
Approved-by: Anastassios Nanos <ananos@nubificus.co.uk>
papazof added a commit that referenced this pull request Nov 4, 2025
Imlement `PluginType` enum for C enum `vaccel_plugin_type_t`, update
`Session` class's `flags` type/methods and use the C heap allocation
function

PR: #29
Signed-off-by: Kostis Papazafeiropoulos <papazof@gmail.com>
Reviewed-by: Anastassios Nanos <ananos@nubificus.co.uk>
Approved-by: Anastassios Nanos <ananos@nubificus.co.uk>
papazof added a commit that referenced this pull request Nov 4, 2025
Implement `*_from_buf()` for Python byte-like/numpy array objects and
`*_sync` C operations in `Resource` class

PR: #29
Signed-off-by: Kostis Papazafeiropoulos <papazof@gmail.com>
Reviewed-by: Anastassios Nanos <ananos@nubificus.co.uk>
Approved-by: Anastassios Nanos <ananos@nubificus.co.uk>
papazof added a commit that referenced this pull request Nov 4, 2025
Set library path for tests from vAccel's pkg-config file instead of
relying on the user to provide it

PR: #29
Signed-off-by: Kostis Papazafeiropoulos <papazof@gmail.com>
Reviewed-by: Anastassios Nanos <ananos@nubificus.co.uk>
Approved-by: Anastassios Nanos <ananos@nubificus.co.uk>
@papazof
papazof deleted the refactor_improve_c_api_support branch November 4, 2025 23:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants