Metadata-Version: 2.1
Name: feloopy
Version: 0.3.5
Summary: FelooPy: Efficient and feature-rich integrated decision environment
Home-page: https://github.com/ktafakkori/feloopy
Download-URL: https://github.com/ktafakkori/feloopy/releases
Author: Keivan Tafakkori
Author-email: k.tafakkori@gmail.com
Maintainer: Keivan Tafakkori
Maintainer-email: k.tafakkori@gmail.com
License: MIT
Keywords: computer science,data science,decision making,decision science,industrial engineering,machine learning,management science,mathematical modeling,operations management,operations research,optimization,simulation,supply chain
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: gputil
Requires-Dist: infix
Requires-Dist: matplotlib
Requires-Dist: nbformat
Requires-Dist: numba
Requires-Dist: numpy
Requires-Dist: openpyxl
Requires-Dist: pandas
Requires-Dist: plotly
Requires-Dist: polars
Requires-Dist: psutil
Requires-Dist: py-cpuinfo
Requires-Dist: scikit-learn
Requires-Dist: tabulate
Requires-Dist: win-unicode-console
Requires-Dist: xlsxwriter
Requires-Dist: tqdm
Requires-Dist: colorama
Provides-Extra: pico
Provides-Extra: nano
Requires-Dist: pymprog==1.1.2; extra == "nano"
Requires-Dist: highspy; extra == "nano"
Provides-Extra: micro
Requires-Dist: pymprog==1.1.2; extra == "micro"
Requires-Dist: highspy; extra == "micro"
Requires-Dist: gekko==1.1.1; extra == "micro"
Requires-Dist: mealpy==3.0.1; extra == "micro"
Provides-Extra: mini
Requires-Dist: pymprog==1.1.2; extra == "mini"
Requires-Dist: highspy; extra == "mini"
Requires-Dist: gekko==1.1.1; extra == "mini"
Requires-Dist: mealpy==3.0.1; extra == "mini"
Requires-Dist: cvxpy==1.5.0; extra == "mini"
Requires-Dist: ortools==9.10.4067; extra == "mini"
Provides-Extra: full
Requires-Dist: pymprog==1.1.2; extra == "full"
Requires-Dist: highspy; extra == "full"
Requires-Dist: gekko==1.1.1; extra == "full"
Requires-Dist: mealpy==3.0.1; extra == "full"
Requires-Dist: cvxpy==1.5.0; extra == "full"
Requires-Dist: ortools==9.10.4067; extra == "full"
Requires-Dist: pydecision==4.5.4; extra == "full"
Requires-Dist: pymoo==0.6.1.1; extra == "full"
Requires-Dist: rsome==1.2.6; extra == "full"
Provides-Extra: stock
Requires-Dist: pymprog==1.1.2; extra == "stock"
Requires-Dist: highspy; extra == "stock"
Requires-Dist: gekko==1.1.1; extra == "stock"
Requires-Dist: mealpy==3.0.1; extra == "stock"
Requires-Dist: cvxpy==1.5.0; extra == "stock"
Requires-Dist: ortools==9.10.4067; extra == "stock"
Requires-Dist: pydecision==4.5.4; extra == "stock"
Requires-Dist: pymoo==0.6.1.1; extra == "stock"
Requires-Dist: rsome==1.2.6; extra == "stock"
Requires-Dist: linopy==0.3.8; extra == "stock"
Requires-Dist: mip==1.15.0; extra == "stock"
Requires-Dist: niapy==2.1.0; extra == "stock"
Requires-Dist: picos==2.4.17; extra == "stock"
Requires-Dist: pulp==2.8.0; extra == "stock"
Requires-Dist: pygad==3.2.0; extra == "stock"
Requires-Dist: pyomo==6.7.2; extra == "stock"
Requires-Dist: highsbox; extra == "stock"
Requires-Dist: pyoptinterface; extra == "stock"
Provides-Extra: hyper
Requires-Dist: pymprog==1.1.2; extra == "hyper"
Requires-Dist: highspy; extra == "hyper"
Requires-Dist: gekko==1.1.1; extra == "hyper"
Requires-Dist: mealpy==3.0.1; extra == "hyper"
Requires-Dist: cvxpy==1.5.0; extra == "hyper"
Requires-Dist: ortools==9.10.4067; extra == "hyper"
Requires-Dist: pydecision==4.5.4; extra == "hyper"
Requires-Dist: pymoo==0.6.1.1; extra == "hyper"
Requires-Dist: rsome==1.2.6; extra == "hyper"
Requires-Dist: linopy==0.3.8; extra == "hyper"
Requires-Dist: mip==1.15.0; extra == "hyper"
Requires-Dist: niapy==2.1.0; extra == "hyper"
Requires-Dist: picos==2.4.17; extra == "hyper"
Requires-Dist: pulp==2.8.0; extra == "hyper"
Requires-Dist: pygad==3.2.0; extra == "hyper"
Requires-Dist: pyomo==6.7.2; extra == "hyper"
Requires-Dist: highsbox; extra == "hyper"
Requires-Dist: pyoptinterface; extra == "hyper"
Requires-Dist: gurobipy; extra == "hyper"
Requires-Dist: cplex; extra == "hyper"
Requires-Dist: docplex; extra == "hyper"
Requires-Dist: xpress; extra == "hyper"
Requires-Dist: coptpy; extra == "hyper"
Requires-Dist: gamspy; extra == "hyper"
Provides-Extra: plus-gurobi
Requires-Dist: gurobipy; extra == "plus-gurobi"
Provides-Extra: plus-cplex
Requires-Dist: cplex; extra == "plus-cplex"
Requires-Dist: docplex; extra == "plus-cplex"
Provides-Extra: plus-xpress
Requires-Dist: xpress; extra == "plus-xpress"
Provides-Extra: plus-copt
Requires-Dist: coptpy; extra == "plus-copt"
Provides-Extra: plus-insideopt
Requires-Dist: insideopt; extra == "plus-insideopt"
Provides-Extra: plus-insideoptdemo
Requires-Dist: insideopt-demo; extra == "plus-insideoptdemo"
Provides-Extra: plus-gams
Requires-Dist: gamspy; extra == "plus-gams"
Provides-Extra: plus-jump
Requires-Dist: juliacall; extra == "plus-jump"
Provides-Extra: only-cylp
Requires-Dist: cylp==0.92.2; extra == "only-cylp"
Provides-Extra: only-linux
Requires-Dist: pymultiobjective==1.5.4; extra == "only-linux"
Provides-Extra: mega
Requires-Dist: pymprog==1.1.2; extra == "mega"
Requires-Dist: highspy; extra == "mega"
Requires-Dist: gekko==1.1.1; extra == "mega"
Requires-Dist: mealpy==3.0.1; extra == "mega"
Requires-Dist: cvxpy==1.5.0; extra == "mega"
Requires-Dist: ortools==9.10.4067; extra == "mega"
Requires-Dist: pydecision==4.5.4; extra == "mega"
Requires-Dist: pymoo==0.6.1.1; extra == "mega"
Requires-Dist: rsome==1.2.6; extra == "mega"
Requires-Dist: linopy==0.3.8; extra == "mega"
Requires-Dist: mip==1.15.0; extra == "mega"
Requires-Dist: niapy==2.1.0; extra == "mega"
Requires-Dist: picos==2.4.17; extra == "mega"
Requires-Dist: pulp==2.8.0; extra == "mega"
Requires-Dist: pygad==3.2.0; extra == "mega"
Requires-Dist: pyomo==6.7.2; extra == "mega"
Requires-Dist: highsbox; extra == "mega"
Requires-Dist: pyoptinterface; extra == "mega"
Requires-Dist: gurobipy; extra == "mega"
Requires-Dist: cplex; extra == "mega"
Requires-Dist: docplex; extra == "mega"
Requires-Dist: xpress; extra == "mega"
Requires-Dist: coptpy; extra == "mega"
Requires-Dist: gamspy; extra == "mega"
Requires-Dist: cylp==0.92.2; extra == "mega"
Requires-Dist: pymultiobjective==1.5.4; extra == "mega"

