Puter is an experimental High-Level Distributed Operating System (HLDOS). Unlike traditional OSs that manage local hardware, Puter focuses on coordinating access to networked services β like APIs, cloud tools, and third-party platforms.
It introduces a novel driver system where integrations (called drivers) represent services (e.g., chat, weather, TTS). These drivers follow common interfaces, making it easy to plug in various providers under a unified API.
π§© My Contribution: Weather Driver #
Puter works with various online services through a driver system, allowing developers to integrate APIs seamlessly. My goal was to create a Weather Driver that provides a standardized way to access weather data across different providers.
I contributed to the Puter repository by adding a Weather Driver:
π Pull Request: #1313 β feat(weather_service): add weather service to puter #
π Related Issue: #1143 β Weather Driver
π Status: Closed (The issue was closed without notice)
π§ What I Implemented #
- Created a driver interface for fetching weather data.
- Supported multiple backend integrations under the same weather interface.
- Placed the driver inside a new utility module, as per Puterβs architectural guidelines.
This driver followed the system used by other drivers in the project (like OCR, LLMs, and TTS), helping standardize access to weather services.
π‘ Why It Matters #
- π§± It lays the foundation for weather applications in Puter (dashboards, assistants, automations, etc.).
- π Makes it easy to plug in services like OpenWeatherMap or WeatherAPI without changing the client-side logic.
- π οΈ Contributes to Puter’s goal of modular, pluggable access to third-party platforms.
Even though the PR was closed without merging, it was a great learning opportunity in designing modular interfaces and contributing to an OS project.
π See my other contributions: github.com/Assstra