Vasanth Sarathy commited on
Commit
a73cab8
1 Parent(s): 0508093

Working on chapter 2100

Browse files
app.py CHANGED
@@ -1,7 +1,62 @@
1
  import gradio as gr
 
 
2
 
3
- def greet(name):
4
- return "Hello " + name + "!!"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
 
6
- iface = gr.Interface(fn=greet, inputs="text", outputs="text")
7
- iface.launch()
 
1
  import gradio as gr
2
+ from llama_index import GPTSimpleVectorIndex
3
+ import os
4
 
5
+ css_style = """
6
+ .gradio-container {
7
+ font-family: "IBM Plex Mono";
8
+ }
9
+ """
10
+
11
+ # Load the pre-created index
12
+ index_filename = 'indices/index_vector_2100.json'
13
+ index = GPTSimpleVectorIndex.load_from_disk(index_filename)
14
+
15
+
16
+ def ask_question(question, openai_api_key):
17
+ if len(openai_api_key) > 0:
18
+ os.environ['OPENAI_API_KEY'] = openai_api_key.strip()
19
+ prompt_template = "Provide references to sections in the MPEP"
20
+ response = index.query(question + " " + prompt_template )
21
+ return response.response
22
+ return "Enter your OpenAI API key to use MPEP-QA"
23
+
24
+ with gr.Blocks(css=css_style) as demo:
25
+ openai_api_key = gr.State('')
26
+ gr.Markdown(f"""
27
+ # 📑 MPEP Question-Answering System
28
+ *By Vasanth Sarathy ([@vasanthsarathy](https://twitter.com/vasanthsarathy))*
29
+
30
+ This tool aims to make the [MPEP](https://www.uspto.gov/web/offices/pac/mpep/index.html) (Manual of Patent Examination and Procedure) more accessible to everyone. The MPEP is what guides patent examiners at the US Patent and Trademark Office ([USPTO](https://www.uspto.gov/)) when they examine patent applications. It is also what guides patent lawyers and patent agents when preparing patent applications for their clients.
31
+
32
+ MPEP-QA uses OpenAI's GPT models and thus you must enter your API key below. The tool is under active development and costs some money if you run it - About $0.10 - $0.20 per question.
33
+
34
+ **DISCLAIMER:** Please note that the answers provided by MPEP-QA are not legally binding and do not constitute legal advice. It provides a starting point for your queries about the patent system. Any followups, deeper dives and advice relating to your specific situation should be done in consultation with someone (human) who is registered to practice in front of the USPTO.
35
+
36
+ * [mpep-qa](https://github.com/vasanthsarathy/mpep-qa) contains the code behind the tool.
37
+ * [llamaIndex](https://github.com/jerryjliu/gpt_index/blob/main/docs/index.rst) is the main library this tool uses, and is just awesome!
38
+
39
+ How to use:
40
+ 1. Enter API Key ([What is that?](https://platform.openai.com/account/api-keys))
41
+ 2. Ask your question! (Currently can only answer questions about Patentability (chapter 2100))
42
+ """)
43
+
44
+ openai_api_key = gr.Textbox(
45
+ label="OpenAI API Key", placeholder="sk-...", type="password")
46
+
47
+ question = gr.Textbox(placeholder="Enter your question here...",
48
+ label="Question")
49
+ gr.Examples(["Can I patent a new recipe for pancakes?",
50
+ "What is the difference between novelty and non-obviousness",
51
+ "Why does a patent need to have claims?"],
52
+ question)
53
+ ask = gr.Button("Ask Question")
54
+ answer = gr.Markdown(label="Answer")
55
+
56
+ ask.click(fn=ask_question,
57
+ inputs=[question, openai_api_key],
58
+ outputs=[answer])
59
+
60
+ demo.queue(concurrency_count=20)
61
+ demo.launch(show_error=True)
62
 
 
 
