sqlite-loadable-rs
pdftk-heroku
sqlite-loadable-rs | pdftk-heroku | |
---|---|---|
2 | 1 | |
318 | 3 | |
- | - | |
6.7 | 10.0 | |
29 days ago | almost 11 years ago | |
Rust | Ruby | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
sqlite-loadable-rs
-
SQLiteGPT - Directly query ChatGPT with SQL functions
The implementation is just a prototype right now and it should be implemented as a proper loadable extension in Rust with sqlite-loadable-rs. Make sure to star the GitHub repo if you want to see this happen! ;-)
-
Making SQLite extensions pip install-able
It's possible but very difficult. For extensions built purely in C, you can statically compile extensions into a SQLite WASM build, which I have a few demos of with sqlite-lines [0] and sqlite-path[1].
For extensions but in Rust however, it's much more difficult. Matt @tantaman has some success cross compiling his cr-sqlite [2] project to WASM, but it's quite complex.
SQLite extensions typical rely on dlopen() to load dynamic libraries as an extension. WASM doesn't really have that, so you either have to statically compile your extension in your WASM build (which is difficult for non-C languages bc SQLite is written in C), or hack around some barely-supported WASM features that emulate dlopen(). Though I'm not the best with WASM, so hopefully someone with more WASM experience chimes in to help! It's something I'm tracking in this issue for the `sqlite-loadble-rs` project [3]
[0] https://observablehq.com/@asg017/introducing-sqlite-lines#ce...
[1] https://observablehq.com/@asg017/introducing-sqlite-path#cel...
[2] https://github.com/vlcn-io/cr-sqlite
[3] https://github.com/asg017/sqlite-loadable-rs/issues/5
pdftk-heroku
-
Making SQLite extensions pip install-able
If you have the binary all ready, you could mimic this ancient gem that bundles pdftk binaries (for use with heroku):
https://github.com/charliemaffitt/pdftk-heroku
But I think it might be possible to leverage gem compile, maybe even with extensions for cross compiling.
You'd need to specify the platform to match your binaries, and those as files (for extensions) or binaries (for executables you want added to path).
https://github.com/luislavena/gem-compiler
https://github.com/rake-compiler/rake-compiler-dock
AFAIK when a gem is compiled, a makefile or a rake-file is invoked - and can be made to do just about anything. Add some ruby in the gemspec - and it should be possible to distribute almost anything as a platform specific gem.
What are some alternatives?
sqlite-ulid - A SQLite extension for generating and working with ULIDs
sqlite-jsonschema - A SQLite extension for validating JSON objects with JSON Schema
SQLiteGPT - SQL function for SQLite to directly query OpenAI's ChatGPT
sqlite-regex - A fast regular expression SQLite extension, written in Rust
sqlite-icu - Loadable ICU extension for sqlite as python package
sqlite-xsv - the fastest CSV SQLite extension, written in Rust
sqlite-html - A SQLite extension for querying, manipulating, and creating HTML elements.
rake-compiler-dock - Easy to use and reliable cross compiler environment for building Windows, Linux, Mac and JRuby binary gems.
sqlite-lines - A SQLite extension for reading large files line-by-line (NDJSON, logs, txt, etc.)
sqlite-http - A SQLite extension for making HTTP requests purely in SQL
sqlite-url - A SQLite extension for parsing, generating, and querying URLs and query strings