1. coady
  2. lupyne


lupyne / setup.py

coady b537144 

coady 405ee44 
coady 7105f9d 
coady b537144 

coady 18adc5f 
coady 89004a9 
coady b537144 
coady fefe4f8 
coady b537144 
coady 1e3f896 

coady 786d6be 
coady c15cd61 
coady 1e3f896 
coady 79e1d27 

coady 1e3f896 
coady 479ab5d 

coady 405ee44 

coady 1e3f896 

coady b537144 

coady 5fcd126 
coady ce86265 
coady 90807dd 
coady ce86265 

coady 5fcd126 
coady 90807dd 
coady 449fc40 
coady b537144 
coady ce86265 

coady 9edc15d 
coady c5f01d7 
coady ce86265 
coady 7fd7e36 
coady 90807dd 

coady ce86265 
coady 90807dd 

coady ce86265 
Project highlights
The core engine is a high level interface to PyLucene, which is a Python extension for accessing the popular Java Lucene search engine.
Lucene has a reputation for being a relatively low-level toolkit, and the goal of PyLucene is to wrap it through automatic code generation.
So although PyLucene transforms Java idioms to Python idioms where possible, the resulting interface is far from Pythonic.
See examples for comparisons with the Lucene API.

A RESTful JSON search server, based on CherryPy.
Many python applications which require better search capabilities are migrating from using conventional client-server databases, whereas Lucene is an embedded search library.
Solr is a popular option for remote searching and other advanced features, but then any customization or embedded use is coupled to Java and XML.
Using a python web framework instead can provide the best of both worlds, e.g., batch indexing offline and remote searching live.

A simple client to make interacting with the server as convenient as an RPC interface.
It handles all of the HTTP interactions, with support for compression, json, and connection reuse.

Advanced search features:
 * Distributed searching with support for replication, partitioning, and sharding.
 * Optimized faceted and grouped search.
 * Optimized prefix and range queries.
 * Geospatial support.
 * Spellchecking.
 * Near real-time indexing.

Changes in 1.1+:
 * Engine:
   - PyLucene 3.6 supported
   - PyLucene 3.1 deprecated
   - Support for all IndexWriterConfig options
   - Flexible hit sorting and filtering
   - TermsFilter for searching external metadata

 * Server:
   - Synchronization of searcher with remote hosts
   - Automatic promotion of searcher to indexer

 * Client:
   - Resource pooling for single hosts
   - Replica support with automatic failover

import os
from distutils.core import setup
import lupyne

    description='Pythonic search engine based on PyLucene, including a standalone server based on CherryPy.',
    author='Aric Coady',
    packages=[dirpath.replace(os.sep, '.') for dirpath, dirnames, filenames in os.walk('lupyne')],
        'Development Status :: 5 - Production/Stable',
        'Framework :: CherryPy',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: Apache Software License',
        'Operating System :: OS Independent',
        'Programming Language :: Python :: 2',
        'Programming Language :: Python :: 2.6',
        'Programming Language :: Python :: 2.7',
        'Topic :: Internet :: WWW/HTTP :: HTTP Servers',
        'Topic :: Internet :: WWW/HTTP :: Indexing/Search',
        'Topic :: Software Development :: Libraries :: Python Modules',