# Julia, JuMP, and Gurobi what MUST be cited?

**URL:** <https://discourse.julialang.org/t/julia-jump-and-gurobi-what-must-be-cited/31672>\
**Category:** Community\
**Created:** [November 29, 2019, 8:03pm UTC](https://discourse.julialang.org/t/julia-jump-and-gurobi-what-must-be-cited/31672 "2019-11-29T20:03:51Z")\
**Posts on this page:** 1\
**Showing post:** 13

<div class="post-metadata">

**Author:** ![miles.lubin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/miles.lubin/32/279_2.png) [@miles.lubin](https://discourse.julialang.org/u/miles.lubin)\
**Post date:** [November 30, 2019, 9:49pm UTC](https://discourse.julialang.org/t/julia-jump-and-gurobi-what-must-be-cited/31672/13 "2019-11-30T21:49:59Z")

</div>

Which features are you referring to that were abandoned from JuMP 0.18? The only feature I’m aware of is solver-independent callbacks, which will be [making a return](https://github.com/JuliaOpt/JuMP.jl/pull/2101) in JuMP 0.21. The new CPLEX/MOI wrapper compatible with JuMP 0.20 that @odow rewrote was released on November 9th.

I have to push back on the suggestion that JuMP is a toy for your use cases. If you’re already comfortable enough to use CPLEX.jl or Gurobi.jl directly, you can essentially use anything you like from low-level APIs in JuMP’s [direct mode](http://www.juliaopt.org/JuMP.jl/v0.20.0/solvers/#Direct-mode-1). This may not be the _easiest_ way to accomplish what you want compared with the polished Python or C++ APIs for each specific commercial solver, but the low-level APIs are certainly much more accessible from JuMP than from any other solver-independent modeling language that I’m aware of.

---

_[View the full topic](https://discourse.julialang.org/t/julia-jump-and-gurobi-what-must-be-cited/31672)._
