14 releases

0.1.14 Aug 12, 2023
0.1.13 Aug 12, 2023
0.1.7 Jun 12, 2023

#779 in Database interfaces

Download history 3/week @ 2024-02-23 1/week @ 2024-03-01 36/week @ 2024-03-29 15/week @ 2024-04-05

51 downloads per month

BSD-3-Clause

120KB
3K SLoC

Overview

This project serves as the core library used in all official Ikarus projects. It provides all of the functionality the UIs use.

Currently only a rust interface is supported, but a C interface will follow soon.

On Dependencies

Keeping dependencies low is a primary concern for this project. This applies to both C and Rust dependencies. To avoid opening a can of worms here, we shall not go into the reasoning behind this.

Every new dependency must provide at least one of these benefits:

  • Adds a lot of convenience features that are otherwise cumbersome to implement (e.g. thiserror)
  • Is part of a "standard" ecosystem of rust crates (e.g. log)
  • Provides a mature piece of software which would be nonsensical to implement by oneself (e.g. sqlite)

In addition, all crates must pass cargo vet with the safe-to-run criteria. See supply-chain for our configuration.

C dependencies will be wrapped in separate *-sys crates, as recommended by the cargo book.

Dependencies

~15MB
~289K SLoC