Metadata-Version: 2.1
Name: snovault-search
Version: 6.1.0
Summary: Framework-independent package for converting query strings to Elasticsearch queries
Home-page: https://github.com/ENCODE-DCC/snovault-search
Author: Keenan Graham
Author-email: ksgraham@stanford.edu
Project-URL: Bug Tracker, https://github.com/ENCODE-DCC/snovault-search/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: antlr4-python3-runtime==4.9.3
Requires-Dist: opensearch-py==2.3.0
Requires-Dist: opensearch-dsl==2.1.0
Requires-Dist: lucenequery==0.1
Provides-Extra: test
Requires-Dist: pytest==5.3.2; extra == "test"
Requires-Dist: pytest-mock==2.0.0; extra == "test"
Requires-Dist: pytest-cov==2.8.1; extra == "test"
Requires-Dist: pyramid==1.10.4; extra == "test"
Requires-Dist: Werkzeug==2.3.8; extra == "test"
Requires-Dist: Flask==2.0.1; extra == "test"

[![CircleCI](https://dl.circleci.com/status-badge/img/gh/IGVF-DACC/snovault-search/tree/dev.svg?style=svg)](https://dl.circleci.com/status-badge/redirect/gh/IGVF-DACC/snovault-search/tree/dev)
[![Coverage Status](https://coveralls.io/repos/github/IGVF-DACC/snovault-search/badge.svg?branch=dev)](https://coveralls.io/github/IGVF-DACC/snovault-search?branch=dev)
# snovault-search
Framework-independent package for converting query strings to Elasticsearch queries.

### Install
```bash
$ pip install snovault-search
```

### Example
```python
from snosearch.defaults import DEFAULT_ITEM_TYPES
from snosearch.fields import BasicSearchResponseField
from snosearch.parsers import ParamsParser
from snosearch.responses import FieldedResponse


def basic_search_view(request):
    fr = FieldedResponse(
        _meta={
            'params_parser': ParamsParser(request)
        },
        response_fields=[
            BasicSearchResponseField(
                default_item_types=DEFAULT_ITEM_TYPES
            )
        ]
    )
    return fr.render()
```

### Run tests
```bash
$ pip install -e .[test]
$ pytest
```

### Publish on PyPI
Bump version in `setup.cfg`, then build and upload:
```bash
$ python -m build
$ twine upload dist/*
```
