Skip to main content

swodl_interpreter

SWoDL interpreter that is written following the next documentation: http://resources.avid.com/SupportFiles/attach/AssetManagement/References/AssetManagement_2019_6_SWoDLReference.pdf

and

https://resources.avid.com/SupportFiles/attach/AssetManagement/References/AssetManagement_2020_9_ProcessReference.pdf

Try it in browser

https://vladku.gitlab.io/swodl_interpreter/

How to run:

Install:

pip install git+https://gitlab.com/vladku/swodl_interpreter.git

Run:

swodl run <filepath>

or use swodl --help to get all params)

Example how to pass struct as input: swodl -in "t={'r': [1, 5, 6]}"

What to add:

  • Input var from file []
  • Error handling (line number) [+-]
  • Fix str repr for nested out

How to write web services resolver plugin:

Create your Resolver class with get_service, get_method and get_config methods like:

class WebFake:
    def get_service(self, service, interface):
        return self
    def get_method(self, name):
        def web(*args, **kwargs):
            return f"{name}".join(args)
        return web
    def get_config(self, profileName, keys, default=""):
        ...
    def get_wf(self, name):
        ...

Create your own package with following part of setup.py

setuptools.setup(
    ...
    entry_points = {
        'swodl_service_resolvers': [
            '{your_plugin_name} = {packagename}.{modulename}:{classname}',
        ],
    },

)

Mock config example:

config = {
    "services": {
        "service_name": {
            "interface_name": {
                "method_name": {
                    "cases": [{
                        "args": [
                            "1"
                        ],
                        "result": "One"
                    }],
                    "default": 123
                }
            }
        }
    },
    "config": {
        "profile": {
            "section": {
                "section": {
                    "key": "CONFIGURATION!"
                }
            }
        }
    }
}

Metadata

Release files for swodl-interpreter 1.0.1

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

Built distribution (wheel)

Table of built distributions (wheels) for swodl-interpreter 1.0.1
File Interpreter ABI Platform
swodl_interpreter-1.0.1-py3-none-any.whl Python 3 none any Details

Release files / swodl_interpreter-1.0.1-py3-none-any.whl

Download URL swodl_interpreter-1.0.1-py3-none-any.whl
Size 50.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b748864027886c7bed30660f8167e3b908c31bb806bfe5f611bb7f712791874b
BLAKE2b-256 checksum
How to use checksums
3656f3c8a033723ab5080de9dcd06feffede2eb40e36bb48f41656a321839437
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Security for swodl-interpreter 1.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.1 This release

1 release file No provenance

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