Metadata-Version: 2.4
Name: lale
Version: 0.9.3
Summary: Library for Semi-Automated Data Science
Home-page: https://github.com/IBM/lale
Author: Guillaume Baudart, Martin Hirzel, Kiran Kate, Parikshit Ram, Avraham Shinnar
License: Apache License 2.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: numpy
Requires-Dist: black>=22.1.0
Requires-Dist: setuptools<82.0,>=61.0
Requires-Dist: hyperopt<=0.2.7,>=0.2
Requires-Dist: jsonschema<=5
Requires-Dist: jsonsubschema>=0.0.6
Requires-Dist: scikit-learn<1.8.0,>=1.0.0
Requires-Dist: scipy
Requires-Dist: pandas<3.0.0
Requires-Dist: packaging
Requires-Dist: decorator
Requires-Dist: typing-extensions
Provides-Extra: full
Requires-Dist: mystic; extra == "full"
Requires-Dist: graphviz; extra == "full"
Requires-Dist: xgboost<3.1.0; extra == "full"
Requires-Dist: lightgbm<4.7.0; extra == "full"
Requires-Dist: snapml<1.18.0,>=1.7.0rc3; extra == "full"
Requires-Dist: liac-arff>=2.4.0; extra == "full"
Requires-Dist: tensorflow>=2.4.0; extra == "full"
Requires-Dist: numba; extra == "full"
Requires-Dist: aif360>=0.5.0; extra == "full"
Requires-Dist: torch>=1.0; extra == "full"
Requires-Dist: BlackBoxAuditing; extra == "full"
Requires-Dist: imbalanced-learn; extra == "full"
Requires-Dist: cvxpy>=1.0; extra == "full"
Requires-Dist: fairlearn; extra == "full"
Requires-Dist: h5py; extra == "full"
Provides-Extra: dev
Requires-Dist: pre-commit; extra == "dev"
Provides-Extra: test
Requires-Dist: mystic; extra == "test"
Requires-Dist: joblib; extra == "test"
Requires-Dist: ipython<8.8.0; extra == "test"
Requires-Dist: jupyter; extra == "test"
Requires-Dist: graphviz; extra == "test"
Requires-Dist: lxml<5.2.0; extra == "test"
Requires-Dist: sphinx>=5.0.0; extra == "test"
Requires-Dist: sphinx_rtd_theme>=0.5.2; extra == "test"
Requires-Dist: docutils<0.17; extra == "test"
Requires-Dist: m2r2; extra == "test"
Requires-Dist: sphinxcontrib.apidoc; extra == "test"
Requires-Dist: sphinxcontrib-svg2pdfconverter; extra == "test"
Requires-Dist: pytest; extra == "test"
Requires-Dist: pyspark<4.0.0; extra == "test"
Requires-Dist: func_timeout; extra == "test"
Requires-Dist: category-encoders; extra == "test"
Requires-Dist: pynisher==0.6.4; extra == "test"
Provides-Extra: fairness
Requires-Dist: mystic; extra == "fairness"
Requires-Dist: liac-arff>=2.4.0; extra == "fairness"
Requires-Dist: aif360>=0.5.0; extra == "fairness"
Requires-Dist: imbalanced-learn; extra == "fairness"
Requires-Dist: BlackBoxAuditing; extra == "fairness"
Provides-Extra: autoai-fairness
Requires-Dist: dill<=0.3.8; extra == "autoai-fairness"
Requires-Dist: mystic<=0.3.9; extra == "autoai-fairness"
Requires-Dist: klepto<=0.2.2; extra == "autoai-fairness"
Requires-Dist: liac-arff>=2.4.0; extra == "autoai-fairness"
Requires-Dist: aif360>=0.5.0; extra == "autoai-fairness"
Requires-Dist: imbalanced-learn; extra == "autoai-fairness"
Requires-Dist: BlackBoxAuditing; extra == "autoai-fairness"
Provides-Extra: tutorial
Requires-Dist: ipython<8.8.0; extra == "tutorial"
Requires-Dist: jupyter; extra == "tutorial"
Requires-Dist: graphviz; extra == "tutorial"
Requires-Dist: xgboost<=1.5.1; extra == "tutorial"
Requires-Dist: imbalanced-learn; extra == "tutorial"
Requires-Dist: liac-arff>=2.4.0; extra == "tutorial"
Requires-Dist: aif360>=0.5.0; extra == "tutorial"
Requires-Dist: BlackBoxAuditing; extra == "tutorial"
Requires-Dist: typing-extensions; extra == "tutorial"
Requires-Dist: pandas<2.0.0; extra == "tutorial"
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# Lale

