Skip to main content

Package Lumengine extensions (.lmext archives)

Project description

lm-package

Package Lumengine extensions into .lmext archives.

Lightweight CLI tool (stdlib only) that validates, packages, and optionally signs Lumengine extensions for distribution via the Extension Manager.

Installation

pip install lm-package          # base (stdlib only)
pip install lm-package[signing] # with Ed25519 signing (cryptography)

Usage

# Package a Python extension
lm-package .

# Package a C++ extension from build output
lm-package . --build-dir Release/Plugins/MyExt

# Package with ABI tag (for native C++ extensions)
lm-package . --build-dir build/install --abi-tag msvc-win64-release

# Validate manifest without packaging
lm-package . --validate

# Generate Ed25519 key pair for signing
lm-package --genkeys my-publisher

# Package and sign
lm-package . --sign my-publisher.key

Also accessible via module:

python -m lm_package .

ABI Tags

Native C++ extensions must specify an ABI tag to differentiate platform/config variants:

Tag Platform
msvc-win64-release Windows x64 Release
msvc-win64-debug Windows x64 Debug
gcc-linux64-release Linux x64 Release
gcc-linux64-debug Linux x64 Debug

The --abi-tag flag injects the tag into the manifest embedded in the .lmext archive and appends it to the output filename.

Manifest

Every extension requires a manifest.json at its root:

{
    "formatVersion": 1,
    "id": "com.author.my-extension",
    "name": "My Extension",
    "version": "1.0.0",
    "description": "What it does",
    "author": { "name": "Author Name" },
    "engine": { "minVersion": "26.0.0" },
    "platforms": ["windows-x64", "linux-x64"],
    "pluginType": "editor"
}

Supported pluginType values: editor, nodes, importer, extension-pack.

License

Apache-2.0

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

lm_package-1.2.2.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lm_package-1.2.2-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

Details for the file lm_package-1.2.2.tar.gz.

File metadata

  • Download URL: lm_package-1.2.2.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lm_package-1.2.2.tar.gz
Algorithm Hash digest
SHA256 fce2f253a8a8f0c5b3ee752c2232771da828f6693a48e58a8e6c301b59ae9a5b
MD5 46b71fb5d8e8685012ca0c43bf1c91a0
BLAKE2b-256 e504d1eae1c26d196c3bc82bcc0a348a4b6c01b2f82c416fcdea91794a273940

See more details on using hashes here.

Provenance

The following attestation bundles were made for lm_package-1.2.2.tar.gz:

Publisher: publish.yml on Lumengine/lm-package

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lm_package-1.2.2-py3-none-any.whl.

File metadata

  • Download URL: lm_package-1.2.2-py3-none-any.whl
  • Upload date:
  • Size: 10.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lm_package-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2d2c6a00f2bd4fd34e554f498ccea124aa471ad945850d2e0caae435dc127b36
MD5 31688b2f2ae8c7aa921bd778700e44f6
BLAKE2b-256 de0dc0d225a2d30eb95dfa658bb2c7c9cf43ab5f4326d70d9cd3d6f694a70e58

See more details on using hashes here.

Provenance

The following attestation bundles were made for lm_package-1.2.2-py3-none-any.whl:

Publisher: publish.yml on Lumengine/lm-package

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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