---
title: Flux data scripting language
description: Flux is a functional data scripting language designed for querying, analyzing, and acting on time series data.
url: https://docs.influxdata.com/enterprise_influxdb/v1/flux/
estimated_tokens: 560
publisher: InfluxData
canonical: https://docs.influxdata.com/enterprise_influxdb/v1/flux/
date: '2025-10-24T12:52:47-05:00'
lastmod: '2025-10-24T12:52:47-05:00'
---

Flux is a functional data scripting language designed for querying, analyzing, and acting on time series data.
Its takes the power of [InfluxQL](/enterprise_influxdb/v1/query_language/spec/) and the functionality of [TICKscript](/kapacitor/v1/reference/tick/introduction/) and combines them into a single, unified syntax.

>
>
> Flux v0.65 is production-ready and included with \*\*InfluxDB v1 Enterprise.
> The InfluxDB v1.8+ implementation of Flux is read-only and does not support
> writing data back to InfluxDB.
>
>

## Flux design principles

Flux is designed to be usable, readable, flexible, composable, testable, contributable, and shareable.
Its syntax is largely inspired by [2018’s most popular scripting language](https://insights.stackoverflow.com/survey/2018#technology),
JavaScript, and takes a functional approach to data exploration and processing.

The following example illustrates pulling data from a bucket (similar to an InfluxQL database) for the last five minutes,
filtering that data by the `cpu` measurement and the `cpu=cpu-total` tag, windowing the data in 1 minute intervals,
and calculating the average of each window:

```js
from(bucket: "telegraf/autogen")
    |> range(start: -1h)
    |> filter(fn: (r) => r._measurement == "cpu" and r.cpu == "cpu-total")
    |> aggregateWindow(every: 1m, fn: mean)
```

### [Execute Flux queries](/enterprise_influxdb/v1/flux/execute-queries/)

Use the InfluxDB CLI, API, and the Chronograf Data Explorer to execute Flux queries.

### [Query data with Flux](/enterprise_influxdb/v1/flux/guides/)

Guides that walk through both common and complex queries and use cases for Flux.

### [Optimize Flux queries](/enterprise_influxdb/v1/flux/optimize-queries/)

Optimize your Flux queries to reduce their memory and compute (CPU) requirements.

### [Enable Flux](/enterprise_influxdb/v1/flux/installation/)

Instructions for enabling Flux in your InfluxDB configuration.

### [Flux vs InfluxQL](/enterprise_influxdb/v1/flux/flux-vs-influxql/)

### [Get started with Flux](/enterprise_influxdb/v1/flux/get-started/)

Get started with Flux, InfluxData’s new functional data scripting language. This step-by-step guide will walk you through the basics and get you on your way.
