API Reference: Utils Module
utils
Utility functions for the ndastro_engine package.
This module provides: - get_app_data_dir: Get the application data directory for the given app name.
dd2dms(decimal_degrees)
Convert decimal degrees to degrees, minutes, and seconds.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
decimal_degrees
|
float
|
The angle in decimal degrees. |
required |
Returns:
| Type | Description |
|---|---|
tuple[int, int, float, int]
|
tuple[int, int, float, int]: A tuple containing degrees, minutes, seconds, and sign. |
Source code in ndastro_engine/utils.py
dd2dmsstr(decimal_degrees)
Convert decimal degrees to a formatted DMS string.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
decimal_degrees
|
float
|
The angle in decimal degrees. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
str |
str
|
The angle in DMS format as a string. |
Source code in ndastro_engine/utils.py
decimal_years_to_years_months_days_ghatis(decimal_years)
Convert decimal years to years, months, days, hours, minutes, seconds, and ghatis.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
decimal_years
|
float
|
The time duration in decimal years. |
required |
Returns:
| Type | Description |
|---|---|
tuple[int, int, int, int, int, int, int]
|
tuple[int, int, int, int, int, int, int]: A tuple containing years, months, days, hours, minutes, seconds, and ghatis. |
Source code in ndastro_engine/utils.py
dms2dd(degrees, minutes, seconds, sign=1)
Convert degrees, minutes, and seconds to decimal degrees.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
degrees
|
int
|
The degrees component. |
required |
minutes
|
int
|
The minutes component. |
required |
seconds
|
float
|
The seconds component. |
required |
sign
|
int
|
The sign of the angle. Defaults to 1 (positive). |
1
|
Returns:
| Name | Type | Description |
|---|---|---|
float |
float
|
The angle in decimal degrees. |
Source code in ndastro_engine/utils.py
get_app_data_dir(appname)
Get the application data directory for the given app name.
Parameters
appname : str Name of the application.
Returns
Path Path to the application data directory.
Source code in ndastro_engine/utils.py
get_elevation_by_latlon(lat, lon, timeout=10.0)
cached
Get elevation in meters for latitude and longitude.
Uses whatismyelevation.com API and falls back to 0.0 when lookup fails.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
lat
|
float
|
Latitude in decimal degrees. |
required |
lon
|
float
|
Longitude in decimal degrees. |
required |
timeout
|
float
|
Request timeout in seconds. Defaults to 3.0. |
10.0
|
Returns:
| Name | Type | Description |
|---|---|---|
float |
float
|
Elevation in meters, or 0.0 when unavailable. |
Source code in ndastro_engine/utils.py
normalize_degree(degree)
Normalize the degree to be within 0-360.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
degree
|
float
|
The degree to normalize. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
float |
float
|
The normalized degree. |
Source code in ndastro_engine/utils.py
parse_iso_datetime(datetime_str)
Parse an ISO datetime string.
If timezone information is missing, UTC is assumed.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
datetime_str
|
str
|
ISO datetime string to parse. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
datetime |
datetime
|
Parsed timezone-aware datetime. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If the string is not a valid ISO datetime. |