This tool simplifies automated management of extensions for Chrome and Firefox. It provides a command line interface for performing most common tasks.
- Creating a new extension entry (from crx or zip archive)
- Updating an existing extension
- Publishing extensions (public/trusted)
- 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.
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.
Building from source
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.
Recording new Betamax cassettes
To record new cassettes, delete existing
webstore_manager/tests/fixtures/cassettes/*. Make sure that folder
webstore_manager/tests/fixtures/cassettesexists and is empty.
Run tests with environment variables
app_id. You will need to get them by creating a Google account, API credentials, and running
app_idmust 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,
Uploading new version
- Bump version in
- Push a new git tag
- Travis will automatically deploy the new package