lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Announcing luatexts version 0.1.4 release (under MIT license).

https://github.com/agladysh/luatexts

The luatexts module handles serialization to a simple human-readable
binary-safe Lua-aware format.

What is changed?

Last announced release was 0.1.1. Since then:

* PHP save() added.
* JS save() fixed.
* C load() optimized.
* Format extended to be more streaming-friendly.
* Plain Lua load() added.
* Added plain Lua API to work with "streams" (via callback functions/objects).
* C load_from_file() added, works with mmap(), very fast even for huge data.

See full list of changes here:
https://github.com/agladysh/luatexts/blob/v0.1.4/HISTORY

Rockspecs:

https://github.com/agladysh/luatexts/raw/master/rockspec/luatexts-0.1.4-1.rockspec
https://github.com/agladysh/luatexts/raw/master/rockspec/luatexts-scm-1.rockspec

Project status:

We use luatexts in-house for RPC, and plan to replace luabins[1] as a
format for
serialized DB "object" storage (e.g. in Redis) with it when we
eventually implement
save() in plain C. (Luabins is more verbose, at least for numbers,
and, obviously,
much less human-readable.)

We love that luatexts format is Lua-friendly (table-friendly,
actually, but also have tuples,
very useful to emulate function call arguments).

To be able to represent native Lua data as is — is one of luatexts
main design goals,
along with being fast and compact enough while being human-readable
and binary-safe.
(No self-referencing tables though, use e.g. Pluto[2] for that.)

If you do not need to be extremely Lua-friendly, or prefer something
more standard,
I can recommend excellent lua-cmsgpack[3] from Redis author, Salvatore
Sanfilippo.

* * *

All and any feedback welcome (but please read the README[4] first).

Alexander.

[1] — https://github.com/agladysh/luabins
[2] — http://lua-users.org/wiki/PlutoLibrary (BTW, isn't that page outdated?)
[3] — https://github.com/antirez/lua-cmsgpack
[4] — https://github.com/agladysh/luatexts/blob/master/README.md