• Docs »
  • Toolkit API

Toolkit API

Toolkits are programming libraries that provide computational building blocks for solving specific programming problems as well as general methods that can be customized to create innovative new tools and workflows. OpenEye Toolkits provide technologies to solve a wide range of cheminformatics and molecular modeling problems.

_images/toolkits.png

OpenEye Toolkits

OpenEye Toolkits are delivered as APIs for four supported languages: C++, Python, Java, and C#. The APIs are stable between versions and across platforms. This allows users to write toolkit programs that will be viable for many years. New toolkit releases often include bug fixes and performance improvements to core functionality. Users can recompile against newer versions of the toolkits to gain the benefits of the improvements to the core functionality.

In order to accelerate the delivery of new technologies, new programming APIs may be released as Preliminary APIs. A Preliminary API is a set of new functionality that has been fully tested; however, it may have limited real-world use. In that case, it is valuable to collect feedback about the usability of the functionality before committing to a final, immutable API design. Preliminary APIs may change based on this user feedback; they will become stable after one or two release cycles. Preliminary APIs will sometimes be made available on a subset of supported languages and platforms.

_images/toolkits-API.png

Scheme of delivering OpenEye Toolkit API

Stable API

Toolkits which have been fully developed, documented, and tested are considered stable. The API definitions for these toolkits will be consistent across languages and platforms and will not change between toolkit releases.

Code written with earlier versions of the toolkit will compile and run with newer versions. This allows users to easily upgrade to newer versions without worrying about breaking legacy code.

Preliminary API

APIs that are still under development might be delivered and marked as preliminary. Providing early access means that the APIs can be improved based on user feedback before committing to a final API design. Preliminary APIs will sometimes be made available for a limited set of platforms and languages. They are marked as follows:

Attention

PIMAGE This is a Preliminary API until 2018.Feb and may be improved based on user feedback. It is currently available in C++ and Python.

The label will generally include the timeline for full release of the API and any platform or language limitations.

Release Cycle

OpenEye Toolkits are released three times a year in February, June, and October. Toolkits are versioned based on the release date. For example, 2017.Jun.1 represents the first released version of the toolkits in 2017 June.

_images/release-cycle.png

OpenEye Toolkits release cycle