bisos.mmWsCs: MM-WS-CS Library: Machine-to-Machine -- Web Services -- Command Services (CS) -- A
Project description
set of facilities for developing Performer and Invoker web-services based on Swagger (Open-API) specifications through ICMs.
Overview
bisos.mmWsCs is a python package for BISOS Capabilities Bundles – Abstraction, Specification and Materialization.
Package Documentation At Github
The information below is a subset of the full of documentation for this bisos-pip package. More complete documentation is available at: https://github.com/bisos-pip/mmWsCs-cs
Realted Resources
bisos Capabilities Panel |
file:/panels/capab ilities/_nodeBase_/fullUsagePanel-en.org |
Table of Contents TOC
Installation
The sources for the bisos.mmWsCs pip package is maintained at: https://github.com/bisos-pip/mmWsCs.
The bisos.mmWsCs pip package is available at PYPI as https://pypi.org/project/bisos.mmWsCs
You can install bisos.mmWsCs with pip or pipx.
Installation With pip
If you need access to bisos.mmWsCs as a python module, you can install it with pip:
pip install bisos.mmWsCs
Installation With pipx
If you only need access to bisos.mmWsCs as a command on command-line, you can install it with pipx:
pipx install bisos.mmWsCs
The following commands are made available:
bin/rinvoker.py A starting point template to be customized for your own swagger file.
bin/rinvokerPetstore.py Provides a list of Petstore example command line invokations.
bin/opScnPetstore.py Points to various scenario files for the Petstore example.
Remote Invoker (rinvoker-svc.py) Examples
For the example ``Pet Store Service’’ at http://petstore.swagger.io/v2/swagger.json at command-line (or in bash) you can run:
rinvokerPetstore.py
Which will auto generate a complete list of all supported remote opperations in the Swagger Service Specification.
You can then invoke any of those remote operations from the command-line, by executing for example:
rinvokerPetstore.py --svcSpec="http://petstore.swagger.io/v2/swagger.json" --resource="pet" --opName="getPetById" -i rinvoke petId=1
Which will produce something like:
Operation Status: 200 OK
Operation Result: { u'category': { u'id': 0, u'name': u'string'},
u'id': 1,
u'name': u'testsw',
u'photoUrls': [u'string'],
u'status': u'tttest',
u'tags': [{ u'id': 0, u'name': u'string'}]}
By turning on verbosity to level 15 (rinvokerPetstore.py -v 15) you can observe complete http traffic as reported by requests library.
Operation Scenario (opScn-svc.py) Examples
For the example ``Pet Store Service’’ at http://petstore.swagger.io/v2/swagger.json using python with RO\_ abstractions you can specify remote invokation and expectations.
To get a list of some example scenatios run:
opScnPetstore.py
To run a particular example scenario, you can then run:
opScnPetstore.py --load /tmp/py2v1/local/lib/python2.7/site-packages/bisos/mmwsIcm-base/opScn-1.py -i roListExpectations
Which will produce something like:
* ->:: @None@pet@getPetById
** ->:: svcSpec=http://petstore.swagger.io/v2/swagger.json
** ->:: Header Params: None
** ->:: Url Params:
{ 'petId': 1}
** ->:: Body Params: None
* <-:: httpStatus=200 -- httpText=OK -- resultsFormat=json
** <-:: Operation Result:
{ u'category': { u'id': 1, u'name': u'dog'},
u'id': 1,
u'name': u'Dog1',
u'photoUrls': [],
u'status': u'pending',
u'tags': []}
* ==:: SUCCESS
* XX:: Sleeping For 1 Second
* ->:: @None@pet@getPetById
** ->:: svcSpec=http://petstore.swagger.io/v2/swagger.json
** ->:: Header Params: None
** ->:: Url Params:
{ 'petId': 9999}
** ->:: Body Params: None
* <-:: httpStatus=200 -- httpText=OK -- resultsFormat=json
** <-:: Operation Result:
{ u'category': { u'id': 99, u'name': u'SAGScope'},
u'id': 9999,
u'name': u'doggie',
u'photoUrls': [u'string'],
u'status': u'available',
u'tags': [{ u'id': 99, u'name': u'SAGTags'}]}
* ==:: SUCCESS
Python Example Usage
Invoker (Client) Development
from bisos.mmwsIcm import wsInvokerIcm
from bisos.mmwsIcm import ro
Testing Framework
from bisos.mmwsIcm import wsInvokerIcm
from bisos.mmwsIcm import ro
Performer (Server) Development
from bisos.mmwsIcm import wsInvokerIcm
from bisos.mmwsIcm import ro
Part of BISOS and ByStar — ByStar Internet Services Operating System
bisos.mmWsCs is part of BISOS.
bisos.mmWsCs as a Standalone Piece of BISOS
bisos.mmWsCs is a standalone piece of BISOS. It can be used as a self-contained Python package separate from BISOS. Follow the installation and usage instructions below for your own use.
Documentation and Blee-Panels
bisos.mmWsCs is part of ByStar Digital Ecosystem http://www.by-star.net.
This module’s primary documentation is in the form of Blee-Panels. Additional information is also available in: http://www.by-star.net/PLPC/180047
bisos.mmWsCs Blee-Panels
bisos.mmWsCs Blee-Panels are in ./panels directory. From within Blee and BISOS these panels are accessible under the Blee “Panels” menu.
Remote Operations Interactive Command Modules (RO-ICM) – Best Current (2019) Practices For Web Services Development http://www.by-star.net/PLPC/180056
A Generalized Swagger (Open-API) Centered Web Services Testing Framework http://www.by-star.net/PLPC/180057
Interactive Command Modules (ICM) and Players http://www.by-star.net/PLPC/180050
On the invoker side, a Swagger (Open-API) specification is digested with bravado and is mapped to command line with ICM.
On the performer side, a Swagger (Open-API) specification is used with the code-generator to create a consistent starting point.
An ICM can be auto-converted to become a web service.
Support
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
File details
Details for the file bisos_mmwsicm-0.12.tar.gz.
File metadata
- Download URL: bisos_mmwsicm-0.12.tar.gz
- Upload date:
- Size: 48.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33481d60cffa7cb128e48c305ab4c7398a65d39b3e903235842e8ef3e1576a09
|
|
| MD5 |
89d37500be72da25d2b3f5a5d1d82e5e
|
|
| BLAKE2b-256 |
46c787f561c1c252ccb02d025815b9ff0419e11c257a16d656db4f03f048df4e
|