Recent Releases of eland
eland - 9.0.0
- Drop Python 3.8, Support Python 3.12 (#743)
- Support Pandas 2 (#742, contributed by @bartbroere)
- Upgrade transformers to 4.47 (#752)
- Remove ML model export as sklearn Pipeline (#744)
- Allow scikit-learn 1.5 (#729)
- Migrate docs from AsciiDoc to Markdown (#762)
- Python
Published by pquentin about 1 year ago
eland - 8.15.0
- Added a default truncation of
secondfor text similarity (#713) - Added note about using text_similarity for rerank in the CLI (#716)
- Added support for lists in result hits (#707)
- Removed input fields from exported LTR models (#708)
- Python
Published by miguelgrinberg almost 2 years ago
eland - 8.14.0
Added
- Added Elasticsearch Serverless support in DataFrames (#690, contributed by @AshokChoudhary11) and
eland_import_hub_model(#698)
Fixed
- Fixed Python 3.8 support (#695, contributed by @bartbroere)
- Fixed non
_sourcefields missing from the results hits (#693, contributed by @bartbroere)
- Python
Published by pquentin almost 2 years ago
eland - 8.13.0
Added
- Added support for Python 3.11 (#681)
- Added
eland.DataFrame.to_jsonfunction (#661, contributed by @bartbroere) - Added override option to specify the model's max input size (#674)
Changed
- Upgraded torch to 2.1.2 (#671)
- Mirrored pandas'
lineterminatorinstead ofline_terminatorinto_csv(#595, contributed by @bartbroere)
- Python
Published by pquentin about 2 years ago
eland - 8.12.0
Added
- Supported XGBRanker model (#649)
- Accepted LTR (Learning to rank) model config when importing model (#645, #651)
- Added LTR feature logger (#648)
- Added
prefix_stringconfig option to the import model hub script (#642) - Made online retail analysis notebook runnable in Colab (#641)
- Added new movie dataset to the tests (#646)
- Python
Published by pquentin over 2 years ago
eland - 8.11.0
Added
- Support E5 small multilingual model (#625)
Changed
- Stream writes in
ed.DataFrame.to_csv()(#579) - Improve memory estimation for NLP models (#568)
Fixed
- Fixed deprecations in preparation of Pandas 2.0 support (#602, #603, contributed by @bartbroere)
- Python
Published by pquentin over 2 years ago
eland - 8.10.0
Added
- Published pre-built Docker images to docker.elastic.co/eland/eland (#613)
- Allowed importing private HuggingFace models (#608)
- Added Apple Silicon (arm64) support to Docker image (#615)
- Allowed importing some DPR models like ance-dpr-context-multi (#573)
- Allowed using the Pandas API without monitoring/main permissions (#581)
Changed
- Updated Docker image to Debian 12 Bookworm (#613)
- Reduced Docker image size by not installing unused PyTorch GPU support on amd64 (#615)
- Reduced model chunk size to 1MB (#605)
Fixed
- Fixed deprecations in preparation of Pandas 2.0 support (#593, #596)
- Python
Published by pquentin over 2 years ago
eland - Release 8.9.0
Added
- Simplify embedding model support and loading #569
- Make elandimporthub_model easier to find on Windows #559
- Update trained model inference endpoint #556
- Add BertJapaneseTokenizer support with bert_ja tokenization configuration #534
- Add ability to upload xlm-roberta tokenized models #518
- Tolerate different model output formats when measuring embedding size #535
- Generate valid NLP model id from file path #541
- Upgrade torch to 1.13.1 and check the cluster version before uploading a NLP model #522
- Set embedding_size config parameter for Text Embedding models #532
- Add support for the pass_through task #526
Fixed
- Fixed black to comply with the code style #557
- Fixed No module named 'torch' #553
- Fix autosummary directive by removing hack autosummaries #548
- Prevent TypeError with None check #525
- Python
Published by ezimuel almost 3 years ago
eland - 8.7.0
Added
- Added a new NLP model task type "text_similarity" (https://github.com/elastic/eland/pull/486)
- Added a new NLP model task type "text_expansion" (https://github.com/elastic/eland/pull/520)
- Added support for exporting an Elastic ML model as a scikit-learn pipeline via
MLModel.export_model()(https://github.com/elastic/eland/pull/509)
Fixed
- Fixed an issue that occurred when LightGBM was installed but libomp wasn't installed on the system. (https://github.com/elastic/eland/pull/499)
- Python
Published by sethmlarson about 3 years ago
eland - 8.3.0
Added
- Added a new NLP model task type "auto" which infers the task type based on model configuration and architecture (#475)
Changed
- Changed required version of 'torch' package to
>=1.11.0,<1.12to match required PyTorch version for Elasticsearch 8.3 (was>=1.9.0,<2) (#479) - Changed the default value of the
--task-typeparameter for theeland_import_hub_modelCLI to be "auto" (#475)
Fixed
- Fixed decision tree classifier serialization to account for probabilities (#465)
- Fixed PyTorch model quantization (#472)
- Python
Published by sethmlarson almost 4 years ago
eland - 8.2.0
Added
- Added support for passing Cloud ID via
--cloud-idtoeland_import_hub_modelCLI tool (#462) - Added support for authenticating via
--es-username,--es-password, and--es-api-keyto theeland_import_hub_modelCLI tool (#461) - Added support for XGBoost 1.6 (#458)
- Added support for
question_answeringNLP tasks (#457)
- Python
Published by sethmlarson about 4 years ago
eland - 8.0.0
Added
- Added support for Natural Language Processing (NLP) models using PyTorch (#394)
- Added new extra
eland[pytorch]for installing all dependencies needed for PyTorch (#394) - Added a CLI script
eland_import_hub_modelfor uploading HuggingFace models to Elasticsearch (#403) - Added support for v8.0 of the Python Elasticsearch client (#415)
- Added a warning if Eland detects it's communicating with an incompatible Elasticsearch version (#419)
- Added support for
number_samplesto LightGBM and Scikit-Learn models (#397, contributed by @V1NAY8) - Added ability to use datetime types for filtering dataframes (#284, contributed by @Fju)
- Added pandas
datetime64type to use the Elasticsearchdatetype (#425, contributed by @Ashton-Sidhu) - Added
es_verify_mapping_compatibilityparameter to disable schema enforcement withpandas_to_eland(#423, contributed by @Ashton-Sidhu)
Changed
- Changed
to_pandas()to only use Point-in-Time andsearch_afterinstead of using Scroll APIs for pagination.
- Python
Published by sethmlarson over 4 years ago
eland - 8.0.0-beta1
Added
- Added support for Natural Language Processing (NLP) models using PyTorch (https://github.com/elastic/eland/pull/394)
- Added new extra
eland[pytorch]for installing all dependencies needed for PyTorch (https://github.com/elastic/eland/pull/394) - Added a CLI script
eland_import_hub_modelfor uploading HuggingFace models to Elasticsearch (https://github.com/elastic/eland/pull/403) - Added support for v8.0 of the Python Elasticsearch client (https://github.com/elastic/eland/pull/415)
- Added a warning if Eland detects it's communicating with an incompatible Elasticsearch version (https://github.com/elastic/eland/pull/419)
- Added support for
number_samplesto LightGBM and Scikit-Learn models (https://github.com/elastic/eland/pull/397, contributed by @V1NAY8)
Changed
- Changed
to_pandas()to only use Point-in-Time andsearch_afterinstead of using Scroll APIs for pagination.
- Python
Published by sethmlarson over 4 years ago
eland - 7.14.1b1
Added
- Added support for
DataFrame.iterrows()andDataFrame.itertuples()(#380, contributed by @kxbin)
Performance
- Simplified result collectors to increase performance transforming Elasticsearch results to pandas (#378, contributed by @V1NAY8)
- Changed search pagination function to yield batches of hits (#379)
- Python
Published by sethmlarson almost 5 years ago
eland - 7.14.0b1
Added
- Added support for Pandas 1.3.x (#362, contributed by @V1NAY8)
- Added support for LightGBM 3.x (#362, contributed by @V1NAY8)
- Added
DataFrame.idxmax()andDataFrame.idxmin()methods (#353, contributed by @V1NAY8) - Added type hints to
eland.ndframeandeland.operations(#366, contributed by @V1NAY8)
Removed
Changed
- Changed paginated search function to use Point-in-Time and Search After features instead of Scroll when connected to Elasticsearch 7.12+ (#370 and #376, contributed by @V1NAY8)
- Optimized the
FieldMappings.aggregate_field_name()method (#373, contributed by @V1NAY8)
- Python
Published by sethmlarson almost 5 years ago
eland - 7.13.0b1
Added
- Added
DataFrame.quantile(),Series.quantile(), andDataFrameGroupBy.quantile()aggregations (#318 and #356, contributed by @V1NAY8)
Changed
- Changed the error raised when
es_index_patterndoesn't point to any indices to be more user-friendly (#346)
Fixed
- Fixed a warning about conflicting field types when wildcards are used in
es_index_pattern(#346) - Fixed sorting when using
DataFrame.groupby()withdropna(#322, contributed by @V1NAY8) - Fixed deprecated usage
numpy.intin favor ofnumpy.int_(#354, contributed by @V1NAY8)
- Python
Published by sethmlarson almost 5 years ago
eland - 7.10.1b1
Added
Added support for Pandas 1.2.0 (#336)
Added
DataFrame.mode()andSeries.mode()aggregation (#323, contributed by @V1NAY8)Added support for
pd.set_option("display.max_rows", None)(#308, contributed by @V1NAY8)Added Elasticsearch storage usage to
df.info()(#321, contributed by @V1NAY8)
Removed
- Removed deprecated aliases
read_es,read_csv,DataFrame.info_es, andMLModel(overwrite=True)(#331, contributed by @V1NAY8)
- Python
Published by sethmlarson over 5 years ago
eland - 7.10.0b1
Added
Added
DataFrame.groupby()method with all aggregations (#278, #291, #292, #300 contributed by @V1NAY8)Added
es_match()method toDataFrameandSeriesfor filtering rows with full-text search (#301)Added support for type hints of the
elasticsearch-pypackage (#295)Added support for passing dictionaries to
es_type_overridesparameter in thepandas_to_eland()function to directly control the field mapping generated in Elasticsearch (#310)Added
es_dtypesproperty toDataFrameandSeries(#285)
Changed
Changed
pandas_to_eland()to use theparallel_bulk()helper instead of single-threadedbulk()helper to improve performance (#279, contributed by @V1NAY8)Changed the
es_type_overridesparameter inpandas_to_eland()to raiseValueErrorif an unknown column is given (#302)Changed
DataFrame.filter()to preserve the order of items (#283, contributed by @V1NAY8)Changed when setting
es_type_overrides={"column": "text"}inpandas_to_eland()will automatically add thecolumn.keywordsub-field so that aggregations are available for the field as well (#310)
Fixed
- Fixed
Series.__repr__when the series is empty (#306)
- Python
Published by sethmlarson over 5 years ago
eland - 7.9.1a1
Added
- Added the
predict()method andmodel_type,feature_names, andresults_fieldproperties toMLModel(#266)
Deprecated
- Deprecated
ImportedMLModelin favor ofMLModel.import_model(...)(#266)
Changed
- Changed DataFrame aggregations to use
numeric_only=Noneinstead ofnumeric_only=Trueby default. This is the same behavior as Pandas (#270, contributed by @V1NAY8)
Fixed
- Fixed
DataFrame.agg()when given a string instead of a list of aggregations will now properly return aSeriesinstead of aDataFrame(#263, contributed by @V1NAY8)
- Python
Published by sethmlarson over 5 years ago
eland - 7.9.0a1
7.9.0a1 (2020-08-18)
Added
- Added support for Pandas v1.1 (#253)
- Added support for LightGBM
LGBMRegressorandLGBMClassifiertoImportedMLModel(#247, #252) - Added support for
multi:softmaxandmulti:softprobXGBoost operators toImportedMLModel(#246) - Added column names to
DataFrame.__dir__()for better auto-completion support (#223, contributed by @leonardbinet) - Added support for
es_if_exists='append'topandas_to_eland()(#217) - Added support for aggregating datetimes with
nuniqueandmean(#253) - Added
es_compress_model_definitionparameter toImportedMLModelconstructor (#220) - Added
.sizeand.ndimproperties toDataFrameandSeries(#231 and #233) - Added
.dtypeproperty toSeries(#258) - Added support for using
pandas.SerieswithSeries.isin()(#231) - Added type hints to many APIs in
DataFrameandSeries(#231)
Deprecated
- Deprecated the
overwriteparameter in favor ofes_if_existsinImportedMLModelconstructor (#249, contributed by @V1NAY8)
Changed
- Changed aggregations for datetimes to be higher precision when available (#253)
Fixed
- Fixed
ImportedMLModel.predict()to fail whenerrorsare present in theingest.simulateresponse (#220) - Fixed
Series.median()aggregation to return a scalar instead ofpandas.Series(#253) - Fixed
Series.describe()to return apandas.Seriesinstead ofpandas.DataFrame(#258) - Fixed
DataFrame.mean()andSeries.mean()dtype (#258) - Fixed
DataFrame.agg()aggregations when usingextended_statsElasticsearch aggregation (#253)
- Python
Published by sethmlarson almost 6 years ago
eland - 7.7.0a1
7.7.0a1 (2020-05-20)
Added
- Added the package to Conda Forge, install via
conda install -c conda-forge eland(#209) - Added
DataFrame.sample()andSeries.sample()for querying a random sample of data from the index (#196, contributed by @mesejo) - Added
Series.isna()andSeries.notna()for filtering out missing,NaNor null values from a column (#210, contributed by @mesejo) - Added
DataFrame.filter()andSeries.filter()for reducing an axis using a sequence of items or a pattern (#212) - Added
DataFrame.to_pandas()andSeries.to_pandas()for converting an Eland dataframe or series into a Pandas dataframe or series inline (#208) - Added support for XGBoost v1.0.0 (#200)
Deprecated
- Deprecated
info_es()in favor ofes_info()(#208) - Deprecated
eland.read_csv()in favor ofeland.csv_to_eland()(#208) - Deprecated
eland.read_es()in favor ofeland.DataFrame()(#208)
Changed
- Changed
varandstdaggregations to use sample instead of population in line with Pandas (#185) - Changed painless scripts to use
sourcerather thaninlineto improve script caching performance (#191, contributed by @mesejo) - Changed minimum
elasticsearchPython library version to v7.7.0 (#207) - Changed name of
Index.field_nametoIndex.es_field_name(#208)
Fixed
- Fixed
DeprecationWarningraised frompandas.Serieswhen an an empty series was created without specifyingdtype(#188, contributed by @mesejo) - Fixed a bug when filtering columns on complex combinations of and and or (#204)
- Fixed an issue where
DataFrame.shapewould return a larger value than in the index if a sized operation like.head(X)was applied to the data frame (#205, contributed by @mesejo) - Fixed issue where both
scikit-learnandxgboostlibraries were required to useeland.ml.ImportedMLModel, now only one library is required to use this feature (#206)
- Python
Published by sethmlarson almost 6 years ago
eland - 7.6.0a5
7.6.0a5 (2020-04-14)
Added
- Added support for Pandas v1.0.0 (#141, contributed by @mesejo)
- Added
use_pandas_index_for_es_idsparameter topandas_to_eland()(#154) - Added
es_type_overridesparameter topandas_to_eland()(#181) - Added
NDFrame.var(),.std()and.median()aggregations (#175, #176, contributed by @mesejo) - Added
DataFrame.es_query()to allow modifying ES queries directly (#156) - Added
eland.__version__(#153, contributed by @mesejo)
Changed
- Changed ML model serialization to be slightly smaller (#159)
- Changed minimum
elasticsearchPython library version to v7.6.0 (#181)
Fixed
- Fixed
inference_configbeing required on ML models for ES >=7.8 (#174) - Fixed unpacking for
DataFrame.aggregate("median")(#161)
Removed
- Removed support for Python 3.5 (#150)
- Removed
eland.Client()interface, useelasticsearch.Elasticsearch()client instead (#166) - Removed all private objects from top-level
elandnamespace (#170) - Removed
geo_pointsfrompandas_to_eland()in favor ofes_type_overrides(#181)
"""
- Python
Published by sethmlarson almost 6 years ago
eland - 7.6.0a4
7.6.0a4 (2020-03-23)
Fixed
- Fixed issue in
DataFrame.info()when called on an empty frame (#135) - Fixed issues where many
_sourcefields would generate atoo_long_frameerror (#135, #137)
Changed
- Changed requirement for
xgboostfrom>=0.90to==0.90
- Python
Published by sethmlarson almost 6 years ago