Opty

Latest version: v1.3.0

Safety actively analyzes 693883 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

1.3.0

=============

- Added support for Python 3.12.
- Added a function that generates a numerical objective function and its
gradient from a symbolic objective function: ``create_objective_function()``.
- Fixed constraint violation plot on ``Problem`` by removing the assumption
that each equation of motion was simply a function of one state.
- Added an option to display the Cython compilation output and to automatically
display the output if compilation fails. Display does not always work on
Windows due to limitations in Python's capturing ``STDOUT`` on Windows with
certain system encodings.
- Added support for variable duration solutions by passing in a symbol for the
node time interval instead of a float.
- Switched to Sphinx Gallery for displaying examples in the documentation.
- Moved the three documentation examples to the Sphinx Gallery page.
- Added new examples:

- A variable duration pendulum swing up example.
- A car parallel parking example.
- A quadcopter drone flight example.
- A cycling time trial example that uses SymPy's new muscle models.
- A block sliding over a hill example.

- Updated the generated Cython code to use memory views.
- ``Problem`` now supports solving problems with no unknown input trajectories.
- Corrected plot ordering for the trajectories so that mismatches no longer
occur.
- Improved default plot display for larger number of variables and support
customizing axes to default plots.
- ``Problem`` and other primary classes and methods can now be imported
directly from the top level opty namespace, e.g. ``from opty import
Problem``.
- Better handling of SymPy variable names that generate invalid or clashing C
variable names by appending an underscore to all opty generated C variable
names.
- Switched to pytest for unit testing.

1.2.0

=============

- Dropped support for Python 2.7, 3.6, & 3.7.
- Added support for Python 3.9, 3.10, & 3.11.
- Bumped minimum dependencies up to versions released around mid 2020, except
for cyipopt which is set to 1.1.0 since that is the first version released on
PyPi under the name cyipopt (instead of ipopt).
- Much faster symbolic Jacobian algorithm introduced. For constraints made up
of hundreds of thousands SymPy operations there can be greater than 200X
performance increase.
- logging.info() used for providing information to the user.
- Moved to Github Actions continous integration.

1.1.0

=============

- Added support for Windows.
- Drop support for Python 3.5, add support for 3.7 and 3.8.

1.0.0

=============

- Added JOSS paper.
- Added theory section to the documentation.
- Added optional parallel execution if openmp is installed.
- Fixed a bug in plot_trajectories.
- Adjusted the pendulum swing up torque bounds.
- Updated examples to work with newer dependency versions.

0.2.0

=============

- Added Sphinx documentation and Read The Docs integration.
- Added plotting to the Problem class and matplotlib as an optional dependency.
- Added conda forge installation instructions and Anaconda badge to the README.
- park2004 example now works with both Python 2.7 and 3.5+.
- Bumped the min dependencies for SymPy and PyDy to 1.0.0 and 0.3.0.

0.1.1

=============

- Added a MANIFEST.in file.

Page 1 of 2

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.