Skip to main content

The official QFieldCloud SDK and CLI.

Project description

The official QFieldCloud SDK and CLI

qfieldcloud-sdk is the official client to connect to QFieldCloud API either as a python module, or directly from the command line.

Contents

Install

Linux/macOS

pip3 install qfieldcloud-sdk

Windows

Install Python with your favorite package manager. Then:

python -m pip install qfieldcloud-sdk

CLI usage

The package also ships with the official QFieldCloud CLI tool.

Usage

qfieldcloud-cli [OPTIONS] COMMAND [ARGS]...

Examples

# logs in user "user" with password "pass"
qfieldcloud-cli login user pass

# gets the projects of user "user" with password "pass" at "https://localhost/api/v1/"
qfieldcloud-cli -u user -p pass -U https://localhost/api/v1/ list-projects

# gets the projects of user authenticated with token `QFIELDCLOUD_TOKEN` at "https://localhost/api/v1/" as JSON
export QFIELDCLOUD_URL=https://localhost/api/v1/
export QFIELDCLOUD_TOKEN=017478ee2464440cb8d3e98080df5e5a
qfieldcloud-cli --json list-projects

More detailed documentation can be found here

Module usage

from  import sdk

client = sdk.Client(url="https://app.qfield.cloud/api/v1/")
client.login(
    username="user1",
    password="pass1",
)

projects = client.list_projects()
> projects
Projects:
0       myusername/myproject1
1       myusername/myproject2
...

Development

Contributions are more than welcome!

Code style

Code style done with precommit.

pip install pre-commit
# if you want to have git commits trigger pre-commit, install pre-commit hook:
pre-commit install
# else run manually before (re)staging your files:
pre-commit run --all-files

Cloning the project

One time action to clone and setup:

git clone https://github.com/opengisch/qfieldcloud-sdk-python
cd qfieldcloud-sdk-python
# install dev dependencies
python3 -m pip install pipenv
pre-commit install
# install package in a virtual environment
pipenv install -r requirements.txt

To run CLI interface for development purposes execute:

pipenv shell # if your pipenv virtual environment is not active yet
python -m qfieldcloud_sdk

To ease development, you can set a .env file. Therefore you can use directly the qfieldcloud-cli executable:

cp .env.example .env
pipenv run qfieldcloud-cli

Building the package

# make sure your shell is sourced to no virtual environment
deactivate
# build
python3 -m build
# now either activate your shell with
pipenv shell
# and install with
python -m pip install . --force-reinstall
# or manually ensure it's pipenv and not your global pip doing the installation
pipenv run pip install . --force-reinstall

Voilà!

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

qfieldcloud_sdk-0.9.0.tar.gz (24.2 kB view details)

Uploaded Source

Built Distribution

qfieldcloud_sdk-0.9.0-py3-none-any.whl (21.3 kB view details)

Uploaded Python 3

File details

Details for the file qfieldcloud_sdk-0.9.0.tar.gz.

File metadata

  • Download URL: qfieldcloud_sdk-0.9.0.tar.gz
  • Upload date:
  • Size: 24.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for qfieldcloud_sdk-0.9.0.tar.gz
Algorithm Hash digest
SHA256 77b3fd33a345f1491b093549a926b877ce42c474357b7a8d598343771f9ffbfa
MD5 62a3fae608e3ac452324a643184d3cdd
BLAKE2b-256 d2ae26507b8b1e4e3c43204169c016421366d170c4a76b34f28f5f482b349f1d

See more details on using hashes here.

File details

Details for the file qfieldcloud_sdk-0.9.0-py3-none-any.whl.

File metadata

File hashes

Hashes for qfieldcloud_sdk-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f13fc8b7c37e7947747377f909d0c9b6cf0e34d60648d6cb80826d62bc2473d0
MD5 a97bc695ef1d25cb6ec0c4ca89f10bb4
BLAKE2b-256 00c17745320e38598f2eb0e6b6a0d01150b2a554914cf696b1de3c5fc08fbc7e

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