Releases

0.29.0

minor release

This is a stable release. It may include new functionality or backwards-incompatible changes.

Release notes for cobrapy 0.29.0

New features

  • Added a new “hybrid” solver that exposes an HIGHS/OSQP combinations for large scale LPs, MILPs, and QPs.

Fixes

Repaired the broken Biomodels Web IO.

0.28.0

minor release

This is a stable release. It may include new functionality or backwards-incompatible changes.

Release notes for cobrapy 0.28.0

Fixes

  • Allowed for pandas versions >=1.0 and <3.0 (#1364).

Other

  • Updated the GitHub Actions used (#1364).

0.27.0

minor release

This is a stable release. It may include new functionality or backwards-incompatible changes.

Release notes for cobrapy 0.27.0

New features

Fixes

COBRApy is now compatible with pydantic version 2.

COBRApy is now compatible with the latest numpy versions and pin to a lower version has been removed.

0.26.3

patch release

This is a bug fix release. It is considered stable but does not include any significant new features. All changes are backwards-compatible.

Release notes for cobrapy x.y.z

New features

Fixes

Fixed an issue where reaction bounds were being overwritten by global model min/max values when writing sbml model to file. See #1300.

Fix an issue where runfrog does not work via github actions or local installation by removing the use of obsolete numpy aliases for float and bool.

0.26.2

patch release

This is a bug fix release. It is considered stable but does not include any significant new features. All changes are backwards-compatible.

Release notes for cobrapy x.y.z

New features

Fixes

Fix the version numbers, my bad - cd

Other

0.26.1

patch release

This is a bug fix release. It is considered stable but does not include any significant new features. All changes are backwards-compatible.

Release notes for cobrapy 0.26.1

New features

Fixes

Fix automatic building of the documentation.

Fix an issue where SBML models with a “created” date would break lots of the cobrapy functionality.

0.26.0

minor release

This is a stable release. It may include new functionality or backwards-incompatible changes.

Release notes for cobrapy 0.26.0

New features

  • View number of genes in model notebook representation.
  • added support for Python 3.11

Fixes

0.25.0

minor release

This is a stable release. It may include new functionality or backwards-incompatible changes.

Release notes for cobrapy 0.25.0

New features

  • Add knock_out_model_genes to simulate knock-outs, setting reaction bounds of affected reactions to zero and returning a list of reactions that were knocked-out. Replaces delete_model_genes and undelete_model_genes since it is context sensitive.
  • Improve reading of matlab models which will include metabolite and reaction annotations.

0.23.0

minor release

This is a stable release. It may include new functionality or backwards-incompatible changes.

Release notes for cobrapy 0.23.0

Fixes

  • Make compatible with Python 3.10
  • Use the internal semantic GPR parser in the SBML module
  • Setting a growth medium will not reset export flux bounds anymore

Other

0.22.1

patch release

This is a bug fix release. It is considered stable but does not include any significant new features. All changes are backwards-compatible.

Release notes for cobrapy 0.22.1

Fixes

  • Fix an old bug with double gene deletion that was not knocking-out combinations (#1103).
  • Lots of syntax, annotation, and docstring fixes (#1081, #1083, #1084, #1085, #1086, #1088, #1090, #1091, #1092, #1093, #1094, #1095, #1096).

Deprecated features

0.22.0

minor release

This is a stable release. It may include new functionality or backwards-incompatible changes.

Release notes for cobrapy 0.22.0

New features

  • Add support for the OSQP and COIN-OR CBC solvers (#946)

Fixes

  • Fix the Reaction.compartments attribute not updating after metabolite changes (#1055)

0.21.0

minor release

This is a stable release. It may include new functionality or backwards-incompatible changes.

Release notes for cobrapy 0.21.0

Other

  • Update libSBML dependency to python-libsbml==5.19.0.
  • Docstring and style changes.

0.20.0

minor release

This is a stable release. It may include new functionality or backwards-incompatible changes.

Release notes for cobrapy 0.20.0

New features

There is a new function inspired by cameo that can load models directly from BiGG or BioModels and by default will cache them locally (#995).

0.19.0

minor release

This is a stable release. It may include new functionality or backwards-incompatible changes.

Release notes for cobrapy 0.19.0

We now have an official code of conduct and a committee of three people to handle reports! You can contact them at conduct@opencobra.org. You can also contact them individually at:

0.17.1

patch release

This is a bug fix release. It is considered stable but does not include any significant new features. All changes are backwards-compatible.

Release notes for cobrapy 0.17.1

Fixes

  • Prevent an error with infeasible solutions in (loopless) FVA.
  • Correct a sampling problem with Gurobi as the solver.
  • Adjust sampling documentation.

0.17.0

minor release

This is a stable release. It may include new functionality or backwards-incompatible changes.

Release notes for cobrapy 0.17.0

Fixes

  • Improve handling of and problems with SBML notes.
  • Log SBML messages to a module logger rather than the root logger.
  • Repair documentation building.

0.16.0

minor release

This is a stable release. It may include new functionality or backwards-incompatible changes.

Release notes for cobrapy 0.16.0

New features

  • Summaries now return an object with string and HTML representations instead of simply printing output (#855). This is a breaking change but should not affect anyone in a harmful way.

Fixes

0.15.4

patch release

This is a bug fix release. It is considered stable but does not include any significant new features. All changes are backwards-compatible.

Release notes for cobrapy 0.15.4

Fixes

  • This release brings a number of bug fixes for SBML I/O (#852).

Backwards incompatible changes

  • The deprecated objective_coefficient was removed (#871).

0.15.3

patch release

This is a bug fix release. It is considered stable but does not include any significant new features. All changes are backwards-compatible.

Release notes for cobrapy 0.15.3

Fixes

  • Correct multiple issues with the new SBML parser (#822, #839, #840, #843, #844).
  • Function validate_sbml_model properly captures errors and warnings.

0.15.2

patch release

This is a bug fix release. It is considered stable but does not include any significant new features. All changes are backwards-compatible.

Release notes for cobrapy 0.15.2

New features

  • We introduce a new tolerance attribute both on the global Configuration object as well as Model. The default for this is 1E-07. Many functions that use a zero cut-off will now use the set model tolerance value by default. This value can still be set manually via function arguments but attempting to set a threshold that is lower than the model tolerance now raises an error.

0.15.1

minor release

This is a stable release. It may include new functionality or backwards-incompatible changes.

Release notes for cobrapy 0.15.1

Fixes

  • Fix copying of models with groups.

0.14.2

patch release

This is a bug fix release. It is considered stable but does not include any significant new features. All changes are backwards-compatible.

Release notes for cobrapy 0.14.2

Fixes

  • Better identification of the external compartment.
  • Fix the installation of all optional dependencies, i.e., pip install cobra[all].

0.14.0

minor release

This is a stable release. It may include new functionality or backwards-incompatible changes.

Release notes for cobrapy 0.14.0

New features

  • Adding boundary reactions is now much more flexible and accepts user-defined identifiers.
  • It is now possible to run FVA and loopless FVA in parallel.
  • Some utilities and an example of how to perform static optimization dynamic FBA.

0.14.1

patch release

This is a bug fix release. It is considered stable but does not include any significant new features. All changes are backwards-compatible.

Release notes for cobrapy 0.14.1

Fixes

  • Always create an XML declaration when reading SBML from a byte stream.

0.13.4

patch release

This is a bug fix release. It is considered stable but does not include any significant new features. All changes are backwards-compatible.

Release notes for cobrapy 0.13.4

Fixes

  • Internal re-organization of the test suite.
  • Upgrade the ruamel.yaml version making it compatible with Python 3.7.
  • Fix a bug with a regular expression in the Matlab interface.

0.13.3

patch release

This is a bug fix release. It is considered stable but does not include any significant new features. All changes are backwards-compatible.

Release notes for cobrapy 0.13.3

  • Make a clean release for PyPI, website, and GitHub.

0.13.0

minor release

This is a stable release. It may include new functionality or backwards-incompatible changes.

Release notes for cobrapy 0.13.0

New features

  • New properties for the cobra.Model that give access to specific boundary reactions.
  • New functions for handling media and computing minimal media. Please read the new documentation chapter on media.

Backwards incompatible changes

0.12.1

patch release

This is a bug fix release. It is considered stable but does not include any significant new features. All changes are backwards-compatible.

Release notes for cobrapy 0.12.1

New features

  • Fix/feature that allows summaries to work properly for models with multiple exchange reactions for the same metabolite.
  • Require a later optlang version so that Gurobi can now be used for quadratic problems.
  • cobrapy can now extract primal values from a wider range of solver states. This is particularly useful to investigate problems in non-optimal states.

0.12.0

minor release

This is a stable release. It may include new functionality or backwards-incompatible changes.

Release notes for cobrapy 0.12.0

New features

  • Add geometric FBA as a method.
  • Add (linear) ROOM as a flux simulation method.
  • Allow a reference solution to be used with deletion methods when using MOMA or ROOM.

Fixes

0.11.3

patch release

This is a bug fix release. It is considered stable but does not include any significant new features. All changes are backwards-compatible.

Release notes for cobrapy 0.11.3

Fixes

  • Improve convergence and stability of sampling.
  • Reverse inplace operations after leaving a context.

Docs

0.11.2

patch release

This is a bug fix release. It is considered stable but does not include any significant new features. All changes are backwards-compatible.

Release notes for cobrapy 0.11.2

Fixes

  • Correctly set the constraint for a previous minimization objective in FVA.

0.11.1

patch release

This is a bug fix release. It is considered stable but does not include any significant new features. All changes are backwards-compatible.

Release notes for cobrapy 0.11.1

Fixes

  • Catch all optlang errors and re-raise them as OptimizationError with corresponding message.

0.11.0

minor release

This is a stable release. It may include new functionality or backwards-incompatible changes.

Release notes for cobrapy 0.11.0

New features

  • Add an argument processes to the functions find_essential_genes and find_essential_reactions.
  • Automatic documentation generation should hopefully mean that it’s never out-of-date.

Backwards incompatible changes

0.10.0

minor release

This is a stable release. It may include new functionality or backwards-incompatible changes.

Release notes for cobrapy 0.10.0

Fixes

  • The solvers packaged with cobrapy have been removed.
  • cobra is now a pure Python package and no longer has compiled extensions.
  • Massively simplified continuous testing and deployment.
  • The solver argument and configuration keyword arguments have been removed. Please set the solver on the model and configure it before calling optimization functions.

0.10.1

patch release

This is a bug fix release. It is considered stable but does not include any significant new features. All changes are backwards-compatible.

Release notes for cobrapy 0.10.1

Fixes

  • pandas has dropped support for Python 3.4 and we are doing the same for our automated tests. If you are running Python 3.4 and have a working installation of numpy and pandas, adding cobrapy on top of that is no problem.
  • Updated some URLs in the links.

0.9.1

patch release

This is a bug fix release. It is considered stable but does not include any significant new features. All changes are backwards-compatible.

Release notes for cobrapy 0.9.1

Fixes

  • All around improvements to cobrapy’s continuous integration.
  • Pin the scipy version to 0.19.1 until we can upgrade our sparse matrix code to scipy 1.0.

New features

0.9.0

minor release

This is a stable release. It may include new functionality or backwards-incompatible changes.

Release notes for cobrapy 0.9.0

Fixes

  • Model.compartment is now a dynamic property fetching the compartments from all metabolites therefore always up-to-date. Assigning a dictionary to the same property updates the internal dictionary of compartment descriptions. This change removes the need for the check for missing compartments from validation.check_metabolite_compartment_formula.

0.8.2

patch release

This is a bug fix release. It is considered stable but does not include any significant new features. All changes are backwards-compatible.

Fixes

  • Guarantee that sampler._reproject always returns a feasible point and will not attempt to reproject already feasible points. #564
  • Model.summary no longer fails when calling after the model has changed. Fixed by letting the summary function re-compute a solution (default) or letting user supply a prior computed solution object. #566

0.8.1

patch release

This is a bug fix release. It is considered stable but does not include any significant new features. All changes are backwards-compatible.

Fixes

  • Fix bug related to inhomogeneous sampling #558.
  • During flux sampling, store the nullspace rather than the entire projection (N * N.T) which reduces the memory footprint since it uses memory in the order of 2 * n_reaction * n_metabolites instead of 4 * n_reactions^2 (no change in speed). PR #556.

0.8.0

minor release

This is a stable release. It may include new functionality or backwards-incompatible changes.

Fixes

  • Tests no longer generates warnings about using deprecated functions.
  • Gapfilling integrality thresholds now supported for all optlang solvers.

0.7.0

minor release

This is a stable release. It may include new functionality or backwards-incompatible changes.

Fixes

  • cobra.flux_analysis.reaction.assess was broken following the release of 0.6.0 and has now been fixed (and now with unit tests).

0.6.2

patch release

This is a bug fix release. It is considered stable but does not include any significant new features. All changes are backwards-compatible.

Fixes

  • Fix in the ordering and rounding of FVA summary #525
  • Shared memory, improve speed during sampling #521

0.6.1

patch release

This is a bug fix release. It is considered stable but does not include any significant new features. All changes are backwards-compatible.

Fixes

  • Debug metabolite.add_metabolites with combine=False (#503)
  • Fix broken printing of metabolites (#502), by removing unnecessary Frozendict

0.6.0

minor release

This is a stable release. It may include new functionality or backwards-incompatible changes.

In this release we have made major changes to pretty much all corners of cobrapy and we hope that you will enjoy the new features as much as we do, and that any negative impacts on existing workflows will be limited. The major change is the ongoing move away from cobrapy’s internal solver interfaces to those provided by optlang which provides a single unified interface to glpk, cplex and gurobi enhanced by the ability to deal with symbolic expressions.

0.5.11

minor release

This is a stable release. It may include new functionality or backwards-incompatible changes.

This was the last release of the 0.5 series which was based on cobrapy’s own solver interfaces.

For a list of features please see the documentation.