Skip to main content

bisos.mmWsCs: MM-WS-CS Library: Machine-to-Machine – Web Services – Command Services (CS) – A

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

Layered on top of Debian, BISOS: (By* Internet Services Operating System) is a unified and universal framework for developing both internet services and software-service continuums that use internet services. See Bootstrapping ByStar, BISOS and Blee for information about getting started with BISOS.
BISOS is a foundation for The Libre-Halaal ByStar Digital Ecosystem which is described as a cure for losses of autonomy and privacy in a book titled: Nature of Polyexistentials

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.

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

For support, criticism, comments and questions; please contact the author/maintainer

Metadata

Release files for bisos.mmwsIcm 0.13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bisos.mmwsIcm 0.13
File Size Uploaded
bisos_mmwsicm-0.13.tar.gz 48.6 kB Details

Release files / bisos_mmwsicm-0.13.tar.gz

Download URL bisos_mmwsicm-0.13.tar.gz
Size 48.6 kB
Tags Source
SHA-256 checksum
How to use checksums
76814ab4fef3b8e79fc0c173a0d9414dd269e69ce4533f82a35820405ad76e7e
BLAKE2b-256 checksum
How to use checksums
f93ac33d062cd75855753803c501ae1fd145d59cba323c6ca3c54fd57e108ae2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.2

Release history Release notifications | RSS feed

This release

0.13 This release

1 release file

0.12

1 release file

0.11

1 release file

0.1

1 release 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