This PHP package provides an easy-to-use interface for the IPMA (Instituto Português do Mar e da Atmosfera, I. P.) API. It allows you to fetch weather forecasts, observation data, and other auxiliary information directly into your PHP application.
For more information about the official API, please visit https://api.ipma.pt/ (only in Portuguese).
Warning: This is a work in progress package! While it is actively maintained, some features may be incomplete or subject to change.
- PHP 8.2 or higher
- Composer
composer require tuxonice/ipma-api
Here are a few examples of how to use this package.
use Tlab\IpmaApi\IpmaForecast;
$api = IpmaForecast::createDailyWeatherForecastByDayApi();
$result = $api->from(1020500) // Location ID for Beja
->filterByMaxTemperatureRange(18.0, 19.0)
->get();use Tlab\IpmaApi\IpmaService;
use Tlab\IpmaApi\Enums\SeismicInformationAreaEnum;
$api = IpmaService::createSeismicInformationApi();
$events = $api->from(SeismicInformationAreaEnum::MAIN_LAND_AND_MADEIRA)
->get();For more detailed examples and a full list of available endpoints, please see the documentation folder.
This project uses PHPUnit for testing. To run the test suite, you can use the provided Makefile command:
make testTo generate a code coverage report, run:
make coverageThe report will be generated in the coverage/ directory.
Contributions are welcome! If you would like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them with a descriptive message.
- Push your changes to your fork.
- Submit a pull request to the main repository.
Please ensure that your code follows the existing coding style and that all tests pass before submitting a pull request.