Booz Allen's lean manufacturing approach for holistically designing, developing and fielding AI solutions across the engineering lifecycle from data processing to model building, tuning, and training to secure operational deployment
Other
34
stars
8
forks
source link
Feature: Reduce the aissemble-foundation-messaging-python-client whl size #444
CI broke over the weekend due to the test.pypi repo exceeding its max limit. While we cleared the cache, we were curious to know why the aissemble-foundation-messaging-python-client.whl file was so large. I looked at the size of all our .whl files and aissemble-foundation-messaging-python-client is in fact the largest wheel file (53M) across all of aissemble's projects. The reason for this is that we're copying over the jar files from foundation-messaging-python-service.
DOD
[ ] Update the foundation-messaging-python-service pom.xml to generate a native executable
[ ] Update aissemble-foundation-messaging-python-client project to use the native executable and update the python files accordingly
Test Strategy/Script
Visit TestPyPi.org and search for aissemble-foundation-messaging-python-client.
Select the latest version.
From the package "home page," select Download Files.
Confirm the package is < 55 MB.* To be updated.
Findings
We were able to create an uber jar via the maven-assembly-plugin. It reduced the .whl size from 53 MB -> 44 MB, but the decrease isn't substantial enough to warrant the code changes.
We explored the use of the proguard-maven-plugin; however, due to limited available documentation, the effort required to implement this plugin was not worth the potential reduction in the .whl size.
The foundation-drift-detection-client-java README references the use of quarkus to create a native executable, but it's out of date. That functionality isn't enabled within that project.
Description
CI broke over the weekend due to the test.pypi repo exceeding its max limit. While we cleared the cache, we were curious to know why the
aissemble-foundation-messaging-python-client
.whl
file was so large. I looked at the size of all our.whl
files andaissemble-foundation-messaging-python-client
is in fact the largest wheel file (53M) across all of aissemble's projects. The reason for this is that we're copying over the jar files fromfoundation-messaging-python-service
.DOD
foundation-messaging-python-service
pom.xml to generate a native executableaissemble-foundation-messaging-python-client
project to use the native executable and update the python files accordinglyTest Strategy/Script
aissemble-foundation-messaging-python-client
.Findings
We were able to create an uber jar via the
maven-assembly-plugin
. It reduced the.whl
size from 53 MB -> 44 MB, but the decrease isn't substantial enough to warrant the code changes.We explored the use of the
proguard-maven-plugin
; however, due to limited available documentation, the effort required to implement this plugin was not worth the potential reduction in the.whl
size.The foundation-drift-detection-client-java README references the use of quarkus to create a native executable, but it's out of date. That functionality isn't enabled within that project.