Skip to main content

Python client for interacting with weather data on IPFS.

Project description

dWeather-Python-Client

Quickstart

Install dweather_client:

pip3 install dweather_client

Get valid dataset names and associated hashes:

http_client.get_heads()

Get the metadata for a given dataset name:

http_client.get_metadata('chirps_05-daily')

Get a rainfall dict for a gridded dataset:

http_client.get_rainfall_dict(41.175, -75.125, 'chirps_05-daily')

Get a rainfall dataframe:

df_loader.get_rainfall_df(41.125, -75.125, 'chirps_05-daily')

Get a station dataframe:

df_loader.get_station_rainfall_df('USW00024285')
df_loader.get_station_temperature_df('USW00024285')
df_loader.get_station_snow_df('USW00024285')

See further examples in tests

Development

cd dweather-python-client
python3 -m venv .
bin/pip3 install -r requirements.txt
bin/python3 -m pytest dweather_clieht/tests

Some dweather_client features require an ipfs daemon to work.

Download Go-IPFS version 0.6.0

See Assets list at the bottom of this page: https://github.com/ipfs/go-ipfs/releases/tag/v0.6.0 Download the build appropriate for your machine, or just download the source tar if you're not sure.

Install go-IPFS

Unzip the file that you downloaded.

tar xvfz {filename}.tar.gz

Move the binary into your path. sudo may be required for this.

mv go-ipfs/ipfs /usr/local/bin/ipfs

Initialize a ~/.ipfs directory. This is where your files and config will be saved.

ipfs init

Configure go-IPFS

Remove default peers for performance.

ipfs bootstrap rm --all

Add the dWeather server as a peer.

ipfs bootstrap add  "/ip4/198.211.104.50/tcp/4001/p2p/QmWsAFSDajELyneR7LkMsgfaRk2ib1y3SEU7nQuXSNPsQV"

Make sure go-IPFS it works

Start the IPFS daemon. You will need to have the daemon running to use some functionality of the dWeather client.

ipfs daemon

In a new window, confirm that you can pull content.

ipfs cat QmVsy2HZCi39ePJRpNqXEJvHgRMqjcyu1FLqgiFkPTMknq/USW00014704.csv.gz

Confirm that the dWeather server is a peer.

ipfs swarm peers

Install the Python dWeather Client

Create an isolated Python installation and install the dependencies.

git clone https://github.com/Arbol-Project/dWeather-Python-Client.git
cd dWeather-Python-Client
python3 -m venv .
bin/pip3 install -r requirements.txt

Run the tests, if you want.

bin/python3 -m pytest -s --log-cli-level=20 dweather_client/tests

Local data

Certain dweather functions will try to save query results locally to disk for faster performance on subsequent loads. This can be overridden by passing pin=False in these function calls.

Load the ipfs UI to browse what files are stored locally. Paste the following into a web browser. http://127.0.0.1:5001/webui

Navigate to Files, then click "pins." Content can be unpinned via the UI.

If you just want to remove everything, delete ~/.ipfs and rerun the installation and configuration from ipfs init.

rm -rf ~/.ipfs

Further documentation

See tests directory for example usage. Documented examples of usage should appear in a docs repository or in product-dev-notebook.

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

dweather_client-2.1.0.tar.gz (50.4 MB view details)

Uploaded Source

Built Distribution

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

dweather_client-2.1.0-py3-none-any.whl (50.4 MB view details)

Uploaded Python 3

File details

Details for the file dweather_client-2.1.0.tar.gz.

File metadata

  • Download URL: dweather_client-2.1.0.tar.gz
  • Upload date:
  • Size: 50.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5

File hashes

Hashes for dweather_client-2.1.0.tar.gz
Algorithm Hash digest
SHA256 794e0169e6f3e43e35923e04be956ed9df8c0558271591aa4dfcfc7b159d58fe
MD5 e4e1acff4771b60cc22cee42536b51cb
BLAKE2b-256 2f93a082a35f1fe4b5dd5039b997aa0cc80dbeddda8e3fc203c4a4d96da3e557

See more details on using hashes here.

File details

Details for the file dweather_client-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: dweather_client-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 50.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5

File hashes

Hashes for dweather_client-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1665b49f728fd8b0d42cad3eba4c0c064f56f4378bd886b85c06557388bc1a3c
MD5 3f7693b7c9a42f1c4c0407e3de199d18
BLAKE2b-256 c52a4aed15ce76c55d3584bc1ed3e5349203bffd57bb1da6d2ef8e587073d66b

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