~charles/hatchback

A simple, performant, and robust data store for Fyne applications
update dependencies
fix linter errors
add additional libraries to alpine

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~charles/hatchback
read/write
git@git.sr.ht:~charles/hatchback

You can also use your local clone with git send-email.

#Hatchback

builds.sr.ht status go.dev reference

NOTE: Hatchback is in an early state of development. Use it in production at your own risk.

Hatchback is a library for storing data in a standalone SQLite database file for Fyne applications. It can act as a key-value-pair store for string keys and values of many different types, and also supports Fyne data binding and the Fyne Preferences interface. Hatchback aims to offer a mix of simplicity, performance, and robustness suitable for desktop applications that need to store medium amounts of data.

#Name

Much like the type of car, Hatchback is designed to provide a mix of ease-of-use, performance, and robustness that will be suitable for a majority of use cases.

#Roadmap

Support storing the following data types:

  • DONE Bool
  • DONE BoolList
  • DataMap
  • DONE Float
  • FloatList
  • DONE Int
  • IntList
  • DONE String
  • DONE StringList
  • Struct
  • DONE Untyped
  • UntypedList
  • UntypedMap

Support binding the following data types:

  • DONE Bool
  • DONE BoolList
  • DataMap
  • DONE Float
  • FloatList
  • DONE Int
  • IntList
  • DONE String
  • DONE StringList
  • Struct
  • DONE Untyped
  • UntypedList
  • UntypedMap

Support storing file-like data for use with storage repositories

  • CopyableRepository
  • HierarchicalRepository
  • ListableRepository
  • MovableRepository
  • Repository

Support for JSON marshaling/unmarshaling for backups.

  • Marshal
  • Unmarshal

#Discuss & Contribute

Feel free to discuss or send patches via my public inbox.

#License

Copyright 2021 Charles Daniels, released under BSD 3-clause. See ./LICENSE.