SkyAlert is an application that provides real-time weather updates and alerts specifically tailored for stargazing and astrophotography enthusiasts. It combines information from multiple data sources to determine the optimal conditions for a potentially good stargazing or astrophotography night in your locale.
-
Real-time weather updates: SkyAlert fetches weather data from reliable sources and provides up-to-date information about temperature, humidity, wind speed, and cloud cover.
-
Stargazing opportunity alerts: The application analyzes weather conditions and provides alerts when the conditions are favorable for stargazing or astrophotography, taking into account factors such as clear skies, low light pollution, and optimal moon phase.
-
Customizable notifications: Users can choose their preferred notification methods, such as email, SMS, or push notifications, to receive alerts about potential stargazing opportunities.
-
Location-based weather: SkyAlert uses geolocation to provide weather information specific to the user's location. Users can also search for weather conditions in different cities or regions.
-
Clone the SkyAlert repository:
git clone https://github.com/your-username/sky-alert.git
-
Create the virtual environment:
python -m venv .venv
-
Activate the virtual environment:
source .venv/bin/activate
-
Refer to
pyproject.toml
to ensure proper version of Python is installed. -
Install Poetry to your virtual environment:
pip install poetry
-
Run Poetry to install dependencies:
poetry install
-
Install pre-commit:
pre-commit install
-
Navigate into
sky_alert
directory. -
Run the application:
uvicorn endpoint:app --reload
If you are adding an external dependency to the pyproject.toml
file for Poetry, please run poetry add <dependency>
.
mypy error: Library stubs not installed for "<library-name>" [import-untyped]
If you encounter this issue:
- make sure you have the stubs for the library installed in
pyproject.toml
. - Go to
.pre-commit-config.yaml
. - Under
mypy
, make sure that this stub dependecy is included in additional_dependencies.
- Upon running the application, SkyAlert will fetch weather data and analyze it to determine if there is a potential stargazing or astrophotography opportunity in your locale.
- If favorable conditions are detected, the application will send alerts to the configured notification methods.
- Use the command-line interface to search for weather conditions in different locations or change notification settings.
Contributions to SkyAlert are welcome! If you encounter any issues or have suggestions for improvements, please open an issue or submit a pull request.
SkyAlert is licensed under the MIT License.