A modern and interactive web application built with Streamlit that enables real-time monitoring, analysis, and visualization of meteorological and air quality data from multiple Davis WeatherLink stations. This professional tool facilitates tracking of environmental variables through dynamic charts, cross-station comparisons, and flexible temporal analysis, making it ideal for researchers, students, and weather enthusiasts who need quick and efficient access to up-to-date meteorological data.
- Real-time visualization of multiple weather stations
- Interactive charts for temperature, humidity, PM2.5 and PM1
- Flexible time selection: last N hours or specific date range
- Station comparison on the same scales and timeframes
- Intuitive interface built with Streamlit
- 🌡️ Temperature (°C): Ambient temperature
- 💧 Humidity (%): Relative air humidity
- 🌫️ PM2.5 (μg/m³): Fine particles - air quality
- 💨 PM1 (μg/m³): Ultrafine particles - air quality
- Python 3.8+
- WeatherLink API account with valid credentials
-
Clone the repository
git clone https://github.com/your-username/visualizer_weatherlinkv2.git cd visualizer_weatherlinkv2
-
Install dependencies
pip install -r requirements.txt
-
Configure secrets
Create a
.streamlit
folder andsecrets.toml
file in the project root:mkdir .streamlit
Create
.streamlit/secrets.toml
:WEATHERLINK_API_KEY = "your_api_key_here" WEATHERLINK_API_SECRET = "your_api_secret_here"
-
Run the application
streamlit run visualizador_es.py
-
Open in browser
The application will be available at
http://localhost:8501
WEATHERLINK_API_KEY
: Your WeatherLink API keyWEATHERLINK_API_SECRET
: Your WeatherLink API secret
Configure these in .streamlit/secrets.toml
for local development, or in your Streamlit Cloud dashboard for deployment.
Stations are automatically loaded from your WeatherLink API account. Make sure your stations are configured and sending data.
- Streamlit: Web application framework
- weatherlinkv2: Custom library for WeatherLink API
- Plotly: Interactive charts
- Pandas: Data manipulation
- Select stations: Use the multi-select dropdown in the sidebar
- Configure time: Choose between "Last hours" or "Date range"
- Update data: Press the "🔄 Update data" button
- Visualize: View interactive charts with data from all selected stations
Contributions are welcome. Please:
- Fork the project
- Create a feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
⭐ If you find this project useful, please give it a star on GitHub!