Metadata-Version: 2.1
Name: parasolr
Version: 0.5.4
Summary: Lightweight python library for Solr indexing, searching and schema management with optional Django integration.
Home-page: https://github.com/Princeton-CDH/parasolr
Author: The Center for Digital Humanities at Princeton
Author-email: cdhdevteam@princeton.edu
License: Apache License, Version 2.0
Platform: UNKNOWN
Classifier: Environment :: Web Environment
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Framework :: Django
Classifier: Framework :: Django :: 1.11
Classifier: Framework :: Django :: 2.0
Classifier: Framework :: Django :: 2.1
Classifier: Framework :: Pytest
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Database
Requires-Dist: requests
Requires-Dist: attrdict
Requires-Dist: progressbar2
Provides-Extra: dev
Requires-Dist: pytest (>5.2) ; extra == 'dev'
Requires-Dist: pytest-cov ; extra == 'dev'
Requires-Dist: sphinx ; extra == 'dev'
Requires-Dist: sphinxcontrib-napoleon ; extra == 'dev'
Requires-Dist: sphinx-autodoc-typehints ; extra == 'dev'
Requires-Dist: django (>=1.11) ; extra == 'dev'
Requires-Dist: pytest-django (>=3.6) ; extra == 'dev'
Provides-Extra: django
Requires-Dist: django (>=1.11) ; extra == 'django'
Requires-Dist: pytest-django (>=3.6) ; extra == 'django'
Provides-Extra: test
Requires-Dist: pytest (>5.2) ; extra == 'test'
Requires-Dist: pytest-cov ; extra == 'test'

parasolr
==============

.. sphinx-start-marker-do-not-remove

**parasolr** is a lightweight python library for `Apache Solr`_ indexing,
searching and schema management with optional `Django`_ integration.
It includes a Solr client (`parasolr.solr.SolrClient`). When used with
Django, it provides management commands for updating your Solr schema
configuration and indexing content.

.. _Django: https://www.djangoproject.com/
.. _Apache Solr: http://lucene.apache.org/solr/


* .. image:: https://badge.fury.io/py/parasolr.svg
   :target: https://badge.fury.io/py/parasolr
   :alt: PyPI version

  .. image:: https://img.shields.io/pypi/pyversions/parasolr.svg
   :alt: PyPI - Python Version

  .. image:: https://img.shields.io/pypi/djversions/parasolr.svg
   :alt: PyPI - Django Version

  .. image:: https://img.shields.io/pypi/l/parasolr.svg?color=blue
   :alt: PyPI - License

* .. image:: https://travis-ci.org/Princeton-CDH/parasolr.svg?branch=master
   :target: https://travis-ci.org/Princeton-CDH/parasolr
   :alt: Build status

  .. image:: https://codecov.io/gh/Princeton-CDH/parasolr/branch/master/graph/badge.svg
   :target: https://codecov.io/gh/Princeton-CDH/parasolr
   :alt: Code coverage

  .. image:: https://readthedocs.org/projects/parasolr/badge/?version=latest
   :target: https://parasolr.readthedocs.io/en/latest/?badge=latest
   :alt: Documentation Status

  .. image:: https://www.codefactor.io/repository/github/princeton-cdh/parasolr/badge
   :target: https://www.codefactor.io/repository/github/princeton-cdh/parasolr
   :alt: CodeFactor

  .. image:: https://api.codeclimate.com/v1/badges/73394d05decdf32f12f3/maintainability
   :target: https://codeclimate.com/github/Princeton-CDH/parasolr/maintainability
   :alt: Maintainability

  .. image:: https://requires.io/github/Princeton-CDH/parasolr/requirements.svg?branch=master
    :target: https://requires.io/github/Princeton-CDH/parasolr/requirements/?branch=master
    :alt: Requirements Status

Currently tested against Python 3.5 and 3.6, Solr 6.6.5, and Django 1.11,
2.0, and 2.1, and without Django.


Installation
------------

Install released version from pypi::

   pip install parasolr

To install an unreleased version from GitHub::

   pip install git+https://github.com/Princeton-CDH/parasolr@develop#egg=parasolr

To use with Django:

* Add `parasolr` to **INSTALLED_APPS**
* Configure **SOLR_CONNECTIONS** in your django settings::

    SOLR_CONNECTIONS = {
        'default': {
        'URL': 'http://localhost:8983/solr/',
        'COLLECTION': 'name',
        # any configSet in SOLR_ROOT/server/solr/configsets
        'CONFIGSET': 'basic_configs' # optional, basic_configs is default
        }
    }

* Define a `SolrSchema` with fields and field types for your project.
* Run ``solr_schema`` manage command to configure your schema; it will
  prompt to create the Solr core if it does not exist.

.. Note::
   The `SolrSchema` must be imported somewhere for it to be
   found automatically.


Development instructions
------------------------

This git repository uses git flow branching conventions.

Initial setup and installation:

- *Recommmended*: create and activate a Python 3.6 virtualenv::

   python3 -m venv parasolr
   source parasolr/bin/activate

- Install the package with its dependencies as well as development
  dependencies::

   pip install -e .
   pip install -e '.[dev]'

Unit testing
------------

Unit tests are written with `pytest`_ but use some Django
test classes for compatibility with Django test suites. Running the tests
requires a minimal settings file for Django-required configurations.

.. _pytest: http:/docs.pytest.org

- Copy sample test settings and add a secret key::

   cp ci/testsettings.py.sample testsettings.py
   python -c "import uuid; print('\nSECRET_KEY = \'%s\'' % uuid.uuid4())" >> testsettings.py

- To run the test, either use the configured setup.py test command::

   python setup.py test

- Or install test requirements in and use pytest directly::

   pip install -e '.[test]'
   pytest


License
-------

**parasolr** is distributed under the Apache 2.0 License.

©2019 Trustees of Princeton University.  Permission granted via
Princeton Docket #20-3619 for distribution online under a standard Open Source
license.  Ownership rights transferred to Rebecca Koeser provided software
is distributed online via open source.




