Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Python bindings #88

Open
antangelo opened this issue Sep 7, 2024 · 2 comments
Open

Add Python bindings #88

antangelo opened this issue Sep 7, 2024 · 2 comments
Labels
xdvdfs-core Relating to the xdvdfs core library

Comments

@antangelo
Copy link
Owner

Add Python bindings using something like PyO3. These should be able to read out image metadata and files, as well as pack with the ability to create and nest all of the core-provided filesystems.

@antangelo antangelo added the xdvdfs-core Relating to the xdvdfs core library label Sep 7, 2024
@astarivi
Copy link
Contributor

Having done some Java bindings for xdvdfs myself, I'm really digging the idea of having readily available bindings for high level languages.

I could try and build some synchronous Python bindings, and potentially polish my existing Java bindings to bring them here too, if that's fine.

Additionally, I would like to ask for your input on where to place these new components in the repository, and how would they integrate with the current build system.

@antangelo
Copy link
Owner Author

Cargo restrictions with feature resolutions would force these bindings to be separate (at least from the workspace), so they can't integrate directly with the current build structure. Feature sets are combined, so if the bindings required sync on core, it would force cli/web/desktop to build sync as well (which won't work for web/desktop). They could potentially be in their own workspace that references core from the parent, and is excluded from the main workspace. There could also be implications depending on the target language too and how it wants to be built, but I haven't given it that much thought ahead.

I'm not opposed to hosting additional bindings (like java) if they are useful to downstream project and do not introduce a huge maintenance burden. Ideally they would be similarly flexible to the other bindings in that they support all operations/filesystems. We also need to keep packaging in mind (which I am not familiar with for java libraries).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
xdvdfs-core Relating to the xdvdfs core library
Projects
None yet
Development

No branches or pull requests

2 participants