{"library":"mosek","title":"MOSEK Optimization Suite","description":"MOSEK is a high-performance software package for solving large-scale mathematical optimization problems, encompassing linear, quadratic, and conic optimization, as well as mixed-integer programming (LP, QP, SOCP, SDP, MIP, etc.). It provides a Python API, including the lower-level Optimizer API and the object-oriented Fusion API. As a commercial product, it requires a valid license, with free academic and trial licenses available. It follows a major.minor.revision semantic versioning, where major versions may introduce incompatibilities.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install mosek"],"cli":null},"imports":["import mosek","import mosek.fusion as msk"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import mosek\nimport os\n\n# Configure MOSEK license path. Replace 'path/to/your/mosek.lic' with actual path.\n# For academic/trial licenses, it often defaults to ~/.mosek/mosek.lic\n# It's recommended to set MOSEKLM_LICENSE_FILE environment variable for production.\n# For quickstart, ensure the license file is accessible or MOSEKLM_LICENSE_FILE is set.\n# os.environ['MOSEKLM_LICENSE_FILE'] = os.environ.get('MOSEKLM_LICENSE_FILE', 'path/to/your/mosek.lic')\n\n# Define a stream printer to capture MOSEK output (optional)\ndef streamprinter(text):\n    # print(text.strip())\n    pass\n\ntry:\n    # Create a MOSEK environment\n    with mosek.Env() as env:\n        # Attach a stream printer to the environment\n        env.set_Stream(mosek.streamtype.log, streamprinter)\n\n        # Create a task for optimization\n        with env.Task() as task:\n            task.set_Stream(mosek.streamtype.log, streamprinter)\n\n            # Problem: Minimize x + y subject to x >= 0, y >= 0, x + y >= 1\n\n            # Append two variables\n            task.appendvars(2)\n            # Set variable bounds to be free initially\n            task.putvarboundlist([0, 1], [mosek.boundkey.fr, mosek.boundkey.fr], [0.0, 0.0], [0.0, 0.0])\n\n            # Append one constraint\n            task.appendcons(1)\n            # Set constraint bound (x + y >= 1)\n            task.putconbound(0, mosek.boundkey.lo, 1.0, 1.0)\n\n            # Set coefficients for constraint (x + y)\n            task.putaij(0, 0, 1.0) # Constraint 0, Variable 0, Coefficient 1.0\n            task.putaij(0, 1, 1.0) # Constraint 0, Variable 1, Coefficient 1.0\n\n            # Set objective coefficients (Minimize x + y)\n            task.putclist([0, 1], [1.0, 1.0])\n            # Set objective sense to minimize\n            task.putobjsense(mosek.objsense.minimize)\n\n            # Solve the problem\n            task.optimize()\n            task.solutionsummary(mosek.streamtype.log)\n\n            # Get and print the solution\n            prosta = task.getprosta(mosek.soltype.itr)\n            if prosta == mosek.prosta.prim_feas_obj_and_dual_feas_obj:\n                xx = [0.0] * 2\n                task.getxx(mosek.soltype.itr, xx)\n                print(f\"Solution: x = {xx[0]}, y = {xx[1]}\")\n            else:\n                print(\"Problem status: \", prosta)\n\nexcept mosek.Error as e:\n    print(f\"MOSEK Error: {e.code} {e.msg}\")\nexcept Exception as e:\n    print(f\"General Error: {e}\")","lang":"python","description":"This quickstart demonstrates a basic Linear Programming (LP) problem using MOSEK's Optimizer API. It initializes a MOSEK environment and task, defines variables and constraints, sets the objective, solves the problem, and retrieves the solution. A MOSEK license is required to run this code; ensure your license file is correctly configured, typically via the `MOSEKLM_LICENSE_FILE` environment variable or by placing `mosek.lic` in `~/.mosek/` (or `%USERPROFILE%\\mosek\\` on Windows).","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"11.2.0","pypi_latest":"11.2.0","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":50,"avg_install_s":4.8,"avg_import_s":0.03,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"mosek","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"mosek","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.9,"import_time_s":0.02,"mem_mb":2.5,"disk_size":"134M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"mosek","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"mosek","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.6,"import_time_s":0.04,"mem_mb":3.9,"disk_size":"143M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"mosek","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"mosek","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.5,"import_time_s":0.03,"mem_mb":3.6,"disk_size":"131M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"mosek","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"mosek","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.5,"import_time_s":0.03,"mem_mb":3.8,"disk_size":"131M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"mosek","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"mosek","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":5.7,"import_time_s":0.03,"mem_mb":2.7,"disk_size":"144M"}]}}