notebooks/.ipynb_checkpoints/cost_estimation-checkpoint.ipynb ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [],
3
+ "metadata": {},
4
+ "nbformat": 4,
5
+ "nbformat_minor": 5
6
+ }
notebooks/cost_estimation.ipynb ADDED
@@ -0,0 +1,380 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "id": "75ec9559",
6
+ "metadata": {},
7
+ "source": [
8
+ "# Cost Estimation\n",
9
+ "\n",
10
+ "This notebook is intended to explore how expensive it will be for indexing and querying the MPEP"
11
+ ]
12
+ },
13
+ {
14
+ "cell_type": "markdown",
15
+ "id": "a983be01",
16
+ "metadata": {},
17
+ "source": [
18
+ "## Chapter 2100\n",
19
+ "\n",
20
+ "I'm focusing just on chapter 2100 (Patentability)"
21
+ ]
22
+ },
23
+ {
24
+ "cell_type": "code",
25
+ "execution_count": null,
26
+ "id": "cfd9de16",
27
+ "metadata": {},
28
+ "outputs": [],
29
+ "source": [
30
+ "from llama_index import GPTTreeIndex, GPTSimpleVectorIndex, MockLLMPredictor, SimpleDirectoryReader\n",
31
+ "\n",
32
+ "data_folder = \"../data/2100\"\n",
33
+ "\n",
34
+ "documents = SimpleDirectoryReader(data_folder).load_data()\n",
35
+ "\n",
36
+ "# the \"mock\" llm predictor is our token counter\n",
37
+ "llm_predictor = MockLLMPredictor(max_tokens=256)\n",
38
+ "\n",
39
+ "print(\"predictor ready\")"
40
+ ]
41
+ },
42
+ {
43
+ "cell_type": "code",
44
+ "execution_count": null,
45
+ "id": "3c2e211c",
46
+ "metadata": {},
47
+ "outputs": [],
48
+ "source": [
49
+ "# Cost of Indexing \n",
50
+ "\n",
51
+ "# pass the \"mock\" llm_predictor into GPTTreeIndex during index construction\n",
52
+ "print(\"Indexing with GPTTreeIndex\")\n",
53
+ "index_tree = GPTTreeIndex(documents, llm_predictor=llm_predictor)\n",
54
+ "# get number of tokens used\n",
55
+ "print(f\"\\tNumber of tokens used: {llm_predictor.last_token_usage}\")\n",
56
+ "\n",
57
+ "print(\"Indexing with GPTSimpleVectorIndex\")\n",
58
+ "index_vec = GPTSimpleVectorIndex(documents, llm_predictor=llm_predictor)\n",
59
+ "# get number of tokens used\n",
60
+ "print(f\"\\tNumber of tokens used: {llm_predictor.last_token_usage}\")\n"
61
+ ]
62
+ },
63
+ {
64
+ "cell_type": "code",
65
+ "execution_count": null,
66
+ "id": "460e4d87",
67
+ "metadata": {},
68
+ "outputs": [],
69
+ "source": [
70
+ "index_vec."
71
+ ]
72
+ },
73
+ {
74
+ "cell_type": "code",
75
+ "execution_count": null,
76
+ "id": "88db4c56",
77
+ "metadata": {},
78
+ "outputs": [],
79
+ "source": [
80
+ "1802.03 * 0.002"
81
+ ]
82
+ },
83
+ {
84
+ "cell_type": "markdown",
85
+ "id": "e451a588",
86
+ "metadata": {},
87
+ "source": [
88
+ "## Using a simple vector index"
89
+ ]
90
+ },
91
+ {
92
+ "cell_type": "code",
93
+ "execution_count": 1,
94
+ "id": "8a1d1ad9",
95
+ "metadata": {},
96
+ "outputs": [
97
+ {
98
+ "name": "stderr",
99
+ "output_type": "stream",
100
+ "text": [
101
+ "INFO:root:> [build_index_from_documents] Total LLM token usage: 0 tokens\n",
102
+ "INFO:root:> [build_index_from_documents] Total embedding token usage: 1508166 tokens\n"
103
+ ]
104
+ }
105
+ ],
106
+ "source": [
107
+ "from llama_index import GPTSimpleVectorIndex, SimpleDirectoryReader\n",
108
+ "\n",
109
+ "data_folder = \"../data/2100\"\n",
110
+ "\n",
111
+ "documents = SimpleDirectoryReader(data_folder).load_data()\n",
112
+ "index = GPTSimpleVectorIndex(documents)"
113
+ ]
114
+ },
115
+ {
116
+ "cell_type": "code",
117
+ "execution_count": 2,
118
+ "id": "9845b350",
119
+ "metadata": {},
120
+ "outputs": [
121
+ {
122
+ "name": "stderr",
123
+ "output_type": "stream",
124
+ "text": [
125
+ "INFO:root:> [query] Total LLM token usage: 4268 tokens\n",
126
+ "INFO:root:> [query] Total embedding token usage: 9 tokens\n"
127
+ ]
128
+ },
129
+ {
130
+ "name": "stdout",
131
+ "output_type": "stream",
132
+ "text": [
133
+ "\n",
134
+ "\n",
135
+ "To obtain a patent, the subject matter of the invention or discovery must come within the boundaries set forth by 35 U.S.C. 101, which permits a patent to be granted only for \"any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof.\" Additionally, the inventor(s) must be the applicant in an application filed before September 16, 2012, and the inventor or each joint inventor must be identified in an application filed on or after September 16, 2012. The claimed invention must also be eligible for patenting, have a specific, substantial, and credible utility, and not be barred by the Atomic Energy Act of 1954. Furthermore, all applications must be screened by Technology Center (TC) work group 3640 personnel, under 37 CFR 1.14(d), in order for the Director to fulfill his or her responsibilities under section 151(d) (42 U.S.C. 2181(d)) of the Atomic Energy Act. Papers subsequently added must be inspected promptly by the examiner when received to determine whether the application has been amended to relate to atomic energy and those so related must be promptly forwarded to the Director.\n"
136
+ ]
137
+ }
138
+ ],
139
+ "source": [
140
+ "response = index.query(\"What are the requirements to obtain a patent?\")\n",
141
+ "print(response)"
142
+ ]
143
+ },
144
+ {
145
+ "cell_type": "code",
146
+ "execution_count": 4,
147
+ "id": "409c8ab0",
148
+ "metadata": {},
149
+ "outputs": [
150
+ {
151
+ "name": "stderr",
152
+ "output_type": "stream",
153
+ "text": [
154
+ "INFO:root:> [query] Total LLM token usage: 3856 tokens\n",
155
+ "INFO:root:> [query] Total embedding token usage: 11 tokens\n"
156
+ ]
157
+ },
158
+ {
159
+ "name": "stdout",
160
+ "output_type": "stream",
161
+ "text": [
162
+ "\n",
163
+ "Novelty for a patent means that the invention has not been patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention, including any matter used in or made by a biotechnological process, or any composition of matter claimed in another patent.\n"
164
+ ]
165
+ }
166
+ ],
167
+ "source": [
168
+ "response = index.query(\"What does it mean for a patent to be novel?\")\n",
169
+ "print(response)"
170
+ ]
171
+ },
172
+ {
173
+ "cell_type": "code",
174
+ "execution_count": null,
175
+ "id": "19f4039b",
176
+ "metadata": {},
177
+ "outputs": [],
178
+ "source": [
179
+ "len(response.source_nodes)"
180
+ ]
181
+ },
182
+ {
183
+ "cell_type": "code",
184
+ "execution_count": null,
185
+ "id": "7270ad21",
186
+ "metadata": {},
187
+ "outputs": [],
188
+ "source": [
189
+ "index.embed_model"
190
+ ]
191
+ },
192
+ {
193
+ "cell_type": "code",
194
+ "execution_count": 5,
195
+ "id": "12e5cc23",
196
+ "metadata": {},
197
+ "outputs": [],
198
+ "source": [
199
+ "index.save_to_disk('index_vector_2100.json')"
200
+ ]
201
+ },
202
+ {
203
+ "cell_type": "code",
204
+ "execution_count": 7,
205
+ "id": "ef9ca1e4",
206
+ "metadata": {},
207
+ "outputs": [],
208
+ "source": [
209
+ "index_filename = '../indices/index_vector_2100.json'\n",
210
+ "index_loaded = GPTSimpleVectorIndex.load_from_disk(index_filename)"
211
+ ]
212
+ },
213
+ {
214
+ "cell_type": "code",
215
+ "execution_count": 8,
216
+ "id": "c96743b1",
217
+ "metadata": {},
218
+ "outputs": [
219
+ {
220
+ "name": "stderr",
221
+ "output_type": "stream",
222
+ "text": [
223
+ "INFO:root:> [query] Total LLM token usage: 2762 tokens\n",
224
+ "INFO:root:> [query] Total embedding token usage: 13 tokens\n"
225
+ ]
226
+ },
227
+ {
228
+ "name": "stdout",
229
+ "output_type": "stream",
230
+ "text": [
231
+ "\n",
232
+ "You can find information on the patentability of software patents under 35 U.S.C. 102 and 103.\n"
233
+ ]
234
+ }
235
+ ],
236
+ "source": [
237
+ "response = index_loaded.query(\"What section can I find information on patentability of software patents?\")\n",
238
+ "print(response)"
239
+ ]
240
+ },
241
+ {
242
+ "cell_type": "code",
243
+ "execution_count": 14,
244
+ "id": "00a8f3bf",
245
+ "metadata": {},
246
+ "outputs": [
247
+ {
248
+ "data": {
249
+ "text/plain": [
250
+ "dict_keys(['source_text', 'doc_id', 'extra_info', 'node_info', 'similarity'])"
251
+ ]
252
+ },
253
+ "execution_count": 14,
254
+ "metadata": {},
255
+ "output_type": "execute_result"
256
+ }
257
+ ],
258
+ "source": [
259
+ "response.source_nodes[0].to_dict().keys()"
260
+ ]
261
+ },
262
+ {
263
+ "cell_type": "code",
264
+ "execution_count": 19,
265
+ "id": "d6bff237",
266
+ "metadata": {},
267
+ "outputs": [
268
+ {
269
+ "data": {
270
+ "text/plain": [
271
+ "'2106](s2106.html#d0e197244)** for a discussion of eligibility, and\\n **[MPEP §\\n 2107](s2107.html#d0e198469)** for the utility examination guidelines.\\n \\n\\n\\nThe patent eligibility inquiry under **[35 U.S.C. 101](mpep-9015-appx-l.html#d0e302376)**\\n is a threshold inquiry. Even if a claimed invention qualifies as eligible subject\\n matter under **[35\\n U.S.C. 101](mpep-9015-appx-l.html#d0e302376)**, it must also satisfy the other conditions and\\n requirements of the patent laws, including the requirements for novelty\\n (**[35 U.S.C.\\n 102](mpep-9015-appx-l.html#d0e302383)**), nonobviousness (**[35 U.S.C. 103](mpep-9015-appx-l.html#d0e302450)**), and adequate\\n description and definite claiming (**[35 U.S.C. 112](mpep-9015-appx-l.html#d0e302824)**). *Bilski\\n v. Kappos,* 561 U.S. 593, 602, 95 USPQ2d 1001, 1006 (2010). Therefore,\\n examiners should avoid focusing on only issues of patent-eligibility under\\n **[35 U.S.C.\\n 101](mpep-9015-appx-l.html#d0e302376)** to the detriment of considering an application for\\n compliance with the requirements of **[35 U.S.C. 102](mpep-9015-appx-l.html#d0e302383)**, **[35 U.S.C. 103](mpep-9015-appx-l.html#d0e302450)**,\\n and **[35 U.S.C.\\n 112](mpep-9015-appx-l.html#d0e302824)**, and should avoid treating an application solely on the\\n basis of patent-eligibility under **[35 U.S.C. 101](mpep-9015-appx-l.html#d0e302376)** except in the most\\n extreme cases. \\n \\n\\n**IV.** **EVALUATE APPLICATION FOR COMPLIANCE WITH 35 U.S.C. 112*** \\n\\n***A.*** ***Determine Whether the Claimed Invention Complies with 35 U.S.C. 112(b)\\n or Pre-AIA 35 U.S.C. 112, Second Paragraph Requirements*** **[35 U.S.C.\\n 112(b)](mpep-9015-appx-l.html#al_d1d85b_2ae65_215)** contains two separate and distinct requirements: (A)\\n that the claim(s) set forth the subject matter the inventor or a joint inventor\\n regards as the invention, and (B) that the claim(s) particularly point out and\\n distinctly claim the invention. An application will be deficient under the first\\n requirement of **[35 U.S.C. 112(b)](mpep-9015-appx-l.html#al_d1d85b_2ae65_215)** when evidence\\n outside the application as filed, e.g., admissions, shows that the inventor or a\\n joint inventor regards the invention to be different from what is claimed (see\\n **[MPEP §\\n 2171](s2171.html#d0e217389)** - **[MPEP § 2172.01](s2172.html#d0e217526)**). \\n \\n\\n\\nAn application fails to comply with the second\\n requirement of **[35 U.S.C. 112(b)](mpep-9015-appx-l.html#al_d1d85b_2ae65_215)** when the claims\\n do not set out and define the invention with a reasonable degree of precision and\\n particularity. In this regard, the definiteness of the language must be analyzed, not\\n in a vacuum, but always in light of the teachings of the disclosure as it would be\\n interpreted by one of ordinary skill in the art. Applicant’s claims, interpreted in\\n light of the disclosure, must reasonably apprise a person of ordinary skill in the\\n art of the invention. \\n \\n\\n\\nThe scope of a limitation that invokes\\n **[35\\n U.S.C. 112(f)](mpep-9015-appx-l.html#al_d1d85b_2ae7b_ec)** is defined as the corresponding structure or\\n material set forth by the inventor in the written description and equivalents thereof\\n that perform the claimed function. See **[MPEP § 2181](s2181.html#d0e219279)** through\\n **[MPEP §\\n 2186](s2186.html#d0e220631)**. See **[MPEP § 2173](s2173.html#d0e217564)***et seq.* for a discussion of a variety of issues pertaining to the\\n **[35\\n U.S.C. 112(b)](mpep-9015-appx-l.html#al_d1d85b_2ae65_215)** requirement that the claims particularly point\\n out and distinctly claim the invention. \\n \\n\\n***B.*** ***Determine Whether the Claimed Invention Complies with 35 U.S.C. 112(a)\\n or 35 U.S.C. 112, First Paragraph Requirements*****[35 U.S.C.\\n 112(a)](mpep-9015-appx-l.html#al_d1d85b_2ae60_3d5)** contains three separate and distinct requirements:\\n \\n\\n\\n* (A) adequate written description,\\n* (B) enablement, and\\n* (C) best mode.\\n\\n**1.** **Adequate Written Description**For the written description requirement, an\\n applicant’s specification must reasonably convey to those skilled in the art that\\n the applicant was in possession of the claimed invention as of the date of\\n invention. See **[MPEP\\n § 2163](s2163.html#d0e213583)** for further guidance with respect to the\\n evaluation of a patent application for compliance with the written description\\n requirement.\\n \\n\\n**2.** **Enabling Disclosure**An applicant’s specification must enable a person\\n skilled in the art to make and use the claimed invention without undue\\n experimentation. The fact that experimentation is complex, however, will not make\\n it undue if a person of skill in the art routinely engages in such\\n experimentation. \\n \\n\\n\\nSee **[MPEP § 2164](s2164.html#d0e215224)***et seq.* for detailed guidance with regard to the enablement\\n requirement of **[35 U.S.C. 112(a)](mpep-9015-appx-l.html#al_d1d85b_2ae60_3d5)**.\\n \\n\\n**3.** **Best Mode**Determining compliance with the best mode\\n requirement requires a two-prong inquiry:\\n \\n\\n\\n* (1) at the time the application was filed, did\\n the inventor possess a best mode for practicing the invention; and\\n* (2) if the inventor did possess a best mode,\\n does the written description disclose the best mode in such a manner that a\\n person of ordinary skill in the art could practice the best mode.\\n\\n\\nSee **[MPEP § 2165](s2165.html#d0e216924)***et seq.* for additional guidance. Deficiencies related to\\n disclosure of the best mode for carrying out the claimed invention are not usually\\n encountered during examination of an application because evidence to support such\\n a deficiency is seldom in the record. *Fonar Corp. v. General Elec.\\n Co.,* 107 F.3d 1543, 1548-49, 41 USPQ2d 1801, 1804-05 (Fed. Cir.\\n 1997). \\n \\n\\n**V.** **DETERMINE WHETHER THE CLAIMED INVENTION COMPLIES WITH 35 U.S.C. 102 AND\\n 103**Reviewing a claimed invention for compliance with\\n **[35 U.S.C.\\n 102](mpep-9015-appx-l.html#d0e302383)** and **[35 U.S.C.103](mpep-9015-appx-l.html#d0e302450)** begins with a\\n comparison of the claimed subject matter to what is known in the prior art. See\\n **[MPEP §§\\n 2131](s2131.html#d0e202959)** - **[2146](s2146.html#d0e213206)** and **[MPEP §§\\n 2150](s2150.html#ch2100_d2002f_22805_16e)** - **[2159](s2159.html#ch2100_d20034_1dc34_1dd)** for specific guidance on\\n patentability determinations under **[35 U.S.C. 102](mpep-9015-appx-l.html#d0e302383)** and **[35 U.S.C. 103](mpep-9015-appx-l.html#d0e302450)**. If\\n no differences are found between the claimed invention and the prior art, then the\\n claimed invention lacks novelty and is to be rejected by USPTO personnel under\\n **[35 U.S.C.\\n 102](mpep-9015-appx-l.html#d0e302383)**. Once differences are identified between the claimed invention\\n and the prior art, those differences must be assessed and resolved in light of the\\n knowledge possessed by a person of ordinary skill in the art. Against this backdrop, one\\n must determine whether the invention would have been obvious to one of ordinary skill in\\n the art. If not, the claimed invention satisfies **[35 U.S.C. 103](mpep-9015-appx-l.html#d0e302450)**.\\n \\n\\n**VI.** **CLEARLY COMMUNICATE FINDINGS, CONCLUSIONS AND THEIR BASES**Once examiners have completed the above analyses of the\\n claimed invention under all the statutory provisions, including **[35 U.S.C. 101](mpep-9015-appx-l.html#d0e302376)**,\\n **[35 U.S.C.\\n 112](mpep-9015-appx-l.html#d0e302824)**, **[35 U.S.C. 102](mpep-9015-appx-l.html#d0e302383)**, and **[35 U.S.C. 103](mpep-9015-appx-l.html#d0e302450)**,\\n they should review all the proposed rejections and their bases to confirm that a\\n *prima facie* case of unpatentability exists. Only then should any\\n rejection be imposed in an Office action. The Office action should clearly communicate\\n the findings, conclusions and reasons which support them.\\n \\n\\n\\nEXAMINERS SHOULD USE THE APPLICABLE FORM PARAGRAPHS IN\\n OFFICE ACTIONS TO STATE THE BASIS FOR ANY OBJECTIONS OR REJECTIONS TO REDUCE THE CHANCE\\n OF A MISUNDERSTANDING AS TO THE GROUNDS OF OBJECTION OR REJECTION. \\n \\n\\n\\n[[top]](#top)\\n\\n\\n]'"
272
+ ]
273
+ },
274
+ "execution_count": 19,
275
+ "metadata": {},
276
+ "output_type": "execute_result"
277
+ }
278
+ ],
279
+ "source": [
280
+ "response.source_nodes[0].source_text"
281
+ ]
282
+ },
283
+ {
284
+ "cell_type": "code",
285
+ "execution_count": 20,
286
+ "id": "ab69f3eb",
287
+ "metadata": {},
288
+ "outputs": [
289
+ {
290
+ "name": "stderr",
291
+ "output_type": "stream",
292
+ "text": [
293
+ "INFO:root:> [query] Total LLM token usage: 2506 tokens\n",
294
+ "INFO:root:> [query] Total embedding token usage: 15 tokens\n"
295
+ ]
296
+ },
297
+ {
298
+ "name": "stdout",
299
+ "output_type": "stream",
300
+ "text": [
301
+ "\n",
302
+ "No, you cannot patent a cooking recipe. According to the MPEP, Section 2105, \"Merely mental processes, such as a method of doing business, a method of teaching, a method of medical treatment, or a computer program, are not patentable subject matter.\" Additionally, Section 2106 states that \"Laws of nature, physical phenomena, and abstract ideas are not patentable subject matter.\" Cooking recipes are considered abstract ideas and are therefore not patentable.\n"
303
+ ]
304
+ }
305
+ ],
306
+ "source": [
307
+ "response = index_loaded.query(\"Can I patent a cooking recipe? Provide references to sections in the MPEP\")\n",
308
+ "print(response)"
309
+ ]
310
+ },
311
+ {
312
+ "cell_type": "code",
313
+ "execution_count": 25,
314
+ "id": "6a5d8f79",
315
+ "metadata": {},
316
+ "outputs": [
317
+ {
318
+ "data": {
319
+ "text/plain": [
320
+ "'\\nNo, you cannot patent a cooking recipe. According to the MPEP, Section 2105, \"Merely mental processes, such as a method of doing business, a method of teaching, a method of medical treatment, or a computer program, are not patentable subject matter.\" Additionally, Section 2106 states that \"Laws of nature, physical phenomena, and abstract ideas are not patentable subject matter.\" Cooking recipes are considered abstract ideas and are therefore not patentable.'"
321
+ ]
322
+ },
323
+ "execution_count": 25,
324
+ "metadata": {},
325
+ "output_type": "execute_result"
326
+ }
327
+ ],
328
+ "source": [
329
+ "response.response."
330
+ ]
331
+ },
332
+ {
333
+ "cell_type": "code",
334
+ "execution_count": null,
335
+ "id": "493153ba",
336
+ "metadata": {},
337
+ "outputs": [],
338
+ "source": []
339
+ }
340
+ ],
341
+ "metadata": {
342
+ "kernelspec": {
343
+ "display_name": "Python 3 (ipykernel)",
344
+ "language": "python",
345
+ "name": "python3"
346
+ },
347
+ "language_info": {
348
+ "codemirror_mode": {
349
+ "name": "ipython",
350
+ "version": 3
351
+ },
352
+ "file_extension": ".py",
353
+ "mimetype": "text/x-python",
354
+ "name": "python",
355
+ "nbconvert_exporter": "python",
356
+ "pygments_lexer": "ipython3",
357
+ "version": "3.9.15"
358
+ },
359
+ "toc": {
360
+ "base_numbering": 1,
361
+ "nav_menu": {},
362
+ "number_sections": true,
363
+ "sideBar": true,
364
+ "skip_h1_title": false,
365
+ "title_cell": "Table of Contents",
366
+ "title_sidebar": "Contents",
367
+ "toc_cell": false,
368
+ "toc_position": {
369
+ "height": "calc(100% - 180px)",
370
+ "left": "10px",
371
+ "top": "150px",
372
+ "width": "165px"
373
+ },
374
+ "toc_section_display": true,
375
+ "toc_window_display": true
376
+ }
377
+ },
378
+ "nbformat": 4,
379
+ "nbformat_minor": 5
380
+ }
poetry.lock CHANGED
@@ -117,6 +117,56 @@ doc = ["packaging", "sphinx-rtd-theme", "sphinx-autodoc-typehints (>=1.2.0)"]
117
  test = ["coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "contextlib2", "uvloop (<0.15)", "mock (>=4)", "uvloop (>=0.15)"]
118
  trio = ["trio (>=0.16,<0.22)"]
119
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
120
  [[package]]
121
  name = "astroid"
122
  version = "2.14.2"
@@ -133,6 +183,20 @@ wrapt = [
133
  {version = ">=1.14,<2", markers = "python_version >= \"3.11\""},
134
  ]
135
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
136
  [[package]]
137
  name = "async-timeout"
138
  version = "4.0.2"
@@ -157,6 +221,29 @@ tests = ["attrs", "zope.interface"]
157
  tests-no-zope = ["hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist", "cloudpickle", "mypy (>=0.971,<0.990)", "pytest-mypy-plugins"]
158
  tests_no_zope = ["hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist", "cloudpickle", "mypy (>=0.971,<0.990)", "pytest-mypy-plugins"]
159
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
160
  [[package]]
161
  name = "black"
162
  version = "23.1.0"
@@ -180,6 +267,21 @@ d = ["aiohttp (>=3.7.4)"]
180
  jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"]
181
  uvloop = ["uvloop (>=0.15.2)"]
182
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
183
  [[package]]
184
  name = "blobfile"
185
  version = "2.0.1"
@@ -272,6 +374,20 @@ category = "main"
272
  optional = false
273
  python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
274
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
275
  [[package]]
276
  name = "contourpy"
277
  version = "1.0.7"
@@ -325,6 +441,22 @@ typing-inspect = ">=0.4.0"
325
  [package.extras]
326
  dev = ["pytest (>=6.2.3)", "ipython", "mypy (>=0.710)", "hypothesis", "portray", "flake8", "simplejson", "types-dataclasses"]
327
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
328
  [[package]]
329
  name = "deeplake"
330
  version = "3.2.13"
@@ -358,6 +490,14 @@ point_cloud = ["laspy"]
358
  video = ["av (>=8.1.0)"]
359
  visualizer = ["ipython", "flask"]
360
 
 
 
 
 
 
 
 
 
361
  [[package]]
362
  name = "dill"
363
  version = "0.3.6"
@@ -377,6 +517,17 @@ category = "main"
377
  optional = false
378
  python-versions = ">=3.6"
379
 
 
 
 
 
 
 
 
 
 
 
 
380
  [[package]]
381
  name = "fastapi"
382
  version = "0.92.0"
@@ -395,6 +546,17 @@ dev = ["pre-commit (>=2.17.0,<3.0.0)", "ruff (==0.0.138)", "uvicorn[standard] (>
395
  doc = ["mdx-include (>=1.4.1,<2.0.0)", "mkdocs-markdownextradata-plugin (>=0.1.7,<0.3.0)", "mkdocs-material (>=8.1.4,<9.0.0)", "mkdocs (>=1.1.2,<2.0.0)", "pyyaml (>=5.3.1,<7.0.0)", "typer[all] (>=0.6.1,<0.8.0)"]
396
  test = ["anyio[trio] (>=3.2.1,<4.0.0)", "black (==22.10.0)", "coverage[toml] (>=6.5.0,<8.0)", "databases[sqlite] (>=0.3.2,<0.7.0)", "email-validator (>=1.1.1,<2.0.0)", "flask (>=1.1.2,<3.0.0)", "httpx (>=0.23.0,<0.24.0)", "isort (>=5.0.6,<6.0.0)", "mypy (==0.982)", "orjson (>=3.2.1,<4.0.0)", "passlib[bcrypt] (>=1.7.2,<2.0.0)", "peewee (>=3.13.3,<4.0.0)", "pytest (>=7.1.3,<8.0.0)", "python-jose[cryptography] (>=3.3.0,<4.0.0)", "python-multipart (>=0.0.5,<0.0.6)", "pyyaml (>=5.3.1,<7.0.0)", "ruff (==0.0.138)", "sqlalchemy (>=1.3.18,<1.4.43)", "types-orjson (==3.6.2)", "types-ujson (==5.6.0.0)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0,<6.0.0)"]
397
 
 
 
 
 
 
 
 
 
 
 
 
398
  [[package]]
399
  name = "ffmpy"
400
  version = "0.3.0"
@@ -437,6 +599,14 @@ ufo = ["fs (>=2.2.0,<3)"]
437
  unicode = ["unicodedata2 (>=14.0.0)"]
438
  woff = ["zopfli (>=0.1.4)", "brotlicffi (>=0.8.0)", "brotli (>=1.0.1)"]
439
 
 
 
 
 
 
 
 
 
440
  [[package]]
441
  name = "frozenlist"
442
  version = "1.3.3"
@@ -630,6 +800,22 @@ category = "main"
630
  optional = false
631
  python-versions = ">=3.5"
632
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
633
  [[package]]
634
  name = "importlib-resources"
635
  version = "5.12.0"
@@ -645,6 +831,108 @@ zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""}
645
  docs = ["sphinx (>=3.5)", "jaraco.packaging (>=9)", "rst.linker (>=1.9)", "furo", "sphinx-lint", "jaraco.tidelift (>=1.4)"]
646
  testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "flake8 (<5)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)", "pytest-flake8"]
