Data Science, Computer Science, Mathematics, and Machine Learning
Network Science, Graph Theory
NetworkX is an open-source library providing flexible data structures and a wide array of algorithms for creating and analyzing networks. The flexibility of the fundamental Graph objects enable users to construct arbitrarily complex networks, supporting a broad range of problems and applications.
Network science is a diverse field encompassing a wide range of applications. NetworkX aims to provide a generic interface to the tools and concepts of network science, embracing investigation in many fields. Some common applications include analysis of social networks, biological and ecological applications (analysis of protein structure, population dynamics), neuroscience (analysis of neural networks), machine learning (neural networks in a different context), and many others. Note also that many fundamental computer science concepts and data structures (e.g. search algorithms, trees) are described in terms of network science. Thus many of the algorithms in NetworkX are ubiquitous in scientific computing.