vrproject

Complex Network Analysis VR-project
git clone git://popovic.xyz/vrproject.git
Log | Files | Refs

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.