NLP
From OpenOpt
 subjected to
 (smooth differentiable functions)
 OpenOpt NLP example
 FuncDesigner NLP example (with automatic differentiation)
Read also: SciPy optimization solvers
NLP solvers connected to OpenOpt:
Contents 
Singlevariable
(finite boxbound constraints are required, x0 and derivatives are unused)
Solver  License  Info 

goldenSection  BSD  Algorithm: golden section (pure) 
scipy_fminbound  BSD  golden section + quadratic spline approximation. Seems like the scipy solver works incorrectly (sometimes x_opt is out of lbub bounds) 
Unconstrained
Solver  License  Source code language  Info 

amsg2p  BSD  Dmitrey 
Currently unconstrained only, for mediumscaled problems (nVars up to ~1000...1500) Requires known fOpt (optimal value) and fTol (required objective function tolerance, may be very small). 
scipy_powell  BSD  Python  cannot handle usersupplied gradient 
scipy_fmin  BSD  Python  an implementation of NelderMead simplex algorithm; cannot handle usersupplied gradient 
scipy_bfgs  BSD  Python  quasiNewton method of Broyden, Fletcher, Goldfarb, and Shanno (BFGS) See Wright, and Nocedal 'Numerical Optimization', 1999, pg. 198. 
scipy_cg  BSD  Python  nonlinear conjugate gradient algorithm of Polak and Ribiere See Wright, and Nocedal 'Numerical Optimization', 1999, pg. 120122 
scipy_ncg  BSD  Python  See Wright, and Nocedal 'Numerical Optimization', 1999, pg. 140. Can handle userprovided d^{2}f / dx^{2}, see the example. 

Boxbound constrained
(can handle only simplest constraints lb <= x <= ub)
Solver  License  Made by  Source code language 

scipy_lbfgsb  BSD  Ciyou Zhu, Richard Byrd, and Jorge Nocedal <nocedal(at)ece.nwu.edu>, connected to scipy by David M. Cooke <cookedm(at)physics.mcmaster.ca> and Travis Oliphant 
Fortran 
scipy_tnc  BSD  Stephen G. Nash  C 
bobyqa  BSD  M.J.D. Powell. Doesn't use derivatives. Best solver for at most boxbounded problems, where objective function gradient cannot be provided. Mediumscaled solver (number of variables up to ~700), requires nlopt installed.  C (converted from Fortran) 
ptn  LGPL  ptn means "Preconditioned truncated Newton". Made by Prof. Ladislav Luksan, requires nlopt installed, uses its LD_TNEWTON_PRECOND_RESTART routine.  C (converted from Fortran) 
slmvm1, slmvm2  LGPL  slmvm means "Shifted limitedmemory variablemetric", 1 and 2 means rank1 and rank2. Made by Prof. Ladislav Luksan, requires nlopt installed.  C (converted from Fortran) 

General constrained
(lb <= x <= ub, A*x <= b, Aeq*x = beq, c(x) <= 0, h(x) = 0)
Solver  License  Made by  Source code language  Info 

ralg  BSD  Dmitrey  Python  for mediumscaled problems (nVars = 1...1000); illconditioned, piecewise linear and polynomial, nonsmooth & noisy ones are also allowed. ralgorithm with adaptive space dilation had been invented by Ukrainian academician Naum Z. Shor (my teacher //Dmitrey). 
interalg  BSD  Dmitrey  Python  Solver with userdefined solution accuracy abs(f  f*) < fTol. Handling of general constraints is available since r. 0.36 
scipy_cobyla  BSD  M.J.D. Powell, connected to scipy by JeanSebastien Roy  Fortran  Doesn't use derivatives. Recommended: read the issue about iterfcn connection. 
algencan  GPL (project webpage informs that you can contact authors for obtaining another license)  J. M. Martinez, Ernesto G. Birgin, connected to Python by Jan Marcel Paiva Gentil  Fortran  The solver is developed at the Department of Applied Mathematics of the State University of Campinas and at the Department of Computer Science of the University of São Paulo (largest higher education and research institution in Brazil), under the coordination of Professor J. M. Martínez. Based on Augmented Lagrangian multipliers. Use the URL for download and install instructions. Copy pywrapper.so to a folder from PYTHONPATH (for example /usr/lib/python2.5/sitepackages/) or ensure it is already present in a PYTHONPATH folder via "try: import pywrapper; except: print 'not found' ". Currently ALGENCAN requires a good usersupplied estimation of stop criterion gtol (try p.gtol = 1e1...1e6); ignores xtol, ftol, so using maxTime, maxCPUTime, maxIter, maxFunEvals is welcome. Recommended! Read some algencan issues here and here 
scipy_slsqp  BSD  Dieter Kraft, connected to scipy by Rob Falck  Fortran  requires scipy.__version__ = 0.7.0 or more recent 
mma  LGPL  Steven G. Johnson  C  mma = "method of moving asymptotes". Requires nlopt version 2.2 or more recent. 
auglag  LGPL  Steven G. Johnson  C  auglag = "augmented lagrangian". Requires nlopt version 2.2 or more recent. 
sqlcp (since OO ver 0.32)  MIT  Enzo Michelangeli and IT Vision Ltd  Python  Cannot handle nonlinear constraints c, h yet. 
ipopt  CPL  Carl Laird (Carnegie Mellon University) and Andreas Wachter  C++  The most known solver from coinor project requires installation of ipopt and pyipopt (latter is made by Eric You Xu), and currently pyipopt declares "Platform: Linux, Mac, Untested for windows". Some stop criteria don't work (maxTime, maxCPUTime etc) because Python (2.5) can't catch exception though ipopt's code. IPOPT requires one of 3 linear system solvers; see /Ipopt3.*.*/ThirdParty/Mumps for more details and installation script. OpenOpt use tol=1e6 by default instead of 1e8 value that is used by default in ipopt; set p.ftol = <your value> to modify tol, p.contol to modify constr_viol_tol (OpenOpt pass 1e6 by default), p.maxIter to modify max_iter; other parameters from ipopt.opt file specification can be set via r=p.solve('ipopt', options = 'param1=value1, param2=value2; param3 value3 [etc...]') (comma or semicolonseparated, space or "=" for namevalue separation; however, mb this approach will be changed in future). 
gsubg  BSD  Dmitrey  Python  For largescaled convex problems (maybe nonsmooth) with guaranteed userdefined precision. 
lincher  BSD  Dmitrey  Python  for constraints more than lbub the solver requires QP solver, and the only one connected for now is CVXOPT one (GPL). This solver is very primitive for now, we intend to enhance the one from time to time. 