Installing / Upgrading ====================== .. highlight:: bash System Compatibility -------------------- PyMongoArrow is regularly built and tested on macOS and Linux (Ubuntu 20.04). Python Compatibility -------------------- PyMongoArrow is currently compatible with CPython 3.7, 3.8 and 3.9. Using Pip --------- **PyMongoArrow** is available on `PyPI `_. We recommend using `pip `_ to install ``pymongoarrow`` on all platforms:: $ python -m pip install pymongoarrow To get a specific version of pymongo:: $ python -m pip install pymongoarrow==0.1.1 To upgrade using pip:: $ python -m pip install --upgrade pymongoarrow .. attention:: If the install fails due to an error like ``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:: $ python -m pip install --upgrade pip You can then attempt to re-install ``pymongoarrow``. We currently distribute wheels for macOS, Windows, and Linux on x86_64 architectures. **PyMongoArrow** is also available for ``conda`` users by running:: $ conda install --channel conda-forge pymongoarrow If the above options still do not allow you to install ``pymongoarrow`` on your system, you will have to install from source, see :doc:`developer/installation`. Dependencies ^^^^^^^^^^^^ PyMongoArrow requires: - PyMongo>=3.11 (PyMongo 4.0 is supported from 0.2) - PyArrow>=7,<7.1 To use PyMongoArrow with a PyMongo feature that requires an optional dependency, users must install PyMongo with the given dependency manually. .. note:: PyMongo's optional dependencies are detailed `here `_. For example, to use PyMongoArrow with MongoDB Atlas' ``mongodb+srv://`` URIs users must install PyMongo with the ``srv`` extra in addition to installing PyMongoArrow:: $ python -m pip install 'pymongo[srv]' pymongoarrow Applications intending to use PyMongoArrow APIs that return query result sets as :class:`pandas.DataFrame` instances (e.g. :meth:`~pymongoarrow.api.find_pandas_all`) must also have ``pandas`` installed:: $ python -m pip install pandas Installing from source ---------------------- See :doc:`developer/installation`.