[![Tests](https://github.com/IBM/lale/actions/workflows/build.yml/badge.svg)](https://github.com/IBM/lale/actions/workflows/build.yml)
[![Documentation Status](https://readthedocs.org/projects/lale/badge/?version=latest)](https://lale.readthedocs.io/en/latest/?badge=latest)
[![PyPI version shields.io](https://img.shields.io/pypi/v/lale?color=success)](https://pypi.python.org/pypi/lale/)
[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![linting: pylint](https://img.shields.io/badge/linting-pylint-yellowgreen)](https://github.com/PyCQA/pylint)
[![security: bandit](https://img.shields.io/badge/security-bandit-yellow.svg)](https://github.com/PyCQA/bandit)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/5863/badge)](https://bestpractices.coreinfrastructure.org/projects/5863)
<br />
<img src="https://github.com/IBM/lale/raw/master/docs/img/lale_logo.jpg" alt="logo" width="55px"/>

README in other languages: 
[中文](https://github.com/IBM/lale/blob/master/docs/README-cn.md),
[deutsch](https://github.com/IBM/lale/blob/master/docs/README-de.md),
[français](https://github.com/IBM/lale/blob/master/docs/README-fr.md),
or [contribute](https://github.com/IBM/lale/blob/master/CONTRIBUTING.md) your own.

Lale is a Python library for semi-automated data science.
Lale makes it easy to automatically select algorithms and tune
hyperparameters of pipelines that are compatible with
[scikit-learn](https://scikit-learn.org), in a type-safe fashion.  If
you are a data scientist who wants to experiment with automated
machine learning, this library is for you!
Lale adds value beyond scikit-learn along three dimensions:
automation, correctness checks, and interoperability.
For *automation*, Lale provides a consistent high-level interface to
existing pipeline search tools including Hyperopt, GridSearchCV, and SMAC.
For *correctness checks*, Lale uses JSON Schema to catch mistakes when
there is a mismatch between hyperparameters and their type, or between
data and operators.
And for *interoperability*, Lale has a growing library of transformers
and estimators from popular libraries such as scikit-learn, XGBoost,
PyTorch etc.
Lale can be installed just like any other Python package and can be
edited with off-the-shelf Python tools such as Jupyter notebooks.

* [Introductory guide](https://github.com/IBM/lale/blob/master/examples/docs_guide_for_sklearn_users.ipynb) for scikit-learn users
* [Installation instructions](https://github.com/IBM/lale/blob/master/docs/installation.rst)
* Technical overview [slides](https://github.com/IBM/lale/blob/master/talks/2019-1105-lale.pdf), [notebook](https://github.com/IBM/lale/blob/master/examples/talk_2019-1105-lale.ipynb), and [video](https://www.youtube.com/watch?v=R51ZDJ64X18&list=PLGVZCDnMOq0pwoOqsaA87cAoNM4MWr51M&index=35&t=0s)
* IBM's [AutoAI SDK](http://wml-api-pyclient-v4.mybluemix.net/#autoai-beta-ibm-cloud-only) uses Lale, see demo [notebook](https://dataplatform.cloud.ibm.com/exchange/public/entry/view/8bddf7f7e5d004a009c643750b16d0c0)
* Guide for wrapping [new operators](https://github.com/IBM/lale/blob/master/examples/docs_new_operators.ipynb)
* Guide for [contributing](https://github.com/IBM/lale/blob/master/CONTRIBUTING.md) to Lale
* [FAQ](https://github.com/IBM/lale/blob/master/docs/faq.rst)
* [Papers](https://github.com/IBM/lale/blob/master/docs/papers.rst)
* Python [API documentation](https://lale.readthedocs.io/en/latest/)

The name Lale, pronounced *laleh*, comes from the Persian word for
tulip. Similarly to popular machine-learning libraries such as
scikit-learn, Lale is also just a Python library, not a new stand-alone
programming language. It does not require users to install new tools
nor learn new syntax.

Lale is distributed under the terms of the Apache 2.0 License, see
[LICENSE.txt](https://github.com/IBM/lale/blob/master/LICENSE.txt).
It is currently in an **Alpha release**, without warranties of any
kind.
