Skip to main content

Command-line tool for querying/updating firestore

Project description

Firestore CLI

This CLI tool allows you to interact with Google Firestore using command-line commands. It includes two main scripts: fsquery and fsupdate.

Installation

  1. Install from PyPI:

    pip install firestore-cli
    

Usage

Credentials

To specify the credentials necessary to access Firestore, you can use either of the following methods:

  1. Using the --credentials option:

    Provide the path to the Firebase credentials JSON file directly via the --credentials command-line option. Example usage:

    fsquery --credentials /path/to/your/credentials.json --path your/firestore/collection
    
  2. Using the GOOGLE_APPLICATION_CREDENTIALS environment variable: Set the GOOGLE_APPLICATION_CREDENTIALS environment variable to the path of your Firebase credentials JSON file. Example usage:

    export GOOGLE_APPLICATION_CREDENTIALS=/path/to/your/credentials.json
    fsquery --path your/firestore/collection
    

If neither method is provided, the script will attempt to use the default application credentials (which probably won't go well)

Emulators

If you're using the local firestore emulators you'll want to set an environment variable to influence the Firestore SDK. Use whatever port you're running your firestore emulators on. In this example, that port is 8080.

export FIRESTORE_EMULATOR_HOST="127.0.0.1:8080"

fsquery

The fsquery script allows you to query documents from a Firestore collection.

Command Line Options

  • --path collection: Path to the Firestore collection (required).
  • --group: Specify if this is a collection group query (optional).
  • --where: Apply multiple filters to the query in the format field:operation:value e.g. --where "some_field == some_value" (optional). It is recommended to place quotes around the expression.
  • --id: Query for a specific document ID (optional).
  • --orderby: Order the results by specified fields, followed by ASCENDING or DESCENDING (optional).
  • --limit n: Return n or fewer results (optional).
  • --recursion n: Follow references and fetch the referenced documents up to level n, incorporating them into the document that is returned. (optional, default: 0, which does not follow any references.)
  • --out filename: Write the json output to a file named filename

Examples

  1. Query all documents in a collection:

    fsquery --path your-collection
    
  2. Query documents with a filter:

    fsquery --path your-collection --where "field_name == value"
    
  3. Write output to a file

    fsquery --path your-collection --out query.json
    

fsupdate

The fsupdate script allows you to set, add, update, or delete documents in a Firestore collection.

Command Line Options

  • --path: Path to the Firestore collection (required).
  • --set: Set a document with the specified ID.
  • --add: Add a new document.
  • --update: Update a document with the specified ID.
  • --delete: Delete a document with the specified ID.
  • --doc: Path to the JSON file containing the document data.

Examples

  1. Set a document:

    fsupdate --path your-collection --set your-document-id --doc path/to/your/document.json
    
  2. Add a document:

    fsupdate --path your-collection --add --doc path/to/your/document.json
    
  3. Update a document:

    fsupdate --path your-collection --update your-document-id --doc path/to/your/document.json
    
  4. Delete a document:

    fsupdate --path your-collection --delete your-document-id
    

License

This project is licensed under the MIT License.

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

firestore_cli-0.2.1.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

firestore_cli-0.2.1-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file firestore_cli-0.2.1.tar.gz.

File metadata

  • Download URL: firestore_cli-0.2.1.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.9

File hashes

Hashes for firestore_cli-0.2.1.tar.gz
Algorithm Hash digest
SHA256 b307b4bba02af09944986edcd78574d59122a16834d5743efb3e2c663f6a01a8
MD5 ceb1177463540be2a378127f39c6c50d
BLAKE2b-256 3b98986c47a6b8c1ea9bb488f1d70412b4e39120ba242636c182b84299d7fb10

See more details on using hashes here.

File details

Details for the file firestore_cli-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: firestore_cli-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.9

File hashes

Hashes for firestore_cli-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 08e30406532a3add3e7ee135422b2e77a1019f7b8ef815e277694963b09be0f7
MD5 22b405e20a82b193ec1d606b8ecb1391
BLAKE2b-256 00815eae5d740ddd464a77c632ec4bcdf379ee93b035dc23b6b9cd266a9b6270

See more details on using hashes here.

Supported by

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