This tool simplifies automated management of extensions for Chrome and Firefox. It provides a command line interface for performing most common tasks.
- Authentication
- Creating a new extension entry (from crx or zip archive)
- Updating an existing extension
- Publishing extensions (public/trusted)
- Authentication
- Uploading an extension
- Downloading a processed and signed extension
- Useful when using a private CDN channel, as Firefox requires all extensions to be signed.
Detailed instructions can be found in the documentation.
- Command-line mode - all parameters specified on command-line, invoke one command at a time.
- Scripting mode - commands invoked in a batch - as a script file.
Install webstoremgr
from pypi:
python -m pip install webstoremgr
I recommend using lightweight Alpine Linux Python3 image frolvlad/alpine-python3
. Run using:
docker run -t --rm frolvlad/alpine-python3 /bin/sh -c '
pip install pytest-runner
pip install webstoremgr
webstoremgr <commands>
'
Unfortunately, the lightweight image may have problems with downloading pytest-runner
automatically as a dependency,
so it needs to be downloaded explicitly. I am not sure what causes this yet. Full-fledged images (ubuntu
etc) don't
have this problem.
To install from source, clone the repository and run python setup.py install
.
Tests are written with py.test
. To run them, use python setup.py test
.
Alternatively, you may directly run pytest: python -m pytest
in the root of the repository. In this case make sure you
have all testing dependencies installed.
-
To record new cassettes, delete existing
webstore_manager/tests/fixtures/cassettes/*
. Make sure that folderwebstore_manager/tests/fixtures/cassettes
exists and is empty. -
Run tests with environment variables
refresh_token
,client_secret
,code
,client_id
,app_id
. You will need to get them by creating a Google account, API credentials, and runninginit
command. -
app_id
must point to an extension that is already uploaded and has language and region set.
Documentation lives in the docs
folder. To build it, run make html
or make.bat html
on Linux or Windows,
respectively.
- Bump version in
VERSION
- Push a new git tag
- Travis will automatically deploy the new package