Skip to main content

Easy access to Jua's weather & power services

Project description

Jua Python SDK

Access industry-leading weather forecasts with ease

The Jua Python SDK provides a simple and powerful interface to Jua's state-of-the-art weather forecasting capabilities. Easily integrate accurate weather data into your applications, research, or analysis workflows.

Getting Started 🚀

Prerequisites

  • Python 3.11 or higher
  • Internet connection for API access

Installation

Install jua with pip:

pip install jua

Alternatively, checkout uv for managing dependencies and Python versions:

uv init && uv add jua

Authentication

Simply run jua auth to authenticate via your web browser. Make sure you are already logged in the developer portal. Alternatively, generate an API key from the Jua dashboard and save it to ~/.jua/default/api-key.json.

Examples

Access the latest 20-day forecast for a point location

Retrieve temperature forecasts for Zurich and visualize the data:

import matplotlib.pyplot as plt
from jua import JuaClient
from jua.types.geo import LatLon
from jua.weather import Models, Variables

client = JuaClient()
model = client.weather.get_model(Models.EPT1_5)
zurich = LatLon(lat=47.3769, lon=8.5417)
# Get latest forecast
forecast = model.forecast.get_forecast(
    points=[zurich]
)
temp_data = forecast[Variables.AIR_TEMPERATURE_AT_HEIGHT_LEVEL_2M]
temp_data.to_celcius().to_absolute_time().plot()
plt.show()
Show output

Forecast Zurich 20d

Plot global forecast with 10-hour lead time

Generate a global wind speed visualization:

import matplotlib.pyplot as plt
from jua import JuaClient
from jua.weather import Models, Variables

client = JuaClient()
model = client.weather.get_model(Models.EPT1_5)

lead_time = 10 # hours
dataset = model.forecast.get_forecast(
    prediction_timedelta=lead_time,
    variables=[
        Variables.WIND_SPEED_AT_HEIGHT_LEVEL_10M,
    ],
)
dataset[Variables.WIND_SPEED_AT_HEIGHT_LEVEL_10M].plot()
plt.show()
Show output

Global Windspeed 10h

Access historical weather data

Retrieve and visualize temperature data for Europe from a specific date:

import matplotlib.pyplot as plt
from jua import JuaClient
from jua.weather import Models, Variables

client = JuaClient()
model = client.weather.get_model(Models.EPT1_5_EARLY)

init_time = "2024-02-01 06:00:00"
hindcast = model.hindcast.get_hindcast(
    variables=[Variables.AIR_TEMPERATURE_AT_HEIGHT_LEVEL_2M],
    init_time=init_time,
    prediction_timedelta=0,
    # Select Europe
    latitude=slice(71, 36),
    longitude=slice(-15, 50),
    method="nearest",
)

data = hindcast[Variables.AIR_TEMPERATURE_AT_HEIGHT_LEVEL_2M]
data.plot()
plt.show()
Show output

Europe Hindcast

Documentation

For comprehensive documentation, visit docs.jua.ai.

Contributing

See the contribution guide to get started.

Changes

See the changelog for the latest changes.

Support

If you encounter any issues or have questions, please:

License

This project is licensed under the MIT License - see the LICENSE file for details.

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

jua-0.14.3.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

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

jua-0.14.3-py3-none-any.whl (54.6 kB view details)

Uploaded Python 3

File details

Details for the file jua-0.14.3.tar.gz.

File metadata

  • Download URL: jua-0.14.3.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.8.22

File hashes

Hashes for jua-0.14.3.tar.gz
Algorithm Hash digest
SHA256 c9b0e187aed5164a44d7daae60fdc063165e30335c516312b76d8bb8378e9558
MD5 75999f4b739a5b15e0ffe0d77a9cb157
BLAKE2b-256 6f07e566a4b9dae93dc99de5db8202d5645a9f413fe421ea80f3dc1613c8c9c7

See more details on using hashes here.

File details

Details for the file jua-0.14.3-py3-none-any.whl.

File metadata

  • Download URL: jua-0.14.3-py3-none-any.whl
  • Upload date:
  • Size: 54.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.8.22

File hashes

Hashes for jua-0.14.3-py3-none-any.whl
Algorithm Hash digest
SHA256 26f99804e21be3e68ae86a35cc26d210e5435ca7366ac6f77c4c1b75f2762e3c
MD5 74c9017e7c18e0cf71d49f5f851f513b
BLAKE2b-256 cb48dc1fd1859c5ada7f7ab3cea08d04261c9a1b6f3ab19a00d4f6b7bb36ee87

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