PySCIPOpt is a Python interface to the SCIP optimization solver, providing a comprehensive modeling environment for linear, mixed-integer, nonlinear, and constraint programming. The library wraps SCIP's C API through Cython, allowing users to formulate optimization problems using Python objects (variables, constraints, expressions) and to solve them with SCIP's state-of-the-art algorithms. The core architecture revolves around the `Model` class, which exposes all solver functionality, and a suite of plugin base classes (branching rules, heuristics, separators, constraint handlers, etc.) that enable users to customize the solution process. The expression system (`Expr`, `GenExpr`, `MatrixExpr`) supports algebraic formulation with operator overloading, while the recipes subpackage provides higher-level modeling helpers for common tasks such as piecewise linear constraints, infeasibility diagnosis, and convergence tracking. The repository is actively maintained and closely tracks SCIP releases, but also explicitly seeks new maintainers to sustain long-term development.
PyMetis is a Python wrapper for the METIS graph partitioning library, providing a high-level API for partitioning graphs and meshes, and for computing sparse matrix orderings (nested dissection). The Python package exposes functions such as `part_graph`, `part_mesh`, and `nested_dissection` via pybind11 bindings to the bundled METIS 5.2.1 C source. The build system (meson-python) compiles the METIS library and GKlib utilities from source, producing a self-contained wheel. The repository also includes a comprehensive test suite that validates partitioning of 2D/3D tetrahedral meshes and graph-based partitions with weighted vertices and edges. While the Python API is clean and straightforward, the project's primary value lies in its reliable integration of a well-established, high-performance C library rather than in novel algorithmic contributions. The codebase is actively maintained, with regular releases, CI/CD pipelines for multiple platforms, and support for both PyPI and conda-forge distributions.