# awswrangler

> Pandas on AWS.

- **URL**: https://www.freshcrate.ai/projects/awswrangler
- **Author**: Amazon Web Services
- **Category**: Databases
- **Latest version**: `3.16.1` (2026-05-07)
- **License**: Unknown
- **Source**: https://github.com/aws/aws-sdk-pandas
- **Homepage**: https://pypi.org/project/awswrangler/
- **Language**: Python
- **GitHub**: 4,105 stars, 725 forks
- **Registry**: pypi (`awswrangler`)
- **Tags**: `aws`, `pandas`, `pypi`

## Description

# AWS SDK for pandas (awswrangler)

*Pandas on AWS*

Easy integration with Athena, Glue, Redshift, Timestream, OpenSearch, Neptune, QuickSight, Chime, CloudWatchLogs, DynamoDB, EMR, SecretManager, PostgreSQL, MySQL, SQLServer and S3 (Parquet, CSV, JSON and EXCEL).

![AWS SDK for pandas](https://github.com/aws/aws-sdk-pandas/blob/main/docs/source/_static/logo2.png?raw=true "AWS SDK for pandas")
![tracker](https://d3tiqpr4kkkomd.cloudfront.net/img/pixel.png?asset=GVOYN2BOOQ573LTVIHEW)

> An [AWS Professional Service](https://aws.amazon.com/professional-services/) open source initiative | aws-proserve-opensource@amazon.com

[![PyPi](https://img.shields.io/pypi/v/awswrangler)](https://pypi.org/project/awswrangler/)
[![Conda](https://img.shields.io/conda/vn/conda-forge/awswrangler)](https://anaconda.org/conda-forge/awswrangler)
[![Python Version](https://img.shields.io/pypi/pyversions/awswrangler.svg)](https://pypi.org/project/awswrangler/)
[![Code style: ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg)](https://github.com/astral-sh/ruff)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

[![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org/)
![Static Checking](https://github.com/aws/aws-sdk-pandas/workflows/Static%20Checking/badge.svg?branch=main)
[![Documentation Status](https://readthedocs.org/projects/aws-sdk-pandas/badge/?version=latest)](https://aws-sdk-pandas.readthedocs.io/?badge=latest)

| Source | Downloads | Installation Command |
|--------|-----------|----------------------|
| **[PyPi](https://pypi.org/project/awswrangler/)**  | [![PyPI Downloads](https://img.shields.io/pypi/dm/awswrangler)](https://pypi.org/project/awswrangler/) | `pip install awswrangler` |
| **[Conda](https://anaconda.org/conda-forge/awswrangler)** | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/awswrangler.svg)](https://anaconda.org/conda-forge/awswrangler) | `conda install -c conda-forge awswrangler` |

> ⚠️ **Starting version 3.0, optional modules must be installed explicitly:**<br>
➡️`pip install 'awswrangler[redshift]'`

## Table of contents

- [Quick Start](#quick-start)
- [At Scale](#at-scale)
- [Read The Docs](#read-the-docs)
- [Getting Help](#getting-help)
- [Logging](#logging)

## Quick Start

Installation command: `pip install awswrangler`

> ⚠️ **Starting version 3.0, optional modules must be installed explicitly:**<br>
➡️`pip install 'awswrangler[redshift]'`

```py3
import awswrangler as wr
import pandas as pd
from datetime import datetime

df = pd.DataFrame({"id": [1, 2], "value": ["foo", "boo"]})

# Storing data on Data Lake
wr.s3.to_parquet(
    df=df,
    path="s3://bucket/dataset/",
    dataset=True,
    database="my_db",
    table="my_table"
)

# Retrieving the data directly from Amazon S3
df = wr.s3.read_parquet("s3://bucket/dataset/", dataset=True)

# Retrieving the data from Amazon Athena
df = wr.athena.read_sql_query("SELECT * FROM my_table", database="my_db")

# Get a Redshift connection from Glue Catalog and retrieving data from Redshift Spectrum
con = wr.redshift.connect("my-glue-connection")
df = wr.redshift.read_sql_query("SELECT * FROM external_schema.my_table", con=con)
con.close()

# Amazon Timestream Write
df = pd.DataFrame({
    "time": [datetime.now(), datetime.now()],   
    "my_dimension": ["foo", "boo"],
    "measure": [1.0, 1.1],
})
rejected_records = wr.timestream.write(df,
    database="sampleDB",
    table="sampleTable",
    time_col="time",
    measure_col="measure",
    dimensions_cols=["my_dimension"],
)

# Amazon Timestream Query
wr.timestream.query("""
SELECT time, measure_value::double, my_dimension
FROM "sampleDB"."sampleTable" ORDER BY time DESC LIMIT 3
""")

```

## At scale
AWS SDK for pandas can also run your workflows at scale by leveraging [Modin](https://modin.readthedocs.io/en/stable/) and [Ray](https://www.ray.io/). Both projects aim to speed up data workloads by distributing processing over a cluster of workers.

Read our [docs](https://aws-sdk-pandas.readthedocs.io/en/3.16.0/scale.html) or head to our latest [tutorials](https://github.com/aws/aws-sdk-pandas/tree/main/tutorials) to learn more.

## [Read The Docs](https://aws-sdk-pandas.readthedocs.io/)

- [**What is AWS SDK for pandas?**](https://aws-sdk-pandas.readthedocs.io/en/3.16.0/about.html)
- [**Install**](https://aws-sdk-pandas.readthedocs.io/en/3.16.0/install.html)
  - [PyPi (pip)](https://aws-sdk-pandas.readthedocs.io/en/3.16.0/install.html#pypi-pip)
  - [Conda](https://aws-sdk-pandas.readthedocs.io/en/3.16.0/install.html#conda)
  - [AWS Lambda Layer](https://aws-sdk-pandas.readthedocs.io/en/3.16.0/install.html#aws-lambda-layer)
  - [AWS Glue Python Shell Jobs](https://aws-sdk-pandas.readthedocs.io/en/3.16.0/install.html#aws-glue-python-shell-jobs)
  - [AWS Glue PySpark Jobs](https://aws-sdk-pandas.readthedocs.io/en/3.16.0/install.html#aws-glue-pyspark-jobs)
  - [Amazon SageMa

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `3.16.1` | 2026-05-07 | High | ## Notable Changes ⚠️ * pyarrow upgraded from v20.0.0 to v.22.0.0 in AWS lambda layers ⚠️  ### Bugfixes 🐛 * fix(athena): verify bucket ownership and manifest integrity by @kukushking in https://github.com/aws/aws-sdk-pandas/pull/3314  ### Security / Dependency Updates 🛡️ * chore(deps): bump cryptography from 46.0.6 to 46.0.7 by @dependabot[bot] in https://github.com/aws/aws-sdk-pandas/pull/3297 * chore(deps): bump uv from 0.10.10 to 0.11.6 by @dependabot[bot] in https://github.com/aws/ |
| `3.16.0` | 2026-04-21 | Low | Imported from PyPI (3.16.0) |
| `3.15.1` | 2026-02-05 | Low | ### Security / Dependency Updates 🛡️ * fix: upgrade setuptools due to CVE-2026-23949 by @kukushking in https://github.com/aws/aws-sdk-pandas/pull/3261 * chore: pyasn1, wheel, filelock security fixes by @kukushking in https://github.com/aws/aws-sdk-pandas/pull/3262 * chore: wheel security fix #3262 by @kukushking in https://github.com/aws/aws-sdk-pandas/pull/3263 * chore: Update dependencies by @kukushking in https://github.com/aws/aws-sdk-pandas/pull/3268  ### Housekeeping 🧹 * chore(dep |
| `3.15.0` | 2026-01-13 | Low | ## Notable Changes ⚠️ * fix: upgrade aiohttp due to CVE-2025-69223 by @kukushking in https://github.com/aws/aws-sdk-pandas/pull/3250 * chore: Build Python 3.14 layers by @kukushking in https://github.com/aws/aws-sdk-pandas/pull/3251 * chore: Drop Python 3.9 by @kukushking in https://github.com/aws/aws-sdk-pandas/pull/3257  ### Features / Enhancements 🚀 * feat(s3): add to_deltalake_streaming for single-commit Delta writes by @skoschik in https://github.com/aws/aws-sdk-pandas/pull/3231 * f |
| `3.14.0` | 2025-10-30 | Low | ## Notable Changes ⚠️ * chore: upgrade pg8000 due to CVE-2025-61385 by @kukushking in https://github.com/aws/aws-sdk-pandas/pull/3225  ### Features / Enhancements 🚀 * feat: support redshift `CLEANPATH` by @kukushking in https://github.com/aws/aws-sdk-pandas/pull/3211 * feat: add result reuse configuration to query execution functions by @DavidKatz-il in https://github.com/aws/aws-sdk-pandas/pull/3212  ### Bugfixes 🐛 * fix: Add `s3_output` parameter to `_start_query_execution` call in " |
| `3.13.0` | 2025-09-10 | Low | ## Notable Changes ⚠️ * updated `aiohhtp==3.12.15`to fix CVE-2025-53643 (LOW) by @kukushking in https://github.com/aws/aws-sdk-pandas/pull/3197  ### Features / Enhancements 🚀 * feat: ray 2.49.0 by @kukushking in https://github.com/aws/aws-sdk-pandas/pull/3194 * feat: add support for aurora-mysql and aurora-postgresql engines by @senorcinco in https://github.com/aws/aws-sdk-pandas/pull/3188  ### Bugfixes 🐛 * fix: opensearch session by @kukushking in https://github.com/aws/aws-sdk-pandas |
| `3.12.1` | 2025-06-18 | Low | ## Notable Changes ⚠️ * Moved to [uv package manager](https://github.com/astral-sh/uv) 🔥 🔥 🔥   ### Features / Enhancements 🚀 * feat: uv by @kukushking in https://github.com/aws/aws-sdk-pandas/pull/3132   ### Security / Dependency Updates 🛡️ * chore(deps): bump the production-dependencies group with 4 updates by @dependabot in https://github.com/aws/aws-sdk-pandas/pull/3159 * chore(deps): bump the production-dependencies group with 4 updates by @dependabot in https://github.com/aws/ |
| `3.12.0` | 2025-05-29 | Low | ## Notable Changes ⚠️ * AWS Lambda Layers: **pyarrow** was upgraded to 20.0.0  ### Features / Enhancements 🚀 * feat: add pyarrow_additional_kwargs to athena.to_iceberg by @jaidisido in https://github.com/aws/aws-sdk-pandas/pull/3094 * feat: add dtype argument to delete_from_iceberg by @jaidisido in https://github.com/aws/aws-sdk-pandas/pull/3099 * feat: add redshift and rds data api query params by @kukushking in https://github.com/aws/aws-sdk-pandas/pull/3111 * chore: ray 2.45 by @kukus |
| `3.11.0` | 2025-01-10 | Low | ## Notable Changes ⚠️ * AWS SDK for pandas now supports Python 3.13! 🎉 * Python 3.8 is no longer supported (reached [end-of-life](https://devguide.python.org/versions/) Oct 7 2024) 🚫 * AWS Lambda Layers: **pyarrow** was upgraded to 18.1.0 * AWS Lambda Layers: **numpy** was upgraded to 2.2.1  ### Features / Enhancements 🚀 * add support for Python 3.13 & deprecate Python 3.8 by @kukushking in https://github.com/aws/aws-sdk-pandas/pull/3045 * return opensearch aggregation top hits by @ku |
| `3.10.1` | 2024-12-04 | Low | ## Bug fixes 🐛 * fix: update references in introduction notebook by @emmanuel-ferdman in https://github.com/aws/aws-sdk-pandas/pull/3009 * fix: read parquet file in chunked mode per row group by @FredericKayser in https://github.com/aws/aws-sdk-pandas/pull/3016 * fix: add missing raise statement in RS Data API by @jaidisido in https://github.com/aws/aws-sdk-pandas/pull/3025  ## Documentation 📚 * chore: Prepare 3.10.1 release by @kukushking in https://github.com/aws/aws-sdk-pandas/pull/30 |

## Dependency audit

- **Score**: 78/100
- **Total deps**: 29
- **Resolved**: 18
- **Unresolved**: 11
- **License conflicts**: 0
- **Warnings**: 7
- **Scanned**: 2026-05-25

## Citation

- HTML: https://www.freshcrate.ai/projects/awswrangler
- Markdown: https://www.freshcrate.ai/projects/awswrangler.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/awswrangler/deps

_Generated by freshcrate.ai. Indexes pypi releases for AI-agent ecosystem packages._
