Skip to content

zabertech/python-izaber-wamp-zerp

Repository files navigation

izaber.wamp.zerp

Base module that brings together most of the requirements to allow ZERP WAMP connectivity within Zaber

Installation

Install the module for your local version of python using the command below. If you have both python 2 and 3 installed then you might need to replace the python keyword with python2, py -2, python3, or py -3 based on the python version you want to use the module for.

python -m pip install izaber-wamp-zerp

This installs the module that can be used in your custom ZERP based python scripts and also provides a command line tool called wampcli to make simple WAMP calls from the command line.

Configuration

The module reads all of its settings from a globally defined configuration file located in the root directory of the user's computer. This configuration file is required for proper operation of the module.

  • Create a file named ~/izaber.yaml (i.e. in the home directory).

    • Linux: /home/yourusername/izaber.yaml
    • MacOS: /Users/yourusername/izaber.yaml
    • Windows: C:\Users\yourusername\izaber.yaml
  • Paste the following into the file to get started and connect to the sandbox database

    default:
        wamp:
            connection:
                url: 'wss://nexus.izaber.com/ws'
                username: 'username'
                password: 'password_for_user'
                timeout: 10
            zerp:
                database: 'sandbox'
  • Replace the username and password with your zerp user and a dashboard API key (or your ZERP password but that is not recommended).

  • More detailed information about defining the configuration files can be found here

Usage

Development

For hacking on the code, this requires the following:

  • git
  • >=python3.8
  • pdm

Setup

git clone [email protected]:systems/izaber-wamp-zerp.git
cd izaber-wamp-zerp
pdm install

And now it's possible to make changes to the code

Tests via Docker

It's not always desireable to pollute the environment with multiple versions of python so using docker compose is the recommend method for testing.

  1. Copy the ./volumes/izaber.yaml.tempate and update with the appropriate permissions to access Nexus
  2. Running the following command will run the tests against pypy3 and from cpython versions 3.8 through 3.13.
    docker compose up

If you would like to work within the container, have a look at the docker-compose.yml and update the CMD to sleep infinity and it will provide a shell environment (via something like docker compose exec src bash) for testing the code within a container.

Tests via Docker via Dev-Env

It's not always desireable to pollute the environment with multiple versions of python so using the dev-env is the recommended way of performing testing.

  1. Clone the dev-env the way you normally would
  2. Ensure that python-izaber-wamp-zerp is enabled in the configuration izaber.yaml
  3. Running docker compose up should instantiate a container like XXXX-python-izaber-wamp-zerp-1

Using the new container will allow testing and verification that the various pythons will function when deployed.

Packaging

  • Ensure that the pyproject.toml has the newest version.
  • Update the VERSIONS.md with the changes made into the library
  • Then, assuming access to the pypi account.
    pdm build
    pdm publish

About

Read-only mirror of the python-izaber-wamp-zerp library.

Resources

License

Stars

Watchers

Forks

Packages

No packages published