Commit Graph

37 Commits

Author SHA1 Message Date
김선우
28884181be Fix clippy 2024-09-15 16:23:27 +09:00
Lauri Virtanen
a09c6ef493 Add Makefile for Python bindings 2024-09-01 16:11:00 +03:00
Lauri Virtanen
9cb2164bfa Remove black and isort (replaced with Ruff) 2024-09-01 16:10:59 +03:00
Lauri Virtanen
826a2629d1 Check requirements.txt files in Python workflow 2024-09-01 16:10:59 +03:00
Lauri Virtanen
6bd1d28e26 Format Python bindings code using Ruff
- Use double quotes (Ruff/Black default)
- Configure some set of linters to use with Ruff
2024-09-01 16:10:59 +03:00
Lauri Virtanen
c5218e2f79 Run Python tests for versions 3.8 to 3.12
Match Python versions in GitHub workflow and pyproject.toml.

Format workflow YAML and rename steps.

Checkout using `actions/checkout@v4`.

Disable pip version checking in Python workflow to suppress warnings on
older Python versions.
2024-09-01 13:28:38 +03:00
Pekka Enberg
1aa7a7c52c Merge 'ci: added python' from Jean Arhancet
Added a GitHub CI action for the Python bindings with Maturin for
building, Ruff for formatting checks, and pytest for running tests. This
is related to #248

Closes #298
2024-08-30 17:34:43 +03:00
JeanArhancet
fc2962e04e ci: integrate pyo3
ci: add manylinux

fix: maturin build error

ci: add wheels upload

ci: use venv
2024-08-25 21:47:17 +02:00
mazchew
671b61ba19 add time querying to io trait 2024-08-25 22:55:15 +08:00
mazchew
156005694a added rng to io trait for simulation 2024-08-22 23:24:02 +08:00
JeanArhancet
7c362b129f feat: impl python binding
refactor: pep-0249

refactor: rust comment and requirements-dev.txt

fix: name conflict
2024-08-11 08:58:18 +02:00
Pekka Enberg
933bf89bb9 wasm: VFS interface to use Node filesystem API
This adds a basic VFS interface to use Node filesystem API from Rust
code. Not a lot, but parses the SQLite database file header and
completes database open without errors.
2024-08-04 11:12:21 +03:00
Pekka Enberg
7df979cd3a wasm: Enable console.error() panic hook
Makes debugging a little bit easier...
2024-08-04 09:45:27 +03:00
Pekka Enberg
ed4116e7c2 core: Introduce Wal trait
We're going to need it for WebAssembly anyway, which does not have
standard filesystem support.
2024-08-03 12:34:10 +03:00
Pekka Enberg
3f7c788e5b core: Rename DatabaseStorage methods
Let's call them read_page() and write_page().
2024-08-03 10:35:14 +03:00
Pekka Enberg
8a54e31803 core: Rename PageIO to DatabaseStorage 2024-08-03 10:33:52 +03:00
Pekka Enberg
4349b946e5 core: Eliminate PageSource wrapper
The PageSource wrapper is useless. Let's inline it and use PageIO
directly.
2024-08-03 10:27:20 +03:00
Pere Diaz Bou
2b221d2b3c fix conflicts
Signed-off-by: Pere Diaz Bou <pere-altea@hotmail.com>
2024-07-31 17:38:33 +02:00
Pekka Enberg
351242561d Kill anyhow usage
Switch anyhow to explicit `LimboError` type using thiserror crate, which
lets us make error handling more structured.
2024-07-25 17:15:08 +03:00
Joan Martinez
4bcae54aa9 fix: use Arc to handle IO 2024-07-21 19:01:58 +02:00
Pekka Enberg
a0c92f6d80 Switch to workspace versioning 2024-07-17 08:39:36 +03:00
Pekka Enberg
2684341bac Initial pass on deterministic simulator
The simulator does not do much, but does discover failures on Linux with
io_uring, though, so it's a start.
2024-06-27 18:32:04 +03:00
Pere Diaz Bou
427103b199 core,wasm: add missing write procedure to wasm 2024-06-19 20:54:55 +02:00
Pekka Enberg
9a73ded4fa Add a Cursor trait and use it
We need an abstract cursor trait to implement a sorter, for example.
2024-03-28 15:01:52 +02:00
Pekka Enberg
5eb9ec0d03 Improve JavaScript/Wasm packaging 2024-03-03 14:18:32 +02:00
Pekka Enberg
ed9f3e6d1e Single-threaded architecture
Use Rc instead of Arc and replace the concurrent LRU with
single-threaded SIEVE.

Fixes #23
Fixes #29
2024-03-03 12:44:45 +02:00
Pekka Enberg
44dcd48071 Fix WebAssembly build 2024-01-14 15:29:27 +02:00
Pekka Enberg
6c0fb89671 wasm: Fix IO.get() function signature 2024-01-14 15:04:05 +02:00
Pekka Enberg
2267ee121b Introduce Completion type 2023-11-09 21:11:48 +02:00
Pekka Enberg
9098744a37 Rename to Limbo 2023-09-30 15:40:35 +03:00
Pekka Enberg
de6f327a4a Move raw buffer to I/O module 2023-09-30 14:19:55 +03:00
Pekka Enberg
1e1e096a48 Refactor I/O and storage layers 2023-09-16 09:34:17 +03:00
Pekka Enberg
b49c242266 Rename PageSource to File 2023-09-10 22:01:45 +03:00
Pekka Enberg
fe41f46bc0 I/O trait 2023-09-10 21:57:36 +03:00
Pekka Enberg
72e92820d6 Share I/O ring across multiple files 2023-09-10 20:57:54 +03:00
Pekka Enberg
4a5c71ab7a I/O interface refactoring 2023-09-09 10:22:26 +03:00
Pekka Enberg
fb72f9688b Initial commit 2023-08-27 09:59:12 +03:00