`castlabs-evs` is a package that provides a client for the [EVS service](https://github.com/castlabs/electron-releases/wiki/EVS) for [Electron for Content Security](https://github.com/castlabs/electron-releases). EVS provides production Widevine/VMP signing of application packages derived from official releases of Electron for Content Security. It is a free service, but requires signup to use.
As part of the Widevine 3PL program castLabs also offers [commercial VMP certification](https://github.com/castlabs/electron-releases/wiki/EVS#3pl) of custom Chromium/Electron adaptations, which enables the use of EVS for signing custom builds.
`castlabs-evs` supports Python 3.7+ and can be installed with:
```
% python3 -m pip install castlabs-evs
```
This installs the EVS client which provides Python and CLI interfaces for account handling and VMP signing. If the pip module binary directory is in your `PATH` the two convenience scripts `evs-account` and `evs-vmp` can be used in place of `python3 -m <module>` in the examples below.
The CLI interfaces are interactive by default, asking for any information they cannot load from its configuration, unless they are provided through CLI arguments or environment variables. This behaviour can be overridden by not providing a TTY on STDIN, or by passing the `--no-ask` option or setting EVS_NO_ASK in the environment, in which case any missing required information will trigger a runtime error instead, making them more suitable for automation.
The Python interfaces are not currently documented, but the CLI provides help sections that can be accessed:
```
% python3 -m castlabs_evs.account --help
usage: account.py [-h] [-v] [-n]
{signup,sup,resend,rs,confirm-signup,csup,update,up,reset,res,confirm-reset,cres,refresh,r,deauth,da,reauth,ra,delete,del}
...
optional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit
-n, --no-ask enable non-interactive mode
commands:
{signup,sup,resend,rs,confirm-signup,csup,update,up,reset,res,confirm-reset,cres,refresh,r,deauth,da,reauth,ra,delete,del}
signup (sup) sign up for EVS account
resend (rs) resend EVS account confirmation code
confirm-signup (csup)
confirm account signup
update (up) update account details
reset (res) reset account password
confirm-reset (cres)
confirm account password reset
refresh (r) refresh authorization tokens
deauth (da) discard any authorization tokens
reauth (ra) discard any authorization tokens & refresh
delete (del) delete EVS account
```
```
% python3 -m castlabs_evs.vmp --help
usage: vmp.py [-h] [-v] [-n] [-a] {verify,v,sign,s,verify-pkg,vp,sign-pkg,sp} ...
optional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit
-n, --no-ask enable non-interactive mode
-a, --any-ski verify any subject key identifier
commands:
{verify,v,sign,s,verify-pkg,vp,sign-pkg,sp}
verify (v) verify signature
sign (s) refresh signature
verify-pkg (vp) verify electron package signature
sign-pkg (sp) refresh electron package signature
```
# Legal notice / Disclaimer
THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. UPDATES, INCLUDING SECURITY UPDATES, WILL BE PROVIDED ON A BEST-EFFORT BASIS.
Raw data
{
"_id": null,
"home_page": "https://github.com/castlabs/electron-releases/wiki/EVS",
"name": "castlabs-evs",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "castlabs evs 3pl widevine vmp drm electron wvvmp ecs",
"author": "Emil Pettersson",
"author_email": "emil.pettersson@castlabs.com",
"download_url": "https://files.pythonhosted.org/packages/0d/36/b2323a68d20857355751ba1165d1015a71e8e0e828a1f1937f6be69e33f8/castlabs-evs-1.1.5.tar.gz",
"platform": null,
"description": "`castlabs-evs` is a package that provides a client for the [EVS service](https://github.com/castlabs/electron-releases/wiki/EVS) for [Electron for Content Security](https://github.com/castlabs/electron-releases). EVS provides production Widevine/VMP signing of application packages derived from official releases of Electron for Content Security. It is a free service, but requires signup to use.\n\nAs part of the Widevine 3PL program castLabs also offers [commercial VMP certification](https://github.com/castlabs/electron-releases/wiki/EVS#3pl) of custom Chromium/Electron adaptations, which enables the use of EVS for signing custom builds.\n\n`castlabs-evs` supports Python 3.7+ and can be installed with:\n```\n% python3 -m pip install castlabs-evs\n```\n\nThis installs the EVS client which provides Python and CLI interfaces for account handling and VMP signing. If the pip module binary directory is in your `PATH` the two convenience scripts `evs-account` and `evs-vmp` can be used in place of `python3 -m <module>` in the examples below.\n\nThe CLI interfaces are interactive by default, asking for any information they cannot load from its configuration, unless they are provided through CLI arguments or environment variables. This behaviour can be overridden by not providing a TTY on STDIN, or by passing the `--no-ask` option or setting EVS_NO_ASK in the environment, in which case any missing required information will trigger a runtime error instead, making them more suitable for automation.\n\nThe Python interfaces are not currently documented, but the CLI provides help sections that can be accessed:\n```\n% python3 -m castlabs_evs.account --help\nusage: account.py [-h] [-v] [-n]\n {signup,sup,resend,rs,confirm-signup,csup,update,up,reset,res,confirm-reset,cres,refresh,r,deauth,da,reauth,ra,delete,del}\n ...\n\noptional arguments:\n -h, --help show this help message and exit\n -v, --version show program's version number and exit\n -n, --no-ask enable non-interactive mode\n\ncommands:\n {signup,sup,resend,rs,confirm-signup,csup,update,up,reset,res,confirm-reset,cres,refresh,r,deauth,da,reauth,ra,delete,del}\n signup (sup) sign up for EVS account\n resend (rs) resend EVS account confirmation code\n confirm-signup (csup)\n confirm account signup\n update (up) update account details\n reset (res) reset account password\n confirm-reset (cres)\n confirm account password reset\n refresh (r) refresh authorization tokens\n deauth (da) discard any authorization tokens\n reauth (ra) discard any authorization tokens & refresh\n delete (del) delete EVS account\n```\n```\n% python3 -m castlabs_evs.vmp --help\nusage: vmp.py [-h] [-v] [-n] [-a] {verify,v,sign,s,verify-pkg,vp,sign-pkg,sp} ...\n\noptional arguments:\n -h, --help show this help message and exit\n -v, --version show program's version number and exit\n -n, --no-ask enable non-interactive mode\n -a, --any-ski verify any subject key identifier\n\ncommands:\n {verify,v,sign,s,verify-pkg,vp,sign-pkg,sp}\n verify (v) verify signature\n sign (s) refresh signature\n verify-pkg (vp) verify electron package signature\n sign-pkg (sp) refresh electron package signature\n```\n\n# Legal notice / Disclaimer\n\nTHIS SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. UPDATES, INCLUDING SECURITY UPDATES, WILL BE PROVIDED ON A BEST-EFFORT BASIS.\n",
"bugtrack_url": null,
"license": "APACHE 2.0",
"summary": "A client for EVS, Widevine/VMP signing service",
"version": "1.1.5",
"project_urls": {
"Homepage": "https://github.com/castlabs/electron-releases/wiki/EVS"
},
"split_keywords": [
"castlabs",
"evs",
"3pl",
"widevine",
"vmp",
"drm",
"electron",
"wvvmp",
"ecs"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b70f43f17b40de472ff19748ad05ff5a0f8592ffffb4a446690ca478373c0053",
"md5": "b35dfd94f2d008f595bed0a91cfc2620",
"sha256": "2f9feefeaed79fa456e57d36cf4e3b12c515a615e53048d4187332720392c9d6"
},
"downloads": -1,
"filename": "castlabs_evs-1.1.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b35dfd94f2d008f595bed0a91cfc2620",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 16788,
"upload_time": "2024-04-30T10:22:08",
"upload_time_iso_8601": "2024-04-30T10:22:08.419992Z",
"url": "https://files.pythonhosted.org/packages/b7/0f/43f17b40de472ff19748ad05ff5a0f8592ffffb4a446690ca478373c0053/castlabs_evs-1.1.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0d36b2323a68d20857355751ba1165d1015a71e8e0e828a1f1937f6be69e33f8",
"md5": "612b64f08f85d98ea52e3767da279a62",
"sha256": "4fb0cdb590b32eaa3fe2798241e6a91c5bf3117789fa0ba5815e8f672e0ed399"
},
"downloads": -1,
"filename": "castlabs-evs-1.1.5.tar.gz",
"has_sig": false,
"md5_digest": "612b64f08f85d98ea52e3767da279a62",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 13987,
"upload_time": "2024-04-30T10:22:09",
"upload_time_iso_8601": "2024-04-30T10:22:09.593177Z",
"url": "https://files.pythonhosted.org/packages/0d/36/b2323a68d20857355751ba1165d1015a71e8e0e828a1f1937f6be69e33f8/castlabs-evs-1.1.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-30 10:22:09",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "castlabs",
"github_project": "electron-releases",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "castlabs-evs"
}