A lua script combobulator aimed at roblox
Project description
Hathor
Hathor is a commandline tool that helps you combobulate vanilla-like Lua source code into Roblox Lua compatible modules.
Goals
The main goal of hathor is to be able to use vanilla-style imports with Roblox Lua. This makes it so autocompletion within Lua IDEs works properly with Roblox modules. The side effect of this is that the build output can be specialized depending on project needs. To aide with development, hathor also includes a synchronization server that can synchronize your scripts with Roblox Studio.
Hathor is a replacement for two older Rockit tools:
Getting started
Getting started with hathor is easy. The CLI is installable through pip:
pip install --user hathor
or through pip, but using the git repository as source:
pip install git+https://gitlab.com/rockit-tools/hathor.git
Installing using the git repository should install the latest development (semi-stable) version of hathor.
Roblox Studio Plugin
To get changes synchronized in to studio, you need to install the complementary plugin. Hathor is compatible with the older Zipline plugin for Roblox Studio.
Link: Zipline Synchronization plugin
Concepts
Creating a new project can be done through the hathor CLI, however you'll need to know about some core concepts.
Project configuration file
Every hathor project requires a hathor.project.yml
file to be present at its root. This file
contains all requisite configuration for a hathor project to function. An example of this can be
found in the example_project
that is bundled with the source code.
Paths in the project configuration
All paths in the project configuration are:
- Relative to the project configuration file
- Unix style, meaning that the path separator is a forward slash.
Sources
Hathor can pull sources from multiple source directories. These should be listed under the sources
section of the project configuration file. The key of each source is the path to the source, while
the key/value pairs for a source are its properties. Sources can be enabled and disabled as required.
Build profiles
The build
section of the project contains build profiles. A build profile specifies how your
hathor project should be built. The configuration directly under the build
section is the default
build profile. However, additional profiles can be specified using the profiles
subsection.
Builders
Hathor is bundled with 'builders'. These are simply functions that build your project into the desired result. Currently hathor ships with two builder:
modular
: Creates a modular build, using the Hathor loadercopy
: Creates a 1:1 copy of your sources
Synchronization
The hathor serve
command spins up a REST api for the synchronization plugin. The server will
detect changes in your defined sources and build your project in memory. Output files from the build
will be synchronized to Roblox Studio.
Creating a new project
Creating a new project with hathor is as easy as its gets. All you have to do is:
- Create a new project directory
cd
into your project directory- Run
hathor init
The hathor init
command will prompt you with several questions, and will set up a project for you.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file hathor-0.0.30.dev0.tar.gz
.
File metadata
- Download URL: hathor-0.0.30.dev0.tar.gz
- Upload date:
- Size: 48.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 168d66133dc57fe14b5174dd9e85171b0894b7fa91aace19a3d0d360d064f8d2 |
|
MD5 | d4753e0ead7a5be39fa3762c72548f8c |
|
BLAKE2b-256 | b64e756a79119d2b0d3f5eb8e0b7cb46833dcc66da9371c735d158d87c840d6c |
File details
Details for the file hathor-0.0.30.dev0-py3-none-any.whl
.
File metadata
- Download URL: hathor-0.0.30.dev0-py3-none-any.whl
- Upload date:
- Size: 43.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9815c86ffe756799609f7ec242ad4d91c63e1567806f2845154badf22f50366b |
|
MD5 | 2b168abfd84da8de0f006e43513ae643 |
|
BLAKE2b-256 | 60facb508eed2db99604fa12053ec046e6b6753e6ec545b2a1f7b3a57b90dd82 |