Skip to main content

license CircleCI GitHub issues Codecov

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

export PATH=$PATH:<PATH_TO_REDIS>

Install

You can either use pip install or the setup.py script

pip install ramp-packer
python setup.py install

Usage

Manifest mode

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

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

Usage: ramp [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  pack
  unpack
  validate
  version

Packing

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

Output

ramp pack generates module.zip

Which contains:

1. RedisModule.so - original module
2. Module.json - module's metadata

Test

Make sure redis-server is on your PATH

export PATH=$PATH:<PATH_TO_REDIS>

Install RAMP

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

python test.py

Download files

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

Source Distribution

ramp-packer-2.1.0.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

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

ramp_packer-2.1.0-py2.py3-none-any.whl (14.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file ramp-packer-2.1.0.tar.gz.

File metadata

  • Download URL: ramp-packer-2.1.0.tar.gz
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.7 CPython/3.7.11 Linux/5.8.0-1039-azure

File hashes

Hashes for ramp-packer-2.1.0.tar.gz
Algorithm Hash digest
SHA256 4d875ac3795c99c9a5ec9cbab7444ae4c782e83a0cbee3e278909a895604020d
MD5 66440cf7c06bd42a47d19403555c3273
BLAKE2b-256 6682ed2999c7790875397588b70a54dd5e05f60b1b357e649572a7c0102bb558

See more details on using hashes here.

File details

Details for the file ramp_packer-2.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: ramp_packer-2.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 14.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.7 CPython/3.7.11 Linux/5.8.0-1039-azure

File hashes

Hashes for ramp_packer-2.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7f1d4cc6113dc969dc9330cf883139232c509b571bfa3ce16582050805422d86
MD5 8b7584f676b7cd0c80fb0a3540d4e1d9
BLAKE2b-256 f43f2df89b7a86ff4b9cb5046d28a9349f8ebb8dc5ca7cd2a28bcd8226192dad

See more details on using hashes here.

Release history Release notifications | RSS feed

2.5.19

2 files

2.5.18

2 files

2.5.17

2 files

2.5.16

2 files

2.5.15

2 files

2.5.14

2 files

2.5.13

2 files

2.5.12

2 files

2.5.11

2 files

2.5.10

2 files

2.5.8

2 files

2.5.7

2 files

2.5.6

2 files

2.5.5

2 files

2.5.4

2 files

2.5.3

2 files

2.5.2

2 files

2.5.1

2 files

2.5.0

2 files

2.4.0

2 files

2.3.2

2 files

2.3.1

2 files

2.3.0

2 files

2.2.1

2 files

2.2.0

2 files

This release

2.1.0 This release

2 files

2.0.3

1 file

2.0.0

1 file

1.9.0

1 file

1.8.0

1 file

1.6.0

1 file

1.5.0

1 file

1.4.0

1 file

1.3.9

1 file

1.3.8

1 file

1.3.7

1 file

1.3.6

1 file

1.3.5

1 file

1.3.4

1 file

1.3.3

1 file

1.3.2

1 file

1.3.1

1 file

1.3.0

1 file

1.2.3

1 file

1.2.2

1 file

1.2.1

1 file

1.2.0

1 file

1.1

1 file

1.0

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page