An alternative CLI wrapper on top of Appwrite API with support for creating & restoring snapshots to easily reproduce dev. environments.
Project description
3rd party Appwrite CLI - appw
This is not a replacement for the official Appwrite CLI. It just provides additional functionality by using the Appwrite API directly.
Installation
pip install appw
This installs a command line tool called appw
which helps you manage your
appwrite instance.
Usage
$ appw --help
Usage: appw [OPTIONS] COMMAND [ARGS]...
Appwrite wrapper cli to perform administrative tasks
╭─ Options ─────────────────────────────────────────────────────────────────────────────────╮
│ --help Show this message and exit. │
╰───────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ────────────────────────────────────────────────────────────────────────────────╮
│ create Create a new org, project, key, db, collection etc; │
│ delete Remove org, project, key, db, collection etc; │
│ get Get a specific org, project, key, db, collection etc; details │
│ list List org, project, key, db, collection etc; │
│ login │
│ show View summary/information of the current context │
│ snapshot Create/restore/migrate snapshots │
│ switch Switch the default org/project/database │
╰───────────────────────────────────────────────────────────────────────────────────────────╯
appw snapshot --help 1 changed file main
Usage: appw snapshot [OPTIONS] COMMAND [ARGS]...
Create/restore/migrate snapshots
╭─ Options ─────────────────────────────────────────────────────────────────────────────────╮
│ --help Show this message and exit. │
╰───────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ────────────────────────────────────────────────────────────────────────────────╮
│ create │
│ restore Restores an existing snapshot and syncs everything - names, schema and more │
╰───────────────────────────────────────────────────────────────────────────────────────────╯
More details below.
Creating a snapshot
Assuming you are running your appwrite instance at http://localhost (this will be made configurable in the upcoming changes), you can run the following command to create a snapshot of your entire configuration.
appw login # enter your credentials
appw snapshot create
This creates the snapshots
directory under the current directory where you
are running the command with a backup of all the configurations. You can
check-in these files into your (private) repo. If you are using public
repositories keep in mind that your OAuth credentials also get backend up in
plain text.
Restoring/Syncing snapshot
You can use the snapshot restore
command to either sync/migrate an existing
appwrite instance or setup a completely new instance.
appw snapshot restore
Once you have the snapshot restored, you can run the official appwrite
cli to
initialize the project (to generate appwrite.json) - helps in deploying functions
during development
appwrite init
NOTE
As mentioned above, this is not a replacement for the offcial CLI. But it has commands to create a new/update/remove organization, projects etc; without having to create them on the appwrite web console directly. This is what helps us to create and restore snapshots.
Contribute
Features, bug-fixes, issue reports are all welcome.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file appw-1.0.1.tar.gz
.
File metadata
- Download URL: appw-1.0.1.tar.gz
- Upload date:
- Size: 27.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d4a4bdbf0c99229a30b79985c6ebc76d5664e7379162a30a11c62b79452cc71 |
|
MD5 | c77904fe2c8d22e99d53d470cd3a5850 |
|
BLAKE2b-256 | b72d7557ebd90aa0eb26f4297234f504a32339611c50cef40482ede0f7cce0c7 |
File details
Details for the file appw-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: appw-1.0.1-py3-none-any.whl
- Upload date:
- Size: 41.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c9f5fddaeb9473d0fa145e049892a467817672732610bf5d8becbe71ecd8219 |
|
MD5 | c4985b7c2f39b56a2767ae6a2beea924 |
|
BLAKE2b-256 | 86872ded0ec95264d3f6b17583a66ab2ecf115493532508f61b6a7a1f87fdd42 |