Base module that brings together most of the requirements to allow ZERP WAMP connectivity within Zaber
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.
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
- Linux:
-
Paste the following into the file to get started and connect to the
sandbox
databasedefault: 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
- Using izaber-wamp-zerp in python scripts
- Running simple commands on the command line using WAMP CLI
- Generating ZERP types locally on your system
For hacking on the code, this requires the following:
git
>=python3.8
- pdm
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
It's not always desireable to pollute the environment with multiple versions of python so using docker compose is the recommend method for testing.
- Copy the
./volumes/izaber.yaml.tempate
and update with the appropriate permissions to access Nexus - 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.
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.
- Clone the dev-env the way you normally would
- Ensure that
python-izaber-wamp-zerp
is enabled in the configurationizaber.yaml
- 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.
- 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