Skip to main content

The EASIER Data Initiative's Python Client

Features

  • Simple CID Data Retrieval
  • CID CSV To Dataframe Object
  • Querying EASIER STAC API by Bounding Box
    • Single Band Retrieval
    • Multi Band Retrieval

Installation

The client can be installed through pip

$ pip install ipfs-stac

Language Support

The client currently supports Python versions 3+

Usage

Create a client object

from ipfs_stac import client

# Create a new client object
easier = client.web3(local_gateway="", stac_endpoint="")

# If you want to force using a local node, specify the endpoint in the local_gateway argument
easier = client.web3(local_gateway="http://127.0.0.1:8000", stac_endpoint="")

Fetch a CID from IPFS

# Simple hello world example
data = easier.getFromCID("QmZ4tDuvesekSs4qM5ZBKpXiZGun7S2CYtEZRB3DYXkjGx")
print(data)

"""
hello worlds
"""

Get CID CSV Data to Pandas Dataframe

df = easier.getCSVDataframeFromCID("bafybeifw6kcodgxnamtuvhkxgaf4ep2rwscjae3gnzxb3zj5c6zyea2nri")
print(f"Data frame length: {len(df)}")

"""
Data frame length: 3510
"""

Query STAC API By Bounding Box

easier = client.web3(local_gateway="", stac="<YOUR STAC ENDPOINT GOES HERE>")
"""
Retrieve all items from STAC catalog that are in bounding box with searchSTACByBox method (2 arguments)
1. Coordinates of bounding box
2. Name(s) of STAC collections)
"""
items = easier.searchSTACByBox([-76.964657, 38.978967, -76.928008, 39.002783], ["<STAC COLLECTION GOES HERE>"])

"""
The searchSTACByBoxIndex by method takes 3 arguments
1. Coordinates for the bounding box
2. Name of the STAC collection to query
3. Index of the item you want to retrieve
"""
item = easier.searchSTACByBoxIndex([-76.964657, 38.978967, -76.928008, 39.002783], ["<STAC COLLECTION GOES HERE>"], 0)
band = easier.getAssetFromItem(item, 'ASSET NAME GOES HERE') # Returns asset object

# Optionally, you can fetch multiple assets by the getBandsFromItem Method
bands = easier.getAssetsFromItem(item, ["blue", "red"]) # Returns array of assets

The asset object

# This snippet extends the previous under "Query STAC API By Bounding Box"

# The asset object, when printed, will return the CID
print(band) # QmNddx9BvBsQMXgwp6a83D2wiLrmovgCpRKVYKSJoWNNbx

# You can fetch the asset bytes through the fetch method
data = band.fetch()

# Alternatively, you can fetch the asset as an np array
asset_array = band.fetchNPArray()

Attributions

This project was made possible by the following

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ipfs_stac-0.1.8.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

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

ipfs_stac-0.1.8-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file ipfs_stac-0.1.8.tar.gz.

File metadata

  • Download URL: ipfs_stac-0.1.8.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for ipfs_stac-0.1.8.tar.gz
Algorithm Hash digest
SHA256 ce585a55821697aef89e5384ee0ba1cd89b5acf1b98bf23dc66b6f9717c20098
MD5 6696daea91cc982a3fbc272fbc579c85
BLAKE2b-256 959d7dafbaa80aa88b5bc8bdd6775002fdee427654ec5e2b7bc51edd45d9f054

See more details on using hashes here.

File details

Details for the file ipfs_stac-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: ipfs_stac-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 5.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for ipfs_stac-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 6d136f7f91110cee43e75e77a83b45448ab242ec56c63794398b8c7235d86325
MD5 8435f36f23be2f001e746bd5965f94fb
BLAKE2b-256 265e10164c83b4a02dd6ac0385d67b7ebd1ff15c3bc1116c6d7a350971513db6

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