647
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
648
  [[package]]
649
  name = "isort"
650
  version = "5.12.0"
@@ -659,6 +947,22 @@ requirements-deprecated-finder = ["pip-api", "pipreqs"]
659
  pipfile-deprecated-finder = ["pip-shims (>=0.5.2)", "pipreqs", "requirementslib"]
660
  plugins = ["setuptools"]
661
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
662
  [[package]]
663
  name = "jinja2"
664
  version = "3.1.2"
@@ -689,6 +993,14 @@ category = "main"
689
  optional = false
690
  python-versions = ">=3.7"
691
 
 
 
 
 
 
 
 
 
692
  [[package]]
693
  name = "jsonschema"
694
  version = "4.17.3"
@@ -699,12 +1011,179 @@ python-versions = ">=3.7"
699
 
700
  [package.dependencies]
701
  attrs = ">=17.4.0"
 
 
 
 
702
  pyrsistent = ">=0.14.0,<0.17.0 || >0.17.0,<0.17.1 || >0.17.1,<0.17.2 || >0.17.2"
 
 
 
 
703
 
704
  [package.extras]
705
  format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"]
706
  format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=1.11)"]
707
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
708
  [[package]]
709
  name = "kiwisolver"
710
  version = "1.4.4"
@@ -874,6 +1353,17 @@ pyparsing = ">=2.3.1"
874
  python-dateutil = ">=2.7"
875
  setuptools_scm = ">=7"
876
 
 
 
 
 
 
 
 
 
 
 
 
877
  [[package]]
878
  name = "mccabe"
879
  version = "0.7.0"
@@ -906,6 +1396,14 @@ category = "main"
906
  optional = false
907
  python-versions = ">=3.7"
908
 
 
 
 
 
 
 
 
 
909
  [[package]]
910
  name = "msgpack"
911
  version = "1.0.4"
@@ -923,20 +1421,132 @@ optional = false
923
  python-versions = ">=3.7"
924
 
925
  [[package]]
926
- name = "multiprocess"
927
- version = "0.70.14"
928
- description = "better multiprocessing and multithreading in python"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
929
  category = "main"
930
  optional = false
931
  python-versions = ">=3.7"
932
 
933
  [package.dependencies]
934
- dill = ">=0.3.6"
 
 
 
 
 
 
 
935
 
936
  [[package]]
937
- name = "mypy-extensions"
938
- version = "1.0.0"
939
- description = "Type system extensions for programs checked with the mypy type checker."
940
  category = "main"
941
  optional = false
942
  python-versions = ">=3.5"
@@ -963,6 +1573,51 @@ plot = ["matplotlib"]
963
  tgrep = ["pyparsing"]
964
  twitter = ["twython"]
965
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
966
  [[package]]
967
  name = "numcodecs"
968
  version = "0.11.0"
@@ -1044,6 +1699,26 @@ pytz = ">=2020.1"
1044
  [package.extras]
1045
  test = ["hypothesis (>=5.5.3)", "pytest (>=6.0)", "pytest-xdist (>=1.31)"]
1046
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1047
  [[package]]
1048
  name = "pathos"
1049
  version = "0.3.0"
@@ -1066,6 +1741,25 @@ category = "dev"
1066
  optional = false
1067
  python-versions = ">=3.7"
1068
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1069
  [[package]]
1070
  name = "pillow"
1071
  version = "9.4.0"
@@ -1082,7 +1776,7 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa
1082
  name = "platformdirs"
1083
  version = "3.1.0"
1084
  description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
1085
- category = "dev"
1086
  optional = false
1087
  python-versions = ">=3.7"
1088
 
@@ -1109,6 +1803,58 @@ python-versions = ">=3.7"
1109
  [package.extras]
1110
  dill = ["dill (>=0.3.6)"]
1111
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1112
  [[package]]
1113
  name = "pycares"
1114
  version = "4.3.0"
@@ -1170,6 +1916,17 @@ category = "main"
1170
  optional = false
1171
  python-versions = "*"
1172
 
 
 
 
 
 
 
 
 
 
 
 
1173
  [[package]]
1174
  name = "pyjwt"
1175
  version = "2.6.0"
@@ -1256,6 +2013,14 @@ python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
1256
  [package.dependencies]
1257
  six = ">=1.5"
1258
 
 
 
 
 
 
 
 
 
1259
  [[package]]
1260
  name = "python-multipart"
1261
  version = "0.0.6"
@@ -1275,6 +2040,22 @@ category = "main"
1275
  optional = false
1276
  python-versions = "*"
1277
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1278
  [[package]]
1279
  name = "pyyaml"
1280
  version = "6.0"
@@ -1283,6 +2064,53 @@ category = "main"
1283
  optional = false
1284
  python-versions = ">=3.6"
1285
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1286
  [[package]]
1287
  name = "regex"
1288
  version = "2022.10.31"
@@ -1309,6 +2137,17 @@ urllib3 = ">=1.21.1,<1.27"
1309
  socks = ["PySocks (>=1.5.6,!=1.5.7)"]
1310
  use_chardet_on_py3 = ["chardet (>=3.0.2,<6)"]
1311
 
 
 
 
 
 
 
 
 
 
 
 
1312
  [[package]]
1313
  name = "rfc3986"
1314
  version = "1.5.0"
@@ -1323,6 +2162,14 @@ idna = {version = "*", optional = true, markers = "extra == \"idna2008\""}
1323
  [package.extras]
1324
  idna2008 = ["idna"]
1325
 
 
 
 
 
 
 
 
 
1326
  [[package]]
1327
  name = "s3transfer"
1328
  version = "0.6.0"
@@ -1337,6 +2184,19 @@ botocore = ">=1.12.36,<2.0a.0"
1337
  [package.extras]
1338
  crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"]
1339
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1340
  [[package]]
1341
  name = "setuptools-scm"
1342
  version = "7.1.0"
@@ -1370,6 +2230,14 @@ category = "main"
1370
  optional = false
1371
  python-versions = ">=3.7"
1372
 
 
 
 
 
 
 
 
 
1373
  [[package]]
1374
  name = "sqlalchemy"
1375
  version = "1.4.46"
@@ -1402,6 +2270,22 @@ postgresql_psycopg2cffi = ["psycopg2cffi"]
1402
  pymysql = ["pymysql (<1)", "pymysql"]
1403
  sqlcipher = ["sqlcipher3-binary"]
1404
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1405
  [[package]]
1406
  name = "starlette"
1407
  version = "0.25.0"
@@ -1428,6 +2312,23 @@ python-versions = ">=3.6"
1428
  [package.extras]
1429
  doc = ["reno", "sphinx", "tornado (>=4.5)"]
1430
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1431
  [[package]]
1432
  name = "tiktoken"
1433
  version = "0.3.0"
@@ -1441,6 +2342,21 @@ blobfile = ">=2"
1441
  regex = ">=2022.1.18"
1442
  requests = ">=2.26.0"
1443
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1444
  [[package]]
1445
  name = "tokenizers"
1446
  version = "0.13.2"
@@ -1478,6 +2394,14 @@ category = "main"
1478
  optional = false
1479
  python-versions = ">=3.5"
1480
 
 
 
 
 
 
 
 
 
1481
  [[package]]
1482
  name = "tqdm"
1483
  version = "4.64.1"
@@ -1495,6 +2419,18 @@ notebook = ["ipywidgets (>=6)"]
1495
  slack = ["slack-sdk"]
1496
  telegram = ["requests"]
1497
 
 
 
 
 
 
 
 
 
 
 
 
 
1498
  [[package]]
1499
  name = "transformers"
1500
  version = "4.26.1"
@@ -1589,6 +2525,17 @@ python-versions = ">=3.6"
1589
  [package.extras]
1590
  test = ["coverage", "pytest", "pytest-cov"]
1591
 
 
 
 
 
 
 
 
 
 
 
 
1592
  [[package]]
1593
  name = "urllib3"
1594
  version = "1.26.14"
@@ -1617,6 +2564,43 @@ h11 = ">=0.8"
1617
  [package.extras]
1618
  standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.4)"]
1619
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1620
  [[package]]
1621
  name = "websockets"
1622
  version = "10.4"
@@ -1625,6 +2609,14 @@ category = "main"
1625
  optional = false
1626
  python-versions = ">=3.7"
1627
 
 
 
 
 
 
 
 
 
1628
  [[package]]
1629
  name = "wrapt"
1630
  version = "1.15.0"
@@ -1660,7 +2652,7 @@ testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "flake8 (<5)", "pytest-co
1660
  [metadata]
1661
  lock-version = "1.1"
1662
  python-versions = "^3.9"
1663
- content-hash = "4c1bfee324efc2980f0ce084164e9277db1f302a60f77abcac38d81d6a7d7f3f"
1664
 
1665
  [metadata.files]
1666
  aiodns = []
@@ -1671,13 +2663,52 @@ aiosignal = []
1671
  aleph-alpha-client = []
1672
  altair = []
1673
  anyio = []
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1674
  astroid = []
 
1675
  async-timeout = [
1676
  {file = "async-timeout-4.0.2.tar.gz", hash = "sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15"},
1677
  {file = "async_timeout-4.0.2-py3-none-any.whl", hash = "sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"},
1678
  ]
1679
  attrs = []
 
 
 
 
 
1680
  black = []
 
1681
  blobfile = []
1682
  boto3 = []
1683
  botocore = []
