# PyMongo Driver - (current) > Explore the features and usage of the PyMongo Driver for Python, including installation, connection setup, data operations, and transitioning to PyMongo Async. - [Transform Your Data with Aggregation](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/aggregation.md): Learn how to use PyMongo to perform aggregation operations, including examples of grouping and filtering data in collection, and explaining operations. - [MongoDB Search](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/atlas-search.md) - [Connect to MongoDB](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/connect.md): Learn how to use PyMongo to connect to MongoDB by using connection strings, specifying options, and examples for local, Atlas, and replica set deployments. - [Specify Connection Options](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/connect/connection-options.md): Learn how to configure MongoDB connection options in PyMongo by using connection URIs or the MongoClient, including compression, timeouts, and authentication. - [Connection Pools](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/connect/connection-options/connection-pools.md) - [Limit Server Execution Time](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/connect/connection-options/csot.md) - [Compress Network Traffic](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/connect/connection-options/network-compression.md) - [Customize Server Selection](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/connect/connection-options/server-selection.md) - [Stable API](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/connect/connection-options/stable-api.md) - [Choose a Connection Target](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/connect/connection-targets.md): Learn how to connect to different MongoDB deployments using PyMongo, including Atlas, local deployments, and replica sets, with connection string examples. - [Create a MongoClient](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/connect/mongoclient.md): Learn how to create a `MongoClient` in PyMongo to connect to a MongoDB deployment using a connection URI and customize connection behavior. - [CRUD Operations](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/crud.md): Learn how to perform CRUD operations in PyMongo to insert, query, update, replace, and delete MongoDB documents with code examples and best practices. - [Bulk Write Operations](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/crud/bulk-write.md) - [Configure CRUD Operations](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/crud/configure.md): Configure PyMongo CRUD operations with read and write concerns, read preferences, retryable reads and writes, collation, and codec options in Python code. - [Delete Documents](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/crud/delete.md) - [Geospatial Queries](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/crud/geo.md) - [Store Large Files](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/crud/gridfs.md) - [Insert Documents](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/crud/insert.md) - [Query](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/crud/query.md): Learn how to query and retrieve MongoDB documents by using PyMongo with find, count, distinct methods, and code examples for filtering and projecting data. - [Count Documents](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/crud/query/count.md) - [Access Data From a Cursor](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/crud/query/cursors.md) - [Retrieve Distinct Field Values](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/crud/query/distinct.md) - [Find Documents](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/crud/query/find.md) - [Specify Fields To Return](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/crud/query/project.md) - [Specify Documents to Return](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/crud/query/specify-documents-to-return.md) - [Specify a Query](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/crud/query/specify-query.md) - [Replace Documents](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/crud/replace.md) - [Transactions](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/crud/transactions.md) - [Update Documents](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/crud/update.md) - [Specialized Data Formats](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/data-formats.md): Explore how to use specialized data formats in PyMongo, including BSON, Extended JSON, custom types, datetime objects, and UUIDs. - [BSON](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/data-formats/bson.md) - [Serialization](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/data-formats/custom-types/serialization.md) - [Encode Data with Type Codecs](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/data-formats/custom-types/type-codecs.md) - [Dates and Times](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/data-formats/dates-and-times.md): Learn how to handle Python `datetime` objects in PyMongo, including storing, retrieving, and managing time zones and out-of-range dates. - [Extended JSON](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/data-formats/extended-json.md) - [Time Series Data](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/data-formats/time-series.md) - [Universally Unique IDs (UUIDs)](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/data-formats/uuid.md): Learn how to use PyMongo's UuidRepresentation option to handle UUIDs for cross-language compatibility in MongoDB applications. - [Databases and Collections](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/databases-collections.md): Learn how to manage databases and collections, including accessing, creating, and deleting collections, and how to configure read and write operations. - [Get Started with PyMongo](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/get-started.md): Learn how to create an app to connect to MongoDB deployment by using the PyMongo driver. - [MongoDB PyMongo Documentation](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/index.md): Explore the features and usage of the PyMongo Driver for Python, including installation, connection setup, data operations, and transitioning to PyMongo Async. - [Indexes](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/indexes.md): Learn how to create, manage, and optimize MongoDB indexes using PyMongo including single field, compound, text, geospatial, and MongoDB Search indexes. - [Third-Party Integrations and Tools](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/integrations.md) - [Tutorial: Build an Application with FastAPI](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/integrations/fastapi-integration.md): Build a CRUD application with FastAPI and the PyMongo Async driver, connect to MongoDB Atlas, model student data with Pydantic, and test endpoints in Swagger UI. - [Tutorial: Deploy a Flask App to Azure Container Apps](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/integrations/flask-azure.md): Learn how to deploy a Flask application that uses MongoDB Atlas to Azure Container Apps using Docker. - [Integrate Flask and Celery](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/integrations/flask-celery-integration.md) - [Tutorial: Migrate Flask From SQL to MongoDB](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/integrations/flask-migrate-to-mongo.md): Learn how to migrate a Flask application from SQLAlchemy to MongoDB using Flask-PyMongo and PyMongo. - [Tutorial: Test and Package a Python Library](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/integrations/test-package-library.md): Build pytest fixtures for MongoDB tests and package a Python library with hatchling, build, and twine. - [Issues & Help](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/issues-and-help.md): Find support for PyMongo through online forums, report bugs or request features via JIRA, and contribute to the driver with pull requests. - [Logging and Monitoring](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/monitoring-and-logging.md) - [Monitor Data with Change Streams](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/monitoring-and-logging/change-streams.md) - [Logging](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/monitoring-and-logging/logging.md) - [Monitoring](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/monitoring-and-logging/monitoring.md) - [Migrate to PyMongo Async](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/reference/migration.md) - [Previous Versions](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/reference/previous-versions.md) - [Release Notes](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/reference/release-notes.md) - [Upgrade PyMongo Versions](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/reference/upgrade.md) - [Run a Database Command](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/run-command.md) - [Secure Your Data](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/security.md) - [Authentication Mechanisms](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/security/authentication.md): Learn how to authenticate to MongoDB using various authentication mechanisms in the PyMongo Driver compatible with different MongoDB Server editions. - [AWS Identity and Access Management](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/security/authentication/aws-iam.md) - [Kerberos (GSSAPI)](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/security/authentication/kerberos.md) - [LDAP (PLAIN SASL)](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/security/authentication/ldap.md) - [OIDC (Workload Identity Federation)](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/security/authentication/oidc.md) - [SCRAM](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/security/authentication/scram.md) - [X.509](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/security/authentication/x509.md) - [In-Use Encryption](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/security/in-use-encryption.md): Encrypt specific document fields using PyMongo's in-use encryption to protect sensitive data before sending it to MongoDB. - [Configure Transport Layer Security (TLS)](https://www.mongodb.com/docs/languages/python/pymongo-driver/current/security/tls.md)