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.
OpenEye Toolkits are delivered as APIs for 4 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 but 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 1 or 2 release cycles. Preliminary APIs will sometimes be made available on a subset of supported languages and platforms.
Toolkits that 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.
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:
The label will generally include the timeline for full release of the API and any platform or language limitations.
Beginning in 2019, OpenEye Toolkits will be released either as a feature or as a bug-fix release. Both types of releases will be available in all supported languages and on all supported platforms. Toolkit packages are versioned based on the release date. For example, 2019.Apr.1 represents the first released version of the toolkits in April 2019.
Until 2019, OpenEye Toolkits were released three times a year in February, June, and October.