script.md (2942B)
1 # FILM SCRIPT 2 3 Welcome, my name is Milutin Popović and I will introduce you to a project I 4 have been working on in this semester involving Networks and Python. 5 6 Python is known to be an easy to use, simple to learn programming language 7 used by hobbyists, software developers, scientists and students like me. To 8 save time and all in all make our lives easier while coding, we fall back to 9 using what are called python packages. These packages are essentially already 10 written out code by a group of people or one person and mostly made available 11 for the public to use without any actual restrictions. This allows us to use 12 well thought out and optimized code without actually needing to write it 13 ourselves. 14 15 16 So, if we were to write a python program and use some of these packages, we 17 would call our program dependent on these packages. On the other hand the 18 package that we are using is not dependent on the program we are writing it, 19 at least not yet. And like our dummy program every single package might also 20 depend on some other package or multiple packages. 21 22 To get dependency information of each package we resort to the Python Package 23 Index, which is the official repository for python packages. Mapping packages 24 as nodes and their dependency information as directional links to these nodes 25 we can represent this information in a complex network/graph with nodes and 26 directional links. The network layout is structured in a pyramid scheme in such 27 a way that the nodes with high degree are at the top, while low degree nodes 28 are tend to the bottom. 29 30 Like most complex networks on the internet this is a scale 31 free network where a lot of the times ''rich get richer'' scenario comes into 32 play. Older, and more popular packages tend to be used frequently than newly 33 created ones. Never the less this does not not restrict us from finding new information 34 35 With a little bit of creative thinking we can reconstruct time dependent 36 data. By this I mean we can reconstruct the same exact network for each and 37 every month from the date the Package Index was created, around 2005 38 to this year 2022. An interesting thing to look here are the rising 39 stars, created in last few years that have gained a large number of 40 in dependencies/in degrees in a short period of time. These are shown in the picture here. 41 Some of these packages are already well recognized in the data science/ 42 machine learning community like keras and torch, and some other packages 43 are tending to replace older packages showing a logarithmically flattening 44 curve. An example of this would be 'hpptx'. Now we can take a look how over 45 the years they have quite quickly risen through the levels of our network 46 layout to being the top nodes. 47 48 Indeed you might want to keep an eye on these packages, since they can quite 49 easily replace some of the older flattening packages in the community and 50 represent based on the analysis that we have done, all in all quite solid projects.