igraph is a high-performance C library for complex network analysis and graph theory. It provides a comprehensive suite of graph algorithms including centrality measures (PageRank, betweenness, eigenvector), community detection (Leiden, Infomap, label propagation, walktrap), isomorphism (VF2, BLISS), shortest paths, flows, cliques, motifs, graph layout (Fruchterman-Reingold, Kamada-Kawai, DRL, Sugiyama), and random graph generation (Erdos-Renyi, Barabasi-Albert, stochastic block models). The library is designed for efficiency and portability, with a stable C API that serves as the backend for higher-level interfaces in R (igraph), Python (python-igraph), and Mathematica (IGraphM). The architecture is a monolithic C library with optional C++ components for performance-critical algorithms (e.g., PRPACK for PageRank, DRL layout, BLISS isomorphism). It includes a rich set of internal data structures (vectors, matrices, sparse matrices, heaps, tries, prefix sum trees) and a robust error handling framework using IGRAPH_CHECK and IGRAPH_FINALLY macros. The library supports multiple graph file formats (GML, GraphML, Pajek, LGL, NCOL, DL, DIMACS) and provides attribute handling for vertex/edge metadata. Key strengths include extensive testing (unit tests, regression tests, benchmarks, fuzzing via OSS-Fuzz), reproducible random number generation (PCG, MT19937), and a well-documented API with semantic versioning. The codebase is actively maintained with frequent releases and a clear deprecation policy. While primarily a C library, it integrates external solvers (ARPACK, LAPACK, GLPK) and bundled vendor code (cliquer, bliss, plfit) for specialized algorithms.
The Graphillion repository is a Python library for efficient graphset operations. It provides classes and functions for generating, manipulating, and analyzing sets of graphs and vertex sets. The library is designed for handling large sets of graphs efficiently and can process trillions of graphs on a single computer. It has been used in various applications, including power network evaluation and railway analysis.
This repository is a collection of blog posts, presentations, Jupyter notebooks, and scripts by John Lambert (@JohnLaTwC), a renowned security engineer from Microsoft. It serves as a knowledge base for security defenders, covering topics such as attack graph theory, the MS08-067 vulnerability story, and the 'Githubification of InfoSec' concept, which advocates for open, community-driven security practices using MITRE ATT&CK, Sigma rules, and Jupyter notebooks. The notebooks focus on malware analysis, shellcode reverse engineering, and threat hunting, often leveraging VirusTotal APIs and custom disassembly tools. The Yara rules provide detection for document-based attacks. The PowerShell scripts are utilities to restore Windows Defender to a secure configuration. While the content is highly educational and demonstrates deep security expertise, the repository does not constitute a structured application or a reusable data pipeline; it is a curated set of resources for learning and reference.