Releases: Boavizta/boaviztapi
v1.0.0
v1.0.0
New features
- Add new end-user devices from Base Empreinte
- Add PEF impacts criteria
- Add IoT device impacts
- Add min/max values depending on user input completeness
- Add warnings
- Improvement of the completion process from CPU name
- Adding around 2000 CPUs for completion
- Adding utils routers (list available data for string fields, archetypes routers, etc.)
- Users can now choose the impact factors to compute
- Users can now add a special message to the home page of the API
- Refactor and normalize routes names
- CPU die is now express in mm2 instead of cm2
- Refactor the allocation process based on duration
Internal changes
- Facilitating the completion process
- Facilitating the process of adding new devices
- Facilitating the archetype process
- Externalize the impact factors in a separate file
- Create a config file
- CPU die completion now use cpu spec file
- CPU uses die_size instead of die_size_per_core
Breaking changes
Cloud routers
Before
- We add one rout per cloud provider (e.g.
/v1/cloud/aws
)
Now
- We have only one route for all cloud providers (e.g.
/v1/cloud/instance
) - Each route has a parameter called
provider
(in the url for GET requests, in the body for POST requests).
Duration & allocation
Before
- Duration was a field in the usage object called
hours_use_time
.
{
"usage": {
"hours_use_time": 2,
}
}
- Allocation was a route parameter.
Now
- Duration is now a route parameter. Allocation is no longer used
- If not provided, we use the lifetime of the device as duration.
- We compute usage impacts hover the
duration
and allocate embedded impacts on theduration
hover the lifetime of the device. - We introduce the notion of
use_time_ratio
which is the proportion of time the device is used during the given duration. When a device is always used, the usage ratio is 1. When a device is never used, the usage ratio is 0.
{
"usage": {
"use_time_ratio": 0.5,
}
}
Impacts format
Before
"gwp": {
"manufacture": 1900,
"use": 260,
"unit": "kgCO2eq"
},
or
"manufacture_impacts": {
"gwp": {
"value": 23.8,
"unit": "kgCO2eq"
},
"pe": {
"value": 353,
"unit": "MJ"
},
"adp": {
"value": 0.02,
"unit": "kgSbeq"
}
}
}
Now
- Impact formats are now unified.
- "manufacture" is now called "embedded"
"impacts": {
"gwp": {
"embedded": {
"value": 6.68,
"min": 6.68,
"max": 6.68,
"warnings": [
"End of life is not included in the calculation"
]
},
"use": "not implemented",
"unit": "kgCO2eq",
"description": "Total climate change"
},
Verbose format
Before
"USAGE": {
...
"usage_impacts": {
...
}
"avg_power": {
"value": 94.62364134445255,
"unit": "W",
"status": "COMPLETED",
"source": null
},
...
}
Now
- For each component, all attributes are now at the same level in the dictionary.
- Usage impacts are now in the "impacts" dictionary
- Usage attributes are now at the same level as the other attributes
- Attributes may have a "min", a "max" and a "warnings" field.
"CPU-1": {
"impacts": {
"gwp": {
"embedded": {
"value": 64.7,
"significant_figures": 3,
"min": 24.6,
"max": 149,
"warnings": [
"End of life is not included in the calculation"
]
},
"use": {
"value": 160,
"significant_figures": 2,
"min": 160,
"max": 160
},
"unit": "kgCO2eq",
"description": "Total climate change"
}
},
"die_size_per_core": {
"value": 0.47078947368421054,
"status": "COMPLETED",
"unit": "mm2",
"source": "Average for Skylake",
"min": 0.07,
"max": 1.02
}
...
}
Contributors
@AirLoren
@csauge
@da-ekchajzer
@samuelrince
@dorev
@demeringo
@PierreRust
Known future requirements
- Mobile and fix network impacts
- Generalize the AWS process to other cloud providers
- GPU impacts
- Add multiple impact factors for depending on the engraving process size
- Screen impacts from characteristics
- Take into account the uncertainty of the impact factors
- Adding a system layer
v1.0.0a5
- CPU die is now express in mm2 instead of cm2 by @samuelrince in #207
- CPU specs file have been completed by @csauge in https://github.com/Boavizta/boaviztapi/pull/168/files
- CPU die completion now use cpu spec file by @da-ekchajzer in #208
- CPU uses die_size instead of die_size_per_core by @da-ekchajzer in #208
1.0.0a4
Update pyproject.toml
v1.0.0a3
An alpha release of the future API v1.0.0.
⚠ Although stable, this alpha release should be used for testing purposes.
It contains Work In Progress, and introduces breaking changes in the format of the data returned compared to the v0.2.x API.
See https://dev.doc.api.boavizta.org/release_notes/
What's Changed
- Cpu die size per core complete update by @da-ekchajzer in #148
- Implementation of the concepts of warning and margin of error by @da-ekchajzer in #149
- adding get all names utils router + correcting cloud utils routers by @da-ekchajzer in #158
- Perimeter improvment : New imapcts criteria and new equipements by @da-ekchajzer in #159
- V0.3 by @da-ekchajzer in #160
- fixing format in user terminal archetype by @da-ekchajzer in #161
- Create cpu_specs_raw_techpowerup.csv by @csauge in #162
- Create cpu_specs_final_techpowerup.csv by @csauge in #163
- Update cpu_specs_final_techpowerup.csv by @csauge in #165
- Fix dev server launch on Windows by @dorev in #166
- Update cpu_specs_final_techpowerup.csv by @csauge in #167
- Update cpu_specs_final_techpowerup.csv by @csauge in #168
- add first version of thefuzz by @csauge in #170
- Fix issues in fuzzymatch by @csauge in #172
- V0.3 by @da-ekchajzer in #173
- Dev by @da-ekchajzer in #174
- Dev by @da-ekchajzer in #175
- Dev by @da-ekchajzer in #176
- adding all_categories router to user terminal by @da-ekchajzer in #177
- Test/cloud instance issue 178 by @da-ekchajzer in #179
- Dev by @da-ekchajzer in #180
New Contributors
Full Changelog: v0.2.2...v0.3.0-alpha
v0.3.0-alpha2
Testing the release action see #184
v0.3.0-alpha
An alpha release of the future API v0.3.0.
⚠ Although stable, this alpha release should be used for testing purposes.
It contains Work In Progress, and introduces breaking changes in the format of the data returned compared to the v0.2.x API.
See https://dev.doc.api.boavizta.org/release_notes/
What's Changed
- Cpu die size per core complete update by @da-ekchajzer in #148
- Implementation of the concepts of warning and margin of error by @da-ekchajzer in #149
- adding get all names utils router + correcting cloud utils routers by @da-ekchajzer in #158
- Perimeter improvment : New imapcts criteria and new equipements by @da-ekchajzer in #159
- V0.3 by @da-ekchajzer in #160
- fixing format in user terminal archetype by @da-ekchajzer in #161
- Create cpu_specs_raw_techpowerup.csv by @csauge in #162
- Create cpu_specs_final_techpowerup.csv by @csauge in #163
- Update cpu_specs_final_techpowerup.csv by @csauge in #165
- Fix dev server launch on Windows by @dorev in #166
- Update cpu_specs_final_techpowerup.csv by @csauge in #167
- Update cpu_specs_final_techpowerup.csv by @csauge in #168
- add first version of thefuzz by @csauge in #170
- Fix issues in fuzzymatch by @csauge in #172
- V0.3 by @da-ekchajzer in #173
- Dev by @da-ekchajzer in #174
- Dev by @da-ekchajzer in #175
- Dev by @da-ekchajzer in #176
- adding all_categories router to user terminal by @da-ekchajzer in #177
- Test/cloud instance issue 178 by @da-ekchajzer in #179
- Dev by @da-ekchajzer in #180
New Contributors
Full Changelog: v0.2.2...v0.3.0-alpha
v0.2.2
What's Changed
- Change CPU manufacturing impact formula by @samuelrince in #142
- reduce docker image size using distroless by @AirLoren in #141
- Modify cloud route to allow multiple cloud providers by @AirLoren in #139
New Contributors
Full Changelog: v0.2.1...v0.2.2
v0.2.0
Goal
v0.2 contains significant changes to the code to facilitate the addition of new features. The main additional functionality is the ability to model the power consumption of certain components, servers and cloud instances from their configuration.
Improvements
- Implementing linear allocation for manufacturing impacts
- Implementing fuzzy matching for string fields
- Model electrical consumption from technical characteristics and usage context for CPU, RAM, Server and Cloud instance
- Complete CPU info from CPU name
- Adding source, units and status for each attributes in verbose mode
- Adding utils routers (list available data for string fields)
- Storing all data in CSV format
- Ease the deployment of API as a serverless application
- Documentation improvements
- Improving CORS settings
- Adding new AWS EC2 instances
Issues
Bug fix
Known future requirements
- Mobile and fix network impacts
- Screen impacts
- Workplace impacts
- IoT impacts
- Generalize AWS process to other cloud providers
- GPU impacts
- Add multiple impact factors for semiconductors
- Add multiple impacts factors for impacts related to electricity
Documentation
v0.2.0-alpha
adapting setup.py for v0.2a
V0.1.2
Bug
missing W to kW conversion
hour_electical_consumption
should be given in Watt.
When hours_electrical_consumption was directly given (in watt) the value was used in Wh. The electrical impacts factor requires kWh.
Correction
Adding conversion from W to kW ( / 1000) when hour_electical_consumption
is used with an electrical impact factor.