# 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))
Tip: We strongly recommend you use a python virtual environment manager to isolate the installation of TQL from your other Python applications, such as venv or conda.


### Installing Install TQL using your package manager of choice, such as [pip](https://pip.pypa.io/en/stable/): ``` pip install --extra-index-url=https://user:password@pypi.nanigans.com zeenk-tql ```
Tip: If using pip, in order to avoid installation issues make sure you update pip to the latest version by using the command:
``` pip install --upgrade pip ```

## Where To Next? ```{toctree} :maxdepth: 1 Overview Quick Start Key Concepts and Architecture Creating Timelines Expression Language Writing Queries Query Options Using ResultSets User Defined Functions Training ML Models Jupyter Extensions Configuring TQL Scaling TQL Python API Reference Expression Language Reference ```