Lua distros again

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
49 messages Options
123
Reply | Threaded
Open this post in threaded view
|

Lua distros again

Dibyendu Majumdar
Hi,

I have always wanted to (but haven't managed to yet) bundle some high
quality libraries with Ravi in a well tested combination with support
for Windows, Linux and Mac OSX. Is there a list of the best essential
libraries for Lua? I want to bundle a small set of high quality
libraries that I will test with Ravi, rather than a huge set of
untested libraries of varying quality.

My preference is to use CMake based build system - such as used by
VCPKG by Microsoft, or LuaDist.

Thanks and Regards
Dibyendu

Reply | Threaded
Open this post in threaded view
|

Re: Lua distros again

Pierre Chapuis
> Is there a list of the best essential libraries for Lua?
> I want to bundle a small set of high quality
> libraries that I will test with Ravi, rather than a huge set of
> untested libraries of varying quality.

>From the end of 2013 to the end of 2016 I was running a website
called Lua Toolbox where community members could endorse
the modules they used. The website has been merged into
the main LuaRocks website and sadly this feature has been lost
in the process, but the top 5 modules at the time were:

- luafilesystem
- luasocket
- lpeg
- luarocks
- luaposix

I think they represent what I would expect in such a distribution
pretty well. Maybe not LuaRocks given that you want a different
build system, and maybe winapi as the pendent of luaposix for
Windows users... Some OpenSSL binding is also a must have.

--
Pierre Chapuis

Reply | Threaded
Open this post in threaded view
|

Re: Lua distros again

Etiene Dalcol
The most downloaded list at luarocks.org can also be an indicative.

Based on that, I would say lua-cjson is also a good candidate

On 29 January 2018 at 09:27, Pierre Chapuis <[hidden email]> wrote:
> Is there a list of the best essential libraries for Lua?
> I want to bundle a small set of high quality
> libraries that I will test with Ravi, rather than a huge set of
> untested libraries of varying quality.

>From the end of 2013 to the end of 2016 I was running a website
called Lua Toolbox where community members could endorse
the modules they used. The website has been merged into
the main LuaRocks website and sadly this feature has been lost
in the process, but the top 5 modules at the time were:

- luafilesystem
- luasocket
- lpeg
- luarocks
- luaposix

I think they represent what I would expect in such a distribution
pretty well. Maybe not LuaRocks given that you want a different
build system, and maybe winapi as the pendent of luaposix for
Windows users... Some OpenSSL binding is also a must have.

--
Pierre Chapuis




--
Etiene Dalcol

Software Engineer @ Red Badger 
Lua Space http://lua.space
LuaConf http://luaconf.com

Reply | Threaded
Open this post in threaded view
|

Re: Lua distros again

Pierre Chapuis
The "most downloaded" stats can be misleading though.

If a module is included in the dependencies of a popular
project, and that project uses CI, it will be downloaded
thousands of times. For instance my fakeredis module
has over 100 000 downloads because it is used in the
tests of a popular Telegram bot...

--
Pierre Chapuis


On Mon, Jan 29, 2018, at 10:31, Etiene Dalcol wrote:
The most downloaded list at luarocks.org can also be an indicative.

Based on that, I would say lua-cjson is also a good candidate

On 29 January 2018 at 09:27, Pierre Chapuis <[hidden email]> wrote:
> Is there a list of the best essential libraries for Lua?
> I want to bundle a small set of high quality
> libraries that I will test with Ravi, rather than a huge set of
> untested libraries of varying quality.

>From the end of 2013 to the end of 2016 I was running a website
called Lua Toolbox where community members could endorse
the modules they used. The website has been merged into
the main LuaRocks website and sadly this feature has been lost
in the process, but the top 5 modules at the time were:

- luafilesystem
- luasocket
- lpeg
- luarocks
- luaposix

I think they represent what I would expect in such a distribution
pretty well. Maybe not LuaRocks given that you want a different
build system, and maybe winapi as the pendent of luaposix for
Windows users... Some OpenSSL binding is also a must have.

--
Pierre Chapuis



--
Etiene Dalcol

Software Engineer @ Red Badger 


Reply | Threaded
Open this post in threaded view
|

Re: Lua distros again

Ką Mykolas
Penlight looks like a nice target as well.

On 29 Jan 2018 12:02 pm, "Pierre Chapuis" <[hidden email]> wrote:
The "most downloaded" stats can be misleading though.

If a module is included in the dependencies of a popular
project, and that project uses CI, it will be downloaded
thousands of times. For instance my fakeredis module
has over 100 000 downloads because it is used in the
tests of a popular Telegram bot...

--
Pierre Chapuis


On Mon, Jan 29, 2018, at 10:31, Etiene Dalcol wrote:
The most downloaded list at luarocks.org can also be an indicative.

Based on that, I would say lua-cjson is also a good candidate

On 29 January 2018 at 09:27, Pierre Chapuis <[hidden email]> wrote:
> Is there a list of the best essential libraries for Lua?
> I want to bundle a small set of high quality
> libraries that I will test with Ravi, rather than a huge set of
> untested libraries of varying quality.

>From the end of 2013 to the end of 2016 I was running a website
called Lua Toolbox where community members could endorse
the modules they used. The website has been merged into
the main LuaRocks website and sadly this feature has been lost
in the process, but the top 5 modules at the time were:

- luafilesystem
- luasocket
- lpeg
- luarocks
- luaposix

I think they represent what I would expect in such a distribution
pretty well. Maybe not LuaRocks given that you want a different
build system, and maybe winapi as the pendent of luaposix for
Windows users... Some OpenSSL binding is also a must have.

--
Pierre Chapuis



--
Etiene Dalcol

Software Engineer @ Red Badger 


Reply | Threaded
Open this post in threaded view
|

Re: Lua distros again

Etiene Dalcol
In reply to this post by Pierre Chapuis
Correct, which is why it can be an indicative, but should be taken with a pinch of salt :)

On 29 January 2018 at 10:02, Pierre Chapuis <[hidden email]> wrote:
The "most downloaded" stats can be misleading though.

If a module is included in the dependencies of a popular
project, and that project uses CI, it will be downloaded
thousands of times. For instance my fakeredis module
has over 100 000 downloads because it is used in the
tests of a popular Telegram bot...

--
Pierre Chapuis


On Mon, Jan 29, 2018, at 10:31, Etiene Dalcol wrote:
The most downloaded list at luarocks.org can also be an indicative.

Based on that, I would say lua-cjson is also a good candidate

On 29 January 2018 at 09:27, Pierre Chapuis <[hidden email]> wrote:
> Is there a list of the best essential libraries for Lua?
> I want to bundle a small set of high quality
> libraries that I will test with Ravi, rather than a huge set of
> untested libraries of varying quality.

>From the end of 2013 to the end of 2016 I was running a website
called Lua Toolbox where community members could endorse
the modules they used. The website has been merged into
the main LuaRocks website and sadly this feature has been lost
in the process, but the top 5 modules at the time were:

- luafilesystem
- luasocket
- lpeg
- luarocks
- luaposix

I think they represent what I would expect in such a distribution
pretty well. Maybe not LuaRocks given that you want a different
build system, and maybe winapi as the pendent of luaposix for
Windows users... Some OpenSSL binding is also a must have.

--
Pierre Chapuis



--
Etiene Dalcol

Software Engineer @ Red Badger 





--
Etiene Dalcol

Software Engineer @ Red Badger 
Lua Space http://lua.space
LuaConf http://luaconf.com

Reply | Threaded
Open this post in threaded view
|

Re: Lua distros again

steve donovan
In reply to this post by Pierre Chapuis
On Mon, Jan 29, 2018 at 11:27 AM, Pierre Chapuis <[hidden email]> wrote:
> - luafilesystem
> - luasocket
> - lpeg
> - luarocks
> - luaposix

Yep, that's pretty much the Lua Big Five!

I try to be a good parent and winapi is still on my list for updates
and revision.

Reply | Threaded
Open this post in threaded view
|

Re: Lua distros again

Sean Conner
In reply to this post by Pierre Chapuis
It was thus said that the Great Pierre Chapuis once stated:

> > Is there a list of the best essential libraries for Lua?
> > I want to bundle a small set of high quality
> > libraries that I will test with Ravi, rather than a huge set of
> > untested libraries of varying quality.
>
> >From the end of 2013 to the end of 2016 I was running a website
> called Lua Toolbox where community members could endorse
> the modules they used. The website has been merged into
> the main LuaRocks website and sadly this feature has been lost
> in the process, but the top 5 modules at the time were:
>
> - luafilesystem
> - luasocket
> - lpeg
> - luarocks
> - luaposix

  There is, however, large overlap between luafilesystem, luaposix and
luasocket.  luaposix contains a socket implementation in addition to file
system calls.  luasocket and luafilesystem are less ... POSIXy than
luaposix and pretty much just cover the basics in their respective areas (I
think luaposix has more filesystem calls than luafilesystem and more socket
related calls than luasocket).

  And um ... who maintains ULua? [1]  They also provide Lua modules for Linux,
Mac and Windows.

  -spc

[1] http://ulua.io/index.html


Reply | Threaded
Open this post in threaded view
|

Re: Lua distros again

steve donovan
On Mon, Jan 29, 2018 at 1:04 PM, Sean Conner <[hidden email]> wrote:
>   There is, however, large overlap between luafilesystem, luaposix and
> luasocket.  luaposix contains a socket implementation in addition to file
> system calls.  luasocket and luafilesystem are less ... POSIXy than
> luaposix and pretty much just cover the basics in their respective areas (I
> think luaposix has more filesystem calls than luafilesystem and more socket
> related calls than luasocket).

This is the well-known curse of portability ;)

Reply | Threaded
Open this post in threaded view
|

Re: Lua distros again

Italo Maia
Maybe trying to target functionality coverage with libs or which libs are most used by the bigger lua projects would be the way to go. 

PS: 30log is quite nice for OO;
PSS: I would give preference for smaller libs that do "just enough", instead of bigger "all-in-one" solutions;
PSSS: Maybe battling libs against one another, pros vs cons, would be nice; issues for each, maybe?
PSSSS: Would native lua libs have preference?
PSSSSS: Too many PS so far, cheers!

Em 29 de jan de 2018 8:40 AM, "steve donovan" <[hidden email]> escreveu:
On Mon, Jan 29, 2018 at 1:04 PM, Sean Conner <[hidden email]> wrote:
>   There is, however, large overlap between luafilesystem, luaposix and
> luasocket.  luaposix contains a socket implementation in addition to file
> system calls.  luasocket and luafilesystem are less ... POSIXy than
> luaposix and pretty much just cover the basics in their respective areas (I
> think luaposix has more filesystem calls than luafilesystem and more socket
> related calls than luasocket).

This is the well-known curse of portability ;)

Reply | Threaded
Open this post in threaded view
|

Re: Lua distros again

Jay Carlson
In reply to this post by steve donovan
On Jan 29, 2018, at 5:37 AM, steve donovan <[hidden email]> wrote:
>
> On Mon, Jan 29, 2018 at 11:27 AM, Pierre Chapuis <[hidden email]> wrote:
>> - luafilesystem
>> - luasocket
>> - lpeg
>> - luarocks
>> - luaposix
>
> Yep, that's pretty much the Lua Big Five!

If I had to add one, it would be luasec, since raw TCP is decreasingly useful on the open web, which is going/gone all-SSL pretty fast.

It would be really cool to have Python Requests (http://requests.readthedocs.io/en/master/ ) but I'm not writing it.

Jay
Reply | Threaded
Open this post in threaded view
|

Re: Lua distros again

Hisham
On 29 January 2018 at 17:13, Jay Carlson <[hidden email]> wrote:

> On Jan 29, 2018, at 5:37 AM, steve donovan <[hidden email]> wrote:
>>
>> On Mon, Jan 29, 2018 at 11:27 AM, Pierre Chapuis <[hidden email]> wrote:
>>> - luafilesystem
>>> - luasocket
>>> - lpeg
>>> - luarocks
>>> - luaposix
>>
>> Yep, that's pretty much the Lua Big Five!
>
> If I had to add one, it would be luasec, since raw TCP is decreasingly useful on the open web, which is going/gone all-SSL pretty fast.
>
> It would be really cool to have Python Requests (http://requests.readthedocs.io/en/master/ ) but I'm not writing it.

I have used lua-requests successfully in the past, it's pretty nice:
https://luarocks.org/modules/jakeg/lua-requests

It's missing a few features here and there (I think it couldn't do
multipart upload in POST, something like that) but otherwise the API
is just bliss.

-- Hisham

Reply | Threaded
Open this post in threaded view
|

Re: Lua distros again

Dibyendu Majumdar
In reply to this post by Pierre Chapuis
On 29 January 2018 at 09:27, Pierre Chapuis <[hidden email]> wrote:

>> Is there a list of the best essential libraries for Lua?
>> I want to bundle a small set of high quality
>> libraries that I will test with Ravi, rather than a huge set of
>> untested libraries of varying quality.
>
> >From the end of 2013 to the end of 2016 I was running a website
> called Lua Toolbox where community members could endorse
> the modules they used. The website has been merged into
> the main LuaRocks website and sadly this feature has been lost
> in the process, but the top 5 modules at the time were:
>
> - luafilesystem
> - luasocket
> - lpeg
> - luarocks
> - luaposix
>
> I think they represent what I would expect in such a distribution
> pretty well. Maybe not LuaRocks given that you want a different
> build system, and maybe winapi as the pendent of luaposix for
> Windows users... Some OpenSSL binding is also a must have.
>

Thank you. I have been thinking about libuv wrapper (maybe Luvit)
which also overlaps with luafilesystem, luasocket and luaposix too
probably. Of course libuv is quite a big piece and I certainly do not
wish to force async style programming on everyone. Any thoughts on
libuv versus these three? lpeg is a no brainer of course - and
luarocks of course is a more generic package manager system.

Thanks and Regards
Dibyendu

Reply | Threaded
Open this post in threaded view
|

Re: Lua distros again

Dibyendu Majumdar
In reply to this post by Etiene Dalcol
On 29 January 2018 at 09:31, Etiene Dalcol <[hidden email]> wrote:
> The most downloaded list at luarocks.org can also be an indicative.
>
> Based on that, I would say lua-cjson is also a good candidate
>

Thank you - json library is clearly a must have.

Regards
Dibyendu

Reply | Threaded
Open this post in threaded view
|

Re: Lua distros again

Dibyendu Majumdar
In reply to this post by Ką Mykolas
On 29 January 2018 at 10:04, Ką Mykolas <[hidden email]> wrote:
> Penlight looks like a nice target as well.
>

Thank you - yes I have looked at Penlight, although I think (tell me
if I am wrong) that it is a pure Lua library. So integration effort is
not that great compared to the native libraries.

Regards
Dibyendu

Reply | Threaded
Open this post in threaded view
|

Re: Lua distros again

Dibyendu Majumdar
In reply to this post by steve donovan
On 29 January 2018 at 10:37, steve donovan <[hidden email]> wrote:

> On Mon, Jan 29, 2018 at 11:27 AM, Pierre Chapuis <[hidden email]> wrote:
>> - luafilesystem
>> - luasocket
>> - lpeg
>> - luarocks
>> - luaposix
>
> Yep, that's pretty much the Lua Big Five!
>
> I try to be a good parent and winapi is still on my list for updates
> and revision.
>

How much of an overlap is there between winapi and libuv?

Thanks and Regards
Dibyendu

Reply | Threaded
Open this post in threaded view
|

Re: Lua distros again

Dibyendu Majumdar
In reply to this post by Sean Conner
On 29 January 2018 at 11:04, Sean Conner <[hidden email]> wrote:

> It was thus said that the Great Pierre Chapuis once stated:
>> > Is there a list of the best essential libraries for Lua?
>> > I want to bundle a small set of high quality
>> > libraries that I will test with Ravi, rather than a huge set of
>> > untested libraries of varying quality.
>>
>> >From the end of 2013 to the end of 2016 I was running a website
>> called Lua Toolbox where community members could endorse
>> the modules they used. The website has been merged into
>> the main LuaRocks website and sadly this feature has been lost
>> in the process, but the top 5 modules at the time were:
>>
>> - luafilesystem
>> - luasocket
>> - lpeg
>> - luarocks
>> - luaposix
>
>   There is, however, large overlap between luafilesystem, luaposix and
> luasocket.  luaposix contains a socket implementation in addition to file
> system calls.  luasocket and luafilesystem are less ... POSIXy than
> luaposix and pretty much just cover the basics in their respective areas (I
> think luaposix has more filesystem calls than luafilesystem and more socket
> related calls than luasocket).
>

There is probably also a lot of overlap with libuv / Luvit package.

>   And um ... who maintains ULua? [1]  They also provide Lua modules for Linux,
> Mac and Windows.
>
> [1]     http://ulua.io/index.html
>

I think ULua is a LuaJIT distro.

Regards
Dibyendu

Reply | Threaded
Open this post in threaded view
|

Re: Lua distros again

Dibyendu Majumdar
In reply to this post by Italo Maia
On 29 January 2018 at 13:01, Italo Maia <[hidden email]> wrote:
> Maybe trying to target functionality coverage with libs or which libs are
> most used by the bigger lua projects would be the way to go.
>

Yes but also looking at following:

* Torch tensor library (maybe some other torch components too)
* Cephes wrapper
* Libcurl wrapper
* Maybe the Luajit FFI port

> PS: 30log is quite nice for OO;

Not sure an OO solution is worthwhile given there is no single winner.

> PSS: I would give preference for smaller libs that do "just enough", instead
> of bigger "all-in-one" solutions;

Yes I like small libs too.

I am probably missing something in the openssl space.

Thanks and Regards
Dibyendu

Reply | Threaded
Open this post in threaded view
|

Re: Lua distros again

Dibyendu Majumdar
In reply to this post by Jay Carlson
On 29 January 2018 at 19:13, Jay Carlson <[hidden email]> wrote:

> On Jan 29, 2018, at 5:37 AM, steve donovan <[hidden email]> wrote:
>>
>> On Mon, Jan 29, 2018 at 11:27 AM, Pierre Chapuis <[hidden email]> wrote:
>>> - luafilesystem
>>> - luasocket
>>> - lpeg
>>> - luarocks
>>> - luaposix
>>
>> Yep, that's pretty much the Lua Big Five!
>
> If I had to add one, it would be luasec, since raw TCP is decreasingly useful on the open web, which is going/gone all-SSL pretty fast.
>
> It would be really cool to have Python Requests (http://requests.readthedocs.io/en/master/ ) but I'm not writing it.
>

Thank you for the suggestions - would these two overlap wit libcurl?

Regards
Dibyendu

Reply | Threaded
Open this post in threaded view
|

Re: Lua distros again

Dibyendu Majumdar
In reply to this post by Hisham
On 29 January 2018 at 19:39, Hisham <[hidden email]> wrote:
> I have used lua-requests successfully in the past, it's pretty nice:
> https://luarocks.org/modules/jakeg/lua-requests
>
> It's missing a few features here and there (I think it couldn't do
> multipart upload in POST, something like that) but otherwise the API
> is just bliss.
>

I was thinking of libcurl in this space but admit do not know the pros and cons.

Regards
Dibyendu

123