You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue is for general discussion of strategies for depending on code written in Rust
Our general strategy is:
if a package is well-supported on PyPI and can be installed universally via pip install, we will consider adding as a dependency
if a package requires complex installation, we make this either an optional dependency or a plugin. oakx-grape falls into this category
pronto/fastobo falls into the first category (we had a hiccup where this dependency introduced problems for arm64 users, but we think this is resolved - fastobo/fastobo-py#313), so we should keep pronto as a core dependency
Some future dependencies we may want to add
pyoxigraph (for loading sqlite)
horned-owl
whelk.rs (for calculating RG)
implementation of functionality for semsim (independent of the more complex embiggen chipset-dependent stuff)
Currently pyoxigraph fulfils the criteria above (there are robust pyo3 bindings with wheels for many platforms), so we may consider adding this as a dependency. this would likely be a transitive dependency, via semsql - see:
as of yet, neither py-horned-owl nor whelk.rs have robust pyo3 bindings, so these are not considered for now, but are on the roadmap
before committing to the pyoxigraph dependency, we should discuss any potential pitfalls, our goal is make OAK easily accessible and easy to install.
An alternative is to commit to a more pure python core. But note that libraries such as rdflib are inherently slow, so we would be committing to doing certain kinds of tasks outside of OAK, either via pre-processing, or perhaps via services or py4j -- which comes with its own issues.
The text was updated successfully, but these errors were encountered:
This issue is for general discussion of strategies for depending on code written in Rust
Our general strategy is:
pip install
, we will consider adding as a dependencypronto/fastobo falls into the first category (we had a hiccup where this dependency introduced problems for arm64 users, but we think this is resolved - fastobo/fastobo-py#313), so we should keep pronto as a core dependency
Some future dependencies we may want to add
Currently pyoxigraph fulfils the criteria above (there are robust pyo3 bindings with wheels for many platforms), so we may consider adding this as a dependency. this would likely be a transitive dependency, via semsql - see:
as of yet, neither py-horned-owl nor whelk.rs have robust pyo3 bindings, so these are not considered for now, but are on the roadmap
before committing to the pyoxigraph dependency, we should discuss any potential pitfalls, our goal is make OAK easily accessible and easy to install.
An alternative is to commit to a more pure python core. But note that libraries such as rdflib are inherently slow, so we would be committing to doing certain kinds of tasks outside of OAK, either via pre-processing, or perhaps via services or py4j -- which comes with its own issues.
The text was updated successfully, but these errors were encountered: