| .env.example | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
| requirements.txt | ||
| server.py | ||
| start.sh | ||
| tokenext.py | ||
OpenSMN
OpenSMN es una API opensource que actúa como proxy del Servicio Meteorológico Nacional (SMN) de Argentina, ofreciendo una forma sencilla y privada de acceder a sus datos públicos.
Requisitos
- Python 3.7+
- ChromeDriver
Instalación
- Clona el repositorio:
git clone https://github.com/nixietab/OpenSMN
cd OpenSMN
- Instala las dependencias:
pip install -r requirements.txt
- Configura las variables de entorno:
cp .env.example .env
Edita el archivo .env con tu configuración, puedes ver todas las variables en el archivo .env.example.
Uso
Desarrollo
Para ejecutar el servidor en modo desarrollo:
uvicorn server:app --reload --port 6942
Producción
Para ejecutar el servidor en producción, usa el script start.sh:
./start.sh
El script carga automáticamente las variables de entorno desde .env y ejecuta la api.
Autenticación
Si configuras un PASSWORD en tu .env, todas las peticiones deben incluir el header:
Authorization: clave_ultra_segura
Despliegue con Reverse Proxy
Para producción, es altamente recomendado usar un reverse proxy como nginx:
location /smn/ {
proxy_pass http://localhost:6942/smn/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Licencia
El proyecto de openSMN es de código abierto y está licenciado bajo la licencia MIT. no obstante, interacciona con el Servicio Meteorológico Nacional (SMN) de Argentina, servicio de codigo privativo.
No hay asociacion con este proyecto con el SMN de ninguna manera