Metadata-Version: 2.1
Name: mongoengine-dsl
Version: 0.1.5
Summary: DSL to MongoEngine Q.
Home-page: https://github.com/StoneMoe/mongoengine_dsl
License: MIT
Author: Lake Chan
Author-email: lakechan96@gmail.com
Requires-Python: >=3.7,<4.0
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Provides-Extra: dev
Provides-Extra: doc
Provides-Extra: test
Requires-Dist: antlr4-python3-runtime (>=4.10,<5.0)
Requires-Dist: black (==20.8b1); extra == "test"
Requires-Dist: flake8 (==3.8.4); extra == "test"
Requires-Dist: flake8-docstrings (>=1.6.0,<2.0.0); extra == "test"
Requires-Dist: isort (==5.6.4); extra == "test"
Requires-Dist: mkdocs (>=1.3.0,<2.0.0); extra == "doc"
Requires-Dist: mkdocs-include-markdown-plugin (>=3.4.0,<4.0.0); extra == "doc"
Requires-Dist: mkdocs-material (>=8.2.13,<9.0.0); extra == "doc"
Requires-Dist: mkdocstrings[python] (>=0.18.1,<0.19.0); extra == "doc"
Requires-Dist: mongoengine (>=0,<1)
Requires-Dist: mongomock (==3.23.0); extra == "test"
Requires-Dist: pip (>=20.3.1,<21.0.0); extra == "dev"
Requires-Dist: pre-commit (>=2.12.0,<3.0.0); extra == "dev"
Requires-Dist: pytest (==6.2.5); extra == "test"
Requires-Dist: pytest-cov (==2.10.1); extra == "test"
Requires-Dist: toml (>=0.10.2,<0.11.0); extra == "dev"
Requires-Dist: tox (==3.25.0); extra == "dev"
Requires-Dist: twine (>=3.3.0,<4.0.0); extra == "dev"
Requires-Dist: virtualenv (>=20.2.2,<21.0.0); extra == "dev"
Description-Content-Type: text/markdown

<center>

![Logo](docs/assets/logo.png)

<a href="https://pypi.python.org/pypi/mongoengine_dsl">
    <img src="https://img.shields.io/pypi/v/mongoengine_dsl.svg" alt="Release Status">
</a>

DSL to MongoEngine Q

</center>

<!--intro-start-->

## Features

* Build your mongoengine query from DSL syntax
* Convert your data at build time via transform hook

## Quickstart

Install

```bash
pip install mongoengine_dsl
```

Use

```python
from mongoengine import Document, StringField
from mongoengine_dsl import Query


class User(Document):
    fullname = StringField()


User(fullname="Tom").save()
User(fullname="Dick").save()
User(fullname="Harry").save()

assert User.objects(
    Query("fullname: Dick")
).first().fullname == "Dick"

assert User.objects(
    Query("fullname: dick", transform={
        "fullname": lambda x: x.title()
    })
).first().fullname == "Dick"
```

<!--intro-end-->

## More
Full Documentation: <https://stonemoe.github.io/mongoengine_dsl>

