diff --git a/README.md b/README.md
index 7f66f03..813e8d4 100644
--- a/README.md
+++ b/README.md
@@ -1,15 +1,15 @@
-
๐ What to eat? ๐
+๐ What to eat? ๐
+
+ CLI tool to query Wolt API in your location!
+
![Release](https://github.com/Valaraucoo/what-to-eat/actions/workflows/release.yml/badge.svg)
![Build Status](https://github.com/Valaraucoo/what-to-eat/actions/workflows/tests.yml/badge.svg)
[![PyPI](https://img.shields.io/pypi/v/what-to-eat.svg)](https://pypi.python.org/pypi/what-to-eat/)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
-
- CLI tool to query Wolt API in your location!
-
----
Why to use *what-to-eat*? How many times have you not known what to order for dinner or lunch? *What-to-eat* will help you querying and filtering restaurants available in your location via [Wolt](https://wolt.com/pl/discovery) app! ๐
Example usage:
@@ -18,14 +18,16 @@ Example usage:
-โจ Features
+โจ Features
* ๐ Query restaurants in your location
* ๐ Filter restaurants by name, cuisine, price, rating, delivery time, etc.
* ๐ Display restaurant details
* ๐ Random restaurant draw
-๐ ๏ธ Installation
+๐ ๏ธ Installation
+
+*What to eat* is compatible with Python 3.10+ and runs on Linux, macOS and Windows. The latest releases with binary wheels are available from pip. Before you install *What to eat* and its dependencies, make sure that your pip, setuptools and wheel are up to date.
You can install `what-to-eat` using [pip](https://pypi.org/project/what-to-eat/):
@@ -33,7 +35,7 @@ You can install `what-to-eat` using [pip](https://pypi.org/project/what-to-eat/)
pip install what-to-eat
```
-๐ฌ Available commands
+๐ฌ Available commands
There are currently 3 commands available, one of which is used to configure the tool: `configure`, `ls`, `random`:
@@ -42,24 +44,24 @@ $ what-to-eat --help
Usage: what-to-eat [OPTIONS] COMMAND [ARGS]...
-โญโ Options โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
-โ --install-completion Install completion for the current shell. โ
-โ --show-completion Show completion for the current shell, to copy โ
-โ it or customize the installation. โ
-โ --help Show this message and exit. โ
-โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
-โญโ Commands โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
-โ configure Create configuration file to your orders โ
-โ ls Finds best restaurants via Wolt API โ
-โ random Finds random restaurant via Wolt API โ
-โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
+โญโ Options โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
+โ --version -v โ
+โ --install-completion Install completion for the current shell. โ
+โ --show-completion Show completion for the current shell, to copy it or customize the installation. โ
+โ --help Show this message and exit. โ
+โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
+โญโ Commands โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
+โ configure Create configuration file to your orders โ
+โ ls List restaurants queried from Wolt API. โ
+โ random Finds random restaurant via Wolt API โ
+โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
```
You can find examples of using these commands in the section below.
-โจ Examples
+โจ Examples
Configure your tool:
```console
@@ -153,6 +155,14 @@ You can select one of the following techniques:
- `delivery_time` - the restaurant will be selected based on the delivery time.
- `random` - the restaurant will be selected randomly.
-๐ License
+๐ Documentation
+
+| Documentation | Command | Options |
+|-----------------------------------------------------------|-----------------------|--------------------------------------------------------|
+| [๐ List all restaurants](./docs/list-all-restaurants.md) | `what-to-eat ls` | `query`, `profile`, `tag`, `sort`, `ordering`, `limit` |
+| [๐ฒ Random restaurant](./docs/random.md) | `what-to-eat random` | `profile`, `tag`, `technique` |
+| ๐ค Configure profile | `what-to-eat config` | |
+
+๐ License
This project is licensed under the terms of the MIT license.
diff --git a/docs/list-all-restaurants.md b/docs/list-all-restaurants.md
new file mode 100644
index 0000000..1d4bbef
--- /dev/null
+++ b/docs/list-all-restaurants.md
@@ -0,0 +1,108 @@
+๐ Documentation: List all restaurants
+
+Command manual:
+
+```console
+$ what-to-eat ls --help
+
+ Usage: what-to-eat ls [OPTIONS] [RESTAURANT]
+
+ List restaurants queried from Wolt API.
+
+โญโ Arguments โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
+โ restaurant [RESTAURANT] Restaurant name [default: None] โ
+โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
+โญโ Options โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
+โ --query -q TEXT Query search for restaurants [default: None] โ
+โ --profile -p TEXT Profile name [default: None] โ
+โ --tag -t TEXT Tag [default: None] โ
+โ --sort -s [none|restaurant|address|delivery_cost|estimate_time|rating|price] Sort by: none, restaurant, address, delivery_cost, estimate_time, rating, price โ
+โ [default: Sort.NONE] โ
+โ --ordering -o [asc|desc] Ordering: asc, desc [default: Ordering.ASC] โ
+โ --limit -l INTEGER Limit results [default: None] โ
+โ --help Show this message and exit. โ
+โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
+
+```
+
+By default your first profile is `default` one. But while listing restaurants you can change it using `profile` option:
+
+```console
+$ what-to-eat ls --profile work
+```
+
+You can query restaurants by name using `query` option and limit the number of results using `limit` option:
+
+```console
+$ what-to-eat ls --query pizza --limit 3
+โโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโณโโโโโโโโโณโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโ
+โ No. โ Restaurant โ Address โ Estimate time โ Delivery cost โ Rating โ Price โ Tags โ
+โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
+โ 1 โ Pizza Royal โ Cheลmoลskiego 11 โ 50 - 60 min โ 9.99 PLN โ 8.2 โ ๐ฐ๐ฐ โ Pizza, Italian โ
+โ 2 โ N'Pizza โ Ul. Rajska 3/lok. 2 โ 30 - 40 min โ 2.49 PLN โ 9.2 โ ๐ฐ๐ฐ โ Italian, Pizza, European โ
+โ 3 โ Nonna Maria Pizza Napoletana โ Dajwรณr 9 โ 25 - 35 min โ 2.49 PLN โ 9.2 โ ๐ฐ๐ฐ โ Italian, Pizza โ
+โโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโดโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโ
+ ๐ฟ Restaurants in Krakรณw via wolt ๐ฟ
+
+```
+
+Another cool feature is to list restaurants by tags. You can use `--tag` (or `-t`) option to filter restaurants by tags:
+
+```console
+$ what-to-eat ls --tag kebab --limit 3
+โโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโณโโโโโโโโโณโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
+โ No. โ Restaurant โ Address โ Estimate time โ Delivery cost โ Rating โ Price โ Tags โ
+โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
+โ 1 โ Berlin Dรถner Kebap Galeria Krakowska โ Pawia 5 โ 25 - 35 min โ 2.49 PLN โ 8.2 โ ๐ฐ โ Doner, Kebab, Middle eastern โ
+โ 2 โ Vegab โ Starowiลlna 8 โ 25 - 35 min โ 2.49 PLN โ 9.2 โ ๐ฐ๐ฐ โ Bowl, Kebab, Vegan โ
+โ 3 โ Kebaber Starowiลlna 8 โ Starowiลlna 8 โ 20 - 30 min โ 2.49 PLN โ 8.8 โ ๐ฐ โ Kebab, Turkish โ
+โโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโดโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
+ ๐ฟ Restaurants in Krakรณw via wolt ๐ฟ
+
+```
+
+By using sorting options you can sort restaurants by name, rating, price, delivery cost and delivery time and chose order (ascending or descending):
+
+```console
+$ what-to-eat ls --sort rating --ordering desc --limit 3
+โโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโณโโโโโโโโโณโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโ
+โ No. โ Restaurant โ Address โ Estimate time โ Delivery cost โ Rating โ Price โ Tags โ
+โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
+โ 1 โ Cukiernia Czarodziej โ Karmelicka 15 โ 20 - 30 min โ (No delivery) โ 10.0 โ ๐ฐ๐ฐ โ Ice cream โ
+โ 2 โ MARLIN - Fish & Chips - Smaลผalnie Rybne โ Krowoderskich Zuchรณw 21A โ 45 - 55 min โ (No delivery) โ 9.8 โ ๐ฐ๐ฐ โ Fish, Mediterranean โ
+โ 3 โ Baqaro - Rakowicka โ Rakowicka 11 โ 25 - 35 min โ 2.49 PLN โ 9.8 โ ๐ฐ๐ฐ โ Italian, Pinsa, Pizza โ
+โโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโดโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโ
+ ๐ฟ Restaurants in Krakรณw via wolt ๐ฟ
+
+```
+
+You can also display restaurant details by using `ls` command with restaurant name:
+
+```console
+$ what-to-eat ls poco
+โโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
+โ ๐ Poco Loco Czysta โ Krakรณw, Ul. Czysta 9 ๐ โ
+โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
+โ Rating โ Excellent (9 / 200 reviews) โ
+โ Price โ ๐ฐ๐ฐ โ
+โ Opening time โ 12:00 - 23:00 โ
+โ Website โ https://wolt.com/pl/pol/krakow/restaurant/poco-loco โ
+โ Phone โ +48 690800805 โ
+โ Estimates โ 35 minutes โ
+โ Payment Methods โ Card โ
+โ Description โ Zdrowa i lekka kuchnia meksykaลska w nowej odsลonie... โ
+โ Tags โ Mexican, Taco, Latin american โ
+โโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
+```
+
+โ๏ธ Options
+
+
+| Option | Description | Example usage |
+|--------------------|----------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------|
+| `--query`, `-q` | Command used to query restaurants by `Restaurant Name`, `Address` and `Tags`. Query search is case insensitive. | `what-to-eat ls -q pizza` |
+| `--profile`, `-p` | Command used to set profile while listing restaurants. By default the `default` profile is used. | `what-to-eat ls -p work` |
+| `--tag`, `-t` | Command used to search restaurants by `Tags`. Searching is case insensitive. | `what-to-eat ls -t italian` |
+| `--sort`, `-s` | Command used to sort restaurants by one of following fields: `restaurant, address, delivery_cost, estimate_time, rating, price`. | `what-to-eat ls -s rating` |
+| `--ordering`, `-o` | Command used to order restaurants ascending or descending by field specified in `--sort` option. | `what-to-eat ls -s rating --ordering desc` |
+| `--limit`, `-l` | Command used to limit result to specified number of restaurants. | `what-to-eat ls -l 5` |
diff --git a/docs/random.md b/docs/random.md
new file mode 100644
index 0000000..ae2aae8
--- /dev/null
+++ b/docs/random.md
@@ -0,0 +1,72 @@
+๐ Documentation: Random restaurant
+
+Command manual:
+
+```console
+$ what-to-eat random --help
+
+ Usage: what-to-eat random [OPTIONS]
+
+ Finds random restaurant via Wolt API
+
+โญโ Options โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
+โ --profile -p TEXT Profile name [default: None] โ
+โ --tag -t TEXT Tag [default: None] โ
+โ --technique [delivery_price|-delivery_price|rating|-rating|mix|-mix|random] Technique: delivery_price, -delivery_price, rating, -rating, mix, -mix, random โ
+โ [default: EvaluateTechnique.MIX] โ
+โ --help Show this message and exit. โ
+โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
+
+```
+
+Random restaurant draw is a command that allows you to find a random restaurant from the list of restaurants available in your localization. The basic command is as follows:
+
+```console
+$ what-to-eat random
+โโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
+โ ๐ Krowarzywa Krakรณw โ Krakรณw, ul. Sลawkowska 8 ๐ โ
+โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
+โ Rating โ Excellent (8 / 100 reviews) โ
+โ Price โ ๐ฐ โ
+โ Opening time โ 11:00 - 00:00 โ
+โ Website โ https://wolt.com/pl/pol/krakow/restaurant/krowarzywa-krakow-slawkowska โ
+โ Phone โ +48 531777136 โ
+โ Estimates โ 40 minutes โ
+โ Payment Methods โ Card โ
+โ Description โ W naszych restauracjach dostaniesz wyลmienite wegaลskie burg... โ
+โ Tags โ Burger, Vegetarian, Veggie burger, Vegan, Kebab, Wrap, Plant-based, Healthy โ
+โโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
+
+```
+
+By default the command uses the `mix` technique, which means that the restaurant is selected based on the rating and delivery price. The `mix` technique is the default one, but you can change it by using the `--technique` option.
+The `--technique` option allows you to select one of the following techniques:
+
+ * `delivery_price` - the restaurant with the lowest delivery price is selected
+ * `-delivery_price` - the restaurant with the highest delivery price is selected
+ * `rating` - the restaurant with the highest rating is selected
+ * `-rating` - the restaurant with the lowest rating is selected
+ * `mix` - the restaurant is selected based on the rating and delivery price
+ * `-mix` - the restaurant is selected based on the rating and delivery price
+ * `random` - the restaurant is selected totally randomly
+
+The `mix` technique is the default one, but you can change it by using the `--technique` option:
+
+```console
+$ what-to-eat random --technique delivery_price
+```
+
+While randomly drawing restaurants you can limit possible results by using specified tag option:
+```console
+$ what-to-eat random --tag pizza
+```
+
+The following command will draw a random restaurant from the list of restaurants available in your localization, but only those that have the `pizza` tag.
+
+โ๏ธ Options
+
+| Option | Description | Example usage |
+|-------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------|
+| `--profile`, `-p` | Option used to set profile while drawing restaurants. By default the `default` profile is used. | `what-to-eat random -p work` |
+| `--tag`, `-t` | Option used to is used to filter restaurants by their tags while drawing restaurant. Searching is case insensitive. | `what-to-eat random -t italian` |
+| `--techique` | Option is used to select the technique used to draw a random restaurant. The following techniques are available: `delivery_price, -delivery_price, rating, -rating, mix, -mix, random` | `what-to-eat random --technique random` |
diff --git a/poetry.lock b/poetry.lock
index ba62f1c..071eeb1 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -35,7 +35,7 @@ python-versions = ">=3.5"
dev = ["cloudpickle", "coverage[toml] (>=5.0.2)", "furo", "hypothesis", "mypy (>=0.900,!=0.940)", "pre-commit", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "sphinx", "sphinx-notfound-page", "zope.interface"]
docs = ["furo", "sphinx", "sphinx-notfound-page", "zope.interface"]
tests = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy (>=0.900,!=0.940)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "zope.interface"]
-tests-no-zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy (>=0.900,!=0.940)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins"]
+tests_no_zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy (>=0.900,!=0.940)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins"]
[[package]]
name = "blessed"
@@ -104,6 +104,17 @@ category = "dev"
optional = false
python-versions = "*"
+[[package]]
+name = "exceptiongroup"
+version = "1.0.4"
+description = "Backport of PEP 654 (exception groups)"
+category = "dev"
+optional = false
+python-versions = ">=3.7"
+
+[package.extras]
+test = ["pytest (>=6)"]
+
[[package]]
name = "factory-boy"
version = "3.2.1"
@@ -121,7 +132,7 @@ doc = ["Sphinx", "sphinx-rtd-theme", "sphinxcontrib-spelling"]
[[package]]
name = "Faker"
-version = "15.3.2"
+version = "15.3.4"
description = "Faker is a Python package that generates fake data for you."
category = "dev"
optional = false
@@ -152,7 +163,7 @@ python-versions = ">=3.7"
[[package]]
name = "httpcore"
-version = "0.16.1"
+version = "0.16.2"
description = "A minimal low-level HTTP client."
category = "main"
optional = false
@@ -249,6 +260,7 @@ python-versions = ">=3.7"
[package.dependencies]
mypy-extensions = ">=0.4.3"
+tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""}
typing-extensions = ">=3.10"
[package.extras]
@@ -375,9 +387,11 @@ python-versions = ">=3.7"
[package.dependencies]
attrs = ">=19.2.0"
colorama = {version = "*", markers = "sys_platform == \"win32\""}
+exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""}
iniconfig = "*"
packaging = "*"
pluggy = ">=0.12,<2.0"
+tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""}
[package.extras]
testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"]
@@ -459,7 +473,7 @@ python-versions = ">=3.7"
[[package]]
name = "setuptools"
-version = "65.6.0"
+version = "65.6.3"
description = "Easily download, build, install, upgrade, and uninstall Python packages"
category = "main"
optional = false
@@ -502,6 +516,14 @@ category = "dev"
optional = false
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
+[[package]]
+name = "tomli"
+version = "2.0.1"
+description = "A lil' TOML parser"
+category = "dev"
+optional = false
+python-versions = ">=3.7"
+
[[package]]
name = "typer"
version = "0.7.0"
@@ -532,7 +554,7 @@ python-versions = ">=3.7"
[[package]]
name = "virtualenv"
-version = "20.16.7"
+version = "20.17.0"
description = "Virtual Python Environment builder"
category = "dev"
optional = false
@@ -557,7 +579,7 @@ python-versions = "*"
[metadata]
lock-version = "1.1"
-python-versions = "~3.11"
+python-versions = "^3.10"
content-hash = "91f27438b03482cc2032123452ffc24d3183d4189f2c759087ba5d14974793a3"
[metadata.files]
@@ -601,13 +623,17 @@ distlib = [
{file = "distlib-0.3.6-py2.py3-none-any.whl", hash = "sha256:f35c4b692542ca110de7ef0bea44d73981caeb34ca0b9b6b2e6d7790dda8f80e"},
{file = "distlib-0.3.6.tar.gz", hash = "sha256:14bad2d9b04d3a36127ac97f30b12a19268f211063d8f8ee4f47108896e11b46"},
]
+exceptiongroup = [
+ {file = "exceptiongroup-1.0.4-py3-none-any.whl", hash = "sha256:542adf9dea4055530d6e1279602fa5cb11dab2395fa650b8674eaec35fc4a828"},
+ {file = "exceptiongroup-1.0.4.tar.gz", hash = "sha256:bd14967b79cd9bdb54d97323216f8fdf533e278df937aa2a90089e7d6e06e5ec"},
+]
factory-boy = [
{file = "factory_boy-3.2.1-py2.py3-none-any.whl", hash = "sha256:eb02a7dd1b577ef606b75a253b9818e6f9eaf996d94449c9d5ebb124f90dc795"},
{file = "factory_boy-3.2.1.tar.gz", hash = "sha256:a98d277b0c047c75eb6e4ab8508a7f81fb03d2cb21986f627913546ef7a2a55e"},
]
Faker = [
- {file = "Faker-15.3.2-py3-none-any.whl", hash = "sha256:43da04aae745018e8bded768e74c84423d9dc38e4c498a53439e749d90e20bc0"},
- {file = "Faker-15.3.2.tar.gz", hash = "sha256:0094fe3340ad73c490d3ffccc59cc171b161acfccccd52925c70970ba23e6d6b"},
+ {file = "Faker-15.3.4-py3-none-any.whl", hash = "sha256:c2a2ff9dd8dfd991109b517ab98d5cb465e857acb45f6b643a0e284a9eb2cc76"},
+ {file = "Faker-15.3.4.tar.gz", hash = "sha256:2d5443724f640ce07658ca8ca8bbd40d26b58914e63eec6549727869aa67e2cc"},
]
filelock = [
{file = "filelock-3.8.0-py3-none-any.whl", hash = "sha256:617eb4e5eedc82fc5f47b6d61e4d11cb837c56cb4544e39081099fa17ad109d4"},
@@ -618,8 +644,8 @@ h11 = [
{file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"},
]
httpcore = [
- {file = "httpcore-0.16.1-py3-none-any.whl", hash = "sha256:8d393db683cc8e35cc6ecb02577c5e1abfedde52b38316d038932a84b4875ecb"},
- {file = "httpcore-0.16.1.tar.gz", hash = "sha256:3d3143ff5e1656a5740ea2f0c167e8e9d48c5a9bbd7f00ad1f8cff5711b08543"},
+ {file = "httpcore-0.16.2-py3-none-any.whl", hash = "sha256:52c79095197178856724541e845f2db86d5f1527640d9254b5b8f6f6cebfdee6"},
+ {file = "httpcore-0.16.2.tar.gz", hash = "sha256:c35c5176dc82db732acfd90b581a3062c999a72305df30c0fc8fafd8e4aca068"},
]
httpx = [
{file = "httpx-0.23.1-py3-none-any.whl", hash = "sha256:0b9b1f0ee18b9978d637b0776bfd7f54e2ca278e063e3586d8f01cda89e042a8"},
@@ -833,8 +859,8 @@ ruff = [
{file = "ruff-0.0.124.tar.gz", hash = "sha256:7c795703e738aeb5b562c97ee2e56e94b806436dfcbbdc3a9314d68388cddc3b"},
]
setuptools = [
- {file = "setuptools-65.6.0-py3-none-any.whl", hash = "sha256:6211d2f5eddad8757bd0484923ca7c0a6302ebc4ab32ea5e94357176e0ca0840"},
- {file = "setuptools-65.6.0.tar.gz", hash = "sha256:d1eebf881c6114e51df1664bc2c9133d022f78d12d5f4f665b9191f084e2862d"},
+ {file = "setuptools-65.6.3-py3-none-any.whl", hash = "sha256:57f6f22bde4e042978bcd50176fdb381d7c21a9efa4041202288d3737a0c6a54"},
+ {file = "setuptools-65.6.3.tar.gz", hash = "sha256:a7620757bf984b58deaf32fc8a4577a9bbc0850cf92c20e1ce41c38c19e5fb75"},
]
shellingham = [
{file = "shellingham-1.5.0-py2.py3-none-any.whl", hash = "sha256:a8f02ba61b69baaa13facdba62908ca8690a94b8119b69f5ec5873ea85f7391b"},
@@ -852,6 +878,10 @@ toml = [
{file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"},
{file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"},
]
+tomli = [
+ {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"},
+ {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"},
+]
typer = [
{file = "typer-0.7.0-py3-none-any.whl", hash = "sha256:b5e704f4e48ec263de1c0b3a2387cd405a13767d2f907f44c1a08cbad96f606d"},
{file = "typer-0.7.0.tar.gz", hash = "sha256:ff797846578a9f2a201b53442aedeb543319466870fbe1c701eab66dd7681165"},
@@ -861,8 +891,8 @@ typing-extensions = [
{file = "typing_extensions-4.4.0.tar.gz", hash = "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa"},
]
virtualenv = [
- {file = "virtualenv-20.16.7-py3-none-any.whl", hash = "sha256:efd66b00386fdb7dbe4822d172303f40cd05e50e01740b19ea42425cbe653e29"},
- {file = "virtualenv-20.16.7.tar.gz", hash = "sha256:8691e3ff9387f743e00f6bb20f70121f5e4f596cae754531f2b3b3a1b1ac696e"},
+ {file = "virtualenv-20.17.0-py3-none-any.whl", hash = "sha256:40a7e06a98728fd5769e1af6fd1a706005b4bb7e16176a272ed4292473180389"},
+ {file = "virtualenv-20.17.0.tar.gz", hash = "sha256:7d6a8d55b2f73b617f684ee40fd85740f062e1f2e379412cb1879c7136f05902"},
]
wcwidth = [
{file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"},
diff --git a/pyproject.toml b/pyproject.toml
index 529b418..bba1dd5 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "what-to-eat"
-version = "0.1.7"
+version = "0.1.8"
description = "What to eat? CLI tool to interaction with Wolt API"
authors = ["Kamil Woลบniak "]
readme = "README.md"
diff --git a/what_to_eat/main.py b/what_to_eat/main.py
index 5e3b621..ef3afe8 100644
--- a/what_to_eat/main.py
+++ b/what_to_eat/main.py
@@ -53,7 +53,7 @@ def ls(
),
limit: Optional[int] = typer.Option(None, "--limit", "-l", help="Limit results"), # noqa: U007
) -> None:
- """Finds best restaurants via Wolt API"""
+ """List restaurants queried from Wolt API."""
profile = find_profile(profile_name)
with Progress(
SpinnerColumn(),