# Extensions

SQLite includes a number of extensions providing additional functionality. All extensions are disabled by default and you need to take steps to have them available at compilation time, to enable them and then to use them.

If you get APSW from PyPI they are all enabled. If APSW comes from your Linux/BSD platform then it will match your platform configuration.

## CARRAY

Runtime array of values extension used with `apsw.carray()` for providing bulk numbers, strings, and blobs.

Note

When APSW downloads the amalgamation, a patch is applied. Without the patch, the extension has to make a duplicate copy of all the data each time the binding happens.

## Session

Session extension

## Math functions

Several SQL functions

## Percentile (media)

Several SQL functions related to percentiles. Python has a `statistics` module with some of the same functions, but this extension is more convenient.

## FTS5

FTS5 is the full text search extension. APSW includes comprehensive functionality.

## ICU

The ICU extension provides an International Components for Unicode interface, in particular enabling you do sorting and regular expressions in a locale aware way. The documentation shows how to use it.

## RTree

The RTree extension provides a spatial table - see the documentation. There are no additional APIs and the documented SQL works as is.

## Geopoly

A Geojson compatible interface to RTree.