# Timeline Query Language ## What is TQL? TQL, or Timeline Query Language, is a Python data processing library for machine learning applications, focused on processing heterogenous time series event data into ML-ready datasets. TQL is **NOT** a replacement for traditional machine learning packages such as Scikit-Learn, TensorFlow, H2O, etc, but instead aims to make every other part of the machine learning engineering process, such as data cleaning, feature extraction, and production model deployment quick and easy so you can focus on the data science. TQL first builds **Timelines** from raw event log data, creating a sorted record of a user's journey over time. TQL then can execute queries against those timelines, creating datasets with one row per event, allowing you to easily extract complex [longitudinal](https://www.investopedia.com/terms/l/longitudinaldata.asp) features that are very difficult to express using traditional SQL. Read more about the TQL data processing model [here](concepts). ## Installation ### Obtaining a license key TQL is currently being offered for preview in a private beta. Request to be included in the private beta [here](mailto:tql-key@nanigans.com). ### Prerequisites At a minimum, we recommend the following for compatibility with TQL: - Python 3.6+ (get it [here](https://www.python.org/downloads/)) - Java 8+ (install instructions [here](installation-notes.html#installing-java)) - Snappy Compression Library (install instructions [here](installation-notes.html#installing-snappy))