diff --git a/README.md b/README.md index 1f8e557..a57fb95 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ _Note, this project is still very much a work in progress and in an alpha state; License - + license diff --git a/eland/_version.py b/eland/_version.py index 7a8c8d6..4bf8edd 100644 --- a/eland/_version.py +++ b/eland/_version.py @@ -15,6 +15,6 @@ __title__ = 'eland' __description__ = 'Python elasticsearch client to analyse, explore and manipulate data that resides in elasticsearch.' __url__ = 'https://github.com/elastic/eland' -__version__ = '7.5.1a1' +__version__ = '7.5.1a2' __maintainer__ = 'Elasticsearch B.V.' __maintainer_email__ = 'steve.dodson@elastic.co' diff --git a/setup.py b/setup.py index 79e62a6..78aece2 100644 --- a/setup.py +++ b/setup.py @@ -17,32 +17,88 @@ from os import path from setuptools import setup -here = path.abspath(path.dirname(__file__)) - -with open(path.join(here, 'README.md'), encoding='utf-8') as f: - long_description = f.read() - here = path.abspath(path.dirname(__file__)) about = {} with open(path.join(here, 'eland', '_version.py'), 'r', 'utf-8') as f: exec(f.read(), about) +CLASSIFIERS = [ + "Development Status :: 3 - Alpha", + "License :: OSI Approved :: Apache Software License", + "Environment :: Console", + "Operating System :: OS Independent", + "Intended Audience :: Science/Research", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Cython", + "Topic :: Scientific/Engineering", +] + +LONG_DESCRIPTION=""" +# What is it? + +eland is a Elasticsearch client Python package to analyse, explore and manipulate data that resides in Elasticsearch. +Where possible the package uses existing Python APIs and data structures to make it easy to switch between numpy, +pandas, scikit-learn to their Elasticsearch powered equivalents. In general, the data resides in Elasticsearch and +not in memory, which allows eland to access large datasets stored in Elasticsearch. + +For example, to explore data in a large Elasticsearch index, simply create an eland DataFrame from an Elasticsearch +index pattern, and explore using an API that mirrors a subset of the pandas.DataFrame API: + +``` +>>> import eland as ed + +>>> df = ed.read_es('http://localhost:9200', 'reviews') + +>>> df.head() + reviewerId vendorId rating date +0 0 0 5 2006-04-07 17:08 +1 1 1 5 2006-05-04 12:16 +2 2 2 4 2006-04-21 12:26 +3 3 3 5 2006-04-18 15:48 +4 3 4 5 2006-04-18 15:49 + +>>> df.describe() + reviewerId vendorId rating +count 578805.000000 578805.000000 578805.000000 +mean 174124.098437 60.645267 4.679671 +std 116951.972209 54.488053 0.800891 +min 0.000000 0.000000 0.000000 +25% 70043.000000 20.000000 5.000000 +50% 161052.000000 44.000000 5.000000 +75% 272697.000000 83.000000 5.000000 +max 400140.000000 246.000000 5.000000 +``` + +See [docs](https://eland.readthedocs.io/en/latest) and [demo_notebook.ipynb](https://eland.readthedocs.io/en/latest/examples/demo_notebook.html) for more examples. + +## Where to get it +The source code is currently hosted on GitHub at: +https://github.com/elastic/eland + +Binary installers for the latest released version are available at the [Python +package index](https://pypi.org/project/eland). + +```sh +pip install eland +``` +""" + setup( name=about['__title__'], version=about['__version__'], description=about['__description__'], - long_description=long_description, + long_description=LONG_DESCRIPTION, long_description_content_type='text/markdown', url=about['__url__'], maintainer=about['__maintainer__'], maintainer_email=about['__maintainer_email__'], license='Apache 2.0', - classifiers=[ - 'Development Status :: 3 - Alpha', - 'Intended Audience :: Developers', - 'License :: OSI Approved :: Apache Software License', - 'Programming Language :: Python :: 3.7', - ], + classifiers=CLASSIFIERS, keywords='elastic eland pandas python', packages=['eland'], install_requires=[