<div align="center">
  <p>
<a align="center" href="" target="https://ktafakkori.github.io">
   <picture>
   <source media="(prefers-color-scheme: light)" srcset="https://github.com/ktafakkori/feloopy/raw/main/docs/assets/feloopy-light.png">
   <source media="(prefers-color-scheme: dark)" srcset="https://github.com/ktafakkori/feloopy/raw/main/docs/assets/feloopy-dark.png">
   <img alt="FelooPy's logo." src="https://github.com/ktafakkori/feloopy/raw/main/docs/assets/feloopy-light.png">
   </picture>
 </a>
  </p>
 </div>

<h2 align='center'>Efficient & Feature-Rich Integrated Decision Environment</h2>
<div align="center" style="margin-bottom: 2px;">


![Version](https://img.shields.io/static/v1?label=Version&message=v0.3.5&color=darkgreen)
![Release Date](https://img.shields.io/github/release-date/ktafakkori/feloopy?label=release&color=darkgreen)
[![Documentation](https://readthedocs.org/projects/feloopy/badge/?label=docs&version=latest&color=darkgreen)](https://feloopy.readthedocs.io/en/latest/?badge=latest&color=darkgreen&label=docs)
[![Discord](https://img.shields.io/discord/1196153377969676399)](https://discord.gg/VpZDeG8wbv)
![License](https://img.shields.io/static/v1?label=license&message=MIT&color=darkred)

[![Total Users](https://static.pepy.tech/personalized-badge/feloopy?period=total&units=international_system&left_color=grey&right_color=blue&left_text=total%20users)](https://pepy.tech/project/feloopy?&left_text=totalusers)
[![Monthly Users](https://img.shields.io/pypi/dm/feloopy?label=monthly%20users&color=blue)](https://pypistats.org/packages/feloopy)
![Source Users](https://img.shields.io/github/downloads/ktafakkori/feloopy/total?label=source%20users&color=blue)
</div>

FelooPy (pronounced /fɛlupaɪ/) is a comprehensive and versatile Decision Science and Operations Research library. It allows for coding, modeling, and solving decision problems and aligns with low or no-code requirements, letting you focus more on analytics. The library covers various categories of mathematical and statistical methods for decision-making and utilizes numerous interfaces and solvers without requiring prompting large language models or learning complex coding syntaxes. It is primarily developed in Python, which makes it accessible and callable from multiple programming languages.

⚠️ [This](https://github.com/ktafakkori/feloopy) is FelooPy project's repository hosted by GitHub.  For more information, please refer to FelooPy's [documentation](https://feloopy.readthedocs.io/en/latest/).

## Quick installation

You can install `feloopy` inside a Python>=3.10.x environment.

```bash
pip install -U "feloopy[stock]==0.3.5"
```

For supporting the developer, testing the latest version, and reporting bugs or contributing to the code base, you can use the following command:

```bash
pip install "feloopy[stock] @ git+https://github.com/ktafakkori/feloopy.git"
```

## Quick test

Here is an example to test FelooPy's functionality:

```py
import feloopy as flp

m = flp.model(name="model_name", method="exact", interface="pymprog")

x = m.bvar(name="x")
y = m.pvar(name="y", bound=[0, 1])
m.con(x + y <= 1, name="c1")
m.con(x - y >= 1, name="c2")
m.obj(x + y)

m.sol(directions=["max"], solver="glpk")

m.clean_report()
```

## Citation

To cite or give credit to FelooPy in publications, projects, presentations, web pages, blog posts, etc. please use one of the following entries, based on the used version:

### Version<=0.2.8

- LaTeX:

   ```console
   @software{ktafakkori2022Sep,
   author       = {Keivan Tafakkori},
   title        = { {FelooPy: An integrated optimization environment for AutoOR in Python} },
   year         = {2022},
   month        = sep,
   publisher    = {GitHub},
   url          = {https://github.com/ktafakkori/feloopy/}
   }
   ```

- APA:

   Tafakkori, K. (2022). FelooPy: An integrated optimization environment for AutoOR in Python [Python Library]. Retrieved from https://github.com/ktafakkori/feloopy (Original work published September 2022).

### Version>=0.3.0


- LaTeX:

   ```console
   @software{ktafakkori2024Apr,
   author       = {Keivan Tafakkori},
   title        = { {FelooPy: Efficient and feature-rich integrated decision environment} },
   year         = {2024},
   month        = apr,
   publisher    = {GitHub},
   url          = {https://github.com/ktafakkori/feloopy/}
   }
   ```

- APA:

   Tafakkori, K. (2024). Efficient and feature-rich integrated decision environment [Python Library]. Retrieved from https://github.com/ktafakkori/feloopy (Original work published April 2024).

- In-text:

   * _Note_ 1: Please write the version you used, the latest is v0.3.5.
   * _Note_ 2: Using secondary interfaces or solvers might also require a citation to their projects.

   Example: FelooPy (v0.3.5) was used in conjunction with [interface x] (v0.0.0) (except `feloopy` itself) as the interface and [solver y] (v0.0.0) as the solver.
