facebook / CacheLib

Pluggable in-process caching engine to build and scale high performance services

Home Page:https://www.cachelib.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Py bindings

journaux opened this issue · comments

Is your feature request related to a problem? Please describe.
I'm frustrated duplicating & piping data over local sockets vs direct i/o

Describe the solution you'd like
python bindings for local/remote workloads operating on computer vision queues

Describe alternatives you've considered
pipe data over local sockets

Happy to contribute bindings using pybind11 if repository owners agree on plan/design

Hi @vitruvvius

Yeah, we don't support python binding yet; only binding supported other than C++ is rust so far and we welcome any contribution to support a new binding for python.

Anyway, this looks like not an issue but a discussion for a new feature. If needed, could you start a new discussion?

Yes - fyi the current rust bindings are broken for external contributors

Yes - fyi the current rust bindings are broken for external contributors

I haven't checked it, but could you elaborate more on how it is broken? It would be great if you can create an issue with some repro steps?

@jaesoo-fb #92

Start a docker container.
Build cachelib (./contrib/build)
Build rust bindings (cd cachelib/rust; cargo build)

Why?
(i) Dependency on folly bindings (folly::StringPiece<_>) not present
(ii) Dependency on FB internal test crate not present

Find my latest comment @ the bottom of thread.

My preferred design would be autocxx (c++ variant of bindgen) - or any automated system - to generate raw bindings off source instead of hand-writing cxx.

We want to build RDMA WALs w/ cachelib in compute nodes

Related lines to (i) & (ii)

type StringPiece<'a> = folly::StringPiece<'a>;

type CacheAdmin;

#[fbinit::test]

#include "cachelib/facebook/admin/CacheAdmin.h"

#include "cachelib/facebook/twutil/TwUtil.h"