Skip to main content

Optimization tools

Project description

PyPI-Server Built Status Coverage ReadTheDocs

OPTOOL - Optimization tools

Generally usable utilities related to optimization problems.

Installation

optool can be installed from PyPI:

python -m pip install optool

Content

The source code is structured in a number of packages and modules, each of which serves a different purpose.

Packages

  • The package fields contains implementations for Pydantic-compatible field types.
  • The package optimization provides a convenient interface to numerical solvers for optimization problems.
  • The package serialization implements JSON-to-object converters and vice versa that can be used by Pydantic.

Modules

  • The conversions module offers various convenient function for converting data.
  • The languages module offers tools for i18n and L10n.
  • The logging module implements logging features.
  • The math module implements math operations.
  • The orthography module contains utilities for converting text.
  • The parallel module adds functionalities to run optimizations in parallel.
  • The uom module offers functionalities related to physical units of measurements.
  • The util module provides general purpose classes.

Dependencies

The following libraries are necessary to run the program code.

  • casadi allows to build efficient optimal control software with minimal effort.
  • humanize provides various common string-related utilities like turning a number into a fuzzy human-readable duration (e.g. 3 minutes ago).
  • inflection provides functions for string transformation such as to singularize and pluralize English words, to transform strings from camel case to underscored string, etc.
  • loguru intends to make Python logging less painful by adding a bunch of useful functionalities that solve caveats of the standard loggers.
  • numpy is the fundamental package for scientific computing with Python.
  • pandas provides fast, powerful, flexible and easy to use features for data analysis and manipulation.
  • pint allows to define, operate and manipulate physical quantities. It allows arithmetic operations between them and conversions from and to different units.
  • pint-pandas provides an extension to Pandas, which allows Pandas to recognize the quantities and store them in Pandas data frames and series.
  • pydantic provides extensive data validation features and serialization capabilities using Python type hints.

Development dependencies

The following additional libraries are necessary for development, which are however automatically installed when the corresponding tox commands are used. Hence, tox is the only Python package stringently necessary.

  • autodoc-pydantic allows to integrate pydantic models in the Sphinx documentation.
  • babel simplifies internationalizing and localizing
  • docformatter formats the docstrings.
  • flake8 offers tools to enforce code style guides.
  • isort provides a command line utility, Python library and plugins for various editors to quickly sort all imports of a project.
  • mypy offers static type checking.
  • myst-parser[linkify] is a Sphinx and Docutils extension to parse MyST, a rich and extensible flavour of Markdown.
  • pydata-sphinx-theme is a clean, Bootstrap-based Sphinx theme.
  • pytest-cov provides a plugin to Pytest for measuring code coverage.
  • pytest provides a framework that makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries.
  • setuptools provides tools to easily download, build, install, upgrade, and uninstall Python packages.
  • sphinx-autodoc-typehints allows to use Python type annotations for documenting acceptable argument types and return value types of functions.
  • sphinx-copybutton adds a copy button to each code cell of the Sphinx documentation.
  • sphinx-jsonschema is a Sphinx extension to display JSON Schema.
  • sphinx-pydantic allows to generate Sphinx documentation from Pydantic objects.
  • sphinx-togglebutton is a Sphinx extension that allows to add a toggle button to sections of the documentation.
  • sphinx-toggleprompt adds a python prompt toggle to each code cell of the Sphinx documentation.
  • sphinx offers functionalities to easily create intelligent and beautiful documentation for Python projects.
  • toml provides features to parse and create Tom’s obvious, minimal language (TOML) files typically used for project configurations.
  • tox automates and standardizes testing in Python by offering a generic virtualenv management and test CLI. It allows to run predefined test procedures on various environments on personal computers as well as on CI servers.
  • yapf formats Python source code files.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

optool-0.5.0-py3-none-any.whl (52.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page