Skip to main content

FFXIV weather forecast library for Python applications.

Project description

ffxivweather-py

FFXIV weather forecast library for Python applications.

Credit to Garland Tools for weather data, and XIVAPI and FFCafe for game data.

Installation

pip install ffxivweather

Documentation

This package only exposes two methods:

def get_forecast(place_name: str=None,
                terri_type_id: int=None,
                terri_type: str=None,
                count: int=1,
                second_increment: float=WEATHER_PERIOD,
                initial_offset: float=0 * MINUTES,
                lang: LangKind=LangKind.EN) -> list:
"""Returns the next count forecast entries for the provided territory, at a
separation defined by second_increment and from the provided initial offset in seconds.
Forecast entries are tuples in which the first item is the weather, and the second item
is the start time of that weather."""
def get_current_weather(place_name: str=None,
                        terri_type_id: int=None,
                        terri_type: str=None,
                        initial_offset: float=0 * MINUTES,
                        lang: LangKind=LangKind.EN):
"""Returns the current weather and its start time, relative to the provided
offset in seconds, for the specified territory type."""

Example

Code:

import datetime
import ffxivweather

zone = "Eureka Pyros"
forecast = ffxivweather.forecaster.get_forecast(place_name=zone, count=15)

print("Weather for " + zone + ":")
print("|\tWeather\t\t|\tTime\t|")
print("+-----------------------+---------------+")
for weather, start_time in forecast:
    fmt1 = weather["name_en"]
    if (len(weather["name_en"]) < 8):
        fmt1 += "\t"
    fmt2 = str(round((start_time - datetime.datetime.utcnow()).total_seconds() / 60))
    print("|\t" + fmt1 + "\t|\t" + fmt2 + "m\t|")

Output:

Weather for Eureka Pyros:
|       Weather         |       Time    |
+-----------------------+---------------+
|       Snow            |       -13m    |
|       Heat Waves      |       10m     |
|       Thunder         |       33m     |
|       Heat Waves      |       57m     |
|       Fair Skies      |       80m     |
|       Umbral Wind     |       103m    |
|       Snow            |       127m    |
|       Umbral Wind     |       150m    |
|       Thunder         |       173m    |
|       Thunder         |       197m    |
|       Umbral Wind     |       220m    |
|       Snow            |       243m    |
|       Heat Waves      |       267m    |
|       Blizzards       |       290m    |
|       Thunder         |       313m    |

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

ffxivweather-1.0.8.tar.gz (38.2 kB view details)

Uploaded Source

Built Distribution

ffxivweather-1.0.8-py3-none-any.whl (38.8 kB view details)

Uploaded Python 3

File details

Details for the file ffxivweather-1.0.8.tar.gz.

File metadata

  • Download URL: ffxivweather-1.0.8.tar.gz
  • Upload date:
  • Size: 38.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

File hashes

Hashes for ffxivweather-1.0.8.tar.gz
Algorithm Hash digest
SHA256 8be00d228f23c7aa6a2a06f67995b013f61d19d941774f0554398ca512b5bdf7
MD5 0309710e1a2cc514f2dea1464bb00e16
BLAKE2b-256 8de95ebb43332e6edd50f01477258f12860037f8409920eda82643f3ad05e80b

See more details on using hashes here.

File details

Details for the file ffxivweather-1.0.8-py3-none-any.whl.

File metadata

  • Download URL: ffxivweather-1.0.8-py3-none-any.whl
  • Upload date:
  • Size: 38.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

File hashes

Hashes for ffxivweather-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 6dee896c6a4b5f48d0e10891178661573c8176950890fe6b1cf1d21d62fd2c09
MD5 c5bee1cde9e59e4cf5524b754c5685c7
BLAKE2b-256 8de05658863d60a01e7cd1bd5c0c3c913afd0663db203191289baf751964b538

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