https://github.com/roshan-r/asyncmongo
https://github.com/roshan-r/asyncmongo
async mongodb pymongo python
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/roshan-r/asyncmongo
- Owner: Roshan-R
- License: apache-2.0
- Created: 2024-02-10T10:13:52.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-22T11:31:00.000Z (about 1 year ago)
- Last Synced: 2025-04-07T02:27:41.063Z (10 months ago)
- Topics: async, mongodb, pymongo, python
- Language: Python
- Homepage: https://asyncmongo.readthedocs.io/en/latest/
- Size: 71.3 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
ASYNCMONGO
Asynchronous MongoDB Made Easy
## Overview
asyncmongo is a Python library for working with MongoDB asynchronously. I’m building this project to learn more about how database drivers work and to explore what goes into creating one. It’s a mix of learning and coding, so things might evolve as I figure things out!
---
## Getting Started
## Documentation
For detailed documentation, visit the [asyncmongo documentation](https://asyncmongo.readthedocs.io/en/latest/).
### Prerequisites
Before getting started with asyncmongo, ensure your runtime environment meets the following requirements:
- **Programming Language:** Python
- **Package Manager:** Poetry
### Installation
Install asyncmongo using one of the following methods:
**Build from source:**
1. Clone the asyncmongo repository:
```sh
git clone https://github.com/Roshan-R/asyncmongo
```
2. Navigate to the project directory:
```sh
cd asyncmongo
```
3. Install the project dependencies:
**Using `poetry`** [
](https://python-poetry.org/)
```sh
poetry install
```
### Testing
Run the test suite using the following command:
**Using `poetry`** [
](https://python-poetry.org/)
```sh
poetry run pytest
```
---
## Project Roadmap
### Currently Supported Operations
- `find`
- `find_one`
- `insert_one`
- [X] **`Basic Connection`**: Set up a basic connection to a MongoDB instance.
- [ ] **`Authentication`**:
- [X] Added support for SCRAM-SHA-256 authentication scheme.
- [ ] Add support for additional authentication mechanisms (e.g LDAP).
- [ ] **`Connection Pooling`**: Develop connection pooling for better performance and scalability.
- [ ] **`Testing and Benchmarks`**: Write unit tests and benchmarks.
- [ ] Write unit tests for connection handling and CRUD operations.
- [ ] Create benchmarks to measure and optimize performance.
- [ ] **`Cython`**: Rewrite core components in Cython to improve performance, inspired by asyncpg's implementation.
---