We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
[FEATURE] Add license in PyPI packages
## 🚨🚨 Feature Request

- [x] A new implementation (Improvement) 

### Is your feature request related to a problem?

deeplake, hub and libdeeplake currently use [Mozilla Public License](https://www.mozilla.org/en-US/MPL/) (MPL). However they do not advertise their license in their respective PyPI packages. This makes automatic license checks (`liccheck`) fail. 

### Description of the possible solution

Add license and license classifiers in `setup.cfg` for hub, deeplake and libdeeplake.
Syntax:
> setup.cfg
```
[metadata]
license = MPL 2.0
license_file = LICENSE
classifiers = 
	License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
```

References:
- https://setuptools.pypa.io/en/latest/deprecated/distutils/setupscript.html#additional-meta-data
- https://pypi.org/classifiers/
- https://github.com/SethMMorton/natsort/blob/master/setup.cfg

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `setup.py`
Content:
```
1 import os
2 import sys
3 import re
4 import platform
5 from setuptools import find_packages, setup
6 
7 project_name = "deeplake"
8 
9 
10 this_directory = os.path.abspath(os.path.dirname(__file__))
11 
12 with open(os.path.join(this_directory, "deeplake/requirements/common.txt")) as f:
13     requirements = f.readlines()
14 
15 with open(os.path.join(this_directory, "deeplake/requirements/tests.txt")) as f:
16     tests = f.readlines()
17 
18 with open(os.path.join(this_directory, "README.md"), encoding="utf-8") as f:
19     long_description = f.read()
20 
21 
22 req_map = {
23     b: a
24     for a, b in (
25         re.findall(r"^(([^!=<>~]+)(?:[!=<>~].*)?$)", x.strip("\n"))[0]
26         for x in requirements
27     )
28 }
29 
30 # Add optional dependencies to this dict without version. Version should be specified in requirements.txt
31 extras = {
32     "audio": ["av"],
33     "video": ["av"],
34     "av": ["av"],
35     "gcp": ["google-cloud-storage", "google-auth", "google-auth-oauthlib"],
36     "dicom": ["pydicom"],
37     "visualizer": ["IPython", "flask"],
38     "gdrive": [
39         "google-api-python-client",
40         "oauth2client",
41         "google-auth",
42         "google-auth-oauthlib",
43     ],
44     "point_cloud": ["laspy"],
45 }
46 
47 all_extras = {r for v in extras.values() for r in v}
48 install_requires = [req_map[r] for r in req_map if r not in all_extras]
49 extras_require = {k: [req_map[r] for r in v] for k, v in extras.items()}
50 extras_require["all"] = [req_map[r] for r in all_extras]
51 
52 
53 init_file = os.path.join(project_name, "__init__.py")
54 
55 
56 def get_property(prop):
57     result = re.search(
58         # find variable with name `prop` in the __init__.py file
59         rf'{prop}\s*=\s*[\'"]([^\'"]*)[\'"]',
60         open(init_file).read(),
61     )
62     return result.group(1)
63 
64 
65 def libdeeplake_availabe():
66     py_ver = sys.version_info
67     if sys.platform == "linux":
68         if py_ver >= (3, 6) and py_ver <= (3, 10):
69             return True
70     if sys.platform == "darwin":
71         mac_ver = list(map(int, platform.mac_ver()[0].split(".")))
72         if (
73             (mac_ver[0] > 10 or mac_ver[0] == 10 and mac_ver[1] >= 12)
74             and py_ver >= (3, 7)
75             and py_ver <= (3, 10)
76         ):
77             return True
78     return False
79 
80 
81 if libdeeplake_availabe():
82     install_requires.insert(0, "libdeeplake==0.0.25")
83 install_requires.append("hub>=2.8.7")
84 
85 
86 config = {
87     "name": project_name,
88     "version": get_property("__version__"),
89     "description": "Activeloop Deep Lake",
90     "long_description": long_description,
91     "long_description_content_type": "text/markdown",
92     "author": "activeloop.ai",
93     "author_email": "support@activeloop.ai",
94     "packages": find_packages(),
95     "install_requires": install_requires,
96     "extras_require": extras_require,
97     "tests_require": tests,
98     "include_package_data": True,
99     "zip_safe": False,
100     "entry_points": {"console_scripts": ["activeloop = deeplake.cli.commands:cli"]},
101     "dependency_links": [],
102     "project_urls": {
103         "Documentation": "https://docs.activeloop.ai/",
104         "Source": "https://github.com/activeloopai/deeplake",
105     },
106 }
107 
108 setup(**config)
109
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -103,6 +103,10 @@
         "Documentation": "https://docs.activeloop.ai/",
         "Source": "https://github.com/activeloopai/deeplake",
     },
+    "license": "MPL-2.0",
+    "classifiers": [
+        "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)",
+    ],
 }
 
 setup(**config)

{"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -103,6 +103,10 @@\n         \"Documentation\": \"https://docs.activeloop.ai/\",\n         \"Source\": \"https://github.com/activeloopai/deeplake\",\n     },\n+    \"license\": \"MPL-2.0\",\n+    \"classifiers\": [\n+        \"License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)\",\n+    ],\n }\n \n setup(**config)\n", "issue": "[FEATURE] Add license in PyPI packages\n## \ud83d\udea8\ud83d\udea8 Feature Request\r\n\r\n- [x] A new implementation (Improvement) \r\n\r\n### Is your feature request related to a problem?\r\n\r\ndeeplake, hub and libdeeplake currently use [Mozilla Public License](https://www.mozilla.org/en-US/MPL/) (MPL). However they do not advertise their license in their respective PyPI packages. This makes automatic license checks (`liccheck`) fail. \r\n\r\n### Description of the possible solution\r\n\r\nAdd license and license classifiers in `setup.cfg` for hub, deeplake and libdeeplake.\r\nSyntax:\r\n> setup.cfg\r\n```\r\n[metadata]\r\nlicense = MPL 2.0\r\nlicense_file = LICENSE\r\nclassifiers = \r\n\tLicense :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)\r\n```\r\n\r\nReferences:\r\n- https://setuptools.pypa.io/en/latest/deprecated/distutils/setupscript.html#additional-meta-data\r\n- https://pypi.org/classifiers/\r\n- https://github.com/SethMMorton/natsort/blob/master/setup.cfg\n", "before_files": [{"content": "import os\nimport sys\nimport re\nimport platform\nfrom setuptools import find_packages, setup\n\nproject_name = \"deeplake\"\n\n\nthis_directory = os.path.abspath(os.path.dirname(__file__))\n\nwith open(os.path.join(this_directory, \"deeplake/requirements/common.txt\")) as f:\n    requirements = f.readlines()\n\nwith open(os.path.join(this_directory, \"deeplake/requirements/tests.txt\")) as f:\n    tests = f.readlines()\n\nwith open(os.path.join(this_directory, \"README.md\"), encoding=\"utf-8\") as f:\n    long_description = f.read()\n\n\nreq_map = {\n    b: a\n    for a, b in (\n        re.findall(r\"^(([^!=<>~]+)(?:[!=<>~].*)?$)\", x.strip(\"\\n\"))[0]\n        for x in requirements\n    )\n}\n\n# Add optional dependencies to this dict without version. Version should be specified in requirements.txt\nextras = {\n    \"audio\": [\"av\"],\n    \"video\": [\"av\"],\n    \"av\": [\"av\"],\n    \"gcp\": [\"google-cloud-storage\", \"google-auth\", \"google-auth-oauthlib\"],\n    \"dicom\": [\"pydicom\"],\n    \"visualizer\": [\"IPython\", \"flask\"],\n    \"gdrive\": [\n        \"google-api-python-client\",\n        \"oauth2client\",\n        \"google-auth\",\n        \"google-auth-oauthlib\",\n    ],\n    \"point_cloud\": [\"laspy\"],\n}\n\nall_extras = {r for v in extras.values() for r in v}\ninstall_requires = [req_map[r] for r in req_map if r not in all_extras]\nextras_require = {k: [req_map[r] for r in v] for k, v in extras.items()}\nextras_require[\"all\"] = [req_map[r] for r in all_extras]\n\n\ninit_file = os.path.join(project_name, \"__init__.py\")\n\n\ndef get_property(prop):\n    result = re.search(\n        # find variable with name `prop` in the __init__.py file\n        rf'{prop}\\s*=\\s*[\\'\"]([^\\'\"]*)[\\'\"]',\n        open(init_file).read(),\n    )\n    return result.group(1)\n\n\ndef libdeeplake_availabe():\n    py_ver = sys.version_info\n    if sys.platform == \"linux\":\n        if py_ver >= (3, 6) and py_ver <= (3, 10):\n            return True\n    if sys.platform == \"darwin\":\n        mac_ver = list(map(int, platform.mac_ver()[0].split(\".\")))\n        if (\n            (mac_ver[0] > 10 or mac_ver[0] == 10 and mac_ver[1] >= 12)\n            and py_ver >= (3, 7)\n            and py_ver <= (3, 10)\n        ):\n            return True\n    return False\n\n\nif libdeeplake_availabe():\n    install_requires.insert(0, \"libdeeplake==0.0.25\")\ninstall_requires.append(\"hub>=2.8.7\")\n\n\nconfig = {\n    \"name\": project_name,\n    \"version\": get_property(\"__version__\"),\n    \"description\": \"Activeloop Deep Lake\",\n    \"long_description\": long_description,\n    \"long_description_content_type\": \"text/markdown\",\n    \"author\": \"activeloop.ai\",\n    \"author_email\": \"support@activeloop.ai\",\n    \"packages\": find_packages(),\n    \"install_requires\": install_requires,\n    \"extras_require\": extras_require,\n    \"tests_require\": tests,\n    \"include_package_data\": True,\n    \"zip_safe\": False,\n    \"entry_points\": {\"console_scripts\": [\"activeloop = deeplake.cli.commands:cli\"]},\n    \"dependency_links\": [],\n    \"project_urls\": {\n        \"Documentation\": \"https://docs.activeloop.ai/\",\n        \"Source\": \"https://github.com/activeloopai/deeplake\",\n    },\n}\n\nsetup(**config)\n", "path": "setup.py"}], "after_files": [{"content": "import os\nimport sys\nimport re\nimport platform\nfrom setuptools import find_packages, setup\n\nproject_name = \"deeplake\"\n\n\nthis_directory = os.path.abspath(os.path.dirname(__file__))\n\nwith open(os.path.join(this_directory, \"deeplake/requirements/common.txt\")) as f:\n    requirements = f.readlines()\n\nwith open(os.path.join(this_directory, \"deeplake/requirements/tests.txt\")) as f:\n    tests = f.readlines()\n\nwith open(os.path.join(this_directory, \"README.md\"), encoding=\"utf-8\") as f:\n    long_description = f.read()\n\n\nreq_map = {\n    b: a\n    for a, b in (\n        re.findall(r\"^(([^!=<>~]+)(?:[!=<>~].*)?$)\", x.strip(\"\\n\"))[0]\n        for x in requirements\n    )\n}\n\n# Add optional dependencies to this dict without version. Version should be specified in requirements.txt\nextras = {\n    \"audio\": [\"av\"],\n    \"video\": [\"av\"],\n    \"av\": [\"av\"],\n    \"gcp\": [\"google-cloud-storage\", \"google-auth\", \"google-auth-oauthlib\"],\n    \"dicom\": [\"pydicom\"],\n    \"visualizer\": [\"IPython\", \"flask\"],\n    \"gdrive\": [\n        \"google-api-python-client\",\n        \"oauth2client\",\n        \"google-auth\",\n        \"google-auth-oauthlib\",\n    ],\n    \"point_cloud\": [\"laspy\"],\n}\n\nall_extras = {r for v in extras.values() for r in v}\ninstall_requires = [req_map[r] for r in req_map if r not in all_extras]\nextras_require = {k: [req_map[r] for r in v] for k, v in extras.items()}\nextras_require[\"all\"] = [req_map[r] for r in all_extras]\n\n\ninit_file = os.path.join(project_name, \"__init__.py\")\n\n\ndef get_property(prop):\n    result = re.search(\n        # find variable with name `prop` in the __init__.py file\n        rf'{prop}\\s*=\\s*[\\'\"]([^\\'\"]*)[\\'\"]',\n        open(init_file).read(),\n    )\n    return result.group(1)\n\n\ndef libdeeplake_availabe():\n    py_ver = sys.version_info\n    if sys.platform == \"linux\":\n        if py_ver >= (3, 6) and py_ver <= (3, 10):\n            return True\n    if sys.platform == \"darwin\":\n        mac_ver = list(map(int, platform.mac_ver()[0].split(\".\")))\n        if (\n            (mac_ver[0] > 10 or mac_ver[0] == 10 and mac_ver[1] >= 12)\n            and py_ver >= (3, 7)\n            and py_ver <= (3, 10)\n        ):\n            return True\n    return False\n\n\nif libdeeplake_availabe():\n    install_requires.insert(0, \"libdeeplake==0.0.25\")\ninstall_requires.append(\"hub>=2.8.7\")\n\n\nconfig = {\n    \"name\": project_name,\n    \"version\": get_property(\"__version__\"),\n    \"description\": \"Activeloop Deep Lake\",\n    \"long_description\": long_description,\n    \"long_description_content_type\": \"text/markdown\",\n    \"author\": \"activeloop.ai\",\n    \"author_email\": \"support@activeloop.ai\",\n    \"packages\": find_packages(),\n    \"install_requires\": install_requires,\n    \"extras_require\": extras_require,\n    \"tests_require\": tests,\n    \"include_package_data\": True,\n    \"zip_safe\": False,\n    \"entry_points\": {\"console_scripts\": [\"activeloop = deeplake.cli.commands:cli\"]},\n    \"dependency_links\": [],\n    \"project_urls\": {\n        \"Documentation\": \"https://docs.activeloop.ai/\",\n        \"Source\": \"https://github.com/activeloopai/deeplake\",\n    },\n    \"license\": \"MPL-2.0\",\n    \"classifiers\": [\n        \"License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)\",\n    ],\n}\n\nsetup(**config)\n", "path": "setup.py"}]}