@@ -1689,6 +2720,7 @@ click = [
1689
  {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"},
1690
  ]
1691
  colorama = []
 
1692
  contourpy = []
1693
  coverage = []
1694
  cycler = [
@@ -1696,16 +2728,28 @@ cycler = [
1696
  {file = "cycler-0.11.0.tar.gz", hash = "sha256:9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f"},
1697
  ]
1698
  dataclasses-json = []
 
 
 
 
 
1699
  deeplake = []
 
 
 
 
1700
  dill = []
1701
  entrypoints = [
1702
  {file = "entrypoints-0.4-py3-none-any.whl", hash = "sha256:f174b5ff827504fd3cd97cc3f8649f3693f51538c7e4bdf3ef002c8429d42f9f"},
1703
  {file = "entrypoints-0.4.tar.gz", hash = "sha256:b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4"},
1704
  ]
 
1705
  fastapi = []
 
1706
  ffmpy = []
1707
  filelock = []
1708
  fonttools = []
 
1709
  frozenlist = []
1710
  fsspec = []
1711
  gradio = []
@@ -1717,15 +2761,42 @@ hub = []
1717
  huggingface-hub = []
1718
  humbug = []
1719
  idna = []
 
1720
  importlib-resources = []
 
 
 
 
 
 
 
 
1721
  isort = []
 
1722
  jinja2 = [
1723
  {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"},
1724
  {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"},
1725
  ]
1726
  jmespath = []
1727
  joblib = []
 
1728
  jsonschema = []
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1729
  kiwisolver = []
1730
  langchain = []
1731
  lazy-object-proxy = []
@@ -1737,9 +2808,11 @@ markupsafe = []
1737
  marshmallow = []
1738
  marshmallow-enum = []
1739
  matplotlib = []
 
1740
  mccabe = []
1741
  mdit-py-plugins = []
1742
  mdurl = []
 
1743
  msgpack = [
1744
  {file = "msgpack-1.0.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4ab251d229d10498e9a2f3b1e68ef64cb393394ec477e3370c457f9430ce9250"},
1745
  {file = "msgpack-1.0.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:112b0f93202d7c0fef0b7810d465fde23c746a2d482e1e2de2aafd2ce1492c88"},
@@ -1797,19 +2870,53 @@ msgpack = [
1797
  multidict = []
1798
  multiprocess = []
1799
  mypy-extensions = []
 
 
 
 
 
1800
  nltk = []
 
 
1801
  numcodecs = []
1802
  numpy = []
1803
  openai = []
1804
  orjson = []
1805
  packaging = []
1806
  pandas = []
 
 
 
 
 
 
 
 
1807
  pathos = []
1808
  pathspec = []
 
 
 
 
 
 
 
 
1809
  pillow = []
1810
  platformdirs = []
1811
  pox = []
1812
  ppft = []
 
 
 
 
 
 
 
 
 
 
 
1813
  pycares = []
1814
  pycparser = [
1815
  {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"},
@@ -1819,6 +2926,7 @@ pycryptodome = []
1819
  pycryptodomex = []
1820
  pydantic = []
1821
  pydub = []
 
1822
  pyjwt = []
1823
  pylint = []
1824
  pynvim = [
@@ -1833,8 +2941,11 @@ python-dateutil = [
1833
  {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"},
1834
  {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"},
1835
  ]
 
1836
  python-multipart = []
1837
  pytz = []
 
 
1838
  pyyaml = [
1839
  {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"},
1840
  {file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"},
@@ -1870,20 +2981,33 @@ pyyaml = [
1870
  {file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"},
1871
  {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"},
1872
  ]
 
 
 
1873
  regex = []
1874
  requests = []
 
1875
  rfc3986 = []
 
1876
  s3transfer = []
 
 
 
 
1877
  setuptools-scm = []
1878
  six = [
1879
  {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
1880
  {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
1881
  ]
1882
  sniffio = []
 
1883
  sqlalchemy = []
 
1884
  starlette = []
1885
  tenacity = []
 
1886
  tiktoken = []
 
1887
  tokenizers = []
1888
  tomli = [
1889
  {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"},
@@ -1891,14 +3015,25 @@ tomli = [
1891
  ]
1892
  tomlkit = []
1893
  toolz = []
 
1894
  tqdm = []
 
1895
  transformers = []
1896
  typing-extensions = []
1897
  typing-inspect = []
1898
  uc-micro-py = []
 
1899
  urllib3 = []
1900
  uvicorn = []
 
 
 
 
 
 
 
1901
  websockets = []
 
1902
  wrapt = []
1903
  yarl = []
1904
  zipp = []
 
117
  test = ["coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "contextlib2", "uvloop (<0.15)", "mock (>=4)", "uvloop (>=0.15)"]
118
  trio = ["trio (>=0.16,<0.22)"]
119
 
120
+ [[package]]
121
+ name = "appnope"
122
+ version = "0.1.3"
123
+ description = "Disable App Nap on macOS >= 10.9"
124
+ category = "main"
125
+ optional = false
126
+ python-versions = "*"
127
+
128
+ [[package]]
129
+ name = "argon2-cffi"
130
+ version = "21.3.0"
131
+ description = "The secure Argon2 password hashing algorithm."
132
+ category = "main"
133
+ optional = false
134
+ python-versions = ">=3.6"
135
+
136
+ [package.dependencies]
137
+ argon2-cffi-bindings = "*"
138
+
139
+ [package.extras]
140
+ dev = ["pre-commit", "cogapp", "tomli", "coverage[toml] (>=5.0.2)", "hypothesis", "pytest", "sphinx", "sphinx-notfound-page", "furo"]
141
+ docs = ["sphinx", "sphinx-notfound-page", "furo"]
142
+ tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pytest"]
143
+
144
+ [[package]]
145
+ name = "argon2-cffi-bindings"
146
+ version = "21.2.0"
147
+ description = "Low-level CFFI bindings for Argon2"
148
+ category = "main"
149
+ optional = false
150
+ python-versions = ">=3.6"
151
+
152
+ [package.dependencies]
153
+ cffi = ">=1.0.1"
154
+
155
+ [package.extras]
156
+ dev = ["pytest", "cogapp", "pre-commit", "wheel"]
157
+ tests = ["pytest"]
158
+
159
+ [[package]]
160
+ name = "arrow"
161
+ version = "1.2.3"
162
+ description = "Better dates & times for Python"
163
+ category = "main"
164
+ optional = false
165
+ python-versions = ">=3.6"
166
+
167
+ [package.dependencies]
168
+ python-dateutil = ">=2.7.0"
169
+
170
  [[package]]
171
  name = "astroid"
172
  version = "2.14.2"
 
183
  {version = ">=1.14,<2", markers = "python_version >= \"3.11\""},
184
  ]
185
 
186
+ [[package]]
187
+ name = "asttokens"
188
+ version = "2.2.1"
189
+ description = "Annotate AST trees with source code positions"
190
+ category = "main"
191
+ optional = false
192
+ python-versions = "*"
193
+
194
+ [package.dependencies]
195
+ six = "*"
196
+
197
+ [package.extras]
198
+ test = ["astroid", "pytest"]
199
+
200
  [[package]]
201
  name = "async-timeout"
202
  version = "4.0.2"
 
221
  tests-no-zope = ["hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist", "cloudpickle", "mypy (>=0.971,<0.990)", "pytest-mypy-plugins"]
222
  tests_no_zope = ["hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist", "cloudpickle", "mypy (>=0.971,<0.990)", "pytest-mypy-plugins"]
223
 
224
+ [[package]]
225
+ name = "backcall"
226
+ version = "0.2.0"
227
+ description = "Specifications for callback functions passed in to an API"
228
+ category = "main"
229
+ optional = false
230
+ python-versions = "*"
231
+
232
+ [[package]]
233
+ name = "beautifulsoup4"
234
+ version = "4.11.2"
235
+ description = "Screen-scraping library"
236
+ category = "main"
237
+ optional = false
238
+ python-versions = ">=3.6.0"
239
+
240
+ [package.dependencies]
241
+ soupsieve = ">1.2"
242
+
243
+ [package.extras]
244
+ html5lib = ["html5lib"]
245
+ lxml = ["lxml"]
246
+
247
  [[package]]
248
  name = "black"
249
  version = "23.1.0"
 
267
  jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"]
268
  uvloop = ["uvloop (>=0.15.2)"]
269
 
270
+ [[package]]
271
+ name = "bleach"
272
+ version = "6.0.0"
273
+ description = "An easy safelist-based HTML-sanitizing tool."
274
+ category = "main"
275
+ optional = false
276
+ python-versions = ">=3.7"
277
+
278
+ [package.dependencies]
279
+ six = ">=1.9.0"
280
+ webencodings = "*"
281
+
282
+ [package.extras]
283
+ css = ["tinycss2 (>=1.1.0,<1.2)"]
284
+
285
  [[package]]
286
  name = "blobfile"
287
  version = "2.0.1"
 
374
  optional = false
375
  python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
376
 
377
+ [[package]]
378
+ name = "comm"
379
+ version = "0.1.2"
380
+ description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc."
381
+ category = "main"
382
+ optional = false
383
+ python-versions = ">=3.6"
384
+
385
+ [package.dependencies]
386
+ traitlets = ">=5.3"
387
+
388
+ [package.extras]
389
+ test = ["pytest"]
390
+
391
  [[package]]
392
  name = "contourpy"
393
  version = "1.0.7"
 
441
  [package.extras]
442
  dev = ["pytest (>=6.2.3)", "ipython", "mypy (>=0.710)", "hypothesis", "portray", "flake8", "simplejson", "types-dataclasses"]
443
 
444
+ [[package]]
445
+ name = "debugpy"
446
+ version = "1.6.6"
447
+ description = "An implementation of the Debug Adapter Protocol for Python"
448
+ category = "main"
449
+ optional = false
450
+ python-versions = ">=3.7"
451
+
452
+ [[package]]
453
+ name = "decorator"
454
+ version = "5.1.1"
455
+ description = "Decorators for Humans"
456
+ category = "main"
457
+ optional = false
458
+ python-versions = ">=3.5"
459
+
460
  [[package]]
461
  name = "deeplake"
462
  version = "3.2.13"
 
490
  video = ["av (>=8.1.0)"]
491
  visualizer = ["ipython", "flask"]
492
 
493
+ [[package]]
494
+ name = "defusedxml"
495
+ version = "0.7.1"
496
+ description = "XML bomb protection for Python stdlib modules"
497
+ category = "main"
498
+ optional = false
499
+ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
500
+
501
  [[package]]
502
  name = "dill"
503
  version = "0.3.6"
 
517
  optional = false
518
  python-versions = ">=3.6"
519
 
520
+ [[package]]
521
+ name = "executing"
522
+ version = "1.2.0"
523
+ description = "Get the currently executing AST node of a frame, and other information"
524
+ category = "main"
525
+ optional = false
526
+ python-versions = "*"
527
+
528
+ [package.extras]
529
+ tests = ["asttokens", "pytest", "littleutils", "rich"]
530
+
531
  [[package]]
532
  name = "fastapi"
533
  version = "0.92.0"
 
546
  doc = ["mdx-include (>=1.4.1,<2.0.0)", "mkdocs-markdownextradata-plugin (>=0.1.7,<0.3.0)", "mkdocs-material (>=8.1.4,<9.0.0)", "mkdocs (>=1.1.2,<2.0.0)", "pyyaml (>=5.3.1,<7.0.0)", "typer[all] (>=0.6.1,<0.8.0)"]
547
  test = ["anyio[trio] (>=3.2.1,<4.0.0)", "black (==22.10.0)", "coverage[toml] (>=6.5.0,<8.0)", "databases[sqlite] (>=0.3.2,<0.7.0)", "email-validator (>=1.1.1,<2.0.0)", "flask (>=1.1.2,<3.0.0)", "httpx (>=0.23.0,<0.24.0)", "isort (>=5.0.6,<6.0.0)", "mypy (==0.982)", "orjson (>=3.2.1,<4.0.0)", "passlib[bcrypt] (>=1.7.2,<2.0.0)", "peewee (>=3.13.3,<4.0.0)", "pytest (>=7.1.3,<8.0.0)", "python-jose[cryptography] (>=3.3.0,<4.0.0)", "python-multipart (>=0.0.5,<0.0.6)", "pyyaml (>=5.3.1,<7.0.0)", "ruff (==0.0.138)", "sqlalchemy (>=1.3.18,<1.4.43)", "types-orjson (==3.6.2)", "types-ujson (==5.6.0.0)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0,<6.0.0)"]
548
 
549
+ [[package]]
550
+ name = "fastjsonschema"
551
+ version = "2.16.3"
552
+ description = "Fastest Python implementation of JSON schema"
553
+ category = "main"
554
+ optional = false
555
+ python-versions = "*"
556
+
557
+ [package.extras]
558
+ devel = ["colorama", "jsonschema", "json-spec", "pylint", "pytest", "pytest-benchmark", "pytest-cache", "validictory"]
559
+
560
  [[package]]
561
  name = "ffmpy"
562
  version = "0.3.0"
 
599
  unicode = ["unicodedata2 (>=14.0.0)"]
600
  woff = ["zopfli (>=0.1.4)", "brotlicffi (>=0.8.0)", "brotli (>=1.0.1)"]
601
 
602
+ [[package]]
603
+ name = "fqdn"
604
+ version = "1.5.1"
605
+ description = "Validates fully-qualified domain names against RFC 1123, so that they are acceptable to modern bowsers"
606
+ category = "main"
607
+ optional = false
608
+ python-versions = ">=2.7, !=3.0, !=3.1, !=3.2, !=3.3, !=3.4, <4"
609
+
610
  [[package]]
611
  name = "frozenlist"
612
  version = "1.3.3"
 
800
  optional = false
801
  python-versions = ">=3.5"
802
 
803
+ [[package]]
804
+ name = "importlib-metadata"
805
+ version = "6.0.0"
806
+ description = "Read metadata from Python packages"
807
+ category = "main"
808
+ optional = false
809
+ python-versions = ">=3.7"
810
+
811
+ [package.dependencies]
812
+ zipp = ">=0.5"
813
+
814
+ [package.extras]
815
+ docs = ["sphinx (>=3.5)", "jaraco.packaging (>=9)", "rst.linker (>=1.9)", "furo", "sphinx-lint", "jaraco.tidelift (>=1.4)"]
816
+ perf = ["ipython"]
817
+ testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "flake8 (<5)", "pytest-cov", "pytest-enabler (>=1.3)", "packaging", "pyfakefs", "flufl.flake8", "pytest-perf (>=0.9.2)", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)", "pytest-flake8", "importlib-resources (>=1.3)"]
818
+
819
  [[package]]
820
  name = "importlib-resources"
821
  version = "5.12.0"
 
831
  docs = ["sphinx (>=3.5)", "jaraco.packaging (>=9)", "rst.linker (>=1.9)", "furo", "sphinx-lint", "jaraco.tidelift (>=1.4)"]
832
  testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "flake8 (<5)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)", "pytest-flake8"]
833
 
834
+ [[package]]
835
+ name = "ipykernel"
836
+ version = "6.21.2"
837
+ description = "IPython Kernel for Jupyter"
838
+ category = "main"
839
+ optional = false
840
+ python-versions = ">=3.8"
841
+
842
+ [package.dependencies]
843
+ appnope = {version = "*", markers = "platform_system == \"Darwin\""}
844
+ comm = ">=0.1.1"
845
+ debugpy = ">=1.6.5"
846
+ ipython = ">=7.23.1"
847
+ jupyter-client = ">=6.1.12"
848
+ jupyter-core = ">=4.12,<5.0.0 || >=5.1.0"
849
+ matplotlib-inline = ">=0.1"
850
+ nest-asyncio = "*"
851
+ packaging = "*"
852
+ psutil = "*"
853
+ pyzmq = ">=20"
854
+ tornado = ">=6.1"
855
+ traitlets = ">=5.4.0"
856
+
857
+ [package.extras]
858
+ cov = ["coverage", "curio", "matplotlib", "pytest-cov", "trio"]
859
+ docs = ["myst-parser", "pydata-sphinx-theme", "sphinx", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "trio"]
860
+ pyqt5 = ["pyqt5"]
861
+ pyside6 = ["pyside6"]
862
+ test = ["flaky", "ipyparallel", "pre-commit", "pytest-asyncio", "pytest-cov", "pytest-timeout", "pytest (>=7.0)"]
863
+
864
+ [[package]]
865
+ name = "ipython"
866
+ version = "8.11.0"
867
+ description = "IPython: Productive Interactive Computing"
868
+ category = "main"
869
+ optional = false
870
+ python-versions = ">=3.8"
871
+
872
+ [package.dependencies]
873
+ appnope = {version = "*", markers = "sys_platform == \"darwin\""}
874
+ backcall = "*"
875
+ colorama = {version = "*", markers = "sys_platform == \"win32\""}
876
+ decorator = "*"
877
+ jedi = ">=0.16"
878
+ matplotlib-inline = "*"
879
+ pexpect = {version = ">4.3", markers = "sys_platform != \"win32\""}
880
+ pickleshare = "*"
881
+ prompt-toolkit = ">=3.0.30,<3.0.37 || >3.0.37,<3.1.0"
882
+ pygments = ">=2.4.0"
883
+ stack-data = "*"
884
+ traitlets = ">=5"
885
+
886
+ [package.extras]
887
+ all = ["black", "ipykernel", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "docrepr", "matplotlib", "stack-data", "pytest (<7)", "typing-extensions", "pytest (<7.1)", "pytest-asyncio", "testpath", "nbconvert", "nbformat", "ipywidgets", "notebook", "ipyparallel", "qtconsole", "curio", "matplotlib (!=3.2.0)", "numpy (>=1.21)", "pandas", "trio"]
888
+ black = ["black"]
889
+ doc = ["ipykernel", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "docrepr", "matplotlib", "stack-data", "pytest (<7)", "typing-extensions", "pytest (<7.1)", "pytest-asyncio", "testpath"]
890
+ kernel = ["ipykernel"]
891
+ nbconvert = ["nbconvert"]
892
+ nbformat = ["nbformat"]
893
+ notebook = ["ipywidgets", "notebook"]
894
+ parallel = ["ipyparallel"]
895
+ qtconsole = ["qtconsole"]
896
+ test = ["pytest (<7.1)", "pytest-asyncio", "testpath"]
897
+ test_extra = ["pytest (<7.1)", "pytest-asyncio", "testpath", "curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.21)", "pandas", "trio"]
898
+
899
+ [[package]]
900
+ name = "ipython-genutils"
901
+ version = "0.2.0"
902
+ description = "Vestigial utilities from IPython"
903
+ category = "main"
904
+ optional = false
905
+ python-versions = "*"
906
+
907
+ [[package]]
908
+ name = "ipywidgets"
909
+ version = "8.0.4"
910
+ description = "Jupyter interactive widgets"
911
+ category = "main"
912
+ optional = false
913
+ python-versions = ">=3.7"
914
+
915
+ [package.dependencies]
916
+ ipykernel = ">=4.5.1"
917
+ ipython = ">=6.1.0"
918
+ jupyterlab-widgets = ">=3.0,<4.0"
919
+ traitlets = ">=4.3.1"
920
+ widgetsnbextension = ">=4.0,<5.0"
921
+
922
+ [package.extras]
923
+ test = ["jsonschema", "pytest (>=3.6.0)", "pytest-cov", "pytz"]
924
+
925
+ [[package]]
926
+ name = "isoduration"
927
+ version = "20.11.0"
928
+ description = "Operations with ISO 8601 durations"
929
+ category = "main"
930
+ optional = false
931
+ python-versions = ">=3.7"
932
+
933
+ [package.dependencies]
934
+ arrow = ">=0.15.0"
935
+
936
  [[package]]
937
  name = "isort"
938
  version = "5.12.0"
 
947
  pipfile-deprecated-finder = ["pip-shims (>=0.5.2)", "pipreqs", "requirementslib"]
948
  plugins = ["setuptools"]
949
 
950
+ [[package]]
951
+ name = "jedi"
952
+ version = "0.18.2"
953
+ description = "An autocompletion tool for Python that can be used for text editors."
954
+ category = "main"
955
+ optional = false
956
+ python-versions = ">=3.6"
957
+
958
+ [package.dependencies]
959
+ parso = ">=0.8.0,<0.9.0"
960
+
961
+ [package.extras]
962
+ docs = ["Jinja2 (==2.11.3)", "MarkupSafe (==1.1.1)", "Pygments (==2.8.1)", "alabaster (==0.7.12)", "babel (==2.9.1)", "chardet (==4.0.0)", "commonmark (==0.8.1)", "docutils (==0.17.1)", "future (==0.18.2)", "idna (==2.10)", "imagesize (==1.2.0)", "mock (==1.0.1)", "packaging (==20.9)", "pyparsing (==2.4.7)", "pytz (==2021.1)", "readthedocs-sphinx-ext (==2.1.4)", "recommonmark (==0.5.0)", "requests (==2.25.1)", "six (==1.15.0)", "snowballstemmer (==2.1.0)", "sphinx-rtd-theme (==0.4.3)", "sphinx (==1.8.5)", "sphinxcontrib-serializinghtml (==1.1.4)", "sphinxcontrib-websupport (==1.2.4)", "urllib3 (==1.26.4)"]
963
+ qa = ["flake8 (==3.8.3)", "mypy (==0.782)"]
964
+ testing = ["Django (<3.1)", "attrs", "colorama", "docopt", "pytest (<7.0.0)"]
965
+
966
  [[package]]
967
  name = "jinja2"
968
  version = "3.1.2"
 
993
  optional = false
994
  python-versions = ">=3.7"
995
 
996
+ [[package]]
997
+ name = "jsonpointer"
998
+ version = "2.3"
999
+ description = "Identify specific nodes in a JSON document (RFC 6901)"
1000
+ category = "main"
1001
+ optional = false
1002
+ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
1003
+
1004
  [[package]]
1005
  name = "jsonschema"
1006
  version = "4.17.3"
 
1011
 
1012
  [package.dependencies]
1013
  attrs = ">=17.4.0"
1014
+ fqdn = {version = "*", optional = true, markers = "extra == \"format-nongpl\""}
1015
+ idna = {version = "*", optional = true, markers = "extra == \"format-nongpl\""}
1016
+ isoduration = {version = "*", optional = true, markers = "extra == \"format-nongpl\""}
1017
+ jsonpointer = {version = ">1.13", optional = true, markers = "extra == \"format-nongpl\""}
1018
  pyrsistent = ">=0.14.0,<0.17.0 || >0.17.0,<0.17.1 || >0.17.1,<0.17.2 || >0.17.2"
1019
+ rfc3339-validator = {version = "*", optional = true, markers = "extra == \"format-nongpl\""}
1020
+ rfc3986-validator = {version = ">0.1.0", optional = true, markers = "extra == \"format-nongpl\""}
1021
+ uri-template = {version = "*", optional = true, markers = "extra == \"format-nongpl\""}
1022
+ webcolors = {version = ">=1.11", optional = true, markers = "extra == \"format-nongpl\""}
1023
 
1024
  [package.extras]
1025
  format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"]
1026
  format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=1.11)"]
1027
 
1028
+ [[package]]
1029
+ name = "jupyter"
1030
+ version = "1.0.0"
1031
+ description = "Jupyter metapackage. Install all the Jupyter components in one go."
1032
+ category = "main"
1033
+ optional = false
1034
+ python-versions = "*"
1035
+
1036
+ [package.dependencies]
1037
+ ipykernel = "*"
1038
+ ipywidgets = "*"
1039
+ jupyter-console = "*"
1040
+ nbconvert = "*"
1041
+ notebook = "*"
1042
+ qtconsole = "*"
1043
+
1044
+ [[package]]
1045
+ name = "jupyter-client"
1046
+ version = "8.0.3"
1047
+ description = "Jupyter protocol implementation and client libraries"
1048
+ category = "main"
1049
+ optional = false
1050
+ python-versions = ">=3.8"
1051
+
1052
+ [package.dependencies]
1053
+ importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""}
1054
+ jupyter-core = ">=4.12,<5.0.0 || >=5.1.0"
1055
+ python-dateutil = ">=2.8.2"
1056
+ pyzmq = ">=23.0"
1057
+ tornado = ">=6.2"
1058
+ traitlets = ">=5.3"
1059
+
1060
+ [package.extras]
1061
+ docs = ["ipykernel", "myst-parser", "pydata-sphinx-theme", "sphinx-autodoc-typehints", "sphinx (>=4)", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"]
1062
+ test = ["codecov", "coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pytest", "pytest-cov", "pytest-jupyter[client] (>=0.4.1)", "pytest-timeout"]
1063
+
1064
+ [[package]]
1065
+ name = "jupyter-console"
1066
+ version = "6.6.2"
1067
+ description = "Jupyter terminal console"
1068
+ category = "main"
1069
+ optional = false
1070
+ python-versions = ">=3.7"
1071
+
1072
+ [package.dependencies]
1073
+ ipykernel = ">=6.14"
1074
+ ipython = "*"
1075
+ jupyter-client = ">=7.0.0"
1076
+ jupyter-core = ">=4.12,<5.0.0 || >=5.1.0"
1077
+ prompt-toolkit = ">=3.0.30"
1078
+ pygments = "*"
1079
+ pyzmq = ">=17"
1080
+ traitlets = ">=5.4"
1081
+
1082
+ [package.extras]
1083
+ test = ["flaky", "pexpect", "pytest"]
1084
+
1085
+ [[package]]
1086
+ name = "jupyter-core"
1087
+ version = "5.2.0"
1088
+ description = "Jupyter core package. A base package on which Jupyter projects rely."
1089
+ category = "main"
1090
+ optional = false
1091
+ python-versions = ">=3.8"
1092
+
1093
+ [package.dependencies]
1094
+ platformdirs = ">=2.5"
1095
+ pywin32 = {version = ">=1.0", markers = "sys_platform == \"win32\" and platform_python_implementation != \"PyPy\""}
1096
+ traitlets = ">=5.3"
1097
+
1098
+ [package.extras]
1099
+ docs = ["myst-parser", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "traitlets"]
1100
+ test = ["ipykernel", "pre-commit", "pytest", "pytest-cov", "pytest-timeout"]
1101
+
1102
+ [[package]]
1103
+ name = "jupyter-events"
1104
+ version = "0.6.3"
1105
+ description = "Jupyter Event System library"
1106
+ category = "main"
1107
+ optional = false
1108
+ python-versions = ">=3.7"
1109
+
1110
+ [package.dependencies]
1111
+ jsonschema = {version = ">=3.2.0", extras = ["format-nongpl"]}
1112
+ python-json-logger = ">=2.0.4"
1113
+ pyyaml = ">=5.3"
1114
+ rfc3339-validator = "*"
1115
+ rfc3986-validator = ">=0.1.1"
1116
+ traitlets = ">=5.3"
1117
+
1118
+ [package.extras]
1119
+ cli = ["click", "rich"]
1120
+ docs = ["jupyterlite-sphinx", "myst-parser", "pydata-sphinx-theme", "sphinxcontrib-spelling"]
1121
+ test = ["click", "coverage", "pre-commit", "pytest-asyncio (>=0.19.0)", "pytest-console-scripts", "pytest-cov", "pytest (>=7.0)", "rich"]
1122
+
1123
+ [[package]]
1124
+ name = "jupyter-server"
1125
+ version = "2.3.0"
1126
+ description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications."
1127
+ category = "main"
1128
+ optional = false
1129
+ python-versions = ">=3.8"
1130
+
1131
+ [package.dependencies]
1132
+ anyio = ">=3.1.0"
1133
+ argon2-cffi = "*"
1134
+ jinja2 = "*"
1135
+ jupyter-client = ">=7.4.4"
1136
+ jupyter-core = ">=4.12,<5.0.0 || >=5.1.0"
1137
+ jupyter-events = ">=0.4.0"
1138
+ jupyter-server-terminals = "*"
1139
+ nbconvert = ">=6.4.4"
1140
+ nbformat = ">=5.3.0"
1141
+ packaging = "*"
1142
+ prometheus-client = "*"
1143
+ pywinpty = {version = "*", markers = "os_name == \"nt\""}
1144
+ pyzmq = ">=24"
1145
+ send2trash = "*"
1146
+ terminado = ">=0.8.3"
1147
+ tornado = ">=6.2.0"
1148
+ traitlets = ">=5.6.0"
1149
+ websocket-client = "*"
1150
+
1151
+ [package.extras]
1152
+ docs = ["docutils (<0.20)", "ipykernel", "jinja2", "jupyter-client", "jupyter-server", "mistune (<1.0.0)", "myst-parser", "nbformat", "prometheus-client", "pydata-sphinx-theme", "send2trash", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-openapi", "sphinxcontrib-spelling", "sphinxemoji", "tornado"]
1153
+ test = ["ipykernel", "pre-commit", "pytest-console-scripts", "pytest-jupyter[server] (>=0.4)", "pytest-timeout", "pytest (>=7.0)", "requests"]
1154
+
1155
+ [[package]]
1156
+ name = "jupyter-server-terminals"
1157
+ version = "0.4.4"
1158
+ description = "A Jupyter Server Extension Providing Terminals."
1159
+ category = "main"
1160
+ optional = false
1161
+ python-versions = ">=3.8"
1162
+
1163
+ [package.dependencies]
1164
+ pywinpty = {version = ">=2.0.3", markers = "os_name == \"nt\""}
1165
+ terminado = ">=0.8.3"
1166
+
1167
+ [package.extras]
1168
+ docs = ["jinja2", "jupyter-server", "mistune (<3.0)", "myst-parser", "nbformat", "packaging", "pydata-sphinx-theme", "sphinxcontrib-github-alt", "sphinxcontrib-openapi", "sphinxcontrib-spelling", "sphinxemoji", "tornado"]
1169
+ test = ["coverage", "jupyter-server (>=2.0.0)", "pytest-cov", "pytest-jupyter[server] (>=0.5.3)", "pytest-timeout", "pytest (>=7.0)"]
1170
+
1171
+ [[package]]
1172
+ name = "jupyterlab-pygments"
1173
+ version = "0.2.2"
1174
+ description = "Pygments theme using JupyterLab CSS variables"
1175
+ category = "main"
1176
+ optional = false
1177
+ python-versions = ">=3.7"
1178
+
1179
+ [[package]]
1180
+ name = "jupyterlab-widgets"
1181
+ version = "3.0.5"
1182
+ description = "Jupyter interactive widgets for JupyterLab"
1183
+ category = "main"
1184
+ optional = false
1185
+ python-versions = ">=3.7"
1186
+
1187
  [[package]]
1188
  name = "kiwisolver"
1189
  version = "1.4.4"
 
1353
  python-dateutil = ">=2.7"
1354
  setuptools_scm = ">=7"
1355
 
1356
+ [[package]]
1357
+ name = "matplotlib-inline"
1358
+ version = "0.1.6"
1359
+ description = "Inline Matplotlib backend for Jupyter"
1360
+ category = "main"
1361
+ optional = false
1362
+ python-versions = ">=3.5"
1363
+
1364
+ [package.dependencies]
1365
+ traitlets = "*"
1366
+
1367
  [[package]]
1368
  name = "mccabe"
1369
  version = "0.7.0"
 
1396
  optional = false
1397
  python-versions = ">=3.7"
1398
 
1399
+ [[package]]
1400
+ name = "mistune"
1401
+ version = "2.0.5"
1402
+ description = "A sane Markdown parser with useful plugins and renderers"
1403
+ category = "main"
1404
+ optional = false
1405
+ python-versions = "*"
1406
+
1407
  [[package]]
1408
  name = "msgpack"
1409
  version = "1.0.4"
 
1421
  python-versions = ">=3.7"
1422
 
1423
  [[package]]
1424
+ name = "multiprocess"
1425
+ version = "0.70.14"
1426
+ description = "better multiprocessing and multithreading in python"
1427
+ category = "main"
1428
+ optional = false
1429
+ python-versions = ">=3.7"
1430
+
1431
+ [package.dependencies]
1432
+ dill = ">=0.3.6"
1433
+
1434
+ [[package]]
1435
+ name = "mypy-extensions"
1436
+ version = "1.0.0"
1437
+ description = "Type system extensions for programs checked with the mypy type checker."
1438
+ category = "main"
1439
+ optional = false
1440
+ python-versions = ">=3.5"
1441
+
1442
+ [[package]]
1443
+ name = "nbclassic"
1444
+ version = "0.5.2"
1445
+ description = "Jupyter Notebook as a Jupyter Server extension."
1446
+ category = "main"
1447
+ optional = false
1448
+ python-versions = ">=3.7"
1449
+
1450
+ [package.dependencies]
1451
+ argon2-cffi = "*"
1452
+ ipykernel = "*"
1453
+ ipython-genutils = "*"
1454
+ jinja2 = "*"
1455
+ jupyter-client = ">=6.1.1"
1456
+ jupyter-core = ">=4.6.1"
1457
+ jupyter-server = ">=1.8"
1458
+ nbconvert = ">=5"
1459
+ nbformat = "*"
1460
+ nest-asyncio = ">=1.5"
1461
+ notebook-shim = ">=0.1.0"
1462
+ prometheus-client = "*"
1463
+ pyzmq = ">=17"
1464
+ Send2Trash = ">=1.8.0"
1465
+ terminado = ">=0.8.3"
1466
+ tornado = ">=6.1"
1467
+ traitlets = ">=4.2.1"
1468
+
1469
+ [package.extras]
1470
+ docs = ["sphinx", "nbsphinx", "sphinxcontrib-github-alt", "sphinx-rtd-theme", "myst-parser"]
1471
+ json-logging = ["json-logging"]
1472
+ test = ["pytest", "coverage", "requests", "testpath", "nbval", "pytest-playwright", "pytest-cov", "pytest-jupyter", "pytest-tornasync", "requests-unixsocket"]
1473
+
1474
+ [[package]]
1475
+ name = "nbclient"
1476
+ version = "0.7.2"
1477
+ description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor."
1478
+ category = "main"
1479
+ optional = false
1480
+ python-versions = ">=3.7.0"
1481
+
1482
+ [package.dependencies]
1483
+ jupyter-client = ">=6.1.12"
1484
+ jupyter-core = ">=4.12,<5.0.0 || >=5.1.0"
1485
+ nbformat = ">=5.1"
1486
+ traitlets = ">=5.3"
1487
+
1488
+ [package.extras]
1489
+ dev = ["pre-commit"]
1490
+ docs = ["autodoc-traits", "mock", "moto", "myst-parser", "nbclient", "sphinx-book-theme", "sphinx (>=1.7)"]
1491
+ test = ["ipykernel", "ipython", "ipywidgets", "nbconvert (>=7.0.0)", "pytest-asyncio", "pytest-cov (>=4.0)", "pytest (>=7.0)", "testpath", "xmltodict"]
1492
+
1493
+ [[package]]
1494
+ name = "nbconvert"
1495
+ version = "7.2.9"
1496
+ description = "Converting Jupyter Notebooks"
1497
+ category = "main"
1498
+ optional = false
1499
+ python-versions = ">=3.7"
1500
+
1501
+ [package.dependencies]
1502
+ beautifulsoup4 = "*"
1503
+ bleach = "*"
1504
+ defusedxml = "*"
1505
+ importlib-metadata = {version = ">=3.6", markers = "python_version < \"3.10\""}
1506
+ jinja2 = ">=3.0"
1507
+ jupyter-core = ">=4.7"
1508
+ jupyterlab-pygments = "*"
1509
+ markupsafe = ">=2.0"
1510
+ mistune = ">=2.0.3,<3"
1511
+ nbclient = ">=0.5.0"
1512
+ nbformat = ">=5.1"
1513
+ packaging = "*"
1514
+ pandocfilters = ">=1.4.1"
1515
+ pygments = ">=2.4.1"
1516
+ tinycss2 = "*"
1517
+ traitlets = ">=5.0"
1518
+
1519
+ [package.extras]
1520
+ all = ["nbconvert"]
1521
+ docs = ["ipykernel", "ipython", "myst-parser", "nbsphinx (>=0.2.12)", "pydata-sphinx-theme", "sphinx (==5.0.2)", "sphinxcontrib-spelling"]
1522
+ qtpdf = ["nbconvert"]
1523
+ qtpng = ["pyqtwebengine (>=5.15)"]
1524
+ serve = ["tornado (>=6.1)"]
1525
+ test = ["ipykernel", "ipywidgets (>=7)", "pre-commit", "pytest", "pytest-dependency"]
1526
+ webpdf = ["pyppeteer (>=1,<1.1)"]
1527
+
1528
+ [[package]]
1529
+ name = "nbformat"
1530
+ version = "5.7.3"
1531
+ description = "The Jupyter Notebook format"
1532
  category = "main"
1533
  optional = false
1534
  python-versions = ">=3.7"
1535
 
1536
  [package.dependencies]
1537
+ fastjsonschema = "*"
1538
+ jsonschema = ">=2.6"
1539
+ jupyter-core = "*"
1540
+ traitlets = ">=5.1"
1541
+
1542
+ [package.extras]
1543
+ docs = ["myst-parser", "pydata-sphinx-theme", "sphinx", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"]
1544
+ test = ["pep440", "pre-commit", "pytest", "testpath"]
1545
 
1546
  [[package]]
1547
+ name = "nest-asyncio"
1548
+ version = "1.5.6"
1549
+ description = "Patch asyncio to allow nested event loops"
1550
  category = "main"
1551
  optional = false
1552
  python-versions = ">=3.5"
 
1573
  tgrep = ["pyparsing"]
1574
  twitter = ["twython"]
1575
 
1576
+ [[package]]
1577
+ name = "notebook"
1578
+ version = "6.5.2"
1579
+ description = "A web-based notebook environment for interactive computing"
1580
+ category = "main"
1581
+ optional = false
1582
+ python-versions = ">=3.7"
1583
+
1584
+ [package.dependencies]
1585
+ argon2-cffi = "*"
1586
+ ipykernel = "*"
1587
+ ipython-genutils = "*"
1588
+ jinja2 = "*"
1589
+ jupyter-client = ">=5.3.4"
1590
+ jupyter-core = ">=4.6.1"
1591
+ nbclassic = ">=0.4.7"
1592
+ nbconvert = ">=5"
1593
+ nbformat = "*"
1594
+ nest-asyncio = ">=1.5"
1595
+ prometheus-client = "*"
1596
+ pyzmq = ">=17"
1597
+ Send2Trash = ">=1.8.0"
1598
+ terminado = ">=0.8.3"
1599
+ tornado = ">=6.1"
1600
+ traitlets = ">=4.2.1"
1601
+
1602
+ [package.extras]
1603
+ docs = ["sphinx", "nbsphinx", "sphinxcontrib-github-alt", "sphinx-rtd-theme", "myst-parser"]
1604
+ json-logging = ["json-logging"]
1605
+ test = ["pytest", "coverage", "requests", "testpath", "nbval", "selenium (==4.1.5)", "pytest-cov", "requests-unixsocket"]
1606
+
1607
+ [[package]]
1608
+ name = "notebook-shim"
1609
+ version = "0.2.2"
1610
+ description = "A shim layer for notebook traits and config"
1611
+ category = "main"
1612
+ optional = false
1613
+ python-versions = ">=3.7"
1614
+
1615
+ [package.dependencies]
1616
+ jupyter-server = ">=1.8,<3"
1617
+
1618
+ [package.extras]
1619
+ test = ["pytest", "pytest-console-scripts", "pytest-tornasync"]
1620
+
1621
  [[package]]
1622
  name = "numcodecs"
1623
  version = "0.11.0"
 
1699
  [package.extras]
1700
  test = ["hypothesis (>=5.5.3)", "pytest (>=6.0)", "pytest-xdist (>=1.31)"]
1701
 
1702
+ [[package]]
1703
+ name = "pandocfilters"
1704
+ version = "1.5.0"
1705
+ description = "Utilities for writing pandoc filters in python"
1706
+ category = "main"
1707
+ optional = false
1708
+ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
1709
+
1710
+ [[package]]
1711
+ name = "parso"
1712
+ version = "0.8.3"
1713
+ description = "A Python Parser"
1714
+ category = "main"
1715
+ optional = false
1716
+ python-versions = ">=3.6"
1717
+
1718
+ [package.extras]
1719
+ qa = ["flake8 (==3.8.3)", "mypy (==0.782)"]
1720
+ testing = ["docopt", "pytest (<6.0.0)"]
1721
+
1722
  [[package]]
1723
  name = "pathos"
1724
  version = "0.3.0"
 
1741
  optional = false
1742
  python-versions = ">=3.7"
1743
 
1744
+ [[package]]
1745
+ name = "pexpect"
1746
+ version = "4.8.0"
1747
+ description = "Pexpect allows easy control of interactive console applications."
1748
+ category = "main"
1749
+ optional = false
1750
+ python-versions = "*"
1751
+
1752
+ [package.dependencies]
1753
+ ptyprocess = ">=0.5"
1754
+
1755
+ [[package]]
1756
+ name = "pickleshare"
1757
+ version = "0.7.5"
1758
+ description = "Tiny 'shelve'-like database with concurrency support"
1759
+ category = "main"
1760
+ optional = false
1761
+ python-versions = "*"
1762
+
1763
  [[package]]
1764
  name = "pillow"
1765
  version = "9.4.0"
 
1776
  name = "platformdirs"
1777
  version = "3.1.0"
1778
  description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
1779
+ category = "main"
1780
  optional = false
1781
  python-versions = ">=3.7"
1782
 
 
1803
  [package.extras]
1804
  dill = ["dill (>=0.3.6)"]
1805
 
1806
+ [[package]]
1807
+ name = "prometheus-client"
1808
+ version = "0.16.0"
1809
+ description = "Python client for the Prometheus monitoring system."
1810
+ category = "main"
1811
+ optional = false
1812
+ python-versions = ">=3.6"
1813
+
1814
+ [package.extras]
1815
+ twisted = ["twisted"]
1816
+
1817
+ [[package]]
1818
+ name = "prompt-toolkit"
1819
+ version = "3.0.38"
1820
+ description = "Library for building powerful interactive command lines in Python"
1821
+ category = "main"
1822
+ optional = false
1823
+ python-versions = ">=3.7.0"
1824
+
1825
+ [package.dependencies]
1826
+ wcwidth = "*"
1827
+
1828
+ [[package]]
1829
+ name = "psutil"
1830
+ version = "5.9.4"
1831
+ description = "Cross-platform lib for process and system monitoring in Python."
1832
+ category = "main"
1833
+ optional = false
1834
+ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
1835
+
1836
+ [package.extras]
1837
+ test = ["ipaddress", "mock", "enum34", "pywin32", "wmi"]
1838
+
1839
+ [[package]]
1840
+ name = "ptyprocess"
1841
+ version = "0.7.0"
1842
+ description = "Run a subprocess in a pseudo terminal"
1843
+ category = "main"
1844
+ optional = false
1845
+ python-versions = "*"
1846
+
1847
+ [[package]]
1848
+ name = "pure-eval"
1849
+ version = "0.2.2"
1850
+ description = "Safely evaluate AST nodes without side effects"
1851
+ category = "main"
1852
+ optional = false
1853
+ python-versions = "*"
1854
+
1855
+ [package.extras]
1856
+ tests = ["pytest"]
1857
+
1858
  [[package]]
1859
  name = "pycares"
1860
  version = "4.3.0"
 
1916
  optional = false
1917
  python-versions = "*"
1918
 
1919
+ [[package]]
1920
+ name = "pygments"
1921
+ version = "2.14.0"
1922
+ description = "Pygments is a syntax highlighting package written in Python."
1923
+ category = "main"
1924
+ optional = false
1925
+ python-versions = ">=3.6"
1926
+
1927
+ [package.extras]
1928
+ plugins = ["importlib-metadata"]
1929
+
1930
  [[package]]
1931
  name = "pyjwt"
1932
  version = "2.6.0"
 
2013
  [package.dependencies]
2014
  six = ">=1.5"
2015
 
2016
+ [[package]]
2017
+ name = "python-json-logger"
2018
+ version = "2.0.7"
2019
+ description = "A python library adding a json log formatter"
2020
+ category = "main"
2021
+ optional = false
2022
+ python-versions = ">=3.6"
2023
+
2024
  [[package]]
2025
  name = "python-multipart"
2026
  version = "0.0.6"
 
2040
  optional = false
2041
  python-versions = "*"
2042
 
2043
+ [[package]]
2044
+ name = "pywin32"
2045
+ version = "305"
2046
+ description = "Python for Window Extensions"
2047
+ category = "main"
2048
+ optional = false
2049
+ python-versions = "*"
2050
+
2051
+ [[package]]
2052
+ name = "pywinpty"
2053
+ version = "2.0.10"
2054
+ description = "Pseudo terminal support for Windows from Python."
2055
+ category = "main"
2056
+ optional = false
2057
+ python-versions = ">=3.7"
2058
+
2059
  [[package]]
2060
  name = "pyyaml"
2061
  version = "6.0"
 
2064
  optional = false
2065
  python-versions = ">=3.6"
2066
 
2067
+ [[package]]
2068
+ name = "pyzmq"
2069
+ version = "25.0.0"
2070
+ description = "Python bindings for 0MQ"
2071
+ category = "main"
2072
+ optional = false
2073
+ python-versions = ">=3.6"
2074
+
2075
+ [package.dependencies]
2076
+ cffi = {version = "*", markers = "implementation_name == \"pypy\""}
2077
+
2078
+ [[package]]
2079
+ name = "qtconsole"
2080
+ version = "5.4.0"
2081
+ description = "Jupyter Qt console"
2082
+ category = "main"
2083
+ optional = false
2084
+ python-versions = ">= 3.7"
2085
+
2086
+ [package.dependencies]
2087
+ ipykernel = ">=4.1"
2088
+ ipython-genutils = "*"
2089
+ jupyter-client = ">=4.1"
2090
+ jupyter-core = "*"
2091
+ pygments = "*"
2092
+ pyzmq = ">=17.1"
2093
+ qtpy = ">=2.0.1"
2094
+ traitlets = "<5.2.1 || >5.2.1,<5.2.2 || >5.2.2"
2095
+
2096
+ [package.extras]
2097
+ doc = ["Sphinx (>=1.3)"]
2098
+ test = ["flaky", "pytest", "pytest-qt"]
2099
+
2100
+ [[package]]
2101
+ name = "qtpy"
2102
+ version = "2.3.0"
2103
+ description = "Provides an abstraction layer on top of the various Qt bindings (PyQt5/6 and PySide2/6)."
2104
+ category = "main"
2105
+ optional = false
2106
+ python-versions = ">=3.7"
2107
+
2108
+ [package.dependencies]
2109
+ packaging = "*"
2110
+
2111
+ [package.extras]
2112
+ test = ["pytest (>=6,!=7.0.0,!=7.0.1)", "pytest-cov (>=3.0.0)", "pytest-qt"]
2113
+
2114
  [[package]]
2115
  name = "regex"
2116
  version = "2022.10.31"
 
2137
  socks = ["PySocks (>=1.5.6,!=1.5.7)"]
2138
  use_chardet_on_py3 = ["chardet (>=3.0.2,<6)"]
2139
 
2140
+ [[package]]
2141
+ name = "rfc3339-validator"
2142
+ version = "0.1.4"
2143
+ description = "A pure python RFC3339 validator"
2144
+ category = "main"
2145
+ optional = false
2146
+ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
2147
+
2148
+ [package.dependencies]
2149
+ six = "*"
2150
+
2151
  [[package]]
2152
  name = "rfc3986"
2153
  version = "1.5.0"
 
2162
  [package.extras]
2163
  idna2008 = ["idna"]
2164
 
2165
+ [[package]]
2166
+ name = "rfc3986-validator"
2167
+ version = "0.1.1"
2168
+ description = "Pure python rfc3986 validator"
2169
+ category = "main"
2170
+ optional = false
2171
+ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
2172
+
2173
  [[package]]
2174
  name = "s3transfer"
2175
  version = "0.6.0"
 
2184
  [package.extras]
2185
  crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"]
2186
 
2187
+ [[package]]
2188
+ name = "send2trash"
2189
+ version = "1.8.0"
2190
+ description = "Send file to trash natively under Mac OS X, Windows and Linux."
2191
+ category = "main"
2192
+ optional = false
2193
+ python-versions = "*"
2194
+
2195
+ [package.extras]
2196
+ nativelib = ["pyobjc-framework-cocoa", "pywin32"]
2197
+ objc = ["pyobjc-framework-cocoa"]
2198
+ win32 = ["pywin32"]
2199
+
2200
  [[package]]
2201
  name = "setuptools-scm"
2202
  version = "7.1.0"
 
2230
  optional = false
2231
  python-versions = ">=3.7"
2232
 
2233
+ [[package]]
2234
+ name = "soupsieve"
2235
+ version = "2.4"
2236
+ description = "A modern CSS selector implementation for Beautiful Soup."
2237
+ category = "main"
2238
+ optional = false
2239
+ python-versions = ">=3.7"
2240
+
2241
  [[package]]
2242
  name = "sqlalchemy"
2243
  version = "1.4.46"
 
2270
  pymysql = ["pymysql (<1)", "pymysql"]
2271
  sqlcipher = ["sqlcipher3-binary"]
2272
 
2273
+ [[package]]
2274
+ name = "stack-data"
2275
+ version = "0.6.2"
2276
+ description = "Extract data from python stack frames and tracebacks for informative displays"
2277
+ category = "main"
2278
+ optional = false
2279
+ python-versions = "*"
2280
+
2281
+ [package.dependencies]
2282
+ asttokens = ">=2.1.0"
2283
+ executing = ">=1.2.0"
2284
+ pure-eval = "*"
2285
+
2286
+ [package.extras]
2287
+ tests = ["pytest", "typeguard", "pygments", "littleutils", "cython"]
2288
+
2289
  [[package]]
2290
  name = "starlette"
2291
  version = "0.25.0"
 
2312
  [package.extras]
2313
  doc = ["reno", "sphinx", "tornado (>=4.5)"]
2314
 
2315
+ [[package]]
2316
+ name = "terminado"
2317
+ version = "0.17.1"
2318
+ description = "Tornado websocket backend for the Xterm.js Javascript terminal emulator library."
2319
+ category = "main"
2320
+ optional = false
2321
+ python-versions = ">=3.7"
2322
+
2323
+ [package.dependencies]
2324
+ ptyprocess = {version = "*", markers = "os_name != \"nt\""}
2325
+ pywinpty = {version = ">=1.1.0", markers = "os_name == \"nt\""}
2326
+ tornado = ">=6.1.0"
2327
+
2328
+ [package.extras]
2329
+ docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"]
2330
+ test = ["pre-commit", "pytest-timeout", "pytest (>=7.0)"]
2331
+
2332
  [[package]]
2333
  name = "tiktoken"
2334
  version = "0.3.0"
 
2342
  regex = ">=2022.1.18"
2343
  requests = ">=2.26.0"
2344
 
2345
+ [[package]]
2346
+ name = "tinycss2"
2347
+ version = "1.2.1"
2348
+ description = "A tiny CSS parser"
2349
+ category = "main"
2350
+ optional = false
2351
+ python-versions = ">=3.7"
2352
+
2353
+ [package.dependencies]
2354
+ webencodings = ">=0.4"
2355
+
2356
+ [package.extras]
2357
+ test = ["flake8", "isort", "pytest"]
2358
+ doc = ["sphinx-rtd-theme", "sphinx"]
2359
+
2360
  [[package]]
2361
  name = "tokenizers"
2362
  version = "0.13.2"
 
2394
  optional = false
2395
  python-versions = ">=3.5"
2396
 
2397
+ [[package]]
2398
+ name = "tornado"
2399
+ version = "6.2"
2400
+ description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed."
2401
+ category = "main"
2402
+ optional = false
2403
+ python-versions = ">= 3.7"
2404
+
2405
  [[package]]
2406
  name = "tqdm"
2407
  version = "4.64.1"
 
2419
  slack = ["slack-sdk"]
2420
  telegram = ["requests"]
2421
 
2422
+ [[package]]
2423
+ name = "traitlets"
2424
+ version = "5.9.0"
2425
+ description = "Traitlets Python configuration system"
2426
+ category = "main"
2427
+ optional = false
2428
+ python-versions = ">=3.7"
2429
+
2430
+ [package.extras]
2431
+ docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"]
2432
+ test = ["argcomplete (>=2.0)", "pre-commit", "pytest", "pytest-mock"]
2433
+
2434
  [[package]]
2435
  name = "transformers"
2436
  version = "4.26.1"
 
2525
  [package.extras]
2526
  test = ["coverage", "pytest", "pytest-cov"]
2527
 
2528
+ [[package]]
2529
+ name = "uri-template"
2530
+ version = "1.2.0"
2531
+ description = "RFC 6570 URI Template Processor"
2532
+ category = "main"
2533
+ optional = false
2534
+ python-versions = ">=3.6"
2535
+
2536
+ [package.extras]
2537
+ dev = ["mypy", "flake8 (<4.0.0)", "flake8-annotations", "flake8-bugbear", "flake8-commas", "flake8-comprehensions", "flake8-continuation", "flake8-datetimez", "flake8-docstrings", "flake8-import-order", "flake8-literal", "flake8-noqa", "flake8-requirements", "flake8-type-annotations", "flake8-use-fstring", "pep8-naming"]
2538
+
2539
  [[package]]
2540
  name = "urllib3"
2541
  version = "1.26.14"
 
2564
  [package.extras]
2565
  standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.4)"]
2566
 
2567
+ [[package]]
2568
+ name = "wcwidth"
2569
+ version = "0.2.6"
2570
+ description = "Measures the displayed width of unicode strings in a terminal"
2571
+ category = "main"
2572
+ optional = false
2573
+ python-versions = "*"
2574
+
2575
+ [[package]]
2576
+ name = "webcolors"
2577
+ version = "1.12"
2578
+ description = "A library for working with color names and color values formats defined by HTML and CSS."
2579
+ category = "main"
2580
+ optional = false
2581
+ python-versions = ">=3.7"
2582
+
2583
+ [[package]]
2584
+ name = "webencodings"
2585
+ version = "0.5.1"
2586
+ description = "Character encoding aliases for legacy web content"
2587
+ category = "main"
2588
+ optional = false
2589
+ python-versions = "*"
2590
+
2591
+ [[package]]
2592
+ name = "websocket-client"
2593
+ version = "1.5.1"
2594
+ description = "WebSocket client for Python with low level API options"
2595
+ category = "main"
2596
+ optional = false
2597
+ python-versions = ">=3.7"
2598
+
2599
+ [package.extras]
2600
+ docs = ["Sphinx (>=3.4)", "sphinx-rtd-theme (>=0.5)"]
2601
+ optional = ["python-socks", "wsaccel"]
2602
+ test = ["websockets"]
2603
+
2604
  [[package]]
2605
  name = "websockets"
2606
  version = "10.4"
 
2609
  optional = false
2610
  python-versions = ">=3.7"
2611
 
2612
+ [[package]]
2613
+ name = "widgetsnbextension"
2614
+ version = "4.0.5"
2615
+ description = "Jupyter interactive widgets for Jupyter Notebook"
2616
+ category = "main"
2617
+ optional = false
2618
+ python-versions = ">=3.7"
2619
+
2620
  [[package]]
2621
  name = "wrapt"
2622
  version = "1.15.0"
 
2652
  [metadata]
2653
  lock-version = "1.1"
2654
  python-versions = "^3.9"
2655
+ content-hash = "e8e5a95d5f1ee48c2992b995c08510550b4e4723382827836b3c0ab4d9b8dd5d"
2656
 
2657
  [metadata.files]
2658
  aiodns = []
 
2663
  aleph-alpha-client = []
2664
  altair = []
2665
  anyio = []
2666
+ appnope = [
2667
+ {file = "appnope-0.1.3-py2.py3-none-any.whl", hash = "sha256:265a455292d0bd8a72453494fa24df5a11eb18373a60c7c0430889f22548605e"},
2668
+ {file = "appnope-0.1.3.tar.gz", hash = "sha256:02bd91c4de869fbb1e1c50aafc4098827a7a54ab2f39d9dcba6c9547ed920e24"},
2669
+ ]
2670
+ argon2-cffi = [
2671
+ {file = "argon2-cffi-21.3.0.tar.gz", hash = "sha256:d384164d944190a7dd7ef22c6aa3ff197da12962bd04b17f64d4e93d934dba5b"},
2672
+ {file = "argon2_cffi-21.3.0-py3-none-any.whl", hash = "sha256:8c976986f2c5c0e5000919e6de187906cfd81fb1c72bf9d88c01177e77da7f80"},
2673
+ ]
2674
+ argon2-cffi-bindings = [
2675
+ {file = "argon2-cffi-bindings-21.2.0.tar.gz", hash = "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3"},
2676
+ {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367"},
2677
+ {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d"},
2678
+ {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae"},
2679
+ {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c"},
2680
+ {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86"},
2681
+ {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_i686.whl", hash = "sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f"},
2682
+ {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e"},
2683
+ {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-win32.whl", hash = "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082"},
2684
+ {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-win_amd64.whl", hash = "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f"},
2685
+ {file = "argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93"},
2686
+ {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3e385d1c39c520c08b53d63300c3ecc28622f076f4c2b0e6d7e796e9f6502194"},
2687
+ {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c3e3cc67fdb7d82c4718f19b4e7a87123caf8a93fde7e23cf66ac0337d3cb3f"},
2688
+ {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a22ad9800121b71099d0fb0a65323810a15f2e292f2ba450810a7316e128ee5"},
2689
+ {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f9f8b450ed0547e3d473fdc8612083fd08dd2120d6ac8f73828df9b7d45bb351"},
2690
+ {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:93f9bf70084f97245ba10ee36575f0c3f1e7d7724d67d8e5b08e61787c320ed7"},
2691
+ {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3b9ef65804859d335dc6b31582cad2c5166f0c3e7975f324d9ffaa34ee7e6583"},
2692
+ {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4966ef5848d820776f5f562a7d45fdd70c2f330c961d0d745b784034bd9f48d"},
2693
+ {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20ef543a89dee4db46a1a6e206cd015360e5a75822f76df533845c3cbaf72670"},
2694
+ {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed2937d286e2ad0cc79a7087d3c272832865f779430e0cc2b4f3718d3159b0cb"},
2695
+ {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5e00316dabdaea0b2dd82d141cc66889ced0cdcbfa599e8b471cf22c620c329a"},
2696
+ ]
2697
+ arrow = []
2698
  astroid = []
2699
+ asttokens = []
2700
  async-timeout = [
2701
  {file = "async-timeout-4.0.2.tar.gz", hash = "sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15"},
2702
  {file = "async_timeout-4.0.2-py3-none-any.whl", hash = "sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"},
2703
  ]
2704
  attrs = []
2705
+ backcall = [
2706
+ {file = "backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"},
2707
+ {file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"},
2708
+ ]
2709
+ beautifulsoup4 = []
2710
  black = []
2711
+ bleach = []
2712
  blobfile = []
2713
  boto3 = []
2714
  botocore = []
 
2720
  {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"},
2721
  ]
2722
  colorama = []
2723
+ comm = []
2724
  contourpy = []
2725
  coverage = []
2726
  cycler = [
 
2728
  {file = "cycler-0.11.0.tar.gz", hash = "sha256:9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f"},
2729
  ]
2730
  dataclasses-json = []
2731
+ debugpy = []
2732
+ decorator = [
2733
+ {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"},
2734
+ {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"},
2735
+ ]
2736
  deeplake = []
2737
+ defusedxml = [
2738
+ {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"},
2739
+ {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"},
2740
+ ]
2741
  dill = []
2742
  entrypoints = [
2743
  {file = "entrypoints-0.4-py3-none-any.whl", hash = "sha256:f174b5ff827504fd3cd97cc3f8649f3693f51538c7e4bdf3ef002c8429d42f9f"},
2744
  {file = "entrypoints-0.4.tar.gz", hash = "sha256:b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4"},
2745
  ]
2746
+ executing = []
2747
  fastapi = []
2748
+ fastjsonschema = []
2749
  ffmpy = []
2750
  filelock = []
2751
  fonttools = []
2752
+ fqdn = []
2753
  frozenlist = []
2754
  fsspec = []
2755
  gradio = []
 
2761
  huggingface-hub = []
2762
  humbug = []
2763
  idna = []
2764
+ importlib-metadata = []
2765
  importlib-resources = []
2766
+ ipykernel = []
2767
+ ipython = []
2768
+ ipython-genutils = [
2769
+ {file = "ipython_genutils-0.2.0-py2.py3-none-any.whl", hash = "sha256:72dd37233799e619666c9f639a9da83c34013a73e8bbc79a7a6348d93c61fab8"},
2770
+ {file = "ipython_genutils-0.2.0.tar.gz", hash = "sha256:eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8"},
2771
+ ]
2772
+ ipywidgets = []
2773
+ isoduration = []
2774
  isort = []
2775
+ jedi = []
2776
  jinja2 = [
2777
  {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"},
2778
  {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"},
2779
  ]
2780
  jmespath = []
2781
  joblib = []
2782
+ jsonpointer = []
2783
  jsonschema = []
2784
+ jupyter = [
2785
+ {file = "jupyter-1.0.0-py2.py3-none-any.whl", hash = "sha256:5b290f93b98ffbc21c0c7e749f054b3267782166d72fa5e3ed1ed4eaf34a2b78"},
2786
+ {file = "jupyter-1.0.0.tar.gz", hash = "sha256:d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f"},
2787
+ {file = "jupyter-1.0.0.zip", hash = "sha256:3e1f86076bbb7c8c207829390305a2b1fe836d471ed54be66a3b8c41e7f46cc7"},
2788
+ ]
2789
+ jupyter-client = []
2790
+ jupyter-console = []
2791
+ jupyter-core = []
2792
+ jupyter-events = []
2793
+ jupyter-server = []
2794
+ jupyter-server-terminals = []
2795
+ jupyterlab-pygments = [
2796
+ {file = "jupyterlab_pygments-0.2.2-py2.py3-none-any.whl", hash = "sha256:2405800db07c9f770863bcf8049a529c3dd4d3e28536638bd7c1c01d2748309f"},
2797
+ {file = "jupyterlab_pygments-0.2.2.tar.gz", hash = "sha256:7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d"},
2798
+ ]
2799
+ jupyterlab-widgets = []
2800
  kiwisolver = []
2801
  langchain = []
2802
  lazy-object-proxy = []
 
2808
  marshmallow = []
2809
  marshmallow-enum = []
2810
  matplotlib = []
2811
+ matplotlib-inline = []
2812
  mccabe = []
2813
  mdit-py-plugins = []
2814
  mdurl = []
2815
+ mistune = []
2816
  msgpack = [
2817
  {file = "msgpack-1.0.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4ab251d229d10498e9a2f3b1e68ef64cb393394ec477e3370c457f9430ce9250"},
2818
  {file = "msgpack-1.0.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:112b0f93202d7c0fef0b7810d465fde23c746a2d482e1e2de2aafd2ce1492c88"},
 
2870
  multidict = []
2871
  multiprocess = []
2872
  mypy-extensions = []
2873
+ nbclassic = []
2874
+ nbclient = []
2875
+ nbconvert = []
2876
+ nbformat = []
2877
+ nest-asyncio = []
2878
  nltk = []
2879
+ notebook = []
2880
+ notebook-shim = []
2881
  numcodecs = []
2882
  numpy = []
2883
  openai = []
2884
  orjson = []
2885
  packaging = []
2886
  pandas = []
2887
+ pandocfilters = [
2888
+ {file = "pandocfilters-1.5.0-py2.py3-none-any.whl", hash = "sha256:33aae3f25fd1a026079f5d27bdd52496f0e0803b3469282162bafdcbdf6ef14f"},
2889
+ {file = "pandocfilters-1.5.0.tar.gz", hash = "sha256:0b679503337d233b4339a817bfc8c50064e2eff681314376a47cb582305a7a38"},
2890
+ ]
2891
+ parso = [
2892
+ {file = "parso-0.8.3-py2.py3-none-any.whl", hash = "sha256:c001d4636cd3aecdaf33cbb40aebb59b094be2a74c556778ef5576c175e19e75"},
2893
+ {file = "parso-0.8.3.tar.gz", hash = "sha256:8c07be290bb59f03588915921e29e8a50002acaf2cdc5fa0e0114f91709fafa0"},
2894
+ ]
2895
  pathos = []
2896
  pathspec = []
2897
+ pexpect = [
2898
+ {file = "pexpect-4.8.0-py2.py3-none-any.whl", hash = "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"},
2899
+ {file = "pexpect-4.8.0.tar.gz", hash = "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c"},
2900
+ ]
2901
+ pickleshare = [
2902
+ {file = "pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56"},
2903
+ {file = "pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca"},
2904
+ ]
2905
  pillow = []
2906
  platformdirs = []
2907
  pox = []
2908
  ppft = []
2909
+ prometheus-client = []
2910
+ prompt-toolkit = []
2911
+ psutil = []
2912
+ ptyprocess = [
2913
+ {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"},
2914
+ {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"},
2915
+ ]
2916
+ pure-eval = [
2917
+ {file = "pure_eval-0.2.2-py3-none-any.whl", hash = "sha256:01eaab343580944bc56080ebe0a674b39ec44a945e6d09ba7db3cb8cec289350"},
2918
+ {file = "pure_eval-0.2.2.tar.gz", hash = "sha256:2b45320af6dfaa1750f543d714b6d1c520a1688dec6fd24d339063ce0aaa9ac3"},
2919
+ ]
2920
  pycares = []
2921
  pycparser = [
2922
  {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"},
 
2926
  pycryptodomex = []
2927
  pydantic = []
2928
  pydub = []
2929
+ pygments = []
2930
  pyjwt = []
2931
  pylint = []
2932
  pynvim = [
 
2941
  {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"},
2942
  {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"},
2943
  ]
2944
+ python-json-logger = []
2945
  python-multipart = []
2946
  pytz = []
2947
+ pywin32 = []
2948
+ pywinpty = []
2949
  pyyaml = [
2950
  {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"},
2951
  {file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"},
 
2981
  {file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"},
2982
  {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"},
2983
  ]
2984
+ pyzmq = []
2985
+ qtconsole = []
2986
+ qtpy = []
2987
  regex = []
2988
  requests = []
2989
+ rfc3339-validator = []
2990
  rfc3986 = []
2991
+ rfc3986-validator = []
2992
  s3transfer = []
2993
+ send2trash = [
2994
+ {file = "Send2Trash-1.8.0-py3-none-any.whl", hash = "sha256:f20eaadfdb517eaca5ce077640cb261c7d2698385a6a0f072a4a5447fd49fa08"},
2995
+ {file = "Send2Trash-1.8.0.tar.gz", hash = "sha256:d2c24762fd3759860a0aff155e45871447ea58d2be6bdd39b5c8f966a0c99c2d"},
2996
+ ]
2997
  setuptools-scm = []
2998
  six = [
2999
  {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
3000
  {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
3001
  ]
3002
  sniffio = []
3003
+ soupsieve = []
3004
  sqlalchemy = []
3005
+ stack-data = []
3006
  starlette = []
3007
  tenacity = []
3008
+ terminado = []
3009
  tiktoken = []
3010
+ tinycss2 = []
3011
  tokenizers = []
3012
  tomli = [
3013
  {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"},
 
3015
  ]
3016
  tomlkit = []
3017
  toolz = []
3018
+ tornado = []
3019
  tqdm = []
3020
+ traitlets = []
3021
  transformers = []
3022
  typing-extensions = []
3023
  typing-inspect = []
3024
  uc-micro-py = []
3025
+ uri-template = []
3026
  urllib3 = []
3027
  uvicorn = []
3028
+ wcwidth = []
3029
+ webcolors = []
3030
+ webencodings = [
3031
+ {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"},
3032
+ {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"},
3033
+ ]
3034
+ websocket-client = []
3035
  websockets = []
3036
+ widgetsnbextension = []
3037
  wrapt = []
3038
  yarl = []
3039
  zipp = []
pyproject.toml CHANGED
@@ -9,6 +9,9 @@ python = "^3.9"
9
  gradio = "^3.19.1"
10
  openai = "^0.27.0"
11
  llama-index = "^0.4.19"
 
 
 
12
 
13
  [tool.poetry.dev-dependencies]
14
  pynvim = "^0.4.3"
 
9
  gradio = "^3.19.1"
10
  openai = "^0.27.0"
11
  llama-index = "^0.4.19"
12
+ pandas = "^1.5.3"
13
+ jupyter = "^1.0.0"
14
+ ipykernel = "^6.21.2"
15
 
16
  [tool.poetry.dev-dependencies]
17
  pynvim = "^0.4.3"
scripts/build_indexes.py ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ # This module includes code for building Llama indexes
2
+
3
+ import os
4
+ import openai
5
+
6
+ #openai.api_key = os.environ["OPENAI_API_KEY"]
7
+
8
+