# \[ANN\] LuaNova.jl 🌑: Easy Lua-Julia Integration

**URL:** https://discourse.julialang.org/t/ann-luanova-jl-easy-lua-julia-integration/132324
**Category:** Package Announcements
**Tags:** package, announcement, lua
**Created:** [September 12, 2025, 6:52pm UTC](https://discourse.julialang.org/t/ann-luanova-jl-easy-lua-julia-integration/132324 "2025-09-12T18:52:25Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![raphasampaio](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/raphasampaio/32/218602_2.png) [@raphasampaio](https://discourse.julialang.org/u/raphasampaio)
#### Post date: [September 12, 2025, 6:52pm UTC](https://discourse.julialang.org/t/ann-luanova-jl-easy-lua-julia-integration/132324/1 "2025-09-12T18:52:25Z")

</div>

Hello Julia Community,

I’m excited to announce the release of **`LuaNova.jl`** (inspired by the **new moon** , or _lua nova_ in Portuguese), a package that simplifies embedding a Lua interpreter in Julia and exposing Julia functions, methods, and structs to Lua.

### Key Features:

- **Bind Julia Functions to Lua** : Expose Julia functions as global Lua functions, with full support for Julia’s multiple dispatch.
- **Expose Julia Structs** : Bind Julia structs to Lua, enabling them to interact via metamethods.

For detailed usage examples, check the GitHub repository [GitHub - raphasampaio/LuaNova.jl: Embed Lua in Julia](https://github.com/raphasampaio/LuaNova.jl).

Enjoy integrating Lua and Julia!

---

<div class="post-metadata">

### Author: ![Paulo\_Jabardo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/paulo_jabardo/32/3196_2.png) [@Paulo\_Jabardo](https://discourse.julialang.org/u/Paulo_Jabardo)
#### Post date: [September 12, 2025, 8:30pm UTC](https://discourse.julialang.org/t/ann-luanova-jl-easy-lua-julia-integration/132324/2 "2025-09-12T20:30:15Z")

</div>

Very nice! I will have to give it a try. The syntax of Lua makes it a nice file format.

---

<div class="post-metadata">

### Author: ![jbytecode](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jbytecode/32/17719_2.png) [@jbytecode](https://discourse.julialang.org/u/jbytecode)
#### Post date: [September 12, 2025, 8:31pm UTC](https://discourse.julialang.org/t/ann-luanova-jl-easy-lua-julia-integration/132324/3 "2025-09-12T20:31:20Z")

</div>

talking to strangers, revisited!

---

<div class="post-metadata">

### Author: ![klafyvel](https://avatars.discourse-cdn.com/v4/letter/k/a587f6/32.png) [@klafyvel](https://discourse.julialang.org/u/klafyvel)
#### Post date: [September 13, 2025, 9:38am UTC](https://discourse.julialang.org/t/ann-luanova-jl-easy-lua-julia-integration/132324/4 "2025-09-13T09:38:50Z")

</div>

Great package! I wonder: would I be able to use this package as a base to generate Documenter.jl documentations for my NeoVim projects? i.e. can I use it to inspect the defined Lua methods of a package and associated comments from Julia?

---

<div class="post-metadata">

### Author: ![raphasampaio](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/raphasampaio/32/218602_2.png) [@raphasampaio](https://discourse.julialang.org/u/raphasampaio)
#### Post date: [September 29, 2025, 2:54pm UTC](https://discourse.julialang.org/t/ann-luanova-jl-easy-lua-julia-integration/132324/5 "2025-09-29T14:54:10Z")

</div>

Thank you @klafyvel!

Short answer: partly yes, you can use LuaNova to `require` your NeoVim Lua modules and introspect their exported functions/tables through Lua’s `debug` library. That gives you names, arity, and source locations, which is enough to generate API pages for Documenter.jl. What you can’t get directly are comments/docstrings, since Lua doesn’t keep them at runtime, you’d need to reopen the source files and extract the comment blocks yourself.
