Skip to main content

Flexible integration of Elasticsearch into Python projects.

Project description

Printen is a simple, flexible module for integrating Elasticsearch into Python projects - especially projects utilizing Peewee or Django models.

Printen’s code is currently in active development and should be considered alpha - breaking changes should be expected.

Why Printen?

There is no shortage of fine search libraries for Python. The common tool used is [Haystack](http://haystacksearch.org/), though this is oriented specifically towards Django, but supports a multitude of search backends. This is a great choice if you need flexibility in your search backends, but one can begin to feel constrained as the interface to the search backend is necessarily generic, so as to support all search backends similarly.

Other options include [django-simple-elasticsearch](https://github.com/jaddison/django-simple-elasticsearch), which has the advantage of specifically focusing on Elasticsearch, but is limited to Django and isn’t under active development.

A final option is to use the excellent official [Python Elasticsearch Client](http://elasticsearch-py.readthedocs.org/en/master/index.html), which is not super hard, but does require a decent amount of work to map it to the concepts of your ORM.

Printen seeks to do this work for you, without being overly choosy about what Python framework you use it with (essentially the opposite of Haystack - choosy about the search engine, not choosy about the Python framework).

Elasticsearch Compatibility

Printen is expected to be compatible with Elasticsearch 2.0 and above.

Documentation

To see the complete documentation, visit Printen’s documentation on [Read The Docs](http://printen.readthedocs.org/).

Installation

Printen can still be intalled via pip:

$ pip install printen

or if you have the source locally:

$ python setup.py install

License

Printen is licensed under the [BSD License](LICENSE.md)

Thanks

This was inspired by [James Addison’s](https://github.com/jaddison) [django-simple-elasticsearch](https://github.com/jaddison/django-simple-elasticsearch).

History

0.1.0 (2017-02-03)

  • Fixes issue #9, repeated reindexing messes up aliases.

  • Expanded test coverage.

0.0.7 (2017-01-03)

  • Fix packaging issue.

0.0.6 (2017-01-03)

  • Remove pypandoc dependency.

0.0.5 (2016-23-03)

  • Fix issue with missing dependencies on pip install

0.0.4 (2016-22-03)

  • Initial PyPi Release

0.0.2 (2016-22-03)

  • Fix for when no existing aliases exist

0.0.1 (2016-11-02)

  • Initial Release of code to GitHub

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

printen-0.1.0.tar.gz (16.4 kB view hashes)

Uploaded Source

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