bzfvrto / carbonize
PHP package for carbon footprint calculation
Requires
- php: ^8.1
Requires (Dev)
- pestphp/pest: 2.x-dev
- phpstan/phpstan: ^1.11
This package is auto-updated.
Last update: 2025-02-12 09:50:24 UTC
README
Some words about me.
This is my first package.
I have made it, primarily to have feedback on my code. I love to code since several years, but i have never publish open-source package. I'm not profesionnal developper but i'm looking for a school next year.
Description
Carbonize aims to provide simple and clear API to build carbon footprint easily for private vehicles and delivery companies. My goal is to make it compilent with the french law.
At this time, only base formula is implemented, it is the most generic and it does not allow fine calculation of emission.
Source of emission come from the ADEME Base Empreinte.
This package is a Work in progress. Breaking changes may occur.
I have take some help and inspiration from :
Installation
You can install the package via composer:
composer require bzfvrto/carbonize
Usage
$distance = new Distance( from: new Point(1, 2), to: new Point(4, 5) ); $distance ->setSteps([new Point(1,3), new Point(2, 4)]) ->calculate(); // output (float) distance in meters: 516972.895251 $vehicle = new Vehicle( combustible: Combustible::B7, consumptionAvgInLiterFor100Km: 7.5, location: Country::FRANCE ); $vehicle->emission()->getCO2EquivalentInGramsPerKm(); // output (float) C02e in grammes per km: 232.5 (new Carbonize( vehicle: $vehicle, distance: $distance))->formatedResult(); // output (string): 120196.198 gramme of CO2 emited for 516.97 km
Roadmap
What you can expect in the coming months:
- Formula 2: Used when the vehicle carry many packages or people and it's fuel consumption is known for current transport service
- Formula 3: Used when the fuel consumption of the vehicle is unknown for current transport service and if there is only one package or people inside
- Formula 4: Used when vehicle carry many package or people and it's fuel consumption is unknown for current transport service
- Laravel package
- More country and Greenhouse gas provider
- More combustible type
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.