scs
Splitting conic solver
Decision gist · record as of 2026-08-14
Yes, if you need a reliable conic solver for convex optimization. The package is stable (MIT licensed, no known vulnerabilities), has broad platform support via prebuilt wheels, and ranks in the top 5000 PyPI packages by download volume. The aging maintenance status is not a blocker if your use case fits the current feature set; verify that the solver's capabilities match your problem structure before committing.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires numpy and scipy; C compiler needed if building from source rather than using prebuilt wheels.
- Medium install friction due to compiled C extensions; prebuilt wheels available across macOS, Linux, and Windows.
- Package status is aging (217 days since last release), though no active maintenance issues are evident.
License · maintenance · safety
permissive license (permissive) — MIT License permits unrestricted use, modification, and distribution with minimal restrictions—suitable for commercial and proprietary projects.
last release 2026-01-09 (217 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 4,052,573 downloads/mo, #2,389 on PyPI
Alternatives
Verify before relying
import scs
import numpy as np
# Define a simple conic problem and solve
data = {'A': np.array([[1.0, 0.0]]), 'b': np.array([1.0]), 'c': np.array([1.0, 1.0])}
cones = {'f': 0, 'l': 2}
solver = scs.SCS(data, cones)
result = solver.solve()- Specific solver capabilities and algorithm details beyond the conic interface
- Performance characteristics and scalability limits for large-scale problems
- Whether the aging maintenance status reflects stable maturity or reduced support
What it is and what it does
scs is a Python binding to the Splitting Conic Solver, a numerical library for solving convex optimization problems formulated as conic programs. It wraps the underlying C solver and exposes it through a Python API, accepting problem data in standard conic form (linear objective, affine constraints, and cone membership constraints) and returning solutions via the solver's splitting algorithm.
The package depends on numpy and scipy for numerical operations and is distributed as prebuilt wheels for modern Python versions on major platforms. It is suitable for applications requiring reliable convex optimization where problems naturally fit the conic framework.
Use it for
- Solve semidefinite programming problems in machine learning and control theory applications
- Optimize convex cone programs arising in portfolio optimization and financial modeling
- Use as a backend solver in convex optimization frameworks that support conic interfaces
- Prototype and validate convex formulations before deployment to production solvers
- Research and development in optimization algorithms and convex geometry
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need a reliable conic solver for convex optimization.
The package is stable (MIT licensed, no known vulnerabilities), has broad platform support via prebuilt wheels, and ranks in the top 5000 PyPI packages by download volume. The aging maintenance status is not a blocker if your use case fits the current feature set; verify that the solver's capabilities match your problem structure before committing.
Install
scs on PyPI
Before you install
Medium install friction due to compiled C extensions; prebuilt wheels available across macOS, Linux, and Windows. Package status is aging (217 days since last release), though no active maintenance issues are evident.
Requires numpy and scipy; C compiler needed if building from source rather than using prebuilt wheels.
License in practice
MIT License permits unrestricted use, modification, and distribution with minimal restrictions—suitable for commercial and proprietary projects.
Quickstart
import scs
import numpy as np
# Define a simple conic problem and solve
data = {'A': np.array([[1.0, 0.0]]), 'b': np.array([1.0]), 'c': np.array([1.0, 1.0])}
cones = {'f': 0, 'l': 2}
solver = scs.SCS(data, cones)
result = solver.solve()
Verify before relying
- Specific solver capabilities and algorithm details beyond the conic interface
- Performance characteristics and scalability limits for large-scale problems
- Whether the aging maintenance status reflects stable maturity or reduced support
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 2 packagesnumpyscipy |
| Maintenance | Aging 217 days since the last release |
| First released | |
| Downloads | 4,052,573 / month, #2,389 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIXOperating System :: UnixProgramming Language :: CProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: Implementation :: CPython |
Evidence: scs-3.2.11-cp310-cp310-macosx_11_0_arm64.whl; scs-3.2.11-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl; scs-3.2.11-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; scs-3.2.11-cp310-cp310-musllinux_1_2_x86_64.whl; scs-3.2.11-cp310-cp310-win_amd64.whl; scs-3.2.11-cp311-cp311-macosx_11_0_arm64.whl; scs-3.2.11-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl; scs-3.2.11-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; scs-3.2.11-cp311-cp311-musllinux_1_2_x86_64.whl; scs-3.2.11-cp311-cp311-win_amd64.whl; scs-3.2.11-cp312-cp312-macosx_11_0_arm64.whl; scs-3.2.11-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl; scs-3.2.11-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; scs-3.2.11-cp312-cp312-musllinux_1_2_x86_64.whl; scs-3.2.11-cp312-cp312-win_amd64.whl; scs-3.2.11-cp313-cp313-macosx_11_0_arm64.whl; scs-3.2.11-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl; scs-3.2.11-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; scs-3.2.11-cp313-cp313-musllinux_1_2_x86_64.whl; scs-3.2.11-cp313-cp313-win_amd64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “convex optimization solver”
- scsscs is a Python interface to the Splitting Conic Solver, a numerical…
- ecosECOS is a Python wrapper for a numerical solver that handles convex…
- cvxpy-basecvxpy-base provides compiled solver kernels for CVXPY, a Python…
Give your agent the search over MCP, or paste the wish link into any chat.
More Mathematics packages
NetworkX provides data structures and algorithms for creating, analyzing, and manipulating graphs and networks, supporting everything from simple undirected graphs to complex directed and weighted networks.
kiwisolver is a Python binding to a fast C++ implementation of the Cassowary constraint solver, enabling you to solve systems of linear constraints and inequalities.
Install it if you need to solve constraint systems; skip it if you only need simple linear algebra.
SymPy is a Python library for symbolic mathematics, performing algebraic manipulation, calculus, equation solving, and mathematical expression simplification without numerical approximation.
ContourPy calculates contours of 2D quadrilateral grids using C++11 algorithms wrapped in Python, offering serial and multithreaded implementations without requiring Matplotlib as a dependency.
PyTorch provides GPU-accelerated tensor computation and automatic differentiation for building and training deep neural networks in Python.
onnxruntime loads and executes Open Neural Network Exchange (ONNX) models with a focus on inference performance across CPUs and accelerators.
Install it if you have ONNX models to run in production or development.
See also cvxopt · Mosek · ecos · clarabel · osqp · cvxpy-base · qpsolvers · cvxpy · convex · AeroSandbox