Installing and Upgrading
On this page
In this guide, you can learn how to install and upgrade PyMongoArrow.
System Compatibility
PyMongoArrow is regularly built and tested on macOS and Linux (Ubuntu 20.04).
Python Compatibility
PyMongoArrow is compatible with CPython versions 3.9, 3.10, 3.11, 3.12, and 3.13.
Installation
You can install PyMongoArrow in three ways:
Pip
Conda
From source
Install with Pip
We recommend using pip to install PyMongoArrow on all platforms. PyMongoArrow is available on PyPI.
python -m pip install pymongoarrow
To get a specific version of pymongo:
python -m pip install pymongoarrow==1.0.1
To upgrade using pip:
python -m pip install --upgrade pymongoarrow
Important
If the install fails because of an error, such as ValueError: Could
not find "libbson-1.0" library
, it means that pip
failed to find a
suitable wheel for your platform. We recommend first ensuring you have
pip
>= 20.3 installed. To upgrade pip
, run the following shell command:
$ python -m pip install --upgrade pip
You can then try to re-install pymongoarrow
.
We currently distribute wheels for macOS, Windows, and Linux on x86_64 architectures.
Install with Conda
PyMongoArrow is available for conda
users by running the following shell
command:
$ conda install --channel conda-forge pymongoarrow
Install from Source
If you can't use the above options to install pymongoarrow
on your
system, you can install from source. To learn how, see the Contributing Guide.
Dependencies
PyMongoArrow requires the following dependencies:
PyMongo version 4.4 or later
PyArrow version 17.0 or later
Installing from source on Linux requires the following additional dependencies:
GCC version 12 or later
CMake
pkg-config
To use PyMongoArrow with a PyMongo feature that requires an optional dependency, you must set the dependency as an option when you install PyMongo.
Note
To learn more about PyMongo's optional dependencies, see Dependencies in the PyMongo documentation.
For example, to use PyMongoArrow with Client-Side Field Level Encryption,
you must install PyMongo with the encryption
option in addition to installing
PyMongoArrow:
python -m pip install 'pymongo[encryption]' pymongoarrow
Applications using PyMongoArrow APIs that return query result-sets
as pandas.DataFrame
instances, such as ~pymongoarrow.api.find_pandas_all()
,
must also have pandas
installed:
python -m pip install pandas