Skip to main content

Use python package to manage LUA plugin, so that the plugin can be published to private pypi server and used internally. A temporary solution for PYTHONER using kong.

Project description

luaproject

Use python package to manage lua&kong plugin, so that the plugin can be published to pypi server. A temporary solution for PYTHONER using lua&kong.

Install

pip install luaproject

Installed Command Utils

  • luaproject

command usage

C:\Workspace>luaproject
Usage: luaproject [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  init  Init lua project.

Example

example files

.
./example
./example/src
./example/src/.rockspec
./example/src/lua
./example/src/lua/handler.lua
./example/src/lua/schema.lua
./example/__init__.py
./LICENSE
./manage_example.py
./MANIFEST.in
./README.md
./requirements.txt
./setup.py

content of .rockspec

package = "example"
version = "0.1.0-1"
source = {
    url = "example-0.1.0-1.zip"
}
description = {
    summary = "lua plugin example",
}
dependencies = {
    "lua >= 5.1, < 5.4",
}
build = {
    type = "builtin",
    modules = {
        ["kong.plugins.example.handler"] = "lua/handler.lua",
        ["kong.plugins.example.schema"] = "lua/schema.lua",
    }
}

content of example_manager.py

import os
from luaproject import LuaProjectManager
import example

application_root = os.path.abspath(os.path.dirname(example.__file__))
manager = LuaProjectManager(application_root).get_manager()

if __name__ == "__main__":
    manager()

content of setup.py

setup(
    ...
    entry_points={
        "console_scripts": [
            "manage-example = manage_example:manager",
        ]
    },
)

usage of manage-example

Usage: manage-example [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  install  Create a lua package and then install it.
  pack     Create a lua package.

Releases

v0.3.3 2020/11/06

  • Remove luaproject.get_version in example/setup.py to fix install problem.

v0.3.2 2020/08/27

  • Add default .gitignore in lua project template.

v0.3.1 2020/08/27

  • Fix setup.py, add py_module parameter to fix luaproject not installed problem.
  • Fix template content replace problem.

v0.3.0 2020/08/26

  • Rename from kong-plugin-local-manager to luaproject.
  • manage-example.pack command add username parameter to create a rockspec file that can use in uploading to https://luarocks.org/.
  • Auto calc sdist version from .rockspec file.

v0.2.0 2020/07/31

  • Add kong-plugin-local-manager command tools.

v0.1.0 2020/07/30

  • First release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

luaproject-0.3.3.tar.gz (7.0 kB view details)

Uploaded Source

File details

Details for the file luaproject-0.3.3.tar.gz.

File metadata

  • Download URL: luaproject-0.3.3.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.6.8

File hashes

Hashes for luaproject-0.3.3.tar.gz
Algorithm Hash digest
SHA256 b0cb8eabdb9128c46f172f3cd2fe306e248c62edbc5a1f89525e23452d297ce6
MD5 18e90e78cae49f8d46ec0f3784ad9bf5
BLAKE2b-256 bc3572487f1112ecbea0fddfbee4d6763ca4575926bd93930581b46f80d4ae88

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page