Azure SDK is over 500 MB and growing on each release

https://github.com/Azure/azure-sdk-for-python/issues/17801

The azure SDK is ridiculously large for reasons that I have a hard time understanding. We pip install it for our CI pipelines and the vast majority of the size of our container is coming from the Azure SDK, in the SDK the network directory is taking almost half of the size and this is because there are 39 versions of the SDK.

I have never seen anyone doing such a strange approach to version their API clients. I fail to understand why anyone would even want to use the client from 2015 on a cloud product like Azure.

root@1bba10bd1500:~/.pyenv/versions/3.9.2/lib/python3.9/site-packages/azure/mgmt/network# du -shc * | grep M | sort -n 
1.2M	aio
2.4M	v2015_06_15
3.3M	v2016_09_01
3.5M	v2016_12_01
3.7M	v2017_03_01
4.4M	v2017_06_01
4.4M	v2017_08_01
4.9M	v2017_09_01
5.1M	v2017_10_01
5.1M	v2017_11_01
5.1M	v2018_01_01
5.7M	v2018_02_01
6.5M	v2018_04_01
6.6M	v2018_06_01
6.9M	v2018_07_01
8.3M	v2018_08_01
8.4M	v2018_10_01
8.6M	v2018_11_01
8.8M	v2018_12_01
9.0M	v2019_02_01
9.5M	v2019_04_01
10M	v2019_06_01
11M	v2019_07_01
11M	v2019_08_01
11M	v2019_09_01
11M	v2019_11_01
11M	v2019_12_01
12M	v2020_03_01
12M	v2020_04_01
13M	v2020_05_01
13M	v2020_06_01
13M	v2020_07_01
13M	v2020_08_01
259M	total

Can the default release only prove the latest version of the client libraries, or at least provide a 'lean' version of the SDK? This release model is certainly not sustainable and is causing useless grief to your users.

{
"by": "varun_chopra",
"descendants": 3,
"id": 40245553,
"kids": [
40245593,
40247401,
40245639
],
"score": 4,
"time": 1714726390,
"title": "Azure SDK is over 500 MB and growing on each release",
"type": "story",
"url": "https://github.com/Azure/azure-sdk-for-python/issues/17801"
}
{
"author": "Azure",
"date": null,
"description": "The azure SDK is ridiculously large for reasons that I have a hard time understanding. We pip install it for our CI pipelines and the vast majority of the size of our container is coming from the A…",
"image": "https://opengraph.githubassets.com/cf968b903fb1bf01a2c3c531e29007f5919261f0d69406ab9b6ed3386ba6a8a4/Azure/azure-sdk-for-python/issues/17801",
"logo": "https://logo.clearbit.com/github.com",
"publisher": "GitHub",
"title": "Azure SDK is over 500MB and growing on each release. · Issue #17801 · Azure/azure-sdk-for-python",
"url": "https://github.com/Azure/azure-sdk-for-python/issues/17801"
}
{
"url": "https://github.com/Azure/azure-sdk-for-python/issues/17801",
"title": "Azure SDK is over 500MB and growing on each release. · Issue #17801 · Azure/azure-sdk-for-python",
"description": "The azure SDK is ridiculously large for reasons that I have a hard time understanding. We pip install it for our CI pipelines and the vast majority of the size of our container is coming from the A...",
"links": [
"https://github.com/Azure/azure-sdk-for-python/issues/17801"
],
"image": "https://opengraph.githubassets.com/cf968b903fb1bf01a2c3c531e29007f5919261f0d69406ab9b6ed3386ba6a8a4/Azure/azure-sdk-for-python/issues/17801",
"content": "<div><p>The azure SDK is ridiculously large for reasons that I have a hard time understanding. We pip install it for our CI pipelines and the vast majority of the size of our container is coming from the Azure SDK, in the SDK the network directory is taking almost half of the size and this is because there are 39 versions of the SDK.</p>\n<p>I have never seen anyone doing such a strange approach to version their API clients. I fail to understand why anyone would even want to use the client from 2015 on a cloud product like Azure.</p>\n<div><pre><code>root@1bba10bd1500:~/.pyenv/versions/3.9.2/lib/python3.9/site-packages/azure/mgmt/network# du -shc * | grep M | sort -n \n1.2M\taio\n2.4M\tv2015_06_15\n3.3M\tv2016_09_01\n3.5M\tv2016_12_01\n3.7M\tv2017_03_01\n4.4M\tv2017_06_01\n4.4M\tv2017_08_01\n4.9M\tv2017_09_01\n5.1M\tv2017_10_01\n5.1M\tv2017_11_01\n5.1M\tv2018_01_01\n5.7M\tv2018_02_01\n6.5M\tv2018_04_01\n6.6M\tv2018_06_01\n6.9M\tv2018_07_01\n8.3M\tv2018_08_01\n8.4M\tv2018_10_01\n8.6M\tv2018_11_01\n8.8M\tv2018_12_01\n9.0M\tv2019_02_01\n9.5M\tv2019_04_01\n10M\tv2019_06_01\n11M\tv2019_07_01\n11M\tv2019_08_01\n11M\tv2019_09_01\n11M\tv2019_11_01\n11M\tv2019_12_01\n12M\tv2020_03_01\n12M\tv2020_04_01\n13M\tv2020_05_01\n13M\tv2020_06_01\n13M\tv2020_07_01\n13M\tv2020_08_01\n259M\ttotal\n</code></pre></div>\n<p>Can the default release only prove the latest version of the client libraries, or at least provide a 'lean' version of the SDK? This release model is certainly not sustainable and is causing useless grief to your users.</p></div>",
"author": "",
"favicon": "https://github.githubassets.com/favicons/favicon.svg",
"source": "github.com",
"published": "",
"ttr": 43,
"type": "object"
}