> For the complete documentation index, see [llms.txt](https://docs.laminar.run/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.laminar.run/building-an-integration/advanced/flows/supported-languages.md).

# Supported Languages

Learn about the languages supported by Laminar

Our platform currently supports two programming languages for data transformations:

## Python

When using Python, write your code as a function:

```python
def functionName(data):
    # Your flow logic here
    return result
```

## JavaScript

When using JavaScript, write your code as a named lambda function:

```javascript
(data) => {
    // Your flow logic here
    return result
}
```

### Available JavaScript Imports

The following libraries can be used directly when using JavaScript to edit flows without requiring additional import statements.

* **lodash** (as `_`)

```javascript
(data) => {
    // Group users by role
    const groupedUsers = _.groupBy(data.input.users, 'role');
    
    // Get only active users
    const activeUsers = _.filter(data.input.users, {isActive: true});
    
    return {
        groupedUsers,
        activeUsers
    };
}
```

* **date-fns**: `{ format, parseISO }`&#x20;

```javascript
(data) => {
    // Format dates in a user-friendly way
    const formattedUsers = data.users.map(user => ({
        ...user,
        joinedDate: format(parseISO(user.joinedAt), 'MMM dd, yyyy')
    }));
    
    return formattedUsers;
}
```
