Skip to main content

A python port of the NPM Bodybuilder Package

Project description

bodybuilder

An (almost!) drop in replacement in python of the Elasticsearch Bodybuilder Package on NPM

The API has been designed to be as close to the original package.

Also, you can use https://bodybuilder.js.org/ to test your constructions with minor changes described below:

Variations

  • from -> from_ because from is a python keyword
  • need \ new-line indicator for multi line incantations in python which is not necessary in JS
  • individual Filter/Query/Aggregations classes not implemented (shouldn't affect user)
  • lambda functions instead of anonymous functions (Duh!)

Installation

Install from source

  1. Clone package locally
  2. Go to the root directory
  3. python3 setup.py install

Usage

from bodybuilder.builder import BodyBuilder as bodyBuilder
bodyBuilder().query("a", "b", "c").build()
{'query': {'a': {'b': 'c'}}}

Not Implemented

To be implemented

  • minimum_should_match query and filter
  • aggregation metadata

No plans to implement

  • Complicated multi sort
  • clone method (users can use copy.deepcopy() if required)
  • orQuery, andQuery, notQuery which has been deprecated n favor of bool method

Credits

Thanks to Danpaz and contributors of the original package for the original package from which I have liberally copied (with his permission!)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bodybuilder-0.1.0.tar.gz (6.0 kB view hashes)

Uploaded Source

Built Distribution

bodybuilder-0.1.0-py3-none-any.whl (7.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page