Skip to main content

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

appw-1.0.1.tar.gz (27.3 kB view details)

Uploaded Source

Built Distribution

appw-1.0.1-py3-none-any.whl (41.1 kB view details)

Uploaded Python 3

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

Hashes for appw-1.0.1.tar.gz
Algorithm Hash digest
SHA256 6d4a4bdbf0c99229a30b79985c6ebc76d5664e7379162a30a11c62b79452cc71
MD5 c77904fe2c8d22e99d53d470cd3a5850
BLAKE2b-256 b72d7557ebd90aa0eb26f4297234f504a32339611c50cef40482ede0f7cce0c7

See more details on using hashes here.

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

Hashes for appw-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2c9f5fddaeb9473d0fa145e049892a467817672732610bf5d8becbe71ecd8219
MD5 c4985b7c2f39b56a2767ae6a2beea924
BLAKE2b-256 86872ded0ec95264d3f6b17583a66ab2ecf115493532508f61b6a7a1f87fdd42

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page