Name | ramp-packer JSON |
Version |
2.5.8
JSON |
| download |
home_page | |
Summary | Packs for Redis modules into a distributable format |
upload_time | 2023-10-31 11:00:21 |
maintainer | |
docs_url | None |
author | Redis OSS |
requires_python | >=3.7,<4 |
license | BSD-2-Clause |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
[![license](https://img.shields.io/github/license/RedisLabsModules/RAMP.svg)](https://github.com/RedisLabsModules/RAMP)
[![CI](https://github.com/redislabsmodules/ramp/workflows/CI/badge.svg?branch=master)](https://github.com/redislabsmodules/ramp/actions?query=workflow%3ACI+branch%3Amaster)
[![GitHub issues](https://img.shields.io/github/release/RedisLabsModules/RAMP.svg)](https://github.com/RedisLabsModules/RAMP/releases/latest)
[![Codecov](https://codecov.io/gh/RedisLabsModules/RAMP/branch/master/graph/badge.svg)](https://codecov.io/gh/RedisLabsModules/RAMP)
# RAMP
Redis Automatic Module Packaging
Similar to `npm init`, this packer bundles Redis Modules for later distribution.
It gathers information from modules e.g.
module's name, command list, version and additional metadata.
## Prerequisites
Make sure redis-server is on your PATH. GitHub actions install this automatically.
```sh
export PATH=$PATH:<PATH_TO_REDIS>
```
## Install
You can either use pip install or the setup.py script
```sh
pip install ramp-packer
```
```sh
python setup.py install
```
## Usage
## Manifest mode
```sh
ramp pack <PATH_TO_RedisModule.so> -m <PATH_TO_Manifest.yml>
```
manifest.yml should specify your module's attributes, the ones you would specify manualy if you were to use
the Command line mode, see Full usage options and manifest.yml for a reference.
## Command line mode
```sh
ramp pack <PATH_TO_RedisModule.so> -a <author> -e <email> -A <architecture> -d <description> -h <homepage> -l <license> -c <cmdargs> -r <redis-min-version>
```
## Full usage options
```sh
Usage: ramp [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
pack
unpack
validate
version
```
## Packing
```sh
Usage: ramp pack [OPTIONS] MODULE
Options:
-o, --output TEXT output file name
-v, --verbose verbose mode: print the resulting metadata
-m, --manifest FILENAME generate package from manifest
-d, --display-name TEXT name for display purposes
-a, --author TEXT module author
-e, --email TEXT authors email
-A, --architecture TEXT module compiled on i386/x86_64 arch
-D, --description TEXT short description
-h, --homepage TEXT module homepage
-l, --license TEXT license
-c, --cmdargs TEXT module command line arguments
-r, --redis-min-version TEXT redis minimum version
-R, --redis-pack-min-version TEXT
redis pack minimum version
-cc, --config-command TEXT command to configure module at run time
-O, --os TEXT build target OS (Darwin/Linux)
-C, --capabilities TEXT comma seperated list of module capabilities
--help Show this message and exit.
```
## Module Capabilities
Following is a list of capabilities which can be specified for a module
capability | description |
---------- | ----------- |
types | module has its own types and not only operate on existing redis types|
no_multi_key | module has no methods that operate on multiple keys|
replica_of | module can work with replicaof capability when it is loaded into a source or a destination database|
backup_restore | module can work with import/export capability|
eviction_expiry | module is able to handle eviction and expiry without an issue|
reshard_rebalance | module is able to operate in a database that is resharded and rebalanced|
failover_migrate | module is able to operate in a database that is failing over and migrating|
persistence_aof | module is able to operate in a database when database chooses AOF persistence option|
persistence_rdb | module is able to operate in a database when database chooses SNAPSHOT persistence option|
hash_policy | module is able to operate in a database with a user defined HASH POLICY|
flash | module is able to operate in a database with Flash memory is enabled or changed over time|
crdb | module is able to operate in a database with crdt for the default redis data types|
clustering | module is able to operate in a database that is sharded and shards can be migrated|
intershard_tls | module supports two-way encrypted communication between shards|
intershard_tls_pass | module supports `intershard_tls` which requires password
ipv6 | module supports ipv6 communication between shards
## Output
ramp pack generates module.zip
Which contains:
1. RedisModule.so - original module
2. Module.json - module's metadata
3. deps/ - a dir with bundle dependencies (optional)
## Test
Make sure redis-server is on your PATH
```sh
export PATH=$PATH:<PATH_TO_REDIS>
```
Install RAMP
```sh
python setup.py install
```
Compile RedisGraph for your OS v1.0.12 (https://github.com/RedisLabsModules/RedisGraph/tree/v1.0.12)
Copy `redisgraph.so` in `test_module` directory in the root of this project.
Run tests
```sh
python test.py
```
Raw data
{
"_id": null,
"home_page": "",
"name": "ramp-packer",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7,<4",
"maintainer_email": "",
"keywords": "",
"author": "Redis OSS",
"author_email": "oss@redis.com",
"download_url": "https://files.pythonhosted.org/packages/64/96/dac6fe282a5932ed25eb47a2482a2f401ec8a0f3bef9054235c868cb983b/ramp_packer-2.5.8.tar.gz",
"platform": null,
"description": "[![license](https://img.shields.io/github/license/RedisLabsModules/RAMP.svg)](https://github.com/RedisLabsModules/RAMP)\n[![CI](https://github.com/redislabsmodules/ramp/workflows/CI/badge.svg?branch=master)](https://github.com/redislabsmodules/ramp/actions?query=workflow%3ACI+branch%3Amaster)\n[![GitHub issues](https://img.shields.io/github/release/RedisLabsModules/RAMP.svg)](https://github.com/RedisLabsModules/RAMP/releases/latest)\n[![Codecov](https://codecov.io/gh/RedisLabsModules/RAMP/branch/master/graph/badge.svg)](https://codecov.io/gh/RedisLabsModules/RAMP)\n\n\n# RAMP\n\nRedis Automatic Module Packaging\n\nSimilar to `npm init`, this packer bundles Redis Modules for later distribution.\n\nIt gathers information from modules e.g.\nmodule's name, command list, version and additional metadata.\n\n## Prerequisites\n\nMake sure redis-server is on your PATH. GitHub actions install this automatically.\n\n```sh\nexport PATH=$PATH:<PATH_TO_REDIS>\n```\n\n## Install\n\nYou can either use pip install or the setup.py script\n\n```sh\npip install ramp-packer\n```\n\n```sh\npython setup.py install\n```\n\n## Usage\n\n## Manifest mode\n\n```sh\nramp pack <PATH_TO_RedisModule.so> -m <PATH_TO_Manifest.yml>\n```\n\nmanifest.yml should specify your module's attributes, the ones you would specify manualy if you were to use\nthe Command line mode, see Full usage options and manifest.yml for a reference.\n\n## Command line mode\n\n```sh\nramp pack <PATH_TO_RedisModule.so> -a <author> -e <email> -A <architecture> -d <description> -h <homepage> -l <license> -c <cmdargs> -r <redis-min-version>\n```\n\n## Full usage options\n\n```sh\nUsage: ramp [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n --help Show this message and exit.\n\nCommands:\n pack\n unpack\n validate\n version\n```\n\n## Packing\n\n```sh\nUsage: ramp pack [OPTIONS] MODULE\n\nOptions:\n -o, --output TEXT output file name\n -v, --verbose verbose mode: print the resulting metadata\n -m, --manifest FILENAME generate package from manifest\n -d, --display-name TEXT name for display purposes\n -a, --author TEXT module author\n -e, --email TEXT authors email\n -A, --architecture TEXT module compiled on i386/x86_64 arch\n -D, --description TEXT short description\n -h, --homepage TEXT module homepage\n -l, --license TEXT license\n -c, --cmdargs TEXT module command line arguments\n -r, --redis-min-version TEXT redis minimum version\n -R, --redis-pack-min-version TEXT\n redis pack minimum version\n -cc, --config-command TEXT command to configure module at run time\n\n -O, --os TEXT build target OS (Darwin/Linux)\n -C, --capabilities TEXT comma seperated list of module capabilities\n --help Show this message and exit.\n```\n\n## Module Capabilities\n\nFollowing is a list of capabilities which can be specified for a module\n\ncapability | description |\n---------- | ----------- |\ntypes | module has its own types and not only operate on existing redis types|\nno_multi_key | module has no methods that operate on multiple keys|\nreplica_of | module can work with replicaof capability when it is loaded into a source or a destination database|\nbackup_restore | module can work with import/export capability|\neviction_expiry | module is able to handle eviction and expiry without an issue|\nreshard_rebalance | module is able to operate in a database that is resharded and rebalanced|\nfailover_migrate | module is able to operate in a database that is failing over and migrating|\npersistence_aof | module is able to operate in a database when database chooses AOF persistence option|\npersistence_rdb | module is able to operate in a database when database chooses SNAPSHOT persistence option|\nhash_policy | module is able to operate in a database with a user defined HASH POLICY|\nflash | module is able to operate in a database with Flash memory is enabled or changed over time|\ncrdb | module is able to operate in a database with crdt for the default redis data types|\nclustering | module is able to operate in a database that is sharded and shards can be migrated|\nintershard_tls | module supports two-way encrypted communication between shards|\nintershard_tls_pass | module supports `intershard_tls` which requires password\nipv6 | module supports ipv6 communication between shards\n\n## Output\n\nramp pack generates module.zip\n\nWhich contains:\n\n 1. RedisModule.so - original module\n 2. Module.json - module's metadata\n 3. deps/ - a dir with bundle dependencies (optional) \n\n## Test\nMake sure redis-server is on your PATH\n\n```sh\nexport PATH=$PATH:<PATH_TO_REDIS>\n```\n\nInstall RAMP\n```sh\npython setup.py install\n```\n\nCompile RedisGraph for your OS v1.0.12 (https://github.com/RedisLabsModules/RedisGraph/tree/v1.0.12)\n\nCopy `redisgraph.so` in `test_module` directory in the root of this project.\n\nRun tests\n```sh\npython test.py\n```\n",
"bugtrack_url": null,
"license": "BSD-2-Clause",
"summary": "Packs for Redis modules into a distributable format",
"version": "2.5.8",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "fe8ed43cd7234176a253f4625fd138dfb968603121626cc9277aabe73836ff36",
"md5": "a5bcba52b44d2c241a36f8513ed10aa7",
"sha256": "de073b0ccebea1d7104daec26d3ec7408c801ad9170c766e3be62e914baac3bf"
},
"downloads": -1,
"filename": "ramp_packer-2.5.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a5bcba52b44d2c241a36f8513ed10aa7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7,<4",
"size": 15738,
"upload_time": "2023-10-31T11:00:18",
"upload_time_iso_8601": "2023-10-31T11:00:18.989019Z",
"url": "https://files.pythonhosted.org/packages/fe/8e/d43cd7234176a253f4625fd138dfb968603121626cc9277aabe73836ff36/ramp_packer-2.5.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6496dac6fe282a5932ed25eb47a2482a2f401ec8a0f3bef9054235c868cb983b",
"md5": "d874d3bb6d42736dfd0360505cf4cf92",
"sha256": "4d70e5b1e4da94758fbb5c742b3215054c5f9a48b810b22df33e9592725960a2"
},
"downloads": -1,
"filename": "ramp_packer-2.5.8.tar.gz",
"has_sig": false,
"md5_digest": "d874d3bb6d42736dfd0360505cf4cf92",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7,<4",
"size": 12608,
"upload_time": "2023-10-31T11:00:21",
"upload_time_iso_8601": "2023-10-31T11:00:21.077055Z",
"url": "https://files.pythonhosted.org/packages/64/96/dac6fe282a5932ed25eb47a2482a2f401ec8a0f3bef9054235c868cb983b/ramp_packer-2.5.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-31 11:00:21",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "ramp-packer"
}