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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
794e0169e6f3e43e35923e04be956ed9df8c0558271591aa4dfcfc7b159d58fe
|
|
| MD5 |
e4e1acff4771b60cc22cee42536b51cb
|
|
| BLAKE2b-256 |
2f93a082a35f1fe4b5dd5039b997aa0cc80dbeddda8e3fc203c4a4d96da3e557
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1665b49f728fd8b0d42cad3eba4c0c064f56f4378bd886b85c06557388bc1a3c
|
|
| MD5 |
3f7693b7c9a42f1c4c0407e3de199d18
|
|
| BLAKE2b-256 |
c52a4aed15ce76c55d3584bc1ed3e5349203bffd57bb1da6d2ef8e587073d66b
|