Spaces:
Runtime error
Runtime error
Upload folder using huggingface_hub
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .gitattributes +8 -0
- .idea/workspace.xml +16 -2
- __pycache__/prompts.cpython-311.pyc +0 -0
- app.py +49 -32
- command_handler.py +20 -0
- commands.txt +1 -1
- myenv/Lib/site-packages/Deprecated-1.2.14.dist-info/INSTALLER +1 -0
- myenv/Lib/site-packages/Deprecated-1.2.14.dist-info/LICENSE.rst +21 -0
- myenv/Lib/site-packages/Deprecated-1.2.14.dist-info/METADATA +181 -0
- myenv/Lib/site-packages/Deprecated-1.2.14.dist-info/RECORD +12 -0
- myenv/Lib/site-packages/Deprecated-1.2.14.dist-info/WHEEL +6 -0
- myenv/Lib/site-packages/Deprecated-1.2.14.dist-info/top_level.txt +1 -0
- myenv/Lib/site-packages/__pycache__/monotonic.cpython-310.pyc +0 -0
- myenv/Lib/site-packages/__pycache__/six.cpython-310.pyc +0 -0
- myenv/Lib/site-packages/__pycache__/typing_extensions.cpython-310.pyc +0 -0
- myenv/Lib/site-packages/_distutils_hack/__init__.py +128 -0
- myenv/Lib/site-packages/_distutils_hack/__pycache__/__init__.cpython-310.pyc +0 -0
- myenv/Lib/site-packages/_distutils_hack/__pycache__/override.cpython-310.pyc +0 -0
- myenv/Lib/site-packages/_distutils_hack/override.py +1 -0
- myenv/Lib/site-packages/annotated_types-0.5.0.dist-info/INSTALLER +1 -0
- myenv/Lib/site-packages/annotated_types-0.5.0.dist-info/METADATA +221 -0
- myenv/Lib/site-packages/annotated_types-0.5.0.dist-info/RECORD +10 -0
- myenv/Lib/site-packages/annotated_types-0.5.0.dist-info/WHEEL +4 -0
- myenv/Lib/site-packages/annotated_types-0.5.0.dist-info/licenses/LICENSE +21 -0
- myenv/Lib/site-packages/annotated_types/__init__.py +319 -0
- myenv/Lib/site-packages/annotated_types/__pycache__/__init__.cpython-310.pyc +0 -0
- myenv/Lib/site-packages/annotated_types/__pycache__/test_cases.cpython-310.pyc +0 -0
- myenv/Lib/site-packages/annotated_types/py.typed +0 -0
- myenv/Lib/site-packages/annotated_types/test_cases.py +133 -0
- myenv/Lib/site-packages/argilla-1.1.1.dist-info/INSTALLER +1 -0
- myenv/Lib/site-packages/argilla-1.1.1.dist-info/LICENSE +201 -0
- myenv/Lib/site-packages/argilla-1.1.1.dist-info/METADATA +288 -0
- myenv/Lib/site-packages/argilla-1.1.1.dist-info/RECORD +548 -0
- myenv/Lib/site-packages/argilla-1.1.1.dist-info/REQUESTED +0 -0
- myenv/Lib/site-packages/argilla-1.1.1.dist-info/WHEEL +5 -0
- myenv/Lib/site-packages/argilla-1.1.1.dist-info/top_level.txt +1 -0
- myenv/Lib/site-packages/argilla/__init__.py +119 -0
- myenv/Lib/site-packages/argilla/__main__.py +24 -0
- myenv/Lib/site-packages/argilla/__pycache__/__init__.cpython-310.pyc +0 -0
- myenv/Lib/site-packages/argilla/__pycache__/__main__.cpython-310.pyc +0 -0
- myenv/Lib/site-packages/argilla/__pycache__/_constants.cpython-310.pyc +0 -0
- myenv/Lib/site-packages/argilla/__pycache__/_messages.cpython-310.pyc +0 -0
- myenv/Lib/site-packages/argilla/__pycache__/_version.cpython-310.pyc +0 -0
- myenv/Lib/site-packages/argilla/__pycache__/logging.cpython-310.pyc +0 -0
- myenv/Lib/site-packages/argilla/_constants.py +26 -0
- myenv/Lib/site-packages/argilla/_messages.py +18 -0
- myenv/Lib/site-packages/argilla/_version.py +16 -0
- myenv/Lib/site-packages/argilla/client/__init__.py +14 -0
- myenv/Lib/site-packages/argilla/client/__pycache__/__init__.cpython-310.pyc +0 -0
- myenv/Lib/site-packages/argilla/client/__pycache__/api.cpython-310.pyc +0 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,11 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
myenv/Lib/site-packages/numpy/.libs/libopenblas64__v0.3.23-246-g3d31191b-gcc_10_3_0.dll filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
myenv/Lib/site-packages/numpy/core/_multiarray_umath.cp310-win_amd64.pyd filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
myenv/Lib/site-packages/numpy/core/_simd.cp310-win_amd64.pyd filter=lfs diff=lfs merge=lfs -text
|
| 39 |
+
myenv/Lib/site-packages/pandas/_libs/algos.cp310-win_amd64.pyd filter=lfs diff=lfs merge=lfs -text
|
| 40 |
+
myenv/Lib/site-packages/pandas/_libs/groupby.cp310-win_amd64.pyd filter=lfs diff=lfs merge=lfs -text
|
| 41 |
+
myenv/Lib/site-packages/pandas/_libs/hashtable.cp310-win_amd64.pyd filter=lfs diff=lfs merge=lfs -text
|
| 42 |
+
myenv/Lib/site-packages/pandas/_libs/join.cp310-win_amd64.pyd filter=lfs diff=lfs merge=lfs -text
|
| 43 |
+
myenv/Lib/site-packages/pydantic_core/_pydantic_core.cp310-win_amd64.pyd filter=lfs diff=lfs merge=lfs -text
|
.idea/workspace.xml
CHANGED
|
@@ -20,6 +20,17 @@
|
|
| 20 |
</list>
|
| 21 |
</option>
|
| 22 |
</component>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 23 |
<component name="Git.Settings">
|
| 24 |
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
| 25 |
</component>
|
|
@@ -43,6 +54,7 @@
|
|
| 43 |
"node.js.selected.package.eslint": "(autodetect)",
|
| 44 |
"node.js.selected.package.tslint": "(autodetect)",
|
| 45 |
"nodejs_package_manager_path": "npm",
|
|
|
|
| 46 |
"vue.rearranger.settings.migration": "true"
|
| 47 |
}
|
| 48 |
}</component>
|
|
@@ -189,7 +201,9 @@
|
|
| 189 |
<workItem from="1690068665233" duration="59000" />
|
| 190 |
<workItem from="1691001889072" duration="1298000" />
|
| 191 |
<workItem from="1691003416341" duration="16951000" />
|
| 192 |
-
<workItem from="1691213146639" duration="
|
|
|
|
|
|
|
| 193 |
</task>
|
| 194 |
<servers />
|
| 195 |
</component>
|
|
@@ -228,7 +242,7 @@
|
|
| 228 |
<SUITE FILE_PATH="coverage/conversational_uav_explorer$pytest_for_test_fewshot_test_invalid_command2.coverage" NAME="pytest for test_fewshot.test_invalid_command2 Coverage Results" MODIFIED="1689919761343" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test" />
|
| 229 |
<SUITE FILE_PATH="coverage/conversational_uav_explorer$gradio_theme.coverage" NAME="gradio_theme Coverage Results" MODIFIED="1690008184752" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
| 230 |
<SUITE FILE_PATH="coverage/conversational_uav_explorer$pytest_for_test_fewshot_test_location_no_action4.coverage" NAME="pytest for test_fewshot.test_location_no_action4 Coverage Results" MODIFIED="1689926082281" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test" />
|
| 231 |
-
<SUITE FILE_PATH="coverage/conversational_uav_explorer$app.coverage" NAME="app Coverage Results" MODIFIED="
|
| 232 |
<SUITE FILE_PATH="coverage/conversational_uav_explorer$testing.coverage" NAME="testing Coverage Results" MODIFIED="1689806315429" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test" />
|
| 233 |
<SUITE FILE_PATH="coverage/conversational_uav_explorer$pytest_for_test_fewshot_test_no_location1.coverage" NAME="pytest for test_fewshot.test_no_location1 Coverage Results" MODIFIED="1689810960745" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test" />
|
| 234 |
<SUITE FILE_PATH="coverage/conversational_uav_explorer$pytest_for_test_fewshot_test_parking_garage.coverage" NAME="pytest for test_fewshot.test_parking_garage Coverage Results" MODIFIED="1689923732887" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test" />
|
|
|
|
| 20 |
</list>
|
| 21 |
</option>
|
| 22 |
</component>
|
| 23 |
+
<component name="FlaskConsoleOptions" custom-start-script="import sys sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS]) from flask.cli import ScriptInfo locals().update(ScriptInfo(create_app=None).load_app().make_shell_context()) print("Python %s on %s\nApp: %s [%s]\nInstance: %s" % (sys.version, sys.platform, app.import_name, app.env, app.instance_path))">
|
| 24 |
+
<envs>
|
| 25 |
+
<env key="FLASK_APP" value="app" />
|
| 26 |
+
</envs>
|
| 27 |
+
<option name="myCustomStartScript" value="import sys sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS]) from flask.cli import ScriptInfo locals().update(ScriptInfo(create_app=None).load_app().make_shell_context()) print("Python %s on %s\nApp: %s [%s]\nInstance: %s" % (sys.version, sys.platform, app.import_name, app.env, app.instance_path))" />
|
| 28 |
+
<option name="myEnvs">
|
| 29 |
+
<map>
|
| 30 |
+
<entry key="FLASK_APP" value="app" />
|
| 31 |
+
</map>
|
| 32 |
+
</option>
|
| 33 |
+
</component>
|
| 34 |
<component name="Git.Settings">
|
| 35 |
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
| 36 |
</component>
|
|
|
|
| 54 |
"node.js.selected.package.eslint": "(autodetect)",
|
| 55 |
"node.js.selected.package.tslint": "(autodetect)",
|
| 56 |
"nodejs_package_manager_path": "npm",
|
| 57 |
+
"settings.editor.selected.configurable": "com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable",
|
| 58 |
"vue.rearranger.settings.migration": "true"
|
| 59 |
}
|
| 60 |
}</component>
|
|
|
|
| 201 |
<workItem from="1690068665233" duration="59000" />
|
| 202 |
<workItem from="1691001889072" duration="1298000" />
|
| 203 |
<workItem from="1691003416341" duration="16951000" />
|
| 204 |
+
<workItem from="1691213146639" duration="8055000" />
|
| 205 |
+
<workItem from="1691265557783" duration="1282000" />
|
| 206 |
+
<workItem from="1691267177903" duration="1369000" />
|
| 207 |
</task>
|
| 208 |
<servers />
|
| 209 |
</component>
|
|
|
|
| 242 |
<SUITE FILE_PATH="coverage/conversational_uav_explorer$pytest_for_test_fewshot_test_invalid_command2.coverage" NAME="pytest for test_fewshot.test_invalid_command2 Coverage Results" MODIFIED="1689919761343" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test" />
|
| 243 |
<SUITE FILE_PATH="coverage/conversational_uav_explorer$gradio_theme.coverage" NAME="gradio_theme Coverage Results" MODIFIED="1690008184752" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
| 244 |
<SUITE FILE_PATH="coverage/conversational_uav_explorer$pytest_for_test_fewshot_test_location_no_action4.coverage" NAME="pytest for test_fewshot.test_location_no_action4 Coverage Results" MODIFIED="1689926082281" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test" />
|
| 245 |
+
<SUITE FILE_PATH="coverage/conversational_uav_explorer$app.coverage" NAME="app Coverage Results" MODIFIED="1691221734977" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
| 246 |
<SUITE FILE_PATH="coverage/conversational_uav_explorer$testing.coverage" NAME="testing Coverage Results" MODIFIED="1689806315429" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test" />
|
| 247 |
<SUITE FILE_PATH="coverage/conversational_uav_explorer$pytest_for_test_fewshot_test_no_location1.coverage" NAME="pytest for test_fewshot.test_no_location1 Coverage Results" MODIFIED="1689810960745" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test" />
|
| 248 |
<SUITE FILE_PATH="coverage/conversational_uav_explorer$pytest_for_test_fewshot_test_parking_garage.coverage" NAME="pytest for test_fewshot.test_parking_garage Coverage Results" MODIFIED="1689923732887" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test" />
|
__pycache__/prompts.cpython-311.pyc
CHANGED
|
Binary files a/__pycache__/prompts.cpython-311.pyc and b/__pycache__/prompts.cpython-311.pyc differ
|
|
|
app.py
CHANGED
|
@@ -3,6 +3,7 @@ import gradio as gr
|
|
| 3 |
from prompts import prompt_chat_response
|
| 4 |
from fewshot import FewShot4UAVs
|
| 5 |
|
|
|
|
| 6 |
fewshot = FewShot4UAVs()
|
| 7 |
|
| 8 |
|
|
@@ -12,41 +13,57 @@ def transcribe(audio):
|
|
| 12 |
"content": prompt_chat_response}
|
| 13 |
]
|
| 14 |
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 18 |
|
| 19 |
-
original_transcript = transcript["text"]
|
| 20 |
-
messages.append({"role": "user", "content": original_transcript, "name": "Operator"})
|
| 21 |
-
except Exception as e:
|
| 22 |
-
print(f"An error occurred during transcribing: {e}")
|
| 23 |
-
return str(e) # Return the error message to Gradio UI
|
| 24 |
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
print(f"An error occurred during formatting the command: {e}")
|
| 30 |
-
return str(e)
|
| 31 |
|
| 32 |
-
try:
|
| 33 |
-
response = openai.ChatCompletion.create(
|
| 34 |
-
model="gpt-3.5-turbo",
|
| 35 |
-
messages=messages
|
| 36 |
-
)
|
| 37 |
|
| 38 |
-
|
| 39 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
|
| 46 |
-
|
| 47 |
-
except Exception as e:
|
| 48 |
-
print(f"An error occurred during building chat transcript: {e}")
|
| 49 |
-
return str(e)
|
| 50 |
|
| 51 |
|
| 52 |
with gr.Blocks(theme='sudeepshouche/minimalist') as demo:
|
|
@@ -66,8 +83,8 @@ with gr.Blocks(theme='sudeepshouche/minimalist') as demo:
|
|
| 66 |
"Go to the brick house across the street.\n\n"
|
| 67 |
"Head to Libby Hill Park on E Franklin St.\n\n"
|
| 68 |
"Check out the Whole Foods on W Broad St.\n\n"
|
| 69 |
-
"Take off
|
| 70 |
-
"Land
|
| 71 |
|
| 72 |
-
demo.queue()
|
| 73 |
demo.launch()
|
|
|
|
| 3 |
from prompts import prompt_chat_response
|
| 4 |
from fewshot import FewShot4UAVs
|
| 5 |
|
| 6 |
+
|
| 7 |
fewshot = FewShot4UAVs()
|
| 8 |
|
| 9 |
|
|
|
|
| 13 |
"content": prompt_chat_response}
|
| 14 |
]
|
| 15 |
|
| 16 |
+
user_transcript = get_audio_transcript(audio, messages)
|
| 17 |
+
uav_command = get_uav_command(user_transcript, messages)
|
| 18 |
+
uav_response = get_uav_response(messages)
|
| 19 |
+
|
| 20 |
+
# command = parse_command(uav_command)
|
| 21 |
+
# send_command(command)
|
| 22 |
+
|
| 23 |
+
chat_transcript = build_chat_transcript(user_transcript, uav_command, uav_response)
|
| 24 |
+
|
| 25 |
+
return chat_transcript
|
| 26 |
+
|
| 27 |
+
|
| 28 |
+
def get_audio_transcript(audio, messages):
|
| 29 |
+
audio_file = open(audio, "rb")
|
| 30 |
+
transcript = openai.Audio.transcribe("whisper-1", audio_file)
|
| 31 |
+
user_transcript = transcript["text"]
|
| 32 |
+
messages.append({"role": "user", "content": user_transcript, "name": "Operator"})
|
| 33 |
+
return user_transcript
|
| 34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 35 |
|
| 36 |
+
def get_uav_command(user_transcript, messages):
|
| 37 |
+
uav_command = fewshot.get_command(user_transcript)
|
| 38 |
+
messages.append({"role": "function", "content": uav_command, "name": "UAV"})
|
| 39 |
+
return uav_command
|
|
|
|
|
|
|
| 40 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 41 |
|
| 42 |
+
def get_uav_response(messages):
|
| 43 |
+
response = openai.ChatCompletion.create(
|
| 44 |
+
model="gpt-3.5-turbo",
|
| 45 |
+
messages=messages
|
| 46 |
+
)
|
| 47 |
+
|
| 48 |
+
uav_response = response["choices"][0]["message"]["content"]
|
| 49 |
+
messages.append({"role": "assistant", "content": uav_response, "name": "Assistant"})
|
| 50 |
+
return uav_response
|
| 51 |
+
|
| 52 |
+
|
| 53 |
+
def build_chat_transcript(user_transcript, uav_command, uav_response):
|
| 54 |
+
messages = [
|
| 55 |
+
{"role": "system", "content": prompt_chat_response},
|
| 56 |
+
{"role": "user", "content": user_transcript, "name": "Operator"},
|
| 57 |
+
{"role": "function", "content": uav_command, "name": "UAV"},
|
| 58 |
+
{"role": "assistant", "content": uav_response, "name": "Assistant"}
|
| 59 |
+
]
|
| 60 |
|
| 61 |
+
chat_transcript = ""
|
| 62 |
+
for message in messages:
|
| 63 |
+
if message['role'] != 'system':
|
| 64 |
+
chat_transcript += f"{message['name']}: {message['content']} \n\n"
|
| 65 |
|
| 66 |
+
return chat_transcript
|
|
|
|
|
|
|
|
|
|
| 67 |
|
| 68 |
|
| 69 |
with gr.Blocks(theme='sudeepshouche/minimalist') as demo:
|
|
|
|
| 83 |
"Go to the brick house across the street.\n\n"
|
| 84 |
"Head to Libby Hill Park on E Franklin St.\n\n"
|
| 85 |
"Check out the Whole Foods on W Broad St.\n\n"
|
| 86 |
+
"Take off.\n\n"
|
| 87 |
+
"Land.")
|
| 88 |
|
| 89 |
+
demo.queue(default_enabled=False)
|
| 90 |
demo.launch()
|
command_handler.py
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import re
|
| 2 |
+
from flask import requests
|
| 3 |
+
|
| 4 |
+
|
| 5 |
+
def send_command(command, location=None):
|
| 6 |
+
url = f"http://url/{command}"
|
| 7 |
+
data = {}
|
| 8 |
+
if location:
|
| 9 |
+
data["location"] = location
|
| 10 |
+
response = requests.post(url, json=data)
|
| 11 |
+
return response.content
|
| 12 |
+
|
| 13 |
+
|
| 14 |
+
def parse_command(text):
|
| 15 |
+
tokens = re.split(' \t|\n|: ', text.lower())
|
| 16 |
+
print(tokens)
|
| 17 |
+
if len(tokens) >= 2:
|
| 18 |
+
return tokens[1]
|
| 19 |
+
else:
|
| 20 |
+
return 'none'
|
commands.txt
CHANGED
|
@@ -1,2 +1,2 @@
|
|
| 1 |
|
| 2 |
-
|
|
|
|
| 1 |
|
| 2 |
+
GOTO Whole Foods across the street
|
myenv/Lib/site-packages/Deprecated-1.2.14.dist-info/INSTALLER
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
pip
|
myenv/Lib/site-packages/Deprecated-1.2.14.dist-info/LICENSE.rst
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
The MIT License (MIT)
|
| 2 |
+
|
| 3 |
+
Copyright (c) 2017 Laurent LAPORTE
|
| 4 |
+
|
| 5 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 6 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 7 |
+
in the Software without restriction, including without limitation the rights
|
| 8 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 9 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 10 |
+
furnished to do so, subject to the following conditions:
|
| 11 |
+
|
| 12 |
+
The above copyright notice and this permission notice shall be included in all
|
| 13 |
+
copies or substantial portions of the Software.
|
| 14 |
+
|
| 15 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 16 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 17 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 18 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 19 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 20 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 21 |
+
SOFTWARE.
|
myenv/Lib/site-packages/Deprecated-1.2.14.dist-info/METADATA
ADDED
|
@@ -0,0 +1,181 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Metadata-Version: 2.1
|
| 2 |
+
Name: Deprecated
|
| 3 |
+
Version: 1.2.14
|
| 4 |
+
Summary: Python @deprecated decorator to deprecate old python classes, functions or methods.
|
| 5 |
+
Home-page: https://github.com/tantale/deprecated
|
| 6 |
+
Author: Laurent LAPORTE
|
| 7 |
+
Author-email: tantale.solutions@gmail.com
|
| 8 |
+
License: MIT
|
| 9 |
+
Project-URL: Documentation, https://deprecated.readthedocs.io/en/latest/
|
| 10 |
+
Project-URL: Source, https://github.com/tantale/deprecated
|
| 11 |
+
Project-URL: Bug Tracker, https://github.com/tantale/deprecated/issues
|
| 12 |
+
Keywords: deprecate,deprecated,deprecation,warning,warn,decorator
|
| 13 |
+
Platform: any
|
| 14 |
+
Classifier: Development Status :: 5 - Production/Stable
|
| 15 |
+
Classifier: Environment :: Web Environment
|
| 16 |
+
Classifier: Intended Audience :: Developers
|
| 17 |
+
Classifier: License :: OSI Approved :: MIT License
|
| 18 |
+
Classifier: Operating System :: OS Independent
|
| 19 |
+
Classifier: Programming Language :: Python
|
| 20 |
+
Classifier: Programming Language :: Python :: 2
|
| 21 |
+
Classifier: Programming Language :: Python :: 2.7
|
| 22 |
+
Classifier: Programming Language :: Python :: 3
|
| 23 |
+
Classifier: Programming Language :: Python :: 3.4
|
| 24 |
+
Classifier: Programming Language :: Python :: 3.5
|
| 25 |
+
Classifier: Programming Language :: Python :: 3.6
|
| 26 |
+
Classifier: Programming Language :: Python :: 3.7
|
| 27 |
+
Classifier: Programming Language :: Python :: 3.8
|
| 28 |
+
Classifier: Programming Language :: Python :: 3.9
|
| 29 |
+
Classifier: Programming Language :: Python :: 3.10
|
| 30 |
+
Classifier: Programming Language :: Python :: 3.11
|
| 31 |
+
Classifier: Programming Language :: Python :: 3.12
|
| 32 |
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
| 33 |
+
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
|
| 34 |
+
Description-Content-Type: text/x-rst
|
| 35 |
+
License-File: LICENSE.rst
|
| 36 |
+
Requires-Dist: wrapt (<2,>=1.10)
|
| 37 |
+
Provides-Extra: dev
|
| 38 |
+
Requires-Dist: tox ; extra == 'dev'
|
| 39 |
+
Requires-Dist: PyTest ; extra == 'dev'
|
| 40 |
+
Requires-Dist: PyTest-Cov ; extra == 'dev'
|
| 41 |
+
Requires-Dist: bump2version (<1) ; extra == 'dev'
|
| 42 |
+
Requires-Dist: sphinx (<2) ; extra == 'dev'
|
| 43 |
+
|
| 44 |
+
|
| 45 |
+
Deprecated Library
|
| 46 |
+
------------------
|
| 47 |
+
|
| 48 |
+
Deprecated is Easy to Use
|
| 49 |
+
`````````````````````````
|
| 50 |
+
|
| 51 |
+
If you need to mark a function or a method as deprecated,
|
| 52 |
+
you can use the ``@deprecated`` decorator:
|
| 53 |
+
|
| 54 |
+
Save in a hello.py:
|
| 55 |
+
|
| 56 |
+
.. code:: python
|
| 57 |
+
|
| 58 |
+
from deprecated import deprecated
|
| 59 |
+
|
| 60 |
+
|
| 61 |
+
@deprecated(version='1.2.1', reason="You should use another function")
|
| 62 |
+
def some_old_function(x, y):
|
| 63 |
+
return x + y
|
| 64 |
+
|
| 65 |
+
|
| 66 |
+
class SomeClass(object):
|
| 67 |
+
@deprecated(version='1.3.0', reason="This method is deprecated")
|
| 68 |
+
def some_old_method(self, x, y):
|
| 69 |
+
return x + y
|
| 70 |
+
|
| 71 |
+
|
| 72 |
+
some_old_function(12, 34)
|
| 73 |
+
obj = SomeClass()
|
| 74 |
+
obj.some_old_method(5, 8)
|
| 75 |
+
|
| 76 |
+
|
| 77 |
+
And Easy to Setup
|
| 78 |
+
`````````````````
|
| 79 |
+
|
| 80 |
+
And run it:
|
| 81 |
+
|
| 82 |
+
.. code:: bash
|
| 83 |
+
|
| 84 |
+
$ pip install Deprecated
|
| 85 |
+
$ python hello.py
|
| 86 |
+
hello.py:15: DeprecationWarning: Call to deprecated function (or staticmethod) some_old_function.
|
| 87 |
+
(You should use another function) -- Deprecated since version 1.2.0.
|
| 88 |
+
some_old_function(12, 34)
|
| 89 |
+
hello.py:17: DeprecationWarning: Call to deprecated method some_old_method.
|
| 90 |
+
(This method is deprecated) -- Deprecated since version 1.3.0.
|
| 91 |
+
obj.some_old_method(5, 8)
|
| 92 |
+
|
| 93 |
+
|
| 94 |
+
You can document your code
|
| 95 |
+
``````````````````````````
|
| 96 |
+
|
| 97 |
+
Have you ever wonder how to document that some functions, classes, methods, etc. are deprecated?
|
| 98 |
+
This is now possible with the integrated Sphinx directives:
|
| 99 |
+
|
| 100 |
+
For instance, in hello_sphinx.py:
|
| 101 |
+
|
| 102 |
+
.. code:: python
|
| 103 |
+
|
| 104 |
+
from deprecated.sphinx import deprecated
|
| 105 |
+
from deprecated.sphinx import versionadded
|
| 106 |
+
from deprecated.sphinx import versionchanged
|
| 107 |
+
|
| 108 |
+
|
| 109 |
+
@versionadded(version='1.0', reason="This function is new")
|
| 110 |
+
def function_one():
|
| 111 |
+
'''This is the function one'''
|
| 112 |
+
|
| 113 |
+
|
| 114 |
+
@versionchanged(version='1.0', reason="This function is modified")
|
| 115 |
+
def function_two():
|
| 116 |
+
'''This is the function two'''
|
| 117 |
+
|
| 118 |
+
|
| 119 |
+
@deprecated(version='1.0', reason="This function will be removed soon")
|
| 120 |
+
def function_three():
|
| 121 |
+
'''This is the function three'''
|
| 122 |
+
|
| 123 |
+
|
| 124 |
+
function_one()
|
| 125 |
+
function_two()
|
| 126 |
+
function_three() # warns
|
| 127 |
+
|
| 128 |
+
help(function_one)
|
| 129 |
+
help(function_two)
|
| 130 |
+
help(function_three)
|
| 131 |
+
|
| 132 |
+
|
| 133 |
+
The result it immediate
|
| 134 |
+
```````````````````````
|
| 135 |
+
|
| 136 |
+
Run it:
|
| 137 |
+
|
| 138 |
+
.. code:: bash
|
| 139 |
+
|
| 140 |
+
$ python hello_sphinx.py
|
| 141 |
+
|
| 142 |
+
hello_sphinx.py:23: DeprecationWarning: Call to deprecated function (or staticmethod) function_three.
|
| 143 |
+
(This function will be removed soon) -- Deprecated since version 1.0.
|
| 144 |
+
function_three() # warns
|
| 145 |
+
|
| 146 |
+
Help on function function_one in module __main__:
|
| 147 |
+
|
| 148 |
+
function_one()
|
| 149 |
+
This is the function one
|
| 150 |
+
|
| 151 |
+
.. versionadded:: 1.0
|
| 152 |
+
This function is new
|
| 153 |
+
|
| 154 |
+
Help on function function_two in module __main__:
|
| 155 |
+
|
| 156 |
+
function_two()
|
| 157 |
+
This is the function two
|
| 158 |
+
|
| 159 |
+
.. versionchanged:: 1.0
|
| 160 |
+
This function is modified
|
| 161 |
+
|
| 162 |
+
Help on function function_three in module __main__:
|
| 163 |
+
|
| 164 |
+
function_three()
|
| 165 |
+
This is the function three
|
| 166 |
+
|
| 167 |
+
.. deprecated:: 1.0
|
| 168 |
+
This function will be removed soon
|
| 169 |
+
|
| 170 |
+
|
| 171 |
+
Links
|
| 172 |
+
`````
|
| 173 |
+
|
| 174 |
+
* `Python package index (PyPi) <https://pypi.python.org/pypi/deprecated>`_
|
| 175 |
+
* `GitHub website <https://github.com/tantale/deprecated>`_
|
| 176 |
+
* `Read The Docs <https://readthedocs.org/projects/deprecated>`_
|
| 177 |
+
* `EBook on Lulu.com <http://www.lulu.com/commerce/index.php?fBuyContent=21305117>`_
|
| 178 |
+
* `StackOverFlow Q&A <https://stackoverflow.com/a/40301488/1513933>`_
|
| 179 |
+
* `Development version
|
| 180 |
+
<https://github.com/tantale/deprecated/zipball/master#egg=Deprecated-dev>`_
|
| 181 |
+
|
myenv/Lib/site-packages/Deprecated-1.2.14.dist-info/RECORD
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Deprecated-1.2.14.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
| 2 |
+
Deprecated-1.2.14.dist-info/LICENSE.rst,sha256=HoPt0VvkGbXVveNy4yXlJ_9PmRX1SOfHUxS0H2aZ6Dw,1081
|
| 3 |
+
Deprecated-1.2.14.dist-info/METADATA,sha256=xQYvk5nwOfnkxxRD-VHkpE-sMu0IBHRZ8ayspypfkTs,5354
|
| 4 |
+
Deprecated-1.2.14.dist-info/RECORD,,
|
| 5 |
+
Deprecated-1.2.14.dist-info/WHEEL,sha256=a-zpFRIJzOq5QfuhBzbhiA1eHTzNCJn8OdRvhdNX0Rk,110
|
| 6 |
+
Deprecated-1.2.14.dist-info/top_level.txt,sha256=nHbOYawKPQQE5lQl-toUB1JBRJjUyn_m_Mb8RVJ0RjA,11
|
| 7 |
+
deprecated/__init__.py,sha256=ZphiULqDVrESSB0mLV2WA88JyhQxZSK44zuDGbV5k-g,349
|
| 8 |
+
deprecated/__pycache__/__init__.cpython-310.pyc,,
|
| 9 |
+
deprecated/__pycache__/classic.cpython-310.pyc,,
|
| 10 |
+
deprecated/__pycache__/sphinx.cpython-310.pyc,,
|
| 11 |
+
deprecated/classic.py,sha256=QugmUi7IhBvp2nDvMtyWqFDPRR43-9nfSZG1ZJSDpFM,9880
|
| 12 |
+
deprecated/sphinx.py,sha256=NqQ0oKGcVn6yUe23iGbCieCgvWbEDQSPt9QelbXJnDU,10258
|
myenv/Lib/site-packages/Deprecated-1.2.14.dist-info/WHEEL
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Wheel-Version: 1.0
|
| 2 |
+
Generator: bdist_wheel (0.40.0)
|
| 3 |
+
Root-Is-Purelib: true
|
| 4 |
+
Tag: py2-none-any
|
| 5 |
+
Tag: py3-none-any
|
| 6 |
+
|
myenv/Lib/site-packages/Deprecated-1.2.14.dist-info/top_level.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
deprecated
|
myenv/Lib/site-packages/__pycache__/monotonic.cpython-310.pyc
ADDED
|
Binary file (4.49 kB). View file
|
|
|
myenv/Lib/site-packages/__pycache__/six.cpython-310.pyc
ADDED
|
Binary file (27.6 kB). View file
|
|
|
myenv/Lib/site-packages/__pycache__/typing_extensions.cpython-310.pyc
ADDED
|
Binary file (89.1 kB). View file
|
|
|
myenv/Lib/site-packages/_distutils_hack/__init__.py
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import sys
|
| 2 |
+
import os
|
| 3 |
+
import re
|
| 4 |
+
import importlib
|
| 5 |
+
import warnings
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
is_pypy = '__pypy__' in sys.builtin_module_names
|
| 9 |
+
|
| 10 |
+
|
| 11 |
+
warnings.filterwarnings('ignore',
|
| 12 |
+
r'.+ distutils\b.+ deprecated',
|
| 13 |
+
DeprecationWarning)
|
| 14 |
+
|
| 15 |
+
|
| 16 |
+
def warn_distutils_present():
|
| 17 |
+
if 'distutils' not in sys.modules:
|
| 18 |
+
return
|
| 19 |
+
if is_pypy and sys.version_info < (3, 7):
|
| 20 |
+
# PyPy for 3.6 unconditionally imports distutils, so bypass the warning
|
| 21 |
+
# https://foss.heptapod.net/pypy/pypy/-/blob/be829135bc0d758997b3566062999ee8b23872b4/lib-python/3/site.py#L250
|
| 22 |
+
return
|
| 23 |
+
warnings.warn(
|
| 24 |
+
"Distutils was imported before Setuptools, but importing Setuptools "
|
| 25 |
+
"also replaces the `distutils` module in `sys.modules`. This may lead "
|
| 26 |
+
"to undesirable behaviors or errors. To avoid these issues, avoid "
|
| 27 |
+
"using distutils directly, ensure that setuptools is installed in the "
|
| 28 |
+
"traditional way (e.g. not an editable install), and/or make sure "
|
| 29 |
+
"that setuptools is always imported before distutils.")
|
| 30 |
+
|
| 31 |
+
|
| 32 |
+
def clear_distutils():
|
| 33 |
+
if 'distutils' not in sys.modules:
|
| 34 |
+
return
|
| 35 |
+
warnings.warn("Setuptools is replacing distutils.")
|
| 36 |
+
mods = [name for name in sys.modules if re.match(r'distutils\b', name)]
|
| 37 |
+
for name in mods:
|
| 38 |
+
del sys.modules[name]
|
| 39 |
+
|
| 40 |
+
|
| 41 |
+
def enabled():
|
| 42 |
+
"""
|
| 43 |
+
Allow selection of distutils by environment variable.
|
| 44 |
+
"""
|
| 45 |
+
which = os.environ.get('SETUPTOOLS_USE_DISTUTILS', 'stdlib')
|
| 46 |
+
return which == 'local'
|
| 47 |
+
|
| 48 |
+
|
| 49 |
+
def ensure_local_distutils():
|
| 50 |
+
clear_distutils()
|
| 51 |
+
distutils = importlib.import_module('setuptools._distutils')
|
| 52 |
+
distutils.__name__ = 'distutils'
|
| 53 |
+
sys.modules['distutils'] = distutils
|
| 54 |
+
|
| 55 |
+
# sanity check that submodules load as expected
|
| 56 |
+
core = importlib.import_module('distutils.core')
|
| 57 |
+
assert '_distutils' in core.__file__, core.__file__
|
| 58 |
+
|
| 59 |
+
|
| 60 |
+
def do_override():
|
| 61 |
+
"""
|
| 62 |
+
Ensure that the local copy of distutils is preferred over stdlib.
|
| 63 |
+
|
| 64 |
+
See https://github.com/pypa/setuptools/issues/417#issuecomment-392298401
|
| 65 |
+
for more motivation.
|
| 66 |
+
"""
|
| 67 |
+
if enabled():
|
| 68 |
+
warn_distutils_present()
|
| 69 |
+
ensure_local_distutils()
|
| 70 |
+
|
| 71 |
+
|
| 72 |
+
class DistutilsMetaFinder:
|
| 73 |
+
def find_spec(self, fullname, path, target=None):
|
| 74 |
+
if path is not None:
|
| 75 |
+
return
|
| 76 |
+
|
| 77 |
+
method_name = 'spec_for_{fullname}'.format(**locals())
|
| 78 |
+
method = getattr(self, method_name, lambda: None)
|
| 79 |
+
return method()
|
| 80 |
+
|
| 81 |
+
def spec_for_distutils(self):
|
| 82 |
+
import importlib.abc
|
| 83 |
+
import importlib.util
|
| 84 |
+
|
| 85 |
+
class DistutilsLoader(importlib.abc.Loader):
|
| 86 |
+
|
| 87 |
+
def create_module(self, spec):
|
| 88 |
+
return importlib.import_module('setuptools._distutils')
|
| 89 |
+
|
| 90 |
+
def exec_module(self, module):
|
| 91 |
+
pass
|
| 92 |
+
|
| 93 |
+
return importlib.util.spec_from_loader('distutils', DistutilsLoader())
|
| 94 |
+
|
| 95 |
+
def spec_for_pip(self):
|
| 96 |
+
"""
|
| 97 |
+
Ensure stdlib distutils when running under pip.
|
| 98 |
+
See pypa/pip#8761 for rationale.
|
| 99 |
+
"""
|
| 100 |
+
if self.pip_imported_during_build():
|
| 101 |
+
return
|
| 102 |
+
clear_distutils()
|
| 103 |
+
self.spec_for_distutils = lambda: None
|
| 104 |
+
|
| 105 |
+
@staticmethod
|
| 106 |
+
def pip_imported_during_build():
|
| 107 |
+
"""
|
| 108 |
+
Detect if pip is being imported in a build script. Ref #2355.
|
| 109 |
+
"""
|
| 110 |
+
import traceback
|
| 111 |
+
return any(
|
| 112 |
+
frame.f_globals['__file__'].endswith('setup.py')
|
| 113 |
+
for frame, line in traceback.walk_stack(None)
|
| 114 |
+
)
|
| 115 |
+
|
| 116 |
+
|
| 117 |
+
DISTUTILS_FINDER = DistutilsMetaFinder()
|
| 118 |
+
|
| 119 |
+
|
| 120 |
+
def add_shim():
|
| 121 |
+
sys.meta_path.insert(0, DISTUTILS_FINDER)
|
| 122 |
+
|
| 123 |
+
|
| 124 |
+
def remove_shim():
|
| 125 |
+
try:
|
| 126 |
+
sys.meta_path.remove(DISTUTILS_FINDER)
|
| 127 |
+
except ValueError:
|
| 128 |
+
pass
|
myenv/Lib/site-packages/_distutils_hack/__pycache__/__init__.cpython-310.pyc
ADDED
|
Binary file (5.15 kB). View file
|
|
|
myenv/Lib/site-packages/_distutils_hack/__pycache__/override.cpython-310.pyc
ADDED
|
Binary file (255 Bytes). View file
|
|
|
myenv/Lib/site-packages/_distutils_hack/override.py
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
__import__('_distutils_hack').do_override()
|
myenv/Lib/site-packages/annotated_types-0.5.0.dist-info/INSTALLER
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
pip
|
myenv/Lib/site-packages/annotated_types-0.5.0.dist-info/METADATA
ADDED
|
@@ -0,0 +1,221 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Metadata-Version: 2.1
|
| 2 |
+
Name: annotated-types
|
| 3 |
+
Version: 0.5.0
|
| 4 |
+
Summary: Reusable constraint types to use with typing.Annotated
|
| 5 |
+
Author-email: Samuel Colvin <s@muelcolvin.com>, Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>, Zac Hatfield-Dodds <zac@zhd.dev>
|
| 6 |
+
License-File: LICENSE
|
| 7 |
+
Classifier: Development Status :: 4 - Beta
|
| 8 |
+
Classifier: Environment :: Console
|
| 9 |
+
Classifier: Environment :: MacOS X
|
| 10 |
+
Classifier: Intended Audience :: Developers
|
| 11 |
+
Classifier: Intended Audience :: Information Technology
|
| 12 |
+
Classifier: License :: OSI Approved :: MIT License
|
| 13 |
+
Classifier: Operating System :: POSIX :: Linux
|
| 14 |
+
Classifier: Operating System :: Unix
|
| 15 |
+
Classifier: Programming Language :: Python :: 3 :: Only
|
| 16 |
+
Classifier: Programming Language :: Python :: 3.7
|
| 17 |
+
Classifier: Programming Language :: Python :: 3.8
|
| 18 |
+
Classifier: Programming Language :: Python :: 3.9
|
| 19 |
+
Classifier: Programming Language :: Python :: 3.10
|
| 20 |
+
Classifier: Programming Language :: Python :: 3.11
|
| 21 |
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
| 22 |
+
Classifier: Typing :: Typed
|
| 23 |
+
Requires-Python: >=3.7
|
| 24 |
+
Requires-Dist: typing-extensions>=4.0.0; python_version < '3.9'
|
| 25 |
+
Description-Content-Type: text/markdown
|
| 26 |
+
|
| 27 |
+
# annotated-types
|
| 28 |
+
|
| 29 |
+
[](https://github.com/annotated-types/annotated-types/actions?query=event%3Apush+branch%3Amain+workflow%3ACI)
|
| 30 |
+
[](https://pypi.python.org/pypi/annotated-types)
|
| 31 |
+
[](https://github.com/annotated-types/annotated-types)
|
| 32 |
+
[](https://github.com/annotated-types/annotated-types/blob/main/LICENSE)
|
| 33 |
+
|
| 34 |
+
[PEP-593](https://peps.python.org/pep-0593/) added `typing.Annotated` as a way of
|
| 35 |
+
adding context-specific metadata to existing types, and specifies that
|
| 36 |
+
`Annotated[T, x]` _should_ be treated as `T` by any tool or library without special
|
| 37 |
+
logic for `x`.
|
| 38 |
+
|
| 39 |
+
This package provides metadata objects which can be used to represent common
|
| 40 |
+
constraints such as upper and lower bounds on scalar values and collection sizes,
|
| 41 |
+
a `Predicate` marker for runtime checks, and
|
| 42 |
+
descriptions of how we intend these metadata to be interpreted. In some cases,
|
| 43 |
+
we also note alternative representations which do not require this package.
|
| 44 |
+
|
| 45 |
+
## Install
|
| 46 |
+
|
| 47 |
+
```bash
|
| 48 |
+
pip install annotated-types
|
| 49 |
+
```
|
| 50 |
+
|
| 51 |
+
## Examples
|
| 52 |
+
|
| 53 |
+
```python
|
| 54 |
+
from typing import Annotated
|
| 55 |
+
from annotated_types import Gt, Len, Predicate
|
| 56 |
+
|
| 57 |
+
class MyClass:
|
| 58 |
+
age: Annotated[int, Gt(18)] # Valid: 19, 20, ...
|
| 59 |
+
# Invalid: 17, 18, "19", 19.0, ...
|
| 60 |
+
factors: list[Annotated[int, Predicate(is_prime)]] # Valid: 2, 3, 5, 7, 11, ...
|
| 61 |
+
# Invalid: 4, 8, -2, 5.0, "prime", ...
|
| 62 |
+
|
| 63 |
+
my_list: Annotated[list[int], Len(0, 10)] # Valid: [], [10, 20, 30, 40, 50]
|
| 64 |
+
# Invalid: (1, 2), ["abc"], [0] * 20
|
| 65 |
+
```
|
| 66 |
+
|
| 67 |
+
## Documentation
|
| 68 |
+
|
| 69 |
+
_While `annotated-types` avoids runtime checks for performance, users should not
|
| 70 |
+
construct invalid combinations such as `MultipleOf("non-numeric")` or `Annotated[int, Len(3)]`.
|
| 71 |
+
Downstream implementors may choose to raise an error, emit a warning, silently ignore
|
| 72 |
+
a metadata item, etc., if the metadata objects described below are used with an
|
| 73 |
+
incompatible type - or for any other reason!_
|
| 74 |
+
|
| 75 |
+
### Gt, Ge, Lt, Le
|
| 76 |
+
|
| 77 |
+
Express inclusive and/or exclusive bounds on orderable values - which may be numbers,
|
| 78 |
+
dates, times, strings, sets, etc. Note that the boundary value need not be of the
|
| 79 |
+
same type that was annotated, so long as they can be compared: `Annotated[int, Gt(1.5)]`
|
| 80 |
+
is fine, for example, and implies that the value is an integer x such that `x > 1.5`.
|
| 81 |
+
|
| 82 |
+
We suggest that implementors may also interpret `functools.partial(operator.le, 1.5)`
|
| 83 |
+
as being equivalent to `Gt(1.5)`, for users who wish to avoid a runtime dependency on
|
| 84 |
+
the `annotated-types` package.
|
| 85 |
+
|
| 86 |
+
To be explicit, these types have the following meanings:
|
| 87 |
+
|
| 88 |
+
* `Gt(x)` - value must be "Greater Than" `x` - equivalent to exclusive minimum
|
| 89 |
+
* `Ge(x)` - value must be "Greater than or Equal" to `x` - equivalent to inclusive minimum
|
| 90 |
+
* `Lt(x)` - value must be "Less Than" `x` - equivalent to exclusive maximum
|
| 91 |
+
* `Le(x)` - value must be "Less than or Equal" to `x` - equivalent to inclusive maximum
|
| 92 |
+
|
| 93 |
+
### Interval
|
| 94 |
+
|
| 95 |
+
`Interval(gt, ge, lt, le)` allows you to specify an upper and lower bound with a single
|
| 96 |
+
metadata object. `None` attributes should be ignored, and non-`None` attributes
|
| 97 |
+
treated as per the single bounds above.
|
| 98 |
+
|
| 99 |
+
### MultipleOf
|
| 100 |
+
|
| 101 |
+
`MultipleOf(multiple_of=x)` might be interpreted in two ways:
|
| 102 |
+
|
| 103 |
+
1. Python semantics, implying `value % multiple_of == 0`, or
|
| 104 |
+
2. [JSONschema semantics](https://json-schema.org/draft/2020-12/json-schema-validation.html#rfc.section.6.2.1),
|
| 105 |
+
where `int(value / multiple_of) == value / multiple_of`.
|
| 106 |
+
|
| 107 |
+
We encourage users to be aware of these two common interpretations and their
|
| 108 |
+
distinct behaviours, especially since very large or non-integer numbers make
|
| 109 |
+
it easy to cause silent data corruption due to floating-point imprecision.
|
| 110 |
+
|
| 111 |
+
We encourage libraries to carefully document which interpretation they implement.
|
| 112 |
+
|
| 113 |
+
### MinLen, MaxLen, Len
|
| 114 |
+
|
| 115 |
+
`Len()` implies that `min_length <= len(value) <= max_length` - lower and upper bounds are inclusive.
|
| 116 |
+
|
| 117 |
+
As well as `Len()` which can optionally include upper and lower bounds, we also
|
| 118 |
+
provide `MinLen(x)` and `MaxLen(y)` which are equivalent to `Len(min_length=x)`
|
| 119 |
+
and `Len(max_length=y)` respectively.
|
| 120 |
+
|
| 121 |
+
`Len`, `MinLen`, and `MaxLen` may be used with any type which supports `len(value)`.
|
| 122 |
+
|
| 123 |
+
Examples of usage:
|
| 124 |
+
|
| 125 |
+
* `Annotated[list, MaxLen(10)]` (or `Annotated[list, Len(max_length=10))`) - list must have a length of 10 or less
|
| 126 |
+
* `Annotated[str, MaxLen(10)]` - string must have a length of 10 or less
|
| 127 |
+
* `Annotated[list, MinLen(3))` (or `Annotated[list, Len(min_length=3))`) - list must have a length of 3 or more
|
| 128 |
+
* `Annotated[list, Len(4, 6)]` - list must have a length of 4, 5, or 6
|
| 129 |
+
* `Annotated[list, Len(8, 8)]` - list must have a length of exactly 8
|
| 130 |
+
|
| 131 |
+
#### Changed in v0.4.0
|
| 132 |
+
|
| 133 |
+
* `min_inclusive` has been renamed to `min_length`, no change in meaning
|
| 134 |
+
* `max_exclusive` has been renamed to `max_length`, upper bound is now **inclusive** instead of **exclusive**
|
| 135 |
+
* The recommendation that slices are interpreted as `Len` has been removed due to ambiguity and different semantic
|
| 136 |
+
meaning of the upper bound in slices vs. `Len`
|
| 137 |
+
|
| 138 |
+
See [issue #23](https://github.com/annotated-types/annotated-types/issues/23) for discussion.
|
| 139 |
+
|
| 140 |
+
### Timezone
|
| 141 |
+
|
| 142 |
+
`Timezone` can be used with a `datetime` or a `time` to express which timezones
|
| 143 |
+
are allowed. `Annotated[datetime, Timezone(None)]` must be a naive datetime.
|
| 144 |
+
`Timezone[...]` ([literal ellipsis](https://docs.python.org/3/library/constants.html#Ellipsis))
|
| 145 |
+
expresses that any timezone-aware datetime is allowed. You may also pass a specific
|
| 146 |
+
timezone string or `timezone` object such as `Timezone(timezone.utc)` or
|
| 147 |
+
`Timezone("Africa/Abidjan")` to express that you only allow a specific timezone,
|
| 148 |
+
though we note that this is often a symptom of fragile design.
|
| 149 |
+
|
| 150 |
+
### Predicate
|
| 151 |
+
|
| 152 |
+
`Predicate(func: Callable)` expresses that `func(value)` is truthy for valid values.
|
| 153 |
+
Users should prefer the statically inspectable metadata above, but if you need
|
| 154 |
+
the full power and flexibility of arbitrary runtime predicates... here it is.
|
| 155 |
+
|
| 156 |
+
We provide a few predefined predicates for common string constraints:
|
| 157 |
+
`IsLower = Predicate(str.islower)`, `IsUpper = Predicate(str.isupper)`, and
|
| 158 |
+
`IsDigit = Predicate(str.isdigit)`.
|
| 159 |
+
Some libraries might have special logic to handle known or understandable predicates,
|
| 160 |
+
for example by checking for `str.isdigit` and using its presence to both call custom
|
| 161 |
+
logic to enforce digit-only strings, and customise some generated external schema.
|
| 162 |
+
Users are therefore encouraged to avoid indirection like `lambda s: s.lower()`, in
|
| 163 |
+
favor of introspectable methods such as `str.lower` or `re.compile("pattern").search`.
|
| 164 |
+
|
| 165 |
+
We do not specify what behaviour should be expected for predicates that raise
|
| 166 |
+
an exception. For example `Annotated[int, Predicate(str.isdigit)]` might silently
|
| 167 |
+
skip invalid constraints, or statically raise an error; or it might try calling it
|
| 168 |
+
and then propogate or discard the resulting
|
| 169 |
+
`TypeError: descriptor 'isdigit' for 'str' objects doesn't apply to a 'int' object`
|
| 170 |
+
exception. We encourage libraries to document the behaviour they choose.
|
| 171 |
+
|
| 172 |
+
### Integrating downstream types with `GroupedMetadata`
|
| 173 |
+
|
| 174 |
+
Implementers may choose to provide a convenience wrapper that groups multiple pieces of metadata.
|
| 175 |
+
This can help reduce verbosity and cognitive overhead for users.
|
| 176 |
+
For example, an implementer like Pydantic might provide a `Field` or `Meta` type that accepts keyword arguments and transforms these into low-level metadata:
|
| 177 |
+
|
| 178 |
+
```python
|
| 179 |
+
from dataclasses import dataclass
|
| 180 |
+
from typing import Iterator
|
| 181 |
+
from annotated_types import GroupedMetadata, Ge
|
| 182 |
+
|
| 183 |
+
@dataclass
|
| 184 |
+
class Field(GroupedMetadata):
|
| 185 |
+
ge: int | None = None
|
| 186 |
+
description: str | None = None
|
| 187 |
+
|
| 188 |
+
def __iter__(self) -> Iterator[object]:
|
| 189 |
+
# Iterating over a GroupedMetadata object should yield annotated-types
|
| 190 |
+
# constraint metadata objects which describe it as fully as possible,
|
| 191 |
+
# and may include other unknown objects too.
|
| 192 |
+
if self.ge is not None:
|
| 193 |
+
yield Ge(self.ge)
|
| 194 |
+
if self.description is not None:
|
| 195 |
+
yield Description(self.description)
|
| 196 |
+
```
|
| 197 |
+
|
| 198 |
+
Libraries consuming annotated-types constraints should check for `GroupedMetadata` and unpack it by iterating over the object and treating the results as if they had been "unpacked" in the `Annotated` type. The same logic should be applied to the [PEP 646 `Unpack` type](https://peps.python.org/pep-0646/), so that `Annotated[T, Field(...)]`, `Annotated[T, Unpack[Field(...)]]` and `Annotated[T, *Field(...)]` are all treated consistently.
|
| 199 |
+
|
| 200 |
+
Libraries consuming annotated-types should also ignore any metadata they do not recongize that came from unpacking a `GroupedMetadata`, just like they ignore unrecognized metadata in `Annotated` itself.
|
| 201 |
+
|
| 202 |
+
Our own `annotated_types.Interval` class is a `GroupedMetadata` which unpacks itself into `Gt`, `Lt`, etc., so this is not an abstract concern. Similarly, `annotated_types.Len` is a `GroupedMetadata` which unpacks itself into `MinLen` (optionally) and `MaxLen`.
|
| 203 |
+
|
| 204 |
+
### Consuming metadata
|
| 205 |
+
|
| 206 |
+
We intend to not be perspcriptive as to _how_ the metadata and constraints are used, but as an example of how one might parse constraints from types annotations see our [implementation in `test_main.py`](https://github.com/annotated-types/annotated-types/blob/f59cf6d1b5255a0fe359b93896759a180bec30ae/tests/test_main.py#L94-L103).
|
| 207 |
+
|
| 208 |
+
It is up to the implementer to determine how this metadata is used.
|
| 209 |
+
You could use the metadata for runtime type checking, for generating schemas or to generate example data, amongst other use cases.
|
| 210 |
+
|
| 211 |
+
## Design & History
|
| 212 |
+
|
| 213 |
+
This package was designed at the PyCon 2022 sprints by the maintainers of Pydantic
|
| 214 |
+
and Hypothesis, with the goal of making it as easy as possible for end-users to
|
| 215 |
+
provide more informative annotations for use by runtime libraries.
|
| 216 |
+
|
| 217 |
+
It is deliberately minimal, and following PEP-593 allows considerable downstream
|
| 218 |
+
discretion in what (if anything!) they choose to support. Nonetheless, we expect
|
| 219 |
+
that staying simple and covering _only_ the most common use-cases will give users
|
| 220 |
+
and maintainers the best experience we can. If you'd like more constraints for your
|
| 221 |
+
types - follow our lead, by defining them and documenting them downstream!
|
myenv/Lib/site-packages/annotated_types-0.5.0.dist-info/RECORD
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
annotated_types-0.5.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
| 2 |
+
annotated_types-0.5.0.dist-info/METADATA,sha256=ie2NTBuiFKST5M2yUVgOgymZkQ5iad82BPFcZ07ZKBQ,11685
|
| 3 |
+
annotated_types-0.5.0.dist-info/RECORD,,
|
| 4 |
+
annotated_types-0.5.0.dist-info/WHEEL,sha256=y1bSCq4r5i4nMmpXeUJMqs3ipKvkZObrIXSvJHm1qCI,87
|
| 5 |
+
annotated_types-0.5.0.dist-info/licenses/LICENSE,sha256=_hBJiEsaDZNCkB6I4H8ykl0ksxIdmXK2poBfuYJLCV0,1083
|
| 6 |
+
annotated_types/__init__.py,sha256=qQOWO1uHTw0QjOL1Ggcs92oY4OPX0G7srTdq_M5lC-8,9375
|
| 7 |
+
annotated_types/__pycache__/__init__.cpython-310.pyc,,
|
| 8 |
+
annotated_types/__pycache__/test_cases.cpython-310.pyc,,
|
| 9 |
+
annotated_types/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
| 10 |
+
annotated_types/test_cases.py,sha256=z-ftQXel0GT9FjAN2PVXi8ZUVV7F1T9PvwZ5l-UAqpU,5680
|
myenv/Lib/site-packages/annotated_types-0.5.0.dist-info/WHEEL
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Wheel-Version: 1.0
|
| 2 |
+
Generator: hatchling 1.17.0
|
| 3 |
+
Root-Is-Purelib: true
|
| 4 |
+
Tag: py3-none-any
|
myenv/Lib/site-packages/annotated_types-0.5.0.dist-info/licenses/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
The MIT License (MIT)
|
| 2 |
+
|
| 3 |
+
Copyright (c) 2022 the contributors
|
| 4 |
+
|
| 5 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 6 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 7 |
+
in the Software without restriction, including without limitation the rights
|
| 8 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 9 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 10 |
+
furnished to do so, subject to the following conditions:
|
| 11 |
+
|
| 12 |
+
The above copyright notice and this permission notice shall be included in all
|
| 13 |
+
copies or substantial portions of the Software.
|
| 14 |
+
|
| 15 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 16 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 17 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 18 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 19 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 20 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 21 |
+
SOFTWARE.
|
myenv/Lib/site-packages/annotated_types/__init__.py
ADDED
|
@@ -0,0 +1,319 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import sys
|
| 2 |
+
from dataclasses import dataclass
|
| 3 |
+
from datetime import timezone
|
| 4 |
+
from typing import TYPE_CHECKING, Any, Callable, Iterator, Optional, TypeVar, Union
|
| 5 |
+
|
| 6 |
+
if sys.version_info < (3, 8):
|
| 7 |
+
from typing_extensions import Protocol, runtime_checkable
|
| 8 |
+
else:
|
| 9 |
+
from typing import Protocol, runtime_checkable
|
| 10 |
+
|
| 11 |
+
if sys.version_info < (3, 9):
|
| 12 |
+
from typing_extensions import Annotated, Literal
|
| 13 |
+
else:
|
| 14 |
+
from typing import Annotated, Literal
|
| 15 |
+
|
| 16 |
+
if sys.version_info < (3, 10):
|
| 17 |
+
EllipsisType = type(Ellipsis)
|
| 18 |
+
KW_ONLY = {}
|
| 19 |
+
SLOTS = {}
|
| 20 |
+
else:
|
| 21 |
+
from types import EllipsisType
|
| 22 |
+
|
| 23 |
+
KW_ONLY = {"kw_only": True}
|
| 24 |
+
SLOTS = {"slots": True}
|
| 25 |
+
|
| 26 |
+
|
| 27 |
+
__all__ = (
|
| 28 |
+
'BaseMetadata',
|
| 29 |
+
'GroupedMetadata',
|
| 30 |
+
'Gt',
|
| 31 |
+
'Ge',
|
| 32 |
+
'Lt',
|
| 33 |
+
'Le',
|
| 34 |
+
'Interval',
|
| 35 |
+
'MultipleOf',
|
| 36 |
+
'MinLen',
|
| 37 |
+
'MaxLen',
|
| 38 |
+
'Len',
|
| 39 |
+
'Timezone',
|
| 40 |
+
'Predicate',
|
| 41 |
+
'LowerCase',
|
| 42 |
+
'UpperCase',
|
| 43 |
+
'IsDigits',
|
| 44 |
+
'__version__',
|
| 45 |
+
)
|
| 46 |
+
|
| 47 |
+
__version__ = '0.5.0'
|
| 48 |
+
|
| 49 |
+
|
| 50 |
+
T = TypeVar('T')
|
| 51 |
+
|
| 52 |
+
|
| 53 |
+
# arguments that start with __ are considered
|
| 54 |
+
# positional only
|
| 55 |
+
# see https://peps.python.org/pep-0484/#positional-only-arguments
|
| 56 |
+
|
| 57 |
+
|
| 58 |
+
class SupportsGt(Protocol):
|
| 59 |
+
def __gt__(self: T, __other: T) -> bool:
|
| 60 |
+
...
|
| 61 |
+
|
| 62 |
+
|
| 63 |
+
class SupportsGe(Protocol):
|
| 64 |
+
def __ge__(self: T, __other: T) -> bool:
|
| 65 |
+
...
|
| 66 |
+
|
| 67 |
+
|
| 68 |
+
class SupportsLt(Protocol):
|
| 69 |
+
def __lt__(self: T, __other: T) -> bool:
|
| 70 |
+
...
|
| 71 |
+
|
| 72 |
+
|
| 73 |
+
class SupportsLe(Protocol):
|
| 74 |
+
def __le__(self: T, __other: T) -> bool:
|
| 75 |
+
...
|
| 76 |
+
|
| 77 |
+
|
| 78 |
+
class SupportsMod(Protocol):
|
| 79 |
+
def __mod__(self: T, __other: T) -> T:
|
| 80 |
+
...
|
| 81 |
+
|
| 82 |
+
|
| 83 |
+
class SupportsDiv(Protocol):
|
| 84 |
+
def __div__(self: T, __other: T) -> T:
|
| 85 |
+
...
|
| 86 |
+
|
| 87 |
+
|
| 88 |
+
class BaseMetadata:
|
| 89 |
+
"""Base class for all metadata.
|
| 90 |
+
|
| 91 |
+
This exists mainly so that implementers
|
| 92 |
+
can do `isinstance(..., BaseMetadata)` while traversing field annotations.
|
| 93 |
+
"""
|
| 94 |
+
|
| 95 |
+
__slots__ = ()
|
| 96 |
+
|
| 97 |
+
|
| 98 |
+
@dataclass(frozen=True, **SLOTS)
|
| 99 |
+
class Gt(BaseMetadata):
|
| 100 |
+
"""Gt(gt=x) implies that the value must be greater than x.
|
| 101 |
+
|
| 102 |
+
It can be used with any type that supports the ``>`` operator,
|
| 103 |
+
including numbers, dates and times, strings, sets, and so on.
|
| 104 |
+
"""
|
| 105 |
+
|
| 106 |
+
gt: SupportsGt
|
| 107 |
+
|
| 108 |
+
|
| 109 |
+
@dataclass(frozen=True, **SLOTS)
|
| 110 |
+
class Ge(BaseMetadata):
|
| 111 |
+
"""Ge(ge=x) implies that the value must be greater than or equal to x.
|
| 112 |
+
|
| 113 |
+
It can be used with any type that supports the ``>=`` operator,
|
| 114 |
+
including numbers, dates and times, strings, sets, and so on.
|
| 115 |
+
"""
|
| 116 |
+
|
| 117 |
+
ge: SupportsGe
|
| 118 |
+
|
| 119 |
+
|
| 120 |
+
@dataclass(frozen=True, **SLOTS)
|
| 121 |
+
class Lt(BaseMetadata):
|
| 122 |
+
"""Lt(lt=x) implies that the value must be less than x.
|
| 123 |
+
|
| 124 |
+
It can be used with any type that supports the ``<`` operator,
|
| 125 |
+
including numbers, dates and times, strings, sets, and so on.
|
| 126 |
+
"""
|
| 127 |
+
|
| 128 |
+
lt: SupportsLt
|
| 129 |
+
|
| 130 |
+
|
| 131 |
+
@dataclass(frozen=True, **SLOTS)
|
| 132 |
+
class Le(BaseMetadata):
|
| 133 |
+
"""Le(le=x) implies that the value must be less than or equal to x.
|
| 134 |
+
|
| 135 |
+
It can be used with any type that supports the ``<=`` operator,
|
| 136 |
+
including numbers, dates and times, strings, sets, and so on.
|
| 137 |
+
"""
|
| 138 |
+
|
| 139 |
+
le: SupportsLe
|
| 140 |
+
|
| 141 |
+
|
| 142 |
+
@runtime_checkable
|
| 143 |
+
class GroupedMetadata(Protocol):
|
| 144 |
+
"""A grouping of multiple BaseMetadata objects.
|
| 145 |
+
|
| 146 |
+
`GroupedMetadata` on its own is not metadata and has no meaning.
|
| 147 |
+
All it the the constraint and metadata should be fully expressable
|
| 148 |
+
in terms of the `BaseMetadata`'s returned by `GroupedMetadata.__iter__()`.
|
| 149 |
+
|
| 150 |
+
Concrete implementations should override `GroupedMetadata.__iter__()`
|
| 151 |
+
to add their own metadata.
|
| 152 |
+
For example:
|
| 153 |
+
|
| 154 |
+
>>> @dataclass
|
| 155 |
+
>>> class Field(GroupedMetadata):
|
| 156 |
+
>>> gt: float | None = None
|
| 157 |
+
>>> description: str | None = None
|
| 158 |
+
...
|
| 159 |
+
>>> def __iter__(self) -> Iterable[BaseMetadata]:
|
| 160 |
+
>>> if self.gt is not None:
|
| 161 |
+
>>> yield Gt(self.gt)
|
| 162 |
+
>>> if self.description is not None:
|
| 163 |
+
>>> yield Description(self.gt)
|
| 164 |
+
|
| 165 |
+
Also see the implementation of `Interval` below for an example.
|
| 166 |
+
|
| 167 |
+
Parsers should recognize this and unpack it so that it can be used
|
| 168 |
+
both with and without unpacking:
|
| 169 |
+
|
| 170 |
+
- `Annotated[int, Field(...)]` (parser must unpack Field)
|
| 171 |
+
- `Annotated[int, *Field(...)]` (PEP-646)
|
| 172 |
+
""" # noqa: trailing-whitespace
|
| 173 |
+
|
| 174 |
+
@property
|
| 175 |
+
def __is_annotated_types_grouped_metadata__(self) -> Literal[True]:
|
| 176 |
+
return True
|
| 177 |
+
|
| 178 |
+
def __iter__(self) -> Iterator[BaseMetadata]:
|
| 179 |
+
...
|
| 180 |
+
|
| 181 |
+
if not TYPE_CHECKING:
|
| 182 |
+
__slots__ = () # allow subclasses to use slots
|
| 183 |
+
|
| 184 |
+
def __init_subclass__(cls, *args: Any, **kwargs: Any) -> None:
|
| 185 |
+
# Basic ABC like functionality without the complexity of an ABC
|
| 186 |
+
super().__init_subclass__(*args, **kwargs)
|
| 187 |
+
if cls.__iter__ is GroupedMetadata.__iter__:
|
| 188 |
+
raise TypeError("Can't subclass GroupedMetadata without implementing __iter__")
|
| 189 |
+
|
| 190 |
+
def __iter__(self) -> Iterator[BaseMetadata]: # noqa: F811
|
| 191 |
+
raise NotImplementedError # more helpful than "None has no attribute..." type errors
|
| 192 |
+
|
| 193 |
+
|
| 194 |
+
@dataclass(frozen=True, **KW_ONLY, **SLOTS)
|
| 195 |
+
class Interval(GroupedMetadata):
|
| 196 |
+
"""Interval can express inclusive or exclusive bounds with a single object.
|
| 197 |
+
|
| 198 |
+
It accepts keyword arguments ``gt``, ``ge``, ``lt``, and/or ``le``, which
|
| 199 |
+
are interpreted the same way as the single-bound constraints.
|
| 200 |
+
"""
|
| 201 |
+
|
| 202 |
+
gt: Union[SupportsGt, None] = None
|
| 203 |
+
ge: Union[SupportsGe, None] = None
|
| 204 |
+
lt: Union[SupportsLt, None] = None
|
| 205 |
+
le: Union[SupportsLe, None] = None
|
| 206 |
+
|
| 207 |
+
def __iter__(self) -> Iterator[BaseMetadata]:
|
| 208 |
+
"""Unpack an Interval into zero or more single-bounds."""
|
| 209 |
+
if self.gt is not None:
|
| 210 |
+
yield Gt(self.gt)
|
| 211 |
+
if self.ge is not None:
|
| 212 |
+
yield Ge(self.ge)
|
| 213 |
+
if self.lt is not None:
|
| 214 |
+
yield Lt(self.lt)
|
| 215 |
+
if self.le is not None:
|
| 216 |
+
yield Le(self.le)
|
| 217 |
+
|
| 218 |
+
|
| 219 |
+
@dataclass(frozen=True, **SLOTS)
|
| 220 |
+
class MultipleOf(BaseMetadata):
|
| 221 |
+
"""MultipleOf(multiple_of=x) might be interpreted in two ways:
|
| 222 |
+
|
| 223 |
+
1. Python semantics, implying ``value % multiple_of == 0``, or
|
| 224 |
+
2. JSONschema semantics, where ``int(value / multiple_of) == value / multiple_of``
|
| 225 |
+
|
| 226 |
+
We encourage users to be aware of these two common interpretations,
|
| 227 |
+
and libraries to carefully document which they implement.
|
| 228 |
+
"""
|
| 229 |
+
|
| 230 |
+
multiple_of: Union[SupportsDiv, SupportsMod]
|
| 231 |
+
|
| 232 |
+
|
| 233 |
+
@dataclass(frozen=True, **SLOTS)
|
| 234 |
+
class MinLen(BaseMetadata):
|
| 235 |
+
"""
|
| 236 |
+
MinLen() implies minimum inclusive length,
|
| 237 |
+
e.g. ``len(value) >= min_length``.
|
| 238 |
+
"""
|
| 239 |
+
|
| 240 |
+
min_length: Annotated[int, Ge(0)]
|
| 241 |
+
|
| 242 |
+
|
| 243 |
+
@dataclass(frozen=True, **SLOTS)
|
| 244 |
+
class MaxLen(BaseMetadata):
|
| 245 |
+
"""
|
| 246 |
+
MaxLen() implies maximum inclusive length,
|
| 247 |
+
e.g. ``len(value) <= max_length``.
|
| 248 |
+
"""
|
| 249 |
+
|
| 250 |
+
max_length: Annotated[int, Ge(0)]
|
| 251 |
+
|
| 252 |
+
|
| 253 |
+
@dataclass(frozen=True, **SLOTS)
|
| 254 |
+
class Len(GroupedMetadata):
|
| 255 |
+
"""
|
| 256 |
+
Len() implies that ``min_length <= len(value) <= max_length``.
|
| 257 |
+
|
| 258 |
+
Upper bound may be omitted or ``None`` to indicate no upper length bound.
|
| 259 |
+
"""
|
| 260 |
+
|
| 261 |
+
min_length: Annotated[int, Ge(0)] = 0
|
| 262 |
+
max_length: Optional[Annotated[int, Ge(0)]] = None
|
| 263 |
+
|
| 264 |
+
def __iter__(self) -> Iterator[BaseMetadata]:
|
| 265 |
+
"""Unpack a Len into zone or more single-bounds."""
|
| 266 |
+
if self.min_length > 0:
|
| 267 |
+
yield MinLen(self.min_length)
|
| 268 |
+
if self.max_length is not None:
|
| 269 |
+
yield MaxLen(self.max_length)
|
| 270 |
+
|
| 271 |
+
|
| 272 |
+
@dataclass(frozen=True, **SLOTS)
|
| 273 |
+
class Timezone(BaseMetadata):
|
| 274 |
+
"""Timezone(tz=...) requires a datetime to be aware (or ``tz=None``, naive).
|
| 275 |
+
|
| 276 |
+
``Annotated[datetime, Timezone(None)]`` must be a naive datetime.
|
| 277 |
+
``Timezone[...]`` (the ellipsis literal) expresses that the datetime must be
|
| 278 |
+
tz-aware but any timezone is allowed.
|
| 279 |
+
|
| 280 |
+
You may also pass a specific timezone string or timezone object such as
|
| 281 |
+
``Timezone(timezone.utc)`` or ``Timezone("Africa/Abidjan")`` to express that
|
| 282 |
+
you only allow a specific timezone, though we note that this is often
|
| 283 |
+
a symptom of poor design.
|
| 284 |
+
"""
|
| 285 |
+
|
| 286 |
+
tz: Union[str, timezone, EllipsisType, None]
|
| 287 |
+
|
| 288 |
+
|
| 289 |
+
@dataclass(frozen=True, **SLOTS)
|
| 290 |
+
class Predicate(BaseMetadata):
|
| 291 |
+
"""``Predicate(func: Callable)`` implies `func(value)` is truthy for valid values.
|
| 292 |
+
|
| 293 |
+
Users should prefer statically inspectable metadata, but if you need the full
|
| 294 |
+
power and flexibility of arbitrary runtime predicates... here it is.
|
| 295 |
+
|
| 296 |
+
We provide a few predefined predicates for common string constraints:
|
| 297 |
+
``IsLower = Predicate(str.islower)``, ``IsUpper = Predicate(str.isupper)``, and
|
| 298 |
+
``IsDigit = Predicate(str.isdigit)``. Users are encouraged to use methods which
|
| 299 |
+
can be given special handling, and avoid indirection like ``lambda s: s.lower()``.
|
| 300 |
+
|
| 301 |
+
Some libraries might have special logic to handle certain predicates, e.g. by
|
| 302 |
+
checking for `str.isdigit` and using its presence to both call custom logic to
|
| 303 |
+
enforce digit-only strings, and customise some generated external schema.
|
| 304 |
+
|
| 305 |
+
We do not specify what behaviour should be expected for predicates that raise
|
| 306 |
+
an exception. For example `Annotated[int, Predicate(str.isdigit)]` might silently
|
| 307 |
+
skip invalid constraints, or statically raise an error; or it might try calling it
|
| 308 |
+
and then propogate or discard the resulting exception.
|
| 309 |
+
"""
|
| 310 |
+
|
| 311 |
+
func: Callable[[Any], bool]
|
| 312 |
+
|
| 313 |
+
|
| 314 |
+
StrType = TypeVar("StrType", bound=str)
|
| 315 |
+
|
| 316 |
+
LowerCase = Annotated[StrType, Predicate(str.islower)]
|
| 317 |
+
UpperCase = Annotated[StrType, Predicate(str.isupper)]
|
| 318 |
+
IsDigits = Annotated[StrType, Predicate(str.isdigit)]
|
| 319 |
+
IsAscii = Annotated[StrType, Predicate(str.isascii)]
|
myenv/Lib/site-packages/annotated_types/__pycache__/__init__.cpython-310.pyc
ADDED
|
Binary file (11.7 kB). View file
|
|
|
myenv/Lib/site-packages/annotated_types/__pycache__/test_cases.cpython-310.pyc
ADDED
|
Binary file (5.09 kB). View file
|
|
|
myenv/Lib/site-packages/annotated_types/py.typed
ADDED
|
File without changes
|
myenv/Lib/site-packages/annotated_types/test_cases.py
ADDED
|
@@ -0,0 +1,133 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import sys
|
| 2 |
+
from datetime import date, datetime, timedelta, timezone
|
| 3 |
+
from decimal import Decimal
|
| 4 |
+
from typing import Any, Dict, Iterable, Iterator, List, NamedTuple, Set, Tuple
|
| 5 |
+
|
| 6 |
+
if sys.version_info < (3, 9):
|
| 7 |
+
from typing_extensions import Annotated
|
| 8 |
+
else:
|
| 9 |
+
from typing import Annotated
|
| 10 |
+
|
| 11 |
+
import annotated_types as at
|
| 12 |
+
|
| 13 |
+
|
| 14 |
+
class Case(NamedTuple):
|
| 15 |
+
"""
|
| 16 |
+
A test case for `annotated_types`.
|
| 17 |
+
"""
|
| 18 |
+
|
| 19 |
+
annotation: Any
|
| 20 |
+
valid_cases: Iterable[Any]
|
| 21 |
+
invalid_cases: Iterable[Any]
|
| 22 |
+
|
| 23 |
+
|
| 24 |
+
def cases() -> Iterable[Case]:
|
| 25 |
+
# Gt, Ge, Lt, Le
|
| 26 |
+
yield Case(Annotated[int, at.Gt(4)], (5, 6, 1000), (4, 0, -1))
|
| 27 |
+
yield Case(Annotated[float, at.Gt(0.5)], (0.6, 0.7, 0.8, 0.9), (0.5, 0.0, -0.1))
|
| 28 |
+
yield Case(
|
| 29 |
+
Annotated[datetime, at.Gt(datetime(2000, 1, 1))],
|
| 30 |
+
[datetime(2000, 1, 2), datetime(2000, 1, 3)],
|
| 31 |
+
[datetime(2000, 1, 1), datetime(1999, 12, 31)],
|
| 32 |
+
)
|
| 33 |
+
yield Case(
|
| 34 |
+
Annotated[datetime, at.Gt(date(2000, 1, 1))],
|
| 35 |
+
[date(2000, 1, 2), date(2000, 1, 3)],
|
| 36 |
+
[date(2000, 1, 1), date(1999, 12, 31)],
|
| 37 |
+
)
|
| 38 |
+
yield Case(
|
| 39 |
+
Annotated[datetime, at.Gt(Decimal('1.123'))],
|
| 40 |
+
[Decimal('1.1231'), Decimal('123')],
|
| 41 |
+
[Decimal('1.123'), Decimal('0')],
|
| 42 |
+
)
|
| 43 |
+
|
| 44 |
+
yield Case(Annotated[int, at.Ge(4)], (4, 5, 6, 1000, 4), (0, -1))
|
| 45 |
+
yield Case(Annotated[float, at.Ge(0.5)], (0.5, 0.6, 0.7, 0.8, 0.9), (0.4, 0.0, -0.1))
|
| 46 |
+
yield Case(
|
| 47 |
+
Annotated[datetime, at.Ge(datetime(2000, 1, 1))],
|
| 48 |
+
[datetime(2000, 1, 2), datetime(2000, 1, 3)],
|
| 49 |
+
[datetime(1998, 1, 1), datetime(1999, 12, 31)],
|
| 50 |
+
)
|
| 51 |
+
|
| 52 |
+
yield Case(Annotated[int, at.Lt(4)], (0, -1), (4, 5, 6, 1000, 4))
|
| 53 |
+
yield Case(Annotated[float, at.Lt(0.5)], (0.4, 0.0, -0.1), (0.5, 0.6, 0.7, 0.8, 0.9))
|
| 54 |
+
yield Case(
|
| 55 |
+
Annotated[datetime, at.Lt(datetime(2000, 1, 1))],
|
| 56 |
+
[datetime(1999, 12, 31), datetime(1999, 12, 31)],
|
| 57 |
+
[datetime(2000, 1, 2), datetime(2000, 1, 3)],
|
| 58 |
+
)
|
| 59 |
+
|
| 60 |
+
yield Case(Annotated[int, at.Le(4)], (4, 0, -1), (5, 6, 1000))
|
| 61 |
+
yield Case(Annotated[float, at.Le(0.5)], (0.5, 0.0, -0.1), (0.6, 0.7, 0.8, 0.9))
|
| 62 |
+
yield Case(
|
| 63 |
+
Annotated[datetime, at.Le(datetime(2000, 1, 1))],
|
| 64 |
+
[datetime(2000, 1, 1), datetime(1999, 12, 31)],
|
| 65 |
+
[datetime(2000, 1, 2), datetime(2000, 1, 3)],
|
| 66 |
+
)
|
| 67 |
+
|
| 68 |
+
# Interval
|
| 69 |
+
yield Case(Annotated[int, at.Interval(gt=4)], (5, 6, 1000), (4, 0, -1))
|
| 70 |
+
yield Case(Annotated[int, at.Interval(gt=4, lt=10)], (5, 6), (4, 10, 1000, 0, -1))
|
| 71 |
+
yield Case(Annotated[float, at.Interval(ge=0.5, le=1)], (0.5, 0.9, 1), (0.49, 1.1))
|
| 72 |
+
yield Case(
|
| 73 |
+
Annotated[datetime, at.Interval(gt=datetime(2000, 1, 1), le=datetime(2000, 1, 3))],
|
| 74 |
+
[datetime(2000, 1, 2), datetime(2000, 1, 3)],
|
| 75 |
+
[datetime(2000, 1, 1), datetime(2000, 1, 4)],
|
| 76 |
+
)
|
| 77 |
+
|
| 78 |
+
yield Case(Annotated[int, at.MultipleOf(multiple_of=3)], (0, 3, 9), (1, 2, 4))
|
| 79 |
+
yield Case(Annotated[float, at.MultipleOf(multiple_of=0.5)], (0, 0.5, 1, 1.5), (0.4, 1.1))
|
| 80 |
+
|
| 81 |
+
# lengths
|
| 82 |
+
|
| 83 |
+
yield Case(Annotated[str, at.MinLen(3)], ('123', '1234', 'x' * 10), ('', '1', '12'))
|
| 84 |
+
yield Case(Annotated[str, at.Len(3)], ('123', '1234', 'x' * 10), ('', '1', '12'))
|
| 85 |
+
yield Case(Annotated[List[int], at.MinLen(3)], ([1, 2, 3], [1, 2, 3, 4], [1] * 10), ([], [1], [1, 2]))
|
| 86 |
+
yield Case(Annotated[List[int], at.Len(3)], ([1, 2, 3], [1, 2, 3, 4], [1] * 10), ([], [1], [1, 2]))
|
| 87 |
+
|
| 88 |
+
yield Case(Annotated[str, at.MaxLen(4)], ('', '1234'), ('12345', 'x' * 10))
|
| 89 |
+
yield Case(Annotated[str, at.Len(0, 4)], ('', '1234'), ('12345', 'x' * 10))
|
| 90 |
+
yield Case(Annotated[List[str], at.MaxLen(4)], ([], ['a', 'bcdef'], ['a', 'b', 'c']), (['a'] * 5, ['b'] * 10))
|
| 91 |
+
yield Case(Annotated[List[str], at.Len(0, 4)], ([], ['a', 'bcdef'], ['a', 'b', 'c']), (['a'] * 5, ['b'] * 10))
|
| 92 |
+
|
| 93 |
+
yield Case(Annotated[str, at.Len(3, 5)], ('123', '12345'), ('', '1', '12', '123456', 'x' * 10))
|
| 94 |
+
yield Case(Annotated[str, at.Len(3, 3)], ('123',), ('12', '1234'))
|
| 95 |
+
|
| 96 |
+
yield Case(Annotated[Dict[int, int], at.Len(2, 3)], [{1: 1, 2: 2}], [{}, {1: 1}, {1: 1, 2: 2, 3: 3, 4: 4}])
|
| 97 |
+
yield Case(Annotated[Set[int], at.Len(2, 3)], ({1, 2}, {1, 2, 3}), (set(), {1}, {1, 2, 3, 4}))
|
| 98 |
+
yield Case(Annotated[Tuple[int, ...], at.Len(2, 3)], ((1, 2), (1, 2, 3)), ((), (1,), (1, 2, 3, 4)))
|
| 99 |
+
|
| 100 |
+
# Timezone
|
| 101 |
+
|
| 102 |
+
yield Case(
|
| 103 |
+
Annotated[datetime, at.Timezone(None)], [datetime(2000, 1, 1)], [datetime(2000, 1, 1, tzinfo=timezone.utc)]
|
| 104 |
+
)
|
| 105 |
+
yield Case(
|
| 106 |
+
Annotated[datetime, at.Timezone(...)], [datetime(2000, 1, 1, tzinfo=timezone.utc)], [datetime(2000, 1, 1)]
|
| 107 |
+
)
|
| 108 |
+
yield Case(
|
| 109 |
+
Annotated[datetime, at.Timezone(timezone.utc)],
|
| 110 |
+
[datetime(2000, 1, 1, tzinfo=timezone.utc)],
|
| 111 |
+
[datetime(2000, 1, 1), datetime(2000, 1, 1, tzinfo=timezone(timedelta(hours=6)))],
|
| 112 |
+
)
|
| 113 |
+
yield Case(
|
| 114 |
+
Annotated[datetime, at.Timezone('Europe/London')],
|
| 115 |
+
[datetime(2000, 1, 1, tzinfo=timezone(timedelta(0), name='Europe/London'))],
|
| 116 |
+
[datetime(2000, 1, 1), datetime(2000, 1, 1, tzinfo=timezone(timedelta(hours=6)))],
|
| 117 |
+
)
|
| 118 |
+
|
| 119 |
+
# predicate types
|
| 120 |
+
|
| 121 |
+
yield Case(at.LowerCase[str], ['abc', 'foobar'], ['', 'A', 'Boom'])
|
| 122 |
+
yield Case(at.UpperCase[str], ['ABC', 'DEFO'], ['', 'a', 'abc', 'AbC'])
|
| 123 |
+
yield Case(at.IsDigits[str], ['123'], ['', 'ab', 'a1b2'])
|
| 124 |
+
yield Case(at.IsAscii[str], ['123', 'foo bar'], ['£100', '😊', 'whatever 👀'])
|
| 125 |
+
|
| 126 |
+
yield Case(Annotated[int, at.Predicate(lambda x: x % 2 == 0)], [0, 2, 4], [1, 3, 5])
|
| 127 |
+
|
| 128 |
+
# custom GroupedMetadata
|
| 129 |
+
class MyCustomGroupedMetadata(at.GroupedMetadata):
|
| 130 |
+
def __iter__(self) -> Iterator[at.Predicate]:
|
| 131 |
+
yield at.Predicate(lambda x: float(x).is_integer())
|
| 132 |
+
|
| 133 |
+
yield Case(Annotated[float, MyCustomGroupedMetadata()], [0, 2.0], [0.01, 1.5])
|
myenv/Lib/site-packages/argilla-1.1.1.dist-info/INSTALLER
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
pip
|
myenv/Lib/site-packages/argilla-1.1.1.dist-info/LICENSE
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Apache License
|
| 2 |
+
Version 2.0, January 2004
|
| 3 |
+
http://www.apache.org/licenses/
|
| 4 |
+
|
| 5 |
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
| 6 |
+
|
| 7 |
+
1. Definitions.
|
| 8 |
+
|
| 9 |
+
"License" shall mean the terms and conditions for use, reproduction,
|
| 10 |
+
and distribution as defined by Sections 1 through 9 of this document.
|
| 11 |
+
|
| 12 |
+
"Licensor" shall mean the copyright owner or entity authorized by
|
| 13 |
+
the copyright owner that is granting the License.
|
| 14 |
+
|
| 15 |
+
"Legal Entity" shall mean the union of the acting entity and all
|
| 16 |
+
other entities that control, are controlled by, or are under common
|
| 17 |
+
control with that entity. For the purposes of this definition,
|
| 18 |
+
"control" means (i) the power, direct or indirect, to cause the
|
| 19 |
+
direction or management of such entity, whether by contract or
|
| 20 |
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
| 21 |
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
| 22 |
+
|
| 23 |
+
"You" (or "Your") shall mean an individual or Legal Entity
|
| 24 |
+
exercising permissions granted by this License.
|
| 25 |
+
|
| 26 |
+
"Source" form shall mean the preferred form for making modifications,
|
| 27 |
+
including but not limited to software source code, documentation
|
| 28 |
+
source, and configuration files.
|
| 29 |
+
|
| 30 |
+
"Object" form shall mean any form resulting from mechanical
|
| 31 |
+
transformation or translation of a Source form, including but
|
| 32 |
+
not limited to compiled object code, generated documentation,
|
| 33 |
+
and conversions to other media types.
|
| 34 |
+
|
| 35 |
+
"Work" shall mean the work of authorship, whether in Source or
|
| 36 |
+
Object form, made available under the License, as indicated by a
|
| 37 |
+
copyright notice that is included in or attached to the work
|
| 38 |
+
(an example is provided in the Appendix below).
|
| 39 |
+
|
| 40 |
+
"Derivative Works" shall mean any work, whether in Source or Object
|
| 41 |
+
form, that is based on (or derived from) the Work and for which the
|
| 42 |
+
editorial revisions, annotations, elaborations, or other modifications
|
| 43 |
+
represent, as a whole, an original work of authorship. For the purposes
|
| 44 |
+
of this License, Derivative Works shall not include works that remain
|
| 45 |
+
separable from, or merely link (or bind by name) to the interfaces of,
|
| 46 |
+
the Work and Derivative Works thereof.
|
| 47 |
+
|
| 48 |
+
"Contribution" shall mean any work of authorship, including
|
| 49 |
+
the original version of the Work and any modifications or additions
|
| 50 |
+
to that Work or Derivative Works thereof, that is intentionally
|
| 51 |
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
| 52 |
+
or by an individual or Legal Entity authorized to submit on behalf of
|
| 53 |
+
the copyright owner. For the purposes of this definition, "submitted"
|
| 54 |
+
means any form of electronic, verbal, or written communication sent
|
| 55 |
+
to the Licensor or its representatives, including but not limited to
|
| 56 |
+
communication on electronic mailing lists, source code control systems,
|
| 57 |
+
and issue tracking systems that are managed by, or on behalf of, the
|
| 58 |
+
Licensor for the purpose of discussing and improving the Work, but
|
| 59 |
+
excluding communication that is conspicuously marked or otherwise
|
| 60 |
+
designated in writing by the copyright owner as "Not a Contribution."
|
| 61 |
+
|
| 62 |
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
| 63 |
+
on behalf of whom a Contribution has been received by Licensor and
|
| 64 |
+
subsequently incorporated within the Work.
|
| 65 |
+
|
| 66 |
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
| 67 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 68 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 69 |
+
copyright license to reproduce, prepare Derivative Works of,
|
| 70 |
+
publicly display, publicly perform, sublicense, and distribute the
|
| 71 |
+
Work and such Derivative Works in Source or Object form.
|
| 72 |
+
|
| 73 |
+
3. Grant of Patent License. Subject to the terms and conditions of
|
| 74 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 75 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 76 |
+
(except as stated in this section) patent license to make, have made,
|
| 77 |
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
| 78 |
+
where such license applies only to those patent claims licensable
|
| 79 |
+
by such Contributor that are necessarily infringed by their
|
| 80 |
+
Contribution(s) alone or by combination of their Contribution(s)
|
| 81 |
+
with the Work to which such Contribution(s) was submitted. If You
|
| 82 |
+
institute patent litigation against any entity (including a
|
| 83 |
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
| 84 |
+
or a Contribution incorporated within the Work constitutes direct
|
| 85 |
+
or contributory patent infringement, then any patent licenses
|
| 86 |
+
granted to You under this License for that Work shall terminate
|
| 87 |
+
as of the date such litigation is filed.
|
| 88 |
+
|
| 89 |
+
4. Redistribution. You may reproduce and distribute copies of the
|
| 90 |
+
Work or Derivative Works thereof in any medium, with or without
|
| 91 |
+
modifications, and in Source or Object form, provided that You
|
| 92 |
+
meet the following conditions:
|
| 93 |
+
|
| 94 |
+
(a) You must give any other recipients of the Work or
|
| 95 |
+
Derivative Works a copy of this License; and
|
| 96 |
+
|
| 97 |
+
(b) You must cause any modified files to carry prominent notices
|
| 98 |
+
stating that You changed the files; and
|
| 99 |
+
|
| 100 |
+
(c) You must retain, in the Source form of any Derivative Works
|
| 101 |
+
that You distribute, all copyright, patent, trademark, and
|
| 102 |
+
attribution notices from the Source form of the Work,
|
| 103 |
+
excluding those notices that do not pertain to any part of
|
| 104 |
+
the Derivative Works; and
|
| 105 |
+
|
| 106 |
+
(d) If the Work includes a "NOTICE" text file as part of its
|
| 107 |
+
distribution, then any Derivative Works that You distribute must
|
| 108 |
+
include a readable copy of the attribution notices contained
|
| 109 |
+
within such NOTICE file, excluding those notices that do not
|
| 110 |
+
pertain to any part of the Derivative Works, in at least one
|
| 111 |
+
of the following places: within a NOTICE text file distributed
|
| 112 |
+
as part of the Derivative Works; within the Source form or
|
| 113 |
+
documentation, if provided along with the Derivative Works; or,
|
| 114 |
+
within a display generated by the Derivative Works, if and
|
| 115 |
+
wherever such third-party notices normally appear. The contents
|
| 116 |
+
of the NOTICE file are for informational purposes only and
|
| 117 |
+
do not modify the License. You may add Your own attribution
|
| 118 |
+
notices within Derivative Works that You distribute, alongside
|
| 119 |
+
or as an addendum to the NOTICE text from the Work, provided
|
| 120 |
+
that such additional attribution notices cannot be construed
|
| 121 |
+
as modifying the License.
|
| 122 |
+
|
| 123 |
+
You may add Your own copyright statement to Your modifications and
|
| 124 |
+
may provide additional or different license terms and conditions
|
| 125 |
+
for use, reproduction, or distribution of Your modifications, or
|
| 126 |
+
for any such Derivative Works as a whole, provided Your use,
|
| 127 |
+
reproduction, and distribution of the Work otherwise complies with
|
| 128 |
+
the conditions stated in this License.
|
| 129 |
+
|
| 130 |
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
| 131 |
+
any Contribution intentionally submitted for inclusion in the Work
|
| 132 |
+
by You to the Licensor shall be under the terms and conditions of
|
| 133 |
+
this License, without any additional terms or conditions.
|
| 134 |
+
Notwithstanding the above, nothing herein shall supersede or modify
|
| 135 |
+
the terms of any separate license agreement you may have executed
|
| 136 |
+
with Licensor regarding such Contributions.
|
| 137 |
+
|
| 138 |
+
6. Trademarks. This License does not grant permission to use the trade
|
| 139 |
+
names, trademarks, service marks, or product names of the Licensor,
|
| 140 |
+
except as required for reasonable and customary use in describing the
|
| 141 |
+
origin of the Work and reproducing the content of the NOTICE file.
|
| 142 |
+
|
| 143 |
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
| 144 |
+
agreed to in writing, Licensor provides the Work (and each
|
| 145 |
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
| 146 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
| 147 |
+
implied, including, without limitation, any warranties or conditions
|
| 148 |
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
| 149 |
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
| 150 |
+
appropriateness of using or redistributing the Work and assume any
|
| 151 |
+
risks associated with Your exercise of permissions under this License.
|
| 152 |
+
|
| 153 |
+
8. Limitation of Liability. In no event and under no legal theory,
|
| 154 |
+
whether in tort (including negligence), contract, or otherwise,
|
| 155 |
+
unless required by applicable law (such as deliberate and grossly
|
| 156 |
+
negligent acts) or agreed to in writing, shall any Contributor be
|
| 157 |
+
liable to You for damages, including any direct, indirect, special,
|
| 158 |
+
incidental, or consequential damages of any character arising as a
|
| 159 |
+
result of this License or out of the use or inability to use the
|
| 160 |
+
Work (including but not limited to damages for loss of goodwill,
|
| 161 |
+
work stoppage, computer failure or malfunction, or any and all
|
| 162 |
+
other commercial damages or losses), even if such Contributor
|
| 163 |
+
has been advised of the possibility of such damages.
|
| 164 |
+
|
| 165 |
+
9. Accepting Warranty or Additional Liability. While redistributing
|
| 166 |
+
the Work or Derivative Works thereof, You may choose to offer,
|
| 167 |
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
| 168 |
+
or other liability obligations and/or rights consistent with this
|
| 169 |
+
License. However, in accepting such obligations, You may act only
|
| 170 |
+
on Your own behalf and on Your sole responsibility, not on behalf
|
| 171 |
+
of any other Contributor, and only if You agree to indemnify,
|
| 172 |
+
defend, and hold each Contributor harmless for any liability
|
| 173 |
+
incurred by, or claims asserted against, such Contributor by reason
|
| 174 |
+
of your accepting any such warranty or additional liability.
|
| 175 |
+
|
| 176 |
+
END OF TERMS AND CONDITIONS
|
| 177 |
+
|
| 178 |
+
APPENDIX: How to apply the Apache License to your work.
|
| 179 |
+
|
| 180 |
+
To apply the Apache License to your work, attach the following
|
| 181 |
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
| 182 |
+
replaced with your own identifying information. (Don't include
|
| 183 |
+
the brackets!) The text should be enclosed in the appropriate
|
| 184 |
+
comment syntax for the file format. We also recommend that a
|
| 185 |
+
file or class name and description of purpose be included on the
|
| 186 |
+
same "printed page" as the copyright notice for easier
|
| 187 |
+
identification within third-party archives.
|
| 188 |
+
|
| 189 |
+
Copyright [2021] [Recognai S.L.]
|
| 190 |
+
|
| 191 |
+
Licensed under the Apache License, Version 2.0 (the "License");
|
| 192 |
+
you may not use this file except in compliance with the License.
|
| 193 |
+
You may obtain a copy of the License at
|
| 194 |
+
|
| 195 |
+
http://www.apache.org/licenses/LICENSE-2.0
|
| 196 |
+
|
| 197 |
+
Unless required by applicable law or agreed to in writing, software
|
| 198 |
+
distributed under the License is distributed on an "AS IS" BASIS,
|
| 199 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| 200 |
+
See the License for the specific language governing permissions and
|
| 201 |
+
limitations under the License.
|
myenv/Lib/site-packages/argilla-1.1.1.dist-info/METADATA
ADDED
|
@@ -0,0 +1,288 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Metadata-Version: 2.1
|
| 2 |
+
Name: argilla
|
| 3 |
+
Version: 1.1.1
|
| 4 |
+
Summary: Open-source tool for exploring, labeling, and monitoring data for NLP projects.
|
| 5 |
+
Author-email: recognai <contact@recogn.ai>
|
| 6 |
+
Maintainer-email: recognai <contact@recogn.ai>
|
| 7 |
+
License: Apache-2.0
|
| 8 |
+
Project-URL: homepage, https://www.argilla.io
|
| 9 |
+
Project-URL: documentation, https://docs.argilla.io
|
| 10 |
+
Project-URL: repository, https://github.com/argilla-io/argilla
|
| 11 |
+
Keywords: data-science,natural-language-processing,text-labeling,data-annotation,artificial-intelligence,knowledged-graph,developers-tools,human-in-the-loop,mlops
|
| 12 |
+
Requires-Python: >=3.7
|
| 13 |
+
Description-Content-Type: text/markdown
|
| 14 |
+
License-File: LICENSE
|
| 15 |
+
Requires-Dist: httpx (~=0.15.0)
|
| 16 |
+
Requires-Dist: deprecated (~=1.2.0)
|
| 17 |
+
Requires-Dist: packaging (>=20.0)
|
| 18 |
+
Requires-Dist: pandas (<2.0.0,>=1.0.0)
|
| 19 |
+
Requires-Dist: pydantic (>=1.7.1)
|
| 20 |
+
Requires-Dist: wrapt (~=1.13.0)
|
| 21 |
+
Requires-Dist: numpy
|
| 22 |
+
Requires-Dist: tqdm (>=4.27.0)
|
| 23 |
+
Requires-Dist: backoff
|
| 24 |
+
Requires-Dist: monotonic
|
| 25 |
+
Provides-Extra: listeners
|
| 26 |
+
Requires-Dist: schedule (~=1.1.0) ; extra == 'listeners'
|
| 27 |
+
Requires-Dist: prodict (~=0.8.0) ; extra == 'listeners'
|
| 28 |
+
Provides-Extra: server
|
| 29 |
+
Requires-Dist: fastapi (~=0.75.0) ; extra == 'server'
|
| 30 |
+
Requires-Dist: opensearch-py (~=1.0.0) ; extra == 'server'
|
| 31 |
+
Requires-Dist: uvicorn[standard] (<0.18.0,>=0.15.0) ; extra == 'server'
|
| 32 |
+
Requires-Dist: smart-open ; extra == 'server'
|
| 33 |
+
Requires-Dist: brotli-asgi (~=1.1.0) ; extra == 'server'
|
| 34 |
+
Requires-Dist: Deprecated (~=1.2.0) ; extra == 'server'
|
| 35 |
+
Requires-Dist: luqum (~=0.11.0) ; extra == 'server'
|
| 36 |
+
Requires-Dist: scikit-learn (>=0.24.2) ; extra == 'server'
|
| 37 |
+
Requires-Dist: stopwordsiso (~=0.6.1) ; extra == 'server'
|
| 38 |
+
Requires-Dist: aiofiles (~=0.6.0) ; extra == 'server'
|
| 39 |
+
Requires-Dist: PyYAML (~=5.4.1) ; extra == 'server'
|
| 40 |
+
Requires-Dist: python-multipart (~=0.0.5) ; extra == 'server'
|
| 41 |
+
Requires-Dist: python-jose[cryptography] (~=3.2.0) ; extra == 'server'
|
| 42 |
+
Requires-Dist: passlib[bcrypt] (~=1.7.4) ; extra == 'server'
|
| 43 |
+
Requires-Dist: psutil (~=5.8.0) ; extra == 'server'
|
| 44 |
+
Requires-Dist: segment-analytics-python (==2.2.0) ; extra == 'server'
|
| 45 |
+
|
| 46 |
+
|
| 47 |
+
<h1 align="center">
|
| 48 |
+
<a href=""><img src="https://github.com/dvsrepo/imgs/raw/main/rg.svg" alt="Argilla" width="150"></a>
|
| 49 |
+
<br>
|
| 50 |
+
Argilla
|
| 51 |
+
<br>
|
| 52 |
+
</h1>
|
| 53 |
+
<p align="center">
|
| 54 |
+
<a href="https://pypi.org/project/argilla/">
|
| 55 |
+
<img alt="CI" src="https://img.shields.io/pypi/v/argilla.svg?style=flat-square&logo=pypi&logoColor=white">
|
| 56 |
+
</a>
|
| 57 |
+
<!--a href="https://anaconda.org/conda-forge/rubrix">
|
| 58 |
+
<img alt="CI" src="https://img.shields.io/conda/vn/conda-forge/rubrix?logo=anaconda&style=flat&color=orange">
|
| 59 |
+
</!a-->
|
| 60 |
+
<img alt="Codecov" src="https://codecov.io/gh/argilla-io/argilla/branch/main/graph/badge.svg?token=VDVR29VOMG"/>
|
| 61 |
+
<a href="https://pepy.tech/project/argilla">
|
| 62 |
+
<img alt="CI" src="https://static.pepy.tech/personalized-badge/argilla?period=month&units=international_system&left_color=grey&right_color=blue&left_text=pypi%20downloads/month">
|
| 63 |
+
</a>
|
| 64 |
+
</p>
|
| 65 |
+
|
| 66 |
+
<h2 align="center">Open-source framework for data-centric NLP</h2>
|
| 67 |
+
<p align="center">Data Labeling + Data Curation + Inference Store</p>
|
| 68 |
+
<p align="center">Designed for MLOps & Feedback Loops</p>
|
| 69 |
+
|
| 70 |
+
|
| 71 |
+
https://user-images.githubusercontent.com/25269220/200496945-7efb11b8-19f3-4793-bb1d-d42132009cbb.mp4
|
| 72 |
+
|
| 73 |
+
<br>
|
| 74 |
+
|
| 75 |
+
<p align="center">
|
| 76 |
+
<a href="https://join.slack.com/t/rubrixworkspace/shared_invite/zt-whigkyjn-a3IUJLD7gDbTZ0rKlvcJ5g">
|
| 77 |
+
<img src="https://img.shields.io/badge/JOIN US ON SLACK-4A154B?style=for-the-badge&logo=slack&logoColor=white" />
|
| 78 |
+
</a>
|
| 79 |
+
<a href="https://linkedin.com/company/argilla-io">
|
| 80 |
+
<img src="https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white" />
|
| 81 |
+
</a>
|
| 82 |
+
<a href="https://twitter.com/argilla_io">
|
| 83 |
+
<img src="https://img.shields.io/badge/Twitter-1DA1F2?style=for-the-badge&logo=twitter&logoColor=white" />
|
| 84 |
+
</a>
|
| 85 |
+
</p>
|
| 86 |
+
|
| 87 |
+
<br>
|
| 88 |
+
|
| 89 |
+
<h3>
|
| 90 |
+
<p align="center">
|
| 91 |
+
<a href="https://docs.argilla.io">Documentation</a> | </span>
|
| 92 |
+
<a href="#key-features">Key Features</a> <span> | </span>
|
| 93 |
+
<a href="#quickstart">Quickstart</a> <span> | </span>
|
| 94 |
+
<a href="#principles">Principles</a> | </span>
|
| 95 |
+
<a href="docs/_source/community/migration-rubrix.md">Migration from Rubrix</a> | </span>
|
| 96 |
+
<a href="#faq">FAQ</a>
|
| 97 |
+
</p>
|
| 98 |
+
</h3>
|
| 99 |
+
|
| 100 |
+
## Key Features
|
| 101 |
+
|
| 102 |
+
### Advanced NLP labeling
|
| 103 |
+
|
| 104 |
+
- Programmatic labeling using [weak supervision](https://docs.argilla.io/en/latest/guides/techniques/weak_supervision.html). Built-in label models (Snorkel, Flyingsquid)
|
| 105 |
+
- [Bulk-labeling](https://docs.argilla.io/en/latest/reference/webapp/features.html#bulk-annotate) and [search-driven annotation](https://docs.argilla.io/en/latest/guides/features/queries.html)
|
| 106 |
+
- Iterate on training data with any [pre-trained model](https://docs.argilla.io/en/latest/tutorials/libraries/huggingface.html) or [library](https://docs.argilla.io/en/latest/tutorials/libraries/libraries.html)
|
| 107 |
+
- Efficiently review and refine annotations in the UI and with Python
|
| 108 |
+
- Use Argilla built-in metrics and methods for [finding label and data errors (e.g., cleanlab)](https://docs.argilla.io/en/latest/tutorials/notebooks/monitoring-textclassification-cleanlab-explainability.html)
|
| 109 |
+
- Simple integration with [active learning workflows](https://docs.argilla.io/en/latest/tutorials/techniques/active_learning.html)
|
| 110 |
+
|
| 111 |
+
### Monitoring
|
| 112 |
+
|
| 113 |
+
- Close the gap between production data and data collection activities
|
| 114 |
+
- [Auto-monitoring](https://docs.argilla.io/en/latest/guides/steps/3_deploying.html) for [major NLP libraries and pipelines](https://docs.argilla.io/en/latest/tutorials/libraries/libraries.html) (spaCy, Hugging Face, FlairNLP)
|
| 115 |
+
- [ASGI middleware](https://docs.argilla.io/en/latest/tutorials/notebooks/deploying-texttokenclassification-fastapi.html) for HTTP endpoints
|
| 116 |
+
- Argilla Metrics to understand data and model issues, [like entity consistency for NER models](https://docs.argilla.io/en/latest/guides/steps/4_monitoring.html)
|
| 117 |
+
- Integrated with Kibana for custom dashboards
|
| 118 |
+
|
| 119 |
+
### Team workspaces
|
| 120 |
+
|
| 121 |
+
- Bring different users and roles into the NLP data and model lifecycles
|
| 122 |
+
- Organize data collection, review and monitoring into different [workspaces](https://docs.argilla.io/en/latest/getting_started/installation/user_management.html#workspace)
|
| 123 |
+
- Manage workspace access for different users
|
| 124 |
+
|
| 125 |
+
## Quickstart
|
| 126 |
+
Argilla is composed of a `Python Server` with Elasticsearch as the database layer, and a `Python Client` to create and manage datasets.
|
| 127 |
+
|
| 128 |
+
To get started you need to **install the client and the server** with `pip`:
|
| 129 |
+
```bash
|
| 130 |
+
|
| 131 |
+
pip install "argilla[server]"
|
| 132 |
+
|
| 133 |
+
```
|
| 134 |
+
|
| 135 |
+
Then you need to **run [Elasticsearch (ES)](https://www.elastic.co/elasticsearch)**.
|
| 136 |
+
|
| 137 |
+
The simplest way is to use`Docker` by running:
|
| 138 |
+
|
| 139 |
+
```bash
|
| 140 |
+
|
| 141 |
+
docker run -d --name es-for-argilla -p 9200:9200 -p 9300:9300 -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
|
| 142 |
+
|
| 143 |
+
```
|
| 144 |
+
> :information_source: **Check [the docs](https://docs.argilla.io/en/latest/getting_started/quickstart.html) for further options and configurations for Elasticsearch.**
|
| 145 |
+
|
| 146 |
+
Finally you can **launch the server**:
|
| 147 |
+
|
| 148 |
+
```bash
|
| 149 |
+
|
| 150 |
+
python -m argilla
|
| 151 |
+
|
| 152 |
+
```
|
| 153 |
+
> :information_source: The most common error message after this step is related to the Elasticsearch instance not running. Make sure your Elasticsearch instance is running on http://localhost:9200/. If you already have an Elasticsearch instance or cluster, you point the server to its URL by using [ENV variables](#)
|
| 154 |
+
|
| 155 |
+
|
| 156 |
+
🎉 You can now access Argilla UI pointing your browser at http://localhost:6900/.
|
| 157 |
+
|
| 158 |
+
**The default username and password are** `argilla` **and** `1234`.
|
| 159 |
+
|
| 160 |
+
Your workspace will contain no datasets. So let's use the `datasets` library to create our first datasets!
|
| 161 |
+
|
| 162 |
+
First, you need to install `datasets`:
|
| 163 |
+
```bash
|
| 164 |
+
|
| 165 |
+
pip install datasets
|
| 166 |
+
|
| 167 |
+
```
|
| 168 |
+
|
| 169 |
+
Then go to your Python IDE of choice and run:
|
| 170 |
+
```python
|
| 171 |
+
|
| 172 |
+
import pandas as pd
|
| 173 |
+
import argilla as rg
|
| 174 |
+
from datasets import load_dataset
|
| 175 |
+
|
| 176 |
+
# load dataset from the hub
|
| 177 |
+
dataset = load_dataset("argilla/gutenberg_spacy-ner", split="train")
|
| 178 |
+
|
| 179 |
+
# read in dataset, assuming its a dataset for text classification
|
| 180 |
+
dataset_rg = rg.read_datasets(dataset, task="TokenClassification")
|
| 181 |
+
|
| 182 |
+
# log the dataset to the Argilla web app
|
| 183 |
+
rg.log(dataset_rg, "gutenberg_spacy-ner")
|
| 184 |
+
|
| 185 |
+
# load dataset from json
|
| 186 |
+
my_dataframe = pd.read_json(
|
| 187 |
+
"https://raw.githubusercontent.com/recognai/datasets/main/sst-sentimentclassification.json")
|
| 188 |
+
|
| 189 |
+
# convert pandas dataframe to DatasetForTextClassification
|
| 190 |
+
dataset_rg = rg.DatasetForTextClassification.from_pandas(my_dataframe)
|
| 191 |
+
|
| 192 |
+
# log the dataset to the Argilla web app
|
| 193 |
+
rg.log(dataset_rg, name="sst-sentimentclassification")
|
| 194 |
+
```
|
| 195 |
+
|
| 196 |
+
This will create two datasets which you can use to do a quick tour of the core features of Argilla.
|
| 197 |
+
|
| 198 |
+
> 🚒 **If you find issues, get direct support from the team and other community members on the [Slack Community](https://join.slack.com/t/rubrixworkspace/shared_invite/zt-whigkyjn-a3IUJLD7gDbTZ0rKlvcJ5g)**
|
| 199 |
+
|
| 200 |
+
For getting started with your own use cases, [go to the docs](https://docs.argilla.io).
|
| 201 |
+
## Principles
|
| 202 |
+
- **Open**: Argilla is free, open-source, and 100% compatible with major NLP libraries (Hugging Face transformers, spaCy, Stanford Stanza, Flair, etc.). In fact, you can **use and combine your preferred libraries** without implementing any specific interface.
|
| 203 |
+
|
| 204 |
+
|
| 205 |
+
|
| 206 |
+
- **End-to-end**: Most annotation tools treat data collection as a one-off activity at the beginning of each project. In real-world projects, data collection is a key activity of the iterative process of ML model development. Once a model goes into production, you want to monitor and analyze its predictions, and collect more data to improve your model over time. Argilla is designed to close this gap, enabling you to **iterate as much as you need**.
|
| 207 |
+
|
| 208 |
+
|
| 209 |
+
|
| 210 |
+
- **User and Developer Experience**: The key to sustainable NLP solutions is to make it easier for everyone to contribute to projects. _Domain experts_ should feel comfortable interpreting and annotating data. _Data scientists_ should feel free to experiment and iterate. _Engineers_ should feel in control of data pipelines. Argilla optimizes the experience for these core users to **make your teams more productive**.
|
| 211 |
+
|
| 212 |
+
|
| 213 |
+
|
| 214 |
+
- **Beyond hand-labeling**: Classical hand labeling workflows are costly and inefficient, but having humans-in-the-loop is essential. Easily combine hand-labeling with active learning, bulk-labeling, zero-shot models, and weak-supervision in **novel data annotation workflows**.
|
| 215 |
+
|
| 216 |
+
## FAQ
|
| 217 |
+
|
| 218 |
+
### What is Argilla?
|
| 219 |
+
Argilla is an open-source MLOps tool for building and managing data for Natural Language Processing.
|
| 220 |
+
|
| 221 |
+
### What can I use Argilla for?
|
| 222 |
+
Argilla is useful if you want to:
|
| 223 |
+
|
| 224 |
+
- create a dataset for training a model.
|
| 225 |
+
|
| 226 |
+
- evaluate and improve an existing model.
|
| 227 |
+
|
| 228 |
+
- monitor an existing model to improve it over time and gather more training data.
|
| 229 |
+
|
| 230 |
+
### What do I need to start using Argilla?
|
| 231 |
+
You need to have a running instance of Elasticsearch and install the Argilla Python library.
|
| 232 |
+
The library is used to read and write data into Argilla.
|
| 233 |
+
|
| 234 |
+
### How can I "upload" data into Argilla?
|
| 235 |
+
Currently, the only way to upload data into Argilla is by using the Python library.
|
| 236 |
+
|
| 237 |
+
This is based on the assumption that there's rarely a perfectly prepared dataset in the format expected by the data annotation tool.
|
| 238 |
+
|
| 239 |
+
Argilla is designed to enable fast iteration for users that are closer to data and models, namely data scientists and NLP/ML/Data engineers.
|
| 240 |
+
|
| 241 |
+
If you are familiar with libraries like Weights & Biases or MLFlow, you'll find Argilla `log` and `load` methods intuitive.
|
| 242 |
+
|
| 243 |
+
That said, Argilla gives you different shortcuts and utils to make loading data into Argilla a breeze, such as the ability to read datasets directly from the Hugging Face Hub.
|
| 244 |
+
|
| 245 |
+
In summary, the recommended process for uploading data into Argilla would be following:
|
| 246 |
+
|
| 247 |
+
1. Install Argilla Python library,
|
| 248 |
+
|
| 249 |
+
2. Open a Jupyter Notebook,
|
| 250 |
+
|
| 251 |
+
3. Make sure you have a Argilla server instance up and running,
|
| 252 |
+
|
| 253 |
+
4. Read your source dataset using Pandas, Hugging Face datasets, or any other library,
|
| 254 |
+
|
| 255 |
+
5. Do any data preparation, pre-processing, or pre-annotation with a pretrained model, and
|
| 256 |
+
|
| 257 |
+
6. Transform your dataset rows/records into Argilla records and log them into a dataset using `rb.log`. If your dataset is already loaded as a Hugging Face dataset, check the `read_datasets` method to make this process even simpler.
|
| 258 |
+
|
| 259 |
+
### How can I train a model
|
| 260 |
+
The training datasets created with Argilla are model agnostic.
|
| 261 |
+
|
| 262 |
+
You can choose one of many amazing frameworks to train your model, like [transformers](https://huggingface.co/docs/transformers/), [spaCy](https://spacy.io/), [flair](https://github.com/flairNLP/flair) or [sklearn](https://scikit-learn.org).
|
| 263 |
+
|
| 264 |
+
Check out our [deep dives](https://docs.argilla.io/en/latest/guides/guides.html) and our [tutorials](https://docs.argilla.io/en/latest/tutorials/tutorials.html) on how Argilla integrates with these frameworks.
|
| 265 |
+
|
| 266 |
+
|
| 267 |
+
If you want to train a Hugging Face transformer or spaCy NER model, we provide a neat shortcut to [prepare your dataset for training](https://docs.argilla.io/en/latest/guides/features/datasets.html#Prepare-dataset-for-training).
|
| 268 |
+
### Can Argilla share the Elasticsearch Instance/cluster?
|
| 269 |
+
Yes, you can use the same Elasticsearch instance/cluster for Argilla and other applications.
|
| 270 |
+
You only need to perform some configuration, check the Advanced installation guide in the docs.
|
| 271 |
+
### How to solve an exceeded flood-stage watermark in Elasticsearch?
|
| 272 |
+
By default, Elasticsearch is quite conservative regarding the disk space it is allowed to use.
|
| 273 |
+
|
| 274 |
+
If less than 5% of your disk is free, Elasticsearch can enforce a read-only block on every index, and as a consequence, Argilla stops working.
|
| 275 |
+
|
| 276 |
+
To solve this, you can simply increase the watermark by executing the following command in your terminal:
|
| 277 |
+
|
| 278 |
+
```bash
|
| 279 |
+
|
| 280 |
+
curl -X PUT "localhost:9200/_cluster/settings?pretty" -H 'Content-Type: application/json' -d'{"persistent": {"cluster.routing.allocation.disk.watermark.flood_stage":"99%"}}'
|
| 281 |
+
|
| 282 |
+
```
|
| 283 |
+
## Contributors
|
| 284 |
+
<a href="https://github.com/argilla-io/argilla/graphs/contributors">
|
| 285 |
+
|
| 286 |
+
<img src="https://contrib.rocks/image?repo=argilla-io/argilla" />
|
| 287 |
+
|
| 288 |
+
</a>
|
myenv/Lib/site-packages/argilla-1.1.1.dist-info/RECORD
ADDED
|
@@ -0,0 +1,548 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
argilla-1.1.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
| 2 |
+
argilla-1.1.1.dist-info/LICENSE,sha256=MxYj1zm-VQxD-Ie5bYSx8Pt7nmfTKDiDhPHn4WrsArw,11347
|
| 3 |
+
argilla-1.1.1.dist-info/METADATA,sha256=LdiwidsDvAcL-qrnI0yuumtvQ762LcYcxXz20GB355A,14045
|
| 4 |
+
argilla-1.1.1.dist-info/RECORD,,
|
| 5 |
+
argilla-1.1.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
| 6 |
+
argilla-1.1.1.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
|
| 7 |
+
argilla-1.1.1.dist-info/top_level.txt,sha256=jFmj1a2S04HZQtVslyW_SZZSEeMpRwjKQZDjuntG92E,8
|
| 8 |
+
argilla/__init__.py,sha256=kwVRn1roCHsvDEGwEMukyHuXjBFn1ikrM0N6hKtyUB0,3408
|
| 9 |
+
argilla/__main__.py,sha256=z4tvU2SpT0vlcmPj4bbEsayZJbEcUKOx7CYhqMzvJ64,784
|
| 10 |
+
argilla/__pycache__/__init__.cpython-310.pyc,,
|
| 11 |
+
argilla/__pycache__/__main__.cpython-310.pyc,,
|
| 12 |
+
argilla/__pycache__/_constants.cpython-310.pyc,,
|
| 13 |
+
argilla/__pycache__/_messages.cpython-310.pyc,,
|
| 14 |
+
argilla/__pycache__/_version.cpython-310.pyc,,
|
| 15 |
+
argilla/__pycache__/logging.cpython-310.pyc,,
|
| 16 |
+
argilla/_constants.py,sha256=OEf2QS3xjnH9pxhsmgNL1la_6fefJTmLSjLrx70hkX4,964
|
| 17 |
+
argilla/_messages.py,sha256=If2X4P5w8skauisb5a6tfEM8L6x88Q-SxtbvlhEE3f8,843
|
| 18 |
+
argilla/_version.py,sha256=IDgcM-53UBkQQMX4snTnXCnyzfRq8bJLkxrvS7vOiaA,641
|
| 19 |
+
argilla/client/__init__.py,sha256=fv3kReI2jeSpf8k5Dum9OhTeyfK3g1hV1lN-SzgBpHQ,622
|
| 20 |
+
argilla/client/__pycache__/__init__.cpython-310.pyc,,
|
| 21 |
+
argilla/client/__pycache__/api.cpython-310.pyc,,
|
| 22 |
+
argilla/client/__pycache__/datasets.cpython-310.pyc,,
|
| 23 |
+
argilla/client/__pycache__/models.cpython-310.pyc,,
|
| 24 |
+
argilla/client/api.py,sha256=-jjDUXVto3d1sRLakrnZSWSBBG7hf9VLvlLaaIByGfM,26707
|
| 25 |
+
argilla/client/apis/__init__.py,sha256=wvrDTDI21bdSWCUgygdP6RYOLipFAjBe4PQX9OHr01A,675
|
| 26 |
+
argilla/client/apis/__pycache__/__init__.cpython-310.pyc,,
|
| 27 |
+
argilla/client/apis/__pycache__/base.cpython-310.pyc,,
|
| 28 |
+
argilla/client/apis/__pycache__/datasets.cpython-310.pyc,,
|
| 29 |
+
argilla/client/apis/__pycache__/metrics.cpython-310.pyc,,
|
| 30 |
+
argilla/client/apis/__pycache__/searches.cpython-310.pyc,,
|
| 31 |
+
argilla/client/apis/__pycache__/status.cpython-310.pyc,,
|
| 32 |
+
argilla/client/apis/base.py,sha256=piyOeiJowGtv4xN-hzKQkcXLVwTo5-Y79hY5J9QCVCM,780
|
| 33 |
+
argilla/client/apis/datasets.py,sha256=QRy9ZdZwOkEVyfH00vY7aqaDNyz3-3X8Va0l2Nb-o7Y,8033
|
| 34 |
+
argilla/client/apis/metrics.py,sha256=tn21ZmqvVt3bH3zdnj6UBTk_ig_CMo0csoiPrBKg24M,1441
|
| 35 |
+
argilla/client/apis/searches.py,sha256=X0DiQCnm0n2pXXg3C1aJQGAHs35zqVgQ4t56EeRtZ6M,2637
|
| 36 |
+
argilla/client/apis/status.py,sha256=NxVO7gdxkdljCSvC7RhP_eJOIcBmk2ABpxOC5qq4K_c,2730
|
| 37 |
+
argilla/client/datasets.py,sha256=yrX1pM-v8UyYSLAdr-Tr-nRJ7j7DMqYmPAqTBoKgKV4,44936
|
| 38 |
+
argilla/client/metrics/__init__.py,sha256=SRbhemDWHXT8gN5xMWNgRgXqp4t3c3z6l1RF2KDkAz8,606
|
| 39 |
+
argilla/client/metrics/__pycache__/__init__.cpython-310.pyc,,
|
| 40 |
+
argilla/client/metrics/__pycache__/models.cpython-310.pyc,,
|
| 41 |
+
argilla/client/metrics/models.py,sha256=cZmaLXm43h3d2goFlN2NEw-ly0BLn2bH62D_uekvwO4,757
|
| 42 |
+
argilla/client/models.py,sha256=8MI2q53D-YWcRG9k0A3UWH49UFNVBFtxfWaUqIKzKSY,21069
|
| 43 |
+
argilla/client/sdk/__init__.py,sha256=fv3kReI2jeSpf8k5Dum9OhTeyfK3g1hV1lN-SzgBpHQ,622
|
| 44 |
+
argilla/client/sdk/__pycache__/__init__.cpython-310.pyc,,
|
| 45 |
+
argilla/client/sdk/__pycache__/_helpers.cpython-310.pyc,,
|
| 46 |
+
argilla/client/sdk/__pycache__/client.cpython-310.pyc,,
|
| 47 |
+
argilla/client/sdk/_helpers.py,sha256=Ieunq7_-FdD0yWlwFDQO2W8mg9erHaHkKjzjzoijcck,1792
|
| 48 |
+
argilla/client/sdk/client.py,sha256=wM87DhxbJSUx2eWxsQw3OcRLSuvoOC61Q39EB2VBu9c,5523
|
| 49 |
+
argilla/client/sdk/commons/__init__.py,sha256=fv3kReI2jeSpf8k5Dum9OhTeyfK3g1hV1lN-SzgBpHQ,622
|
| 50 |
+
argilla/client/sdk/commons/__pycache__/__init__.cpython-310.pyc,,
|
| 51 |
+
argilla/client/sdk/commons/__pycache__/api.cpython-310.pyc,,
|
| 52 |
+
argilla/client/sdk/commons/__pycache__/errors.cpython-310.pyc,,
|
| 53 |
+
argilla/client/sdk/commons/__pycache__/errors_handler.cpython-310.pyc,,
|
| 54 |
+
argilla/client/sdk/commons/__pycache__/models.cpython-310.pyc,,
|
| 55 |
+
argilla/client/sdk/commons/api.py,sha256=hJzNUlDXAu28ztqPw9bfrhfJw5eVhS_l4yDtDZqsaE4,5331
|
| 56 |
+
argilla/client/sdk/commons/errors.py,sha256=roo9sqhjoBsp62QrrK4duRBglzmZ-qMQ4Tu2V-3z-To,2562
|
| 57 |
+
argilla/client/sdk/commons/errors_handler.py,sha256=Roa9yGFi-J8aURP49gM9L5P8RwliwOEEd_dxBHzxImE,2261
|
| 58 |
+
argilla/client/sdk/commons/models.py,sha256=WCWvzFNc0irRZxKJjEP_gWk9ATRhyLYTfXLc9Ve9Xi4,2813
|
| 59 |
+
argilla/client/sdk/datasets/__init__.py,sha256=fv3kReI2jeSpf8k5Dum9OhTeyfK3g1hV1lN-SzgBpHQ,622
|
| 60 |
+
argilla/client/sdk/datasets/__pycache__/__init__.cpython-310.pyc,,
|
| 61 |
+
argilla/client/sdk/datasets/__pycache__/api.cpython-310.pyc,,
|
| 62 |
+
argilla/client/sdk/datasets/__pycache__/models.cpython-310.pyc,,
|
| 63 |
+
argilla/client/sdk/datasets/api.py,sha256=NKn2sy9UMsasQWgYhTRGDtIjwjxwzkuF0JAhngmVHMA,3068
|
| 64 |
+
argilla/client/sdk/datasets/models.py,sha256=T-_hSR92VqPGyJ80fzLFqKWnd3i2yLxhtWuTSC4-uIE,1616
|
| 65 |
+
argilla/client/sdk/metrics/__init__.py,sha256=SRbhemDWHXT8gN5xMWNgRgXqp4t3c3z6l1RF2KDkAz8,606
|
| 66 |
+
argilla/client/sdk/metrics/__pycache__/__init__.cpython-310.pyc,,
|
| 67 |
+
argilla/client/sdk/metrics/__pycache__/api.cpython-310.pyc,,
|
| 68 |
+
argilla/client/sdk/metrics/__pycache__/models.cpython-310.pyc,,
|
| 69 |
+
argilla/client/sdk/metrics/api.py,sha256=LhPv_qYkYavt9MjeKonrdzXcPJqUdXa8KTe87b2DIeI,2345
|
| 70 |
+
argilla/client/sdk/metrics/models.py,sha256=GvGlVYXJ_ddIh-FPIFyt9p54zq89A_oFHyfDe6nvU8M,987
|
| 71 |
+
argilla/client/sdk/text2text/__init__.py,sha256=fv3kReI2jeSpf8k5Dum9OhTeyfK3g1hV1lN-SzgBpHQ,622
|
| 72 |
+
argilla/client/sdk/text2text/__pycache__/__init__.cpython-310.pyc,,
|
| 73 |
+
argilla/client/sdk/text2text/__pycache__/api.cpython-310.pyc,,
|
| 74 |
+
argilla/client/sdk/text2text/__pycache__/models.cpython-310.pyc,,
|
| 75 |
+
argilla/client/sdk/text2text/api.py,sha256=8QPwW1_V776XlajxAJukJOZ4QBnwqV75g8hFXcXWAPA,1613
|
| 76 |
+
argilla/client/sdk/text2text/models.py,sha256=Kj_G6MPuTE3DigZCUoHm_8AfJt72WiBs3r3JMMsuSBs,3954
|
| 77 |
+
argilla/client/sdk/text_classification/__init__.py,sha256=fv3kReI2jeSpf8k5Dum9OhTeyfK3g1hV1lN-SzgBpHQ,622
|
| 78 |
+
argilla/client/sdk/text_classification/__pycache__/__init__.cpython-310.pyc,,
|
| 79 |
+
argilla/client/sdk/text_classification/__pycache__/api.cpython-310.pyc,,
|
| 80 |
+
argilla/client/sdk/text_classification/__pycache__/models.cpython-310.pyc,,
|
| 81 |
+
argilla/client/sdk/text_classification/api.py,sha256=WrwMTPq3p2MMEvw8hWA9Yhs2WC3aVUHmGnD-tNoZhf4,4620
|
| 82 |
+
argilla/client/sdk/text_classification/models.py,sha256=9iv3pVcrhZOwTuJwaTYSkoaNHRDgBdH5Zwo7AyPaaUQ,6469
|
| 83 |
+
argilla/client/sdk/token_classification/__init__.py,sha256=fv3kReI2jeSpf8k5Dum9OhTeyfK3g1hV1lN-SzgBpHQ,622
|
| 84 |
+
argilla/client/sdk/token_classification/__pycache__/__init__.cpython-310.pyc,,
|
| 85 |
+
argilla/client/sdk/token_classification/__pycache__/api.cpython-310.pyc,,
|
| 86 |
+
argilla/client/sdk/token_classification/__pycache__/models.cpython-310.pyc,,
|
| 87 |
+
argilla/client/sdk/token_classification/api.py,sha256=0ZjbwSvdGXaExONss_6814y_ugCFO43klHbiwJ8xEuY,1726
|
| 88 |
+
argilla/client/sdk/token_classification/models.py,sha256=Vf1Te504OBkWleD8e1aD3EVb3nEGY36MBFU2WUwzaVY,4957
|
| 89 |
+
argilla/client/sdk/users/__init__.py,sha256=SRbhemDWHXT8gN5xMWNgRgXqp4t3c3z6l1RF2KDkAz8,606
|
| 90 |
+
argilla/client/sdk/users/__pycache__/__init__.cpython-310.pyc,,
|
| 91 |
+
argilla/client/sdk/users/__pycache__/api.cpython-310.pyc,,
|
| 92 |
+
argilla/client/sdk/users/__pycache__/models.cpython-310.pyc,,
|
| 93 |
+
argilla/client/sdk/users/api.py,sha256=9X6wN_W9B9FIn4B8RNPfEdtD7-kxpCkEREpPZKZTPjs,920
|
| 94 |
+
argilla/client/sdk/users/models.py,sha256=N1najPhfcjzZ76USeSzVT6A1Iw_yO1tw-UW_M6foGpI,880
|
| 95 |
+
argilla/datasets/__init__.py,sha256=zKRDq2VBJU3DISsBoTiWqaoJrxWd_OOyY7p5VhSjbNM,1289
|
| 96 |
+
argilla/datasets/__pycache__/__init__.cpython-310.pyc,,
|
| 97 |
+
argilla/labeling/__init__.py,sha256=fv3kReI2jeSpf8k5Dum9OhTeyfK3g1hV1lN-SzgBpHQ,622
|
| 98 |
+
argilla/labeling/__pycache__/__init__.cpython-310.pyc,,
|
| 99 |
+
argilla/labeling/text_classification/__init__.py,sha256=SnR2hBniZMs0CGEEJ_bWEimd5xE_EnDkwcf5wEhfuyw,856
|
| 100 |
+
argilla/labeling/text_classification/__pycache__/__init__.cpython-310.pyc,,
|
| 101 |
+
argilla/labeling/text_classification/__pycache__/label_errors.cpython-310.pyc,,
|
| 102 |
+
argilla/labeling/text_classification/__pycache__/label_models.cpython-310.pyc,,
|
| 103 |
+
argilla/labeling/text_classification/__pycache__/rule.cpython-310.pyc,,
|
| 104 |
+
argilla/labeling/text_classification/__pycache__/weak_labels.cpython-310.pyc,,
|
| 105 |
+
argilla/labeling/text_classification/label_errors.py,sha256=epQuOonhdGRBtRwuczMNIe4XyxKxVwCdKasqNwlwMUY,8694
|
| 106 |
+
argilla/labeling/text_classification/label_models.py,sha256=Q1uXjS4zJJkR8iAe684RiAUD6m9yxDGxiTa7SCq0RD0,43085
|
| 107 |
+
argilla/labeling/text_classification/rule.py,sha256=nLrrZDqUfrf_FFkL49mQYRa61OKZWBZhf-AqSU9Z2cI,7742
|
| 108 |
+
argilla/labeling/text_classification/weak_labels.py,sha256=xNKK65nYxdJ5qUAH2P7sVqUEEzNtc3sAdCiEQcTgJBY,48094
|
| 109 |
+
argilla/listeners/__init__.py,sha256=POKAD5BrIKTpJnmgePvcnQ9cHvEaWvKbq80cTf3qOus,712
|
| 110 |
+
argilla/listeners/__pycache__/__init__.cpython-310.pyc,,
|
| 111 |
+
argilla/listeners/__pycache__/listener.cpython-310.pyc,,
|
| 112 |
+
argilla/listeners/__pycache__/models.cpython-310.pyc,,
|
| 113 |
+
argilla/listeners/listener.py,sha256=lp1rpLgkhHHamcqnVI3qJk8dDRaOyANpZm3831u9N0M,9607
|
| 114 |
+
argilla/listeners/models.py,sha256=3ETsI8JIan09jfF4svY8uJv3eNjQ3rv5yhf-EtXNJNk,2668
|
| 115 |
+
argilla/logging.py,sha256=HH6YuvyQsInpCe2opnRPLijCBXgQ0thapwxCUoPp7DU,3694
|
| 116 |
+
argilla/metrics/__init__.py,sha256=4vaPS-zzCfJK6pnvR3b62Lp8ScifJrCeNyCj7QoqT18,1297
|
| 117 |
+
argilla/metrics/__pycache__/__init__.cpython-310.pyc,,
|
| 118 |
+
argilla/metrics/__pycache__/commons.cpython-310.pyc,,
|
| 119 |
+
argilla/metrics/__pycache__/helpers.cpython-310.pyc,,
|
| 120 |
+
argilla/metrics/__pycache__/models.cpython-310.pyc,,
|
| 121 |
+
argilla/metrics/commons.py,sha256=aSZ_Gn6I0N8tl0suzD0C_R5TSJtY3eiin_ihaX-iQB8,2650
|
| 122 |
+
argilla/metrics/helpers.py,sha256=fVWF3-zdIJgMcsadlvqWRlZ5ipPZ0X_Bmzmx4a5edbU,3934
|
| 123 |
+
argilla/metrics/models.py,sha256=aMdTNh2T_JvEdUnaQ55zxKRtV2TbU_cpwE6TYh41lno,1425
|
| 124 |
+
argilla/metrics/text_classification/__init__.py,sha256=m0ThWw3TF2JK1yeDfTRo5jFve7YpvJI0meTb7NINbZY,646
|
| 125 |
+
argilla/metrics/text_classification/__pycache__/__init__.cpython-310.pyc,,
|
| 126 |
+
argilla/metrics/text_classification/__pycache__/metrics.cpython-310.pyc,,
|
| 127 |
+
argilla/metrics/text_classification/metrics.py,sha256=ovPeFVq4a9NbiyYjtgEhIO7JAXlnc7uU6IEHpFIJyPY,2530
|
| 128 |
+
argilla/metrics/token_classification/__init__.py,sha256=nHmreO-v2p1Qdmk6wH-7CaanQV5rz9iRIJBfRbdGuik,898
|
| 129 |
+
argilla/metrics/token_classification/__pycache__/__init__.cpython-310.pyc,,
|
| 130 |
+
argilla/metrics/token_classification/__pycache__/metrics.cpython-310.pyc,,
|
| 131 |
+
argilla/metrics/token_classification/metrics.py,sha256=Cftj41NFk9WP24c9NEJzFpeYbfrgINl6i2Vp2cXBEIU,16551
|
| 132 |
+
argilla/monitoring/__init__.py,sha256=SRbhemDWHXT8gN5xMWNgRgXqp4t3c3z6l1RF2KDkAz8,606
|
| 133 |
+
argilla/monitoring/__pycache__/__init__.cpython-310.pyc,,
|
| 134 |
+
argilla/monitoring/__pycache__/_flair.cpython-310.pyc,,
|
| 135 |
+
argilla/monitoring/__pycache__/_spacy.cpython-310.pyc,,
|
| 136 |
+
argilla/monitoring/__pycache__/_transformers.cpython-310.pyc,,
|
| 137 |
+
argilla/monitoring/__pycache__/asgi.cpython-310.pyc,,
|
| 138 |
+
argilla/monitoring/__pycache__/base.cpython-310.pyc,,
|
| 139 |
+
argilla/monitoring/__pycache__/model_monitor.cpython-310.pyc,,
|
| 140 |
+
argilla/monitoring/__pycache__/types.cpython-310.pyc,,
|
| 141 |
+
argilla/monitoring/_flair.py,sha256=o8im43X4DrtbAl-VNN3HeQOYLkgJxijURx3Dir-a-TI,3133
|
| 142 |
+
argilla/monitoring/_spacy.py,sha256=qxLu_czd_zzbpKSaRr8Dyb_og-mYCxj8HO_3jT0tYHg,3642
|
| 143 |
+
argilla/monitoring/_transformers.py,sha256=gf8m3JaZS31H3Qlg0-_2vcopRioHB0bMRrvTR4Ki9A0,6728
|
| 144 |
+
argilla/monitoring/asgi.py,sha256=1_Gs7TRQxptJSif_olvuJ6m0RB1PSU0TB6Ujp6BASr0,8040
|
| 145 |
+
argilla/monitoring/base.py,sha256=CYB5rQ451lEzrP9pSq2nvA8O_zZDQhILG-xFyA15Eq4,6743
|
| 146 |
+
argilla/monitoring/model_monitor.py,sha256=KnDEE7FMNxiULzV9_G45wMOKVTuYX-nIufgmdzMHPjY,2087
|
| 147 |
+
argilla/monitoring/types.py,sha256=ZmIjfVLPnQwmUczw60qrizIJI9LMYF768HL3QvjtBRM,636
|
| 148 |
+
argilla/server/__init__.py,sha256=fv3kReI2jeSpf8k5Dum9OhTeyfK3g1hV1lN-SzgBpHQ,622
|
| 149 |
+
argilla/server/__main__.py,sha256=JH-8yYt0NTT0zCy2Y1FYZBG0sWRQ8tWlvcv1fAJFxUo,1019
|
| 150 |
+
argilla/server/__pycache__/__init__.cpython-310.pyc,,
|
| 151 |
+
argilla/server/__pycache__/__main__.cpython-310.pyc,,
|
| 152 |
+
argilla/server/__pycache__/app.cpython-310.pyc,,
|
| 153 |
+
argilla/server/__pycache__/helpers.cpython-310.pyc,,
|
| 154 |
+
argilla/server/__pycache__/routes.cpython-310.pyc,,
|
| 155 |
+
argilla/server/__pycache__/server.cpython-310.pyc,,
|
| 156 |
+
argilla/server/__pycache__/settings.cpython-310.pyc,,
|
| 157 |
+
argilla/server/__pycache__/static_rewrite.cpython-310.pyc,,
|
| 158 |
+
argilla/server/apis/__init__.py,sha256=SRbhemDWHXT8gN5xMWNgRgXqp4t3c3z6l1RF2KDkAz8,606
|
| 159 |
+
argilla/server/apis/__pycache__/__init__.cpython-310.pyc,,
|
| 160 |
+
argilla/server/apis/v0/__init__.py,sha256=SRbhemDWHXT8gN5xMWNgRgXqp4t3c3z6l1RF2KDkAz8,606
|
| 161 |
+
argilla/server/apis/v0/__pycache__/__init__.cpython-310.pyc,,
|
| 162 |
+
argilla/server/apis/v0/__pycache__/helpers.cpython-310.pyc,,
|
| 163 |
+
argilla/server/apis/v0/handlers/__init__.py,sha256=SRbhemDWHXT8gN5xMWNgRgXqp4t3c3z6l1RF2KDkAz8,606
|
| 164 |
+
argilla/server/apis/v0/handlers/__pycache__/__init__.cpython-310.pyc,,
|
| 165 |
+
argilla/server/apis/v0/handlers/__pycache__/datasets.cpython-310.pyc,,
|
| 166 |
+
argilla/server/apis/v0/handlers/__pycache__/info.cpython-310.pyc,,
|
| 167 |
+
argilla/server/apis/v0/handlers/__pycache__/metrics.cpython-310.pyc,,
|
| 168 |
+
argilla/server/apis/v0/handlers/__pycache__/records_deletion.cpython-310.pyc,,
|
| 169 |
+
argilla/server/apis/v0/handlers/__pycache__/text2text.cpython-310.pyc,,
|
| 170 |
+
argilla/server/apis/v0/handlers/__pycache__/text_classification.cpython-310.pyc,,
|
| 171 |
+
argilla/server/apis/v0/handlers/__pycache__/text_classification_dataset_settings.cpython-310.pyc,,
|
| 172 |
+
argilla/server/apis/v0/handlers/__pycache__/token_classification.cpython-310.pyc,,
|
| 173 |
+
argilla/server/apis/v0/handlers/__pycache__/token_classification_dataset_settings.cpython-310.pyc,,
|
| 174 |
+
argilla/server/apis/v0/handlers/__pycache__/users.cpython-310.pyc,,
|
| 175 |
+
argilla/server/apis/v0/handlers/datasets.py,sha256=ktcNzxdVH_JlkPgEELsvNe3DDvOY9rjBvizYk-UZTAk,6065
|
| 176 |
+
argilla/server/apis/v0/handlers/info.py,sha256=Y83C4wHlYc25nzPg_h42PCXe7hkWzxfVBWmkTfhqj1Y,1215
|
| 177 |
+
argilla/server/apis/v0/handlers/metrics.py,sha256=S6o3JRV1Ypn2HvoBhCGdchCReo417hUyPUKK-EZ3pe0,4416
|
| 178 |
+
argilla/server/apis/v0/handlers/records_deletion.py,sha256=RnE04Xya8kkj8I1RARcIcVZcc-ivCfug9lpubQ1PI1o,2832
|
| 179 |
+
argilla/server/apis/v0/handlers/text2text.py,sha256=OLhfKtiL-wDuJhUkydmutPz-hZ3UJ_4pWCRHJh8x6Ak,8903
|
| 180 |
+
argilla/server/apis/v0/handlers/text_classification.py,sha256=Q9e2XxOHjY9HvNa8kmsHZOwZEBWCw6fsXP9RsIGwaJU,19183
|
| 181 |
+
argilla/server/apis/v0/handlers/text_classification_dataset_settings.py,sha256=yd3AtMP3xxTGxoXOQ3VqE8szyQpOEQzBd8xO5hAR5ig,5051
|
| 182 |
+
argilla/server/apis/v0/handlers/token_classification.py,sha256=ZDCQNy6BkOlTkUkj5gS5xBOOe6gphcs89Y_QhggxVBA,10092
|
| 183 |
+
argilla/server/apis/v0/handlers/token_classification_dataset_settings.py,sha256=Q1AihZU7u2dc-F_gRBz5PDNrUMpTNru41qwXoJBHoEo,5062
|
| 184 |
+
argilla/server/apis/v0/handlers/users.py,sha256=FQB_ck3l76gtkHh5gZiJcW_SqVSJ6pg_72206ogpmHU,1358
|
| 185 |
+
argilla/server/apis/v0/helpers.py,sha256=BbV_xfK1U8vFR-cgvmbb_gmzs1COl2Pqj5ijcL_2Uh8,1217
|
| 186 |
+
argilla/server/apis/v0/models/__init__.py,sha256=SRbhemDWHXT8gN5xMWNgRgXqp4t3c3z6l1RF2KDkAz8,606
|
| 187 |
+
argilla/server/apis/v0/models/__pycache__/__init__.cpython-310.pyc,,
|
| 188 |
+
argilla/server/apis/v0/models/__pycache__/dataset_settings.cpython-310.pyc,,
|
| 189 |
+
argilla/server/apis/v0/models/__pycache__/datasets.cpython-310.pyc,,
|
| 190 |
+
argilla/server/apis/v0/models/__pycache__/text2text.cpython-310.pyc,,
|
| 191 |
+
argilla/server/apis/v0/models/__pycache__/text_classification.cpython-310.pyc,,
|
| 192 |
+
argilla/server/apis/v0/models/__pycache__/token_classification.cpython-310.pyc,,
|
| 193 |
+
argilla/server/apis/v0/models/commons/__init__.py,sha256=SRbhemDWHXT8gN5xMWNgRgXqp4t3c3z6l1RF2KDkAz8,606
|
| 194 |
+
argilla/server/apis/v0/models/commons/__pycache__/__init__.cpython-310.pyc,,
|
| 195 |
+
argilla/server/apis/v0/models/commons/__pycache__/model.cpython-310.pyc,,
|
| 196 |
+
argilla/server/apis/v0/models/commons/__pycache__/params.cpython-310.pyc,,
|
| 197 |
+
argilla/server/apis/v0/models/commons/model.py,sha256=1ZoL3RZUO1Y1EW1oIhC6KQGIcch2JC9Lo5bBQeYKgwc,1895
|
| 198 |
+
argilla/server/apis/v0/models/commons/params.py,sha256=8I3aodrknpjhRp3nzM1zYMooZGOpLGAKC8KwNUrKtpY,2458
|
| 199 |
+
argilla/server/apis/v0/models/dataset_settings.py,sha256=l7AFu0b4_uRHPE_b1SmB0L4k4AbNmSF5ZIqdposgQ-c,1818
|
| 200 |
+
argilla/server/apis/v0/models/datasets.py,sha256=bJvUNkHA7w-MMJcDwjJ8i1znFEEOzpQ3X8SO6EUFEYo,2059
|
| 201 |
+
argilla/server/apis/v0/models/text2text.py,sha256=s5pXh7eiK1QqQMadFUP8AlDDuyv-dvT-qN0zT6Ehn1c,2827
|
| 202 |
+
argilla/server/apis/v0/models/text_classification.py,sha256=dHZLDsyBg1nmyedOxgqf7A0c1DPmRNqAgr010Ig8IVI,5369
|
| 203 |
+
argilla/server/apis/v0/models/token_classification.py,sha256=W86cTn4ac2g9evWSM4pqqipmDA-Iq-emIRcl-rRlt6I,3475
|
| 204 |
+
argilla/server/apis/v0/validators/__init__.py,sha256=SRbhemDWHXT8gN5xMWNgRgXqp4t3c3z6l1RF2KDkAz8,606
|
| 205 |
+
argilla/server/apis/v0/validators/__pycache__/__init__.cpython-310.pyc,,
|
| 206 |
+
argilla/server/apis/v0/validators/__pycache__/text_classification.cpython-310.pyc,,
|
| 207 |
+
argilla/server/apis/v0/validators/__pycache__/token_classification.cpython-310.pyc,,
|
| 208 |
+
argilla/server/apis/v0/validators/text_classification.py,sha256=bGTrJ-FP6IkDXnFLApH_Htk_J2d4XRa049yd9iGWf9k,4730
|
| 209 |
+
argilla/server/apis/v0/validators/token_classification.py,sha256=c68UkP2e4G1_MZGMr4kNrzZ0rMG0XWLt-LML-MjxXrw,4648
|
| 210 |
+
argilla/server/app.py,sha256=QWok3EBlz4Vtmx6GS_KRiQOeelzj4rqMcE5a81LT-p4,1081
|
| 211 |
+
argilla/server/commons/__init__.py,sha256=SRbhemDWHXT8gN5xMWNgRgXqp4t3c3z6l1RF2KDkAz8,606
|
| 212 |
+
argilla/server/commons/__pycache__/__init__.cpython-310.pyc,,
|
| 213 |
+
argilla/server/commons/__pycache__/config.cpython-310.pyc,,
|
| 214 |
+
argilla/server/commons/__pycache__/models.cpython-310.pyc,,
|
| 215 |
+
argilla/server/commons/__pycache__/telemetry.cpython-310.pyc,,
|
| 216 |
+
argilla/server/commons/config.py,sha256=Bok1aYHPJqkS11QoocRoH2ePXUtUcMAbakqWzO4g-yc,3640
|
| 217 |
+
argilla/server/commons/models.py,sha256=Q-7wr9oBMVAUOAwKGWVhYOT5XeGGh-aPAIKU2YAB7Do,1078
|
| 218 |
+
argilla/server/commons/telemetry.py,sha256=ijDulaYw5iR2fQajNX2-u9iaeR1geGTW34ej9sXbfdQ,4171
|
| 219 |
+
argilla/server/daos/__init__.py,sha256=SRbhemDWHXT8gN5xMWNgRgXqp4t3c3z6l1RF2KDkAz8,606
|
| 220 |
+
argilla/server/daos/__pycache__/__init__.cpython-310.pyc,,
|
| 221 |
+
argilla/server/daos/__pycache__/datasets.cpython-310.pyc,,
|
| 222 |
+
argilla/server/daos/__pycache__/records.cpython-310.pyc,,
|
| 223 |
+
argilla/server/daos/backend/__init__.py,sha256=SRbhemDWHXT8gN5xMWNgRgXqp4t3c3z6l1RF2KDkAz8,606
|
| 224 |
+
argilla/server/daos/backend/__pycache__/__init__.cpython-310.pyc,,
|
| 225 |
+
argilla/server/daos/backend/__pycache__/elasticsearch.cpython-310.pyc,,
|
| 226 |
+
argilla/server/daos/backend/__pycache__/query_helpers.cpython-310.pyc,,
|
| 227 |
+
argilla/server/daos/backend/elasticsearch.py,sha256=vfSndrHNQTueBCY3FVaLiXNfBGoMPKejB8-S8n_RV1o,38175
|
| 228 |
+
argilla/server/daos/backend/mappings/__init__.py,sha256=SRbhemDWHXT8gN5xMWNgRgXqp4t3c3z6l1RF2KDkAz8,606
|
| 229 |
+
argilla/server/daos/backend/mappings/__pycache__/__init__.cpython-310.pyc,,
|
| 230 |
+
argilla/server/daos/backend/mappings/__pycache__/datasets.cpython-310.pyc,,
|
| 231 |
+
argilla/server/daos/backend/mappings/__pycache__/helpers.cpython-310.pyc,,
|
| 232 |
+
argilla/server/daos/backend/mappings/__pycache__/text2text.cpython-310.pyc,,
|
| 233 |
+
argilla/server/daos/backend/mappings/__pycache__/text_classification.cpython-310.pyc,,
|
| 234 |
+
argilla/server/daos/backend/mappings/__pycache__/token_classification.cpython-310.pyc,,
|
| 235 |
+
argilla/server/daos/backend/mappings/datasets.py,sha256=__oHtZzgsagJSS6-vJPk5Mtn7fuNyUIYt8uUopvGx5Y,1333
|
| 236 |
+
argilla/server/daos/backend/mappings/helpers.py,sha256=zsFc4GXpXa92k1qcVwTHWBj-u-nhK0Z3C4KYEpQ8SNU,6890
|
| 237 |
+
argilla/server/daos/backend/mappings/text2text.py,sha256=g_DCeNN2BU2WNPrBq3zQJQ3oUH7wVRr6lP_g3dSZOeI,1381
|
| 238 |
+
argilla/server/daos/backend/mappings/text_classification.py,sha256=GQGGDewE5SQ86MI5jnQRDDwDv6NqUBL0aFECv0flUJU,1905
|
| 239 |
+
argilla/server/daos/backend/mappings/token_classification.py,sha256=t3epkP6I6F-bCwsLpZ2K7LZv5O6YFDLl4hGdZUve0ZY,3225
|
| 240 |
+
argilla/server/daos/backend/metrics/__init__.py,sha256=h81rAaZh4jAr2ri4bsWUPYucqxLDyd_3nzHbqsTCVhQ,865
|
| 241 |
+
argilla/server/daos/backend/metrics/__pycache__/__init__.cpython-310.pyc,,
|
| 242 |
+
argilla/server/daos/backend/metrics/__pycache__/base.cpython-310.pyc,,
|
| 243 |
+
argilla/server/daos/backend/metrics/__pycache__/commons.cpython-310.pyc,,
|
| 244 |
+
argilla/server/daos/backend/metrics/__pycache__/datasets.cpython-310.pyc,,
|
| 245 |
+
argilla/server/daos/backend/metrics/__pycache__/text_classification.cpython-310.pyc,,
|
| 246 |
+
argilla/server/daos/backend/metrics/__pycache__/token_classification.cpython-310.pyc,,
|
| 247 |
+
argilla/server/daos/backend/metrics/base.py,sha256=HVGQIEtV0vE9gmrayMhELhXqU7RxdPaQf7zj66zLk-o,7135
|
| 248 |
+
argilla/server/daos/backend/metrics/commons.py,sha256=ThFKsarlhnUBnd9du7FkJufHM8hMK13iuni4os6NNzU,1823
|
| 249 |
+
argilla/server/daos/backend/metrics/datasets.py,sha256=y3VmDykiBqMT2CxttsAZ90rrA7hThaD7W2su7rQwcpg,819
|
| 250 |
+
argilla/server/daos/backend/metrics/text_classification.py,sha256=tiJjW9O6K33g7uALSBTTYP_qidcyX3yhQs_bhU1HR1g,5369
|
| 251 |
+
argilla/server/daos/backend/metrics/token_classification.py,sha256=dzBoKSGuhB3NqUEqcYUdWFB3DzUSr-1UzngYlTcKBFA,8688
|
| 252 |
+
argilla/server/daos/backend/query_helpers.py,sha256=wt6mbVFiiep5amoCHCT6-6BAONdQjy3-4yD0T3YTaUU,12975
|
| 253 |
+
argilla/server/daos/backend/search/__init__.py,sha256=SRbhemDWHXT8gN5xMWNgRgXqp4t3c3z6l1RF2KDkAz8,606
|
| 254 |
+
argilla/server/daos/backend/search/__pycache__/__init__.cpython-310.pyc,,
|
| 255 |
+
argilla/server/daos/backend/search/__pycache__/model.cpython-310.pyc,,
|
| 256 |
+
argilla/server/daos/backend/search/__pycache__/query_builder.cpython-310.pyc,,
|
| 257 |
+
argilla/server/daos/backend/search/model.py,sha256=OoM2yCypE1Xe3M-VjNGArxqmalVGqOOieJ7yRCS9cwE,2262
|
| 258 |
+
argilla/server/daos/backend/search/query_builder.py,sha256=gjp1F6KsVy-X2lLwFTXgw9mJuZKtUWtVpqGWqpF7iXA,8246
|
| 259 |
+
argilla/server/daos/datasets.py,sha256=n6IzTxdtpz1S9XBxgmA_LMxy-x_Z2Er0kjtmzYTGlPA,7561
|
| 260 |
+
argilla/server/daos/models/__init__.py,sha256=SRbhemDWHXT8gN5xMWNgRgXqp4t3c3z6l1RF2KDkAz8,606
|
| 261 |
+
argilla/server/daos/models/__pycache__/__init__.cpython-310.pyc,,
|
| 262 |
+
argilla/server/daos/models/__pycache__/datasets.cpython-310.pyc,,
|
| 263 |
+
argilla/server/daos/models/__pycache__/records.cpython-310.pyc,,
|
| 264 |
+
argilla/server/daos/models/datasets.py,sha256=g7JUjl2NxB2hvwv8JKvZ-EtEC4NF4tQeN_h7LXO6ljs,2117
|
| 265 |
+
argilla/server/daos/models/records.py,sha256=rcb2BvvNq-O1w2zkbhFttsxFGTL9Ke3f4MjraZCPZNo,7954
|
| 266 |
+
argilla/server/daos/records.py,sha256=6Lun1BcV4Ije1MPjAYBqgX_hEEEdS3mSdm69Titm5yg,6496
|
| 267 |
+
argilla/server/errors/__init__.py,sha256=U2_eC6QOoRB4tJlYAjr2YyADvKhiadMV83XjNAOUF8g,660
|
| 268 |
+
argilla/server/errors/__pycache__/__init__.cpython-310.pyc,,
|
| 269 |
+
argilla/server/errors/__pycache__/adapter.cpython-310.pyc,,
|
| 270 |
+
argilla/server/errors/__pycache__/api_errors.cpython-310.pyc,,
|
| 271 |
+
argilla/server/errors/__pycache__/base_errors.cpython-310.pyc,,
|
| 272 |
+
argilla/server/errors/__pycache__/task_errors.cpython-310.pyc,,
|
| 273 |
+
argilla/server/errors/adapter.py,sha256=D2DbuW_SIoZ_VX2z6KJoyG4oXP-o_OOxYTS-Q13RfbM,1259
|
| 274 |
+
argilla/server/errors/api_errors.py,sha256=PHnS76GwmbMP5BUVIoLJqqUi5Z5jvM-m4vRrArZK8WI,1756
|
| 275 |
+
argilla/server/errors/base_errors.py,sha256=3DdJ7MFGY6kUoy4GOlwgwTjbzlucdC6V8TqKA_McoEo,4889
|
| 276 |
+
argilla/server/errors/task_errors.py,sha256=mEwu5BdbJ1UTyjoKfbDhr5DsyCLCJhMKZB87eCbiJmA,812
|
| 277 |
+
argilla/server/helpers.py,sha256=P10VVtKRi8_4h4M5W3AroZGBbrfLPOcIGEhtIRv5bNw,3142
|
| 278 |
+
argilla/server/responses/__init__.py,sha256=h41ymjbH3yNRXEV8fSGxBsEcz683wi6m-yjzzA_BYwM,636
|
| 279 |
+
argilla/server/responses/__pycache__/__init__.cpython-310.pyc,,
|
| 280 |
+
argilla/server/responses/__pycache__/api_responses.cpython-310.pyc,,
|
| 281 |
+
argilla/server/responses/api_responses.py,sha256=Io__BKAXy3ew_DvxIoXjLI9yAuiEvj51fdv_GmruPV4,1324
|
| 282 |
+
argilla/server/routes.py,sha256=YGmtYQwJShQTrv323uWqxU9qnJ2E21jSENYXX9U37DU,1434
|
| 283 |
+
argilla/server/security/__init__.py,sha256=ZxgYL9Tw9HZdDdbwGkDsdZCtSR9hCn9J_n8Uqu-_9rk,649
|
| 284 |
+
argilla/server/security/__pycache__/__init__.cpython-310.pyc,,
|
| 285 |
+
argilla/server/security/__pycache__/factory.cpython-310.pyc,,
|
| 286 |
+
argilla/server/security/__pycache__/model.cpython-310.pyc,,
|
| 287 |
+
argilla/server/security/__pycache__/settings.cpython-310.pyc,,
|
| 288 |
+
argilla/server/security/auth_provider/__init__.py,sha256=Hdcc5uxwKmOAEfPM94LqGizG8k5SbsxWdwPqvctMZ8o,688
|
| 289 |
+
argilla/server/security/auth_provider/__pycache__/__init__.cpython-310.pyc,,
|
| 290 |
+
argilla/server/security/auth_provider/__pycache__/base.cpython-310.pyc,,
|
| 291 |
+
argilla/server/security/auth_provider/base.py,sha256=cG3d6YGpI3EHQEwECFA9hIP_qQ0lmi595shKflnlC78,1288
|
| 292 |
+
argilla/server/security/auth_provider/local/__init__.py,sha256=VMi57eDozsEcPOaNIL4M4CX8KUxBCysQo-C0UnUvZ6k,691
|
| 293 |
+
argilla/server/security/auth_provider/local/__pycache__/__init__.cpython-310.pyc,,
|
| 294 |
+
argilla/server/security/auth_provider/local/__pycache__/provider.cpython-310.pyc,,
|
| 295 |
+
argilla/server/security/auth_provider/local/__pycache__/settings.cpython-310.pyc,,
|
| 296 |
+
argilla/server/security/auth_provider/local/provider.py,sha256=baSAuIilXpKuk_LNlUN7vjIAMBQgRykgg5lRKZw-lls,5451
|
| 297 |
+
argilla/server/security/auth_provider/local/settings.py,sha256=NOuZUirXXq7URVvXotoCCOGVMq6oZ8R9pbCNr8-tdu4,1774
|
| 298 |
+
argilla/server/security/auth_provider/local/users/__init__.py,sha256=fv3kReI2jeSpf8k5Dum9OhTeyfK3g1hV1lN-SzgBpHQ,622
|
| 299 |
+
argilla/server/security/auth_provider/local/users/__pycache__/__init__.cpython-310.pyc,,
|
| 300 |
+
argilla/server/security/auth_provider/local/users/__pycache__/dao.cpython-310.pyc,,
|
| 301 |
+
argilla/server/security/auth_provider/local/users/__pycache__/model.cpython-310.pyc,,
|
| 302 |
+
argilla/server/security/auth_provider/local/users/__pycache__/service.cpython-310.pyc,,
|
| 303 |
+
argilla/server/security/auth_provider/local/users/__pycache__/settings.cpython-310.pyc,,
|
| 304 |
+
argilla/server/security/auth_provider/local/users/dao.py,sha256=91G9rmAcZL5juSMCKhY1j7OeP0nJ0FZm_IfueQtqoj4,2509
|
| 305 |
+
argilla/server/security/auth_provider/local/users/model.py,sha256=PXLLaydhJ_bSMgBoEddt8-7qg3WiyO8_BGJa_TNBLBc,767
|
| 306 |
+
argilla/server/security/auth_provider/local/users/service.py,sha256=hAOXASXSSLv_62V1jk5ZLbKw1znCjJjoMEIlmy0DLuY,3058
|
| 307 |
+
argilla/server/security/auth_provider/local/users/settings.py,sha256=S2_W9TDdKrwVIGSMRolxBds0GsVXsQeL42NENriHccM,898
|
| 308 |
+
argilla/server/security/factory.py,sha256=WJVBethIzxIG2iqEcyvketboUamMPwf9fllVY-XdlWQ,737
|
| 309 |
+
argilla/server/security/model.py,sha256=pSIeBBNPcb5cFrTgdatFN51vzWKXlwsmWgumcaJDYN4,3786
|
| 310 |
+
argilla/server/security/settings.py,sha256=fv3kReI2jeSpf8k5Dum9OhTeyfK3g1hV1lN-SzgBpHQ,622
|
| 311 |
+
argilla/server/server.py,sha256=0ZSO-7zdyM5TEq5wu8z4ieVgW2DArdhwcI5uh4Ne3tA,5407
|
| 312 |
+
argilla/server/services/__init__.py,sha256=SRbhemDWHXT8gN5xMWNgRgXqp4t3c3z6l1RF2KDkAz8,606
|
| 313 |
+
argilla/server/services/__pycache__/__init__.cpython-310.pyc,,
|
| 314 |
+
argilla/server/services/__pycache__/datasets.cpython-310.pyc,,
|
| 315 |
+
argilla/server/services/__pycache__/info.cpython-310.pyc,,
|
| 316 |
+
argilla/server/services/datasets.py,sha256=XxJODI9KKzbTLS3nZXV5V8s_u_6PLzDKHC5kZU8N1dk,8992
|
| 317 |
+
argilla/server/services/info.py,sha256=XZJGf-EeiAx9klfRSWyMzSnXrdV2_6drPJ7eJKlMx8w,2768
|
| 318 |
+
argilla/server/services/metrics/__init__.py,sha256=-kr8veWJAAjA6ocb4Kfz7cOE9m2Cv6qhRKfM7jqOk9M,702
|
| 319 |
+
argilla/server/services/metrics/__pycache__/__init__.cpython-310.pyc,,
|
| 320 |
+
argilla/server/services/metrics/__pycache__/models.cpython-310.pyc,,
|
| 321 |
+
argilla/server/services/metrics/__pycache__/service.cpython-310.pyc,,
|
| 322 |
+
argilla/server/services/metrics/models.py,sha256=Vg6fJh4Khztr8pnjTWdXENJFThuSTn_0Ewnp4ahsCR4,4753
|
| 323 |
+
argilla/server/services/metrics/service.py,sha256=jcxyVdXHdohmHTmwiPMzk3aQkrU9eZhQk9ySZU9KpX4,3072
|
| 324 |
+
argilla/server/services/search/__init__.py,sha256=SRbhemDWHXT8gN5xMWNgRgXqp4t3c3z6l1RF2KDkAz8,606
|
| 325 |
+
argilla/server/services/search/__pycache__/__init__.cpython-310.pyc,,
|
| 326 |
+
argilla/server/services/search/__pycache__/model.cpython-310.pyc,,
|
| 327 |
+
argilla/server/services/search/__pycache__/service.cpython-310.pyc,,
|
| 328 |
+
argilla/server/services/search/model.py,sha256=PEvXLTQBzkeq8PgStCKfLpjMHf_xhfLTJKXSf-SE4Qs,2159
|
| 329 |
+
argilla/server/services/search/service.py,sha256=t0oHxLQhkVUVPGflp-mIo_csgXamEG4GWJyKb6pc0sw,4108
|
| 330 |
+
argilla/server/services/storage/__init__.py,sha256=SRbhemDWHXT8gN5xMWNgRgXqp4t3c3z6l1RF2KDkAz8,606
|
| 331 |
+
argilla/server/services/storage/__pycache__/__init__.cpython-310.pyc,,
|
| 332 |
+
argilla/server/services/storage/__pycache__/service.cpython-310.pyc,,
|
| 333 |
+
argilla/server/services/storage/service.py,sha256=CuvJ5zH-DGz8pfcIF8xoi9tXiRGtDAPRgbg8QJKS5PE,3476
|
| 334 |
+
argilla/server/services/tasks/__init__.py,sha256=SRbhemDWHXT8gN5xMWNgRgXqp4t3c3z6l1RF2KDkAz8,606
|
| 335 |
+
argilla/server/services/tasks/__pycache__/__init__.cpython-310.pyc,,
|
| 336 |
+
argilla/server/services/tasks/commons/__init__.py,sha256=4W-9WyWZjs1eN5R3hAo9P5kOYJw7VornRp2pt_OfvIo,629
|
| 337 |
+
argilla/server/services/tasks/commons/__pycache__/__init__.cpython-310.pyc,,
|
| 338 |
+
argilla/server/services/tasks/commons/__pycache__/models.cpython-310.pyc,,
|
| 339 |
+
argilla/server/services/tasks/commons/models.py,sha256=x4Iub3-xerEmoXBEoT6_OpRCn8A5G4G7FZWrtTwErQs,1290
|
| 340 |
+
argilla/server/services/tasks/text2text/__init__.py,sha256=Nrz9mi5dYv476D1ezztUisAggH8ITIEBVXDDig6ucSA,645
|
| 341 |
+
argilla/server/services/tasks/text2text/__pycache__/__init__.cpython-310.pyc,,
|
| 342 |
+
argilla/server/services/tasks/text2text/__pycache__/models.cpython-310.pyc,,
|
| 343 |
+
argilla/server/services/tasks/text2text/__pycache__/service.cpython-310.pyc,,
|
| 344 |
+
argilla/server/services/tasks/text2text/models.py,sha256=jqZ5qd8s9MqOOc-VkD8g7xMdzXZEKVFeu0uu9HPHLE8,2894
|
| 345 |
+
argilla/server/services/tasks/text2text/service.py,sha256=ZK8VH6JimC6hlhPKsWkQva1fRZaTxPnRBp9c3qfFdMY,4399
|
| 346 |
+
argilla/server/services/tasks/text_classification/__init__.py,sha256=7D7pwhmLiLdpUgHpcR7nD7E-7j11ruyWagLx3Nkphlc,706
|
| 347 |
+
argilla/server/services/tasks/text_classification/__pycache__/__init__.cpython-310.pyc,,
|
| 348 |
+
argilla/server/services/tasks/text_classification/__pycache__/labeling_rules_service.cpython-310.pyc,,
|
| 349 |
+
argilla/server/services/tasks/text_classification/__pycache__/metrics.cpython-310.pyc,,
|
| 350 |
+
argilla/server/services/tasks/text_classification/__pycache__/model.cpython-310.pyc,,
|
| 351 |
+
argilla/server/services/tasks/text_classification/__pycache__/service.cpython-310.pyc,,
|
| 352 |
+
argilla/server/services/tasks/text_classification/labeling_rules_service.py,sha256=XaNPpThoPFszUiWMlY9rPpEDrSOG96jNobclPYD9qk8,5582
|
| 353 |
+
argilla/server/services/tasks/text_classification/metrics.py,sha256=eYP4UUBap0PeCfRXZIbSUOisngbCAbkdcyuVaB7uqBs,5602
|
| 354 |
+
argilla/server/services/tasks/text_classification/model.py,sha256=hmi609WA0E2rnUCNAammQpo5AXuOjOCaiLt-oGAZiME,10398
|
| 355 |
+
argilla/server/services/tasks/text_classification/service.py,sha256=xv-N-kUuToJzY0GhLhWwyvfiW7UTh_aXrcP2npEKDoE,11472
|
| 356 |
+
argilla/server/services/tasks/token_classification/__init__.py,sha256=LWpNJMptYnQrshvYE2CrGNL2TC9tfUNlMVrouXJeqHw,655
|
| 357 |
+
argilla/server/services/tasks/token_classification/__pycache__/__init__.cpython-310.pyc,,
|
| 358 |
+
argilla/server/services/tasks/token_classification/__pycache__/metrics.cpython-310.pyc,,
|
| 359 |
+
argilla/server/services/tasks/token_classification/__pycache__/model.cpython-310.pyc,,
|
| 360 |
+
argilla/server/services/tasks/token_classification/__pycache__/service.cpython-310.pyc,,
|
| 361 |
+
argilla/server/services/tasks/token_classification/metrics.py,sha256=_FsHTFRrISW__CPnZZivRaX4IDb_BzBLLsvJH3jZQNM,17270
|
| 362 |
+
argilla/server/services/tasks/token_classification/model.py,sha256=sb55HLnA8PzJUNI8QxGu1CuPFBIi0NbgYmWXpod8VJI,7457
|
| 363 |
+
argilla/server/services/tasks/token_classification/service.py,sha256=LOk62QAbtuIRiZbvu8SUHR7HeJ3Et-teTIL_Ude1dYc,5686
|
| 364 |
+
argilla/server/settings.py,sha256=CJMy4tC53mu1Bdiwo_cWAseldoHLSmnb0vw-MrSww8Y,5749
|
| 365 |
+
argilla/server/static/.nojekyll,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
| 366 |
+
argilla/server/static/200.html,sha256=ldgv1ftbnB89lfzkZX7QeO5Jl28iiTzBQnAWozyr6Qk,2722
|
| 367 |
+
argilla/server/static/README.md,sha256=9RUc5KmqpTZY_rfIDIoUOdkpfZYuppk08M0eoO8DgCE,435
|
| 368 |
+
argilla/server/static/_nuxt/0154dba.js,sha256=8dr6id97Co15KgRwiREDdsoBbZHCre6Tzjp9ZQZ4sPg,49284
|
| 369 |
+
argilla/server/static/_nuxt/02d11b5.js,sha256=uNHPG6Yaoqe8Me4a9FQOPB-MpgO9fPKAuhyd8QyuLrY,555
|
| 370 |
+
argilla/server/static/_nuxt/0446f11.js,sha256=CxrH6sJgGN5wIjo9fLI9qsk9P7tYB_Iu1i8rtPfMuA4,14680
|
| 371 |
+
argilla/server/static/_nuxt/05b691d.js,sha256=dPcJp9zSmlp9MRGwMdewDa7XGhq9yDffsImCZ9KB_sU,8468
|
| 372 |
+
argilla/server/static/_nuxt/06a14a3.js,sha256=nsT725oadBbniy7WIBq4OKttQ-NeWIuKHq30WHWcDdo,44027
|
| 373 |
+
argilla/server/static/_nuxt/085a6b8.js,sha256=05Xx1Gja1Y6YMRngwgAOwqP4TSDlGgOdA_qewwDDeVE,58136
|
| 374 |
+
argilla/server/static/_nuxt/08bc58c.js,sha256=7jSiErECUPxvfDqsFjMGZp1cenFa3tRsKYkVfAjgtc4,25932
|
| 375 |
+
argilla/server/static/_nuxt/0acae9e.js,sha256=S4zvO58fq-y_tUxOKbPtZyGm4nO3TDKOlkDmBiGOfEo,31159
|
| 376 |
+
argilla/server/static/_nuxt/0b31305.js,sha256=2LBk3_sXlFDucX_q2QjRVp0Cx4SFe4_2g-hEkpfH-Jk,136326
|
| 377 |
+
argilla/server/static/_nuxt/1014b07.js,sha256=6kvRmO5L6tioUb8xoAR8Zdwqj9fckztn9B-rmHLGAmk,8576
|
| 378 |
+
argilla/server/static/_nuxt/136237e.js,sha256=dH41mD6jnULAoMLicR--tdsUgm6zfwFHS6Wtec2cBeI,12716
|
| 379 |
+
argilla/server/static/_nuxt/17c5b2a.js,sha256=zW7mMIMIgIfiDQLUYhHFh6-uxk8wEqqorJn6PqZwyfY,31128
|
| 380 |
+
argilla/server/static/_nuxt/1a30fea.js,sha256=J1oOhwAReHyGPHCUucAyTZN-QY-xrlmQH0yTb2calfA,9607
|
| 381 |
+
argilla/server/static/_nuxt/1b7259f.js,sha256=mjIp44fLfAL1C5cSen8HirlKPJ2t9IeXA0Wq0KtNkb4,26081
|
| 382 |
+
argilla/server/static/_nuxt/1d9b76b.js,sha256=uLWHjNkhXEqk8eUS3V1NDFbQCzxoqzck478oKi3uNJE,14039
|
| 383 |
+
argilla/server/static/_nuxt/1e393d2.js,sha256=FxGbWhi_RRq_MAkYybPpI_0Os4HkdoZ6APchiW2JDLI,10003
|
| 384 |
+
argilla/server/static/_nuxt/1fc48e0.js,sha256=aZXFBGWXjiOXgpt6zMOJNlYQNKUTTWQ5Nv7uKg6Z9fo,10120
|
| 385 |
+
argilla/server/static/_nuxt/20e28de.js,sha256=1OIX-FBYCeqvpDDzkjbZagM0tj-cPr2q453Layf5D8w,18019
|
| 386 |
+
argilla/server/static/_nuxt/2108b5d.js,sha256=1QlmOsj_ffo2nN30OTSPcOa2gELDNqNiXXPaDtdXkj4,290
|
| 387 |
+
argilla/server/static/_nuxt/223ec58.js,sha256=T04mgWgZMf0yUcP9IOJPL1rmCjwLm6lLY_Cc4SRBEkQ,84954
|
| 388 |
+
argilla/server/static/_nuxt/23b7aed.js,sha256=WB3l5Va480M-dBhV1UdcX9S7-27akukhStItDi4YktY,7670
|
| 389 |
+
argilla/server/static/_nuxt/2669b4e.js,sha256=F53IAzTUPb91_14DMAyhB_iU8gULonTDxAoXTPQf9dI,155951
|
| 390 |
+
argilla/server/static/_nuxt/26a4867.js,sha256=qH-ZikC-4YzTph049bydykuqGRA-X9JMiCIrGOThcP0,32881
|
| 391 |
+
argilla/server/static/_nuxt/26f96c6.js,sha256=Va7CIJAvA5QrYcJVWwbyqYEi77eIjqeDwmx6EIv8bh0,15877
|
| 392 |
+
argilla/server/static/_nuxt/2870708.js,sha256=OEcqf-aohl4aLTtOTK380C_lVws5GV6NqVvBhzKaKyk,8468
|
| 393 |
+
argilla/server/static/_nuxt/2984eda.js,sha256=_mZitI7Lgoj7ypkZU4LtB_NtCZ_5ez8thhnIDzgcVvA,366
|
| 394 |
+
argilla/server/static/_nuxt/2aa3cda.js,sha256=QPnRN9WHz3p8txTa-TqcoTbo5dka3rsPAD5UaEAP2KQ,13276
|
| 395 |
+
argilla/server/static/_nuxt/2b4a8b0.js,sha256=1ySIyKpdtiCyfUcEIpSnUSc09e2AhNM8u4xcvy28_RQ,14635
|
| 396 |
+
argilla/server/static/_nuxt/2f21543.js,sha256=VkVPFQfjzlJuif7ORuyTtOtXAMOJwlYmFH8JqoIw1VI,39341
|
| 397 |
+
argilla/server/static/_nuxt/3418e93.js,sha256=iLK7b8BYr52jXwnBJQAaEVUMGlsA4NW-Ng44N3fphvc,22875
|
| 398 |
+
argilla/server/static/_nuxt/3512a4a.js,sha256=Xcpn9r7FHqFD8Sq-_XiQDitg7qyOifG2X7EGuP5yIGw,6844
|
| 399 |
+
argilla/server/static/_nuxt/38e0c62.js,sha256=F32H7EzBW1i7nbUY8QK1syqBZWmlCEmdmJ5oWRWd21g,15120
|
| 400 |
+
argilla/server/static/_nuxt/3ddcdd7.js,sha256=jBvFppH8qjTln7XgOGf32YDJLHwLOd96lwbrigmRUB4,8468
|
| 401 |
+
argilla/server/static/_nuxt/407f432.js,sha256=nbVwStTrkIJX96LRzmYjq_0_sfiZ-fxQnLlmTt0MMVw,817
|
| 402 |
+
argilla/server/static/_nuxt/40961f3.js,sha256=JSFfWzoCkJwP1QqCWKE-zni8-5MDDUlsGNPgFZoT-5U,158307
|
| 403 |
+
argilla/server/static/_nuxt/4468b75.js,sha256=gDN3dFVN1EnzlHFWMKsikBtqhMxJKrIXXbhqAeciUM4,7153
|
| 404 |
+
argilla/server/static/_nuxt/4621543.js,sha256=NZ1KN2X4W6kNKXIY2Amdrz93g3dAFORq9Ue0g2CObAo,8261
|
| 405 |
+
argilla/server/static/_nuxt/46ca6b4.js,sha256=UfOJTJQYGYANMsByy8T7HR3Gi3sTCCR4w9TruQj0iNg,22300
|
| 406 |
+
argilla/server/static/_nuxt/4a87ad0.js,sha256=FToNr9-zu6xSd2fu80nrmqm-FrBqgpJtUh-BLb2woc0,18687
|
| 407 |
+
argilla/server/static/_nuxt/4ad034f.js,sha256=0MYYnevOa4mFwuidVHC_tuq6JHgsRCK4rDkGfzwqQQE,38699
|
| 408 |
+
argilla/server/static/_nuxt/4d43de2.js,sha256=AjwtpXdoBUczzt0rlwz-d_YmfLGyPqj9bqAp7YKtcRM,21638
|
| 409 |
+
argilla/server/static/_nuxt/4e06a46.js,sha256=lkfzbK3mRXBmzATo6a_NxLdLCwAcJfDHjW5OqMYzpKI,6639
|
| 410 |
+
argilla/server/static/_nuxt/4fbe02d.js,sha256=m0m2duqfCJHesWs11Hseqzd5sCf_z6NDoHQLJAych1Y,7340
|
| 411 |
+
argilla/server/static/_nuxt/4fd6575.js,sha256=9ockNnXJBX7hcMUJU2O8WthTiYD8g4hrkyF2BBztkqg,6165
|
| 412 |
+
argilla/server/static/_nuxt/52df6cd.js,sha256=wqltDCopelystgADBxFmpwJtHEbXVhigvnpcm43b3TY,19992
|
| 413 |
+
argilla/server/static/_nuxt/549fc38.js,sha256=7yZWTfGk5mhoULqVrX84MBP7UNYFMDSl4OrTtFgPUc4,16788
|
| 414 |
+
argilla/server/static/_nuxt/56444df.js,sha256=E7shhaCwrfSxo9du2eP_LtiXgF0tzrH4cTpJ7LdkzV4,16970
|
| 415 |
+
argilla/server/static/_nuxt/5987d41.js,sha256=d8OQmA_lSBgu3gLT4I-pXQQZ3L3HAjnY39Y-WHsdn20,13679
|
| 416 |
+
argilla/server/static/_nuxt/5cfa1c8.js,sha256=S3W2okbF3uj1cGESjO_sQEeBj1oIklu9dst9Eh6RPow,6182
|
| 417 |
+
argilla/server/static/_nuxt/5d3425e.js,sha256=YtFNBgOvgLi5Xb9HXI1T8bxa-aXu1MOdSD3ojzQKyVA,46130
|
| 418 |
+
argilla/server/static/_nuxt/5dc2a8e.js,sha256=5mwtqyOxoas1EdEBgW1VCpSkJ_1O5McJI1owPDKmXW8,29365
|
| 419 |
+
argilla/server/static/_nuxt/6157c65.js,sha256=hNkiWgTGCSwHWqgsncfBzf4Q0k2FmuBeFkjGwjAMjug,8494
|
| 420 |
+
argilla/server/static/_nuxt/624fb06.js,sha256=zikBhVOQe6qWEDKDoiwITUYqZg01Cx6rVHqN_7W_IE8,66282
|
| 421 |
+
argilla/server/static/_nuxt/62a3b12.js,sha256=sEapE4PpdWRGCMCQzDU6dididbDUMQbHXpYrYqLKJgg,1595
|
| 422 |
+
argilla/server/static/_nuxt/6564f50.js,sha256=rJoGlQuXCcLcd4-hn6ZNAd-qPxZLs_9n8G3DUobWJEg,20330
|
| 423 |
+
argilla/server/static/_nuxt/65d8fda.js,sha256=etwhhdDiBvrOqqDuwCxeyGaQb2yVy0VMRbbSE1f3TD4,18262
|
| 424 |
+
argilla/server/static/_nuxt/6bd2ddd.js,sha256=KgCXL32U8t2_L74T-pAELf-uRf2c9M_Nw-vwXPPj1uo,5787
|
| 425 |
+
argilla/server/static/_nuxt/6ca2bf2.js,sha256=SmIuWZasdL2qQpEUCYLUNBdToTRSGgLcZw_ENWUCizk,5738
|
| 426 |
+
argilla/server/static/_nuxt/700bb3b.js,sha256=L6GpLHbCVEI6dElLKjl13ZUQ-FEczaoZk5E14aNwAyw,2839
|
| 427 |
+
argilla/server/static/_nuxt/717eb3e.js,sha256=BwaJpkM84WxffseeP1_ll2CWJZUQgZbyAMYPDUXU4dY,290
|
| 428 |
+
argilla/server/static/_nuxt/7432ec7.js,sha256=LcfTorbCXSiSwNLD5VlQ6ypMDx8TACagAjsb_AnTeMc,17179
|
| 429 |
+
argilla/server/static/_nuxt/74fa864.js,sha256=ABtaHJKBEh15fb40_GvZNBR8NxyBBB4lH8xEK7vPlRI,10300
|
| 430 |
+
argilla/server/static/_nuxt/7538a56.js,sha256=1N2lRAEmUQeXvuzkuL6R-yFR9w0sjgZcZ5gch_S-_TI,39719
|
| 431 |
+
argilla/server/static/_nuxt/784b9af.js,sha256=EAhM0LuFT615NxtGxO0VsIqdC-WQTdnte2XEzbHDp5k,13708
|
| 432 |
+
argilla/server/static/_nuxt/7fa3b6d.js,sha256=o4HqnhwEVOfb_mM7RIyjE30sSKqGECWI8BllRdo7pFs,3980
|
| 433 |
+
argilla/server/static/_nuxt/82c2f4c.js,sha256=Z-FmmW6ZMVqi5tLmMadc1N_86BWysMA8_nqlb8DoMAU,5610
|
| 434 |
+
argilla/server/static/_nuxt/836cdda.js,sha256=0lf7yPTCJLrfNeKr_VE_DNjE_SaV4s-S0L4KYH7dQI8,19909
|
| 435 |
+
argilla/server/static/_nuxt/8431052.js,sha256=4LHKM7sCjktAOj_6D1ZPCSLm9LlTnjVdbs72ZpfeWTA,289995
|
| 436 |
+
argilla/server/static/_nuxt/848975f.js,sha256=oxYEjP9E_QNRE3BGf7S0qpVpiYC6R_nTIiQge6dd8vI,7943
|
| 437 |
+
argilla/server/static/_nuxt/8544cbb.js,sha256=rW1SOLuaNx7WhYN552qucWyx4--x4tTKB2Vo2xMlpo4,9598
|
| 438 |
+
argilla/server/static/_nuxt/864790f.js,sha256=F21EHCeJUGjPO1Qgi-MbK5HWdWZMXkbHu7vh8e6nT8c,30432
|
| 439 |
+
argilla/server/static/_nuxt/8659aa6.js,sha256=LSNfDHibc5_5BMvAlUjN7gZ92bvWPPScYFpMSOtJb_o,8261
|
| 440 |
+
argilla/server/static/_nuxt/89bd62a.js,sha256=ds-Cpd-Y44y7LpIEp-2Y2F2rjl7lqNNovzHRKTgAzKQ,9345
|
| 441 |
+
argilla/server/static/_nuxt/8acc9c9.js,sha256=XmeQrkaL_V7g59V90xDExXJxN5vPi6N3FCRkrs7abmA,7424
|
| 442 |
+
argilla/server/static/_nuxt/8c42c73.js,sha256=5BHK_ApynP7h03TciPrHVW6L-3x9a12HsCnei3_3R5Q,18705
|
| 443 |
+
argilla/server/static/_nuxt/8d23878.js,sha256=li7UmxjfSRNr_dfPaewg1AqcjZaQ6VLEoqpm9DeNQ4Q,57494
|
| 444 |
+
argilla/server/static/_nuxt/8ef408a.js,sha256=AXebJBYlk3_McsgK47DOm_mDcNO72mzpcK6KK1-DLTE,3143311
|
| 445 |
+
argilla/server/static/_nuxt/8fad90b.js,sha256=THWu2iznTRi8hixGS50g4enPIDaUcXKTVbMo9f9TyHk,7487
|
| 446 |
+
argilla/server/static/_nuxt/90c6275.js,sha256=9yTNEagUkmCwmO_GUPVnl9xtm1mnRXATjzOwwid8xW8,31752
|
| 447 |
+
argilla/server/static/_nuxt/9197365.js,sha256=93Nss7FqKKHuEqgIO05RHqJx_oBeYYfjrMdGE3BKa_c,24451
|
| 448 |
+
argilla/server/static/_nuxt/94075eb.js,sha256=cG1iNDEv3ui1T1U_WJAY6FIfz2Ldx__178lTENw6A8o,8786
|
| 449 |
+
argilla/server/static/_nuxt/9be657d.js,sha256=J3Ne9iRDIB9Hk4ACHqx5O7NYAY8xbeGtLDy2Db80oqI,36800
|
| 450 |
+
argilla/server/static/_nuxt/9bfa333.js,sha256=A28iUFpZfPO35zWEF3gtKbdSM2FK3uerv7AxyAXMZDU,18647
|
| 451 |
+
argilla/server/static/_nuxt/LICENSES,sha256=zcD0VrP1qEQ5tRtCKELeLfbsGNmK-fvmW78LID3obJA,1223
|
| 452 |
+
argilla/server/static/_nuxt/a07c9a9.js,sha256=n9ds9O5JmLvZdnkl76_Nz6oysYMAiHtuIVGHmdCgT-c,15908
|
| 453 |
+
argilla/server/static/_nuxt/a30a044.js,sha256=k7eYABLhtc5rhYT0DqXjSXwO4Lpn8IZEzYMX6EC6vDk,1357
|
| 454 |
+
argilla/server/static/_nuxt/a532443.js,sha256=aKOQbOCXHPO_84QobEtrgxvTbIT-kNyKTBrsLewG_KE,20911
|
| 455 |
+
argilla/server/static/_nuxt/a866ccc.js,sha256=Jhs4tRQe8SUBstb16C_RaBQ9vyHWXY8hibe0WcnTbEc,290
|
| 456 |
+
argilla/server/static/_nuxt/a99a788.js,sha256=BTiVR8WxuDgiRhx9i94KvmVnKl7IUwqHF72G93G1D_8,6784
|
| 457 |
+
argilla/server/static/_nuxt/a9ce054.js,sha256=mTCnmXsUKIm53hVRslrOPWLShHU1suqaAOXR4J9lHBs,76275
|
| 458 |
+
argilla/server/static/_nuxt/aac8208.js,sha256=Xa1-cJVsTHRAqu5yhbmatSf8lJJsuy9m5qm5aPhLKnI,18616
|
| 459 |
+
argilla/server/static/_nuxt/ab09cca.js,sha256=rXwlfGGxejBWjg-rYV5CLYjKosaDuYSPAPiO_UPJEq0,44418
|
| 460 |
+
argilla/server/static/_nuxt/ab9e4a5.js,sha256=_AEaWGiN_JhSF6nOatAG3d0UqRBT48eZoD7mCOMb2eY,5893
|
| 461 |
+
argilla/server/static/_nuxt/adc8d40.js,sha256=XjVFb89DQLa6wEXChj9ajTxeVmTXgrPcA5e5WHo66Rw,939
|
| 462 |
+
argilla/server/static/_nuxt/ae3dd7f.js,sha256=4Iu-SfJaswdPa1r2VzJT35J6lZCNQKshLurWkEVtYkU,8425
|
| 463 |
+
argilla/server/static/_nuxt/ae78293.js,sha256=MVu7AVnIve40lNR1BSGwqRGnMuM23dU19tnlSpi-UFQ,8557
|
| 464 |
+
argilla/server/static/_nuxt/aec2a32.js,sha256=zb8tXBki4AaNpH2zlIM3QS-oXhthEdXyivHm_z3uqNw,8905
|
| 465 |
+
argilla/server/static/_nuxt/afa4346.js,sha256=k8Qp95dFF3LzEB6Noe52fbTO3Qo6dmMpApU9-xBGEtQ,24498
|
| 466 |
+
argilla/server/static/_nuxt/afab9f0.js,sha256=PCLrxbJkDIY2ckvmdFzlEIXB41BIrSNgNZ9ZBRBFjrw,7692
|
| 467 |
+
argilla/server/static/_nuxt/b2d6d0c.js,sha256=Gklv8iIEykc5rkdgm0SvV7w01BgW2CIOedFayQ4FYQ0,6560
|
| 468 |
+
argilla/server/static/_nuxt/b817c20.js,sha256=BS90pMbTXvgV4p1S7vjXuCe4oIp0V18pns9-tbUaSN4,14642
|
| 469 |
+
argilla/server/static/_nuxt/ba43375.js,sha256=IV8qRdJRC6LIUqcyYOqU_CcDmMWWHoovsPvo95uyfjQ,1357
|
| 470 |
+
argilla/server/static/_nuxt/ba5072b.js,sha256=HhUjwTLm_gJaQZb_uNRoaMEJ5T_ml0hlMjScYmOVpZw,70329
|
| 471 |
+
argilla/server/static/_nuxt/bcc8d11.js,sha256=arSqmD2gz86qGIUJU5rm3TdIlZNozW1mQOJBeFK2t8o,40290
|
| 472 |
+
argilla/server/static/_nuxt/c150c48.js,sha256=qHfTbEv1Ua81vgVgRLom6RxlYvt0AIrqY4ORP-tPhkU,16344
|
| 473 |
+
argilla/server/static/_nuxt/c161f6b.js,sha256=cCluhXwXhkzR4P225FCTUCnok0o1GzS466GWNI1K5eE,7534
|
| 474 |
+
argilla/server/static/_nuxt/ca9a499.js,sha256=Rww_sLE23xQhOGRnHU7ruZzK8BKYIFeeZRZ4zZBIvbU,8468
|
| 475 |
+
argilla/server/static/_nuxt/cf68742.js,sha256=3GL3KbaufYVIKWt9_VJ3U-cXrEB2OmP6JuzoPtjIsnQ,20497
|
| 476 |
+
argilla/server/static/_nuxt/d0a9c38.js,sha256=KOCqL5OZWj2gcgaHPNaJ9kWyebZqjIwubZgn8y_zPTo,475
|
| 477 |
+
argilla/server/static/_nuxt/d18cf05.js,sha256=augXLYTetHsJZ1zque1x3GzIlzOI_7EnCEIZ--qvYH4,8190
|
| 478 |
+
argilla/server/static/_nuxt/d343952.js,sha256=2e01OAHKQgoakkI_idB_7IfLBh25QJm-4bmPQ6FUWGY,16162
|
| 479 |
+
argilla/server/static/_nuxt/d7284e5.js,sha256=paZ8GkttTW6GKI1VurNIElBWjkw5lYkafJGJttfYe00,17670
|
| 480 |
+
argilla/server/static/_nuxt/d87f528.js,sha256=SrZQur_kXAdkqeS2c-LiK2BciPMULpG7a1mAExTeXnM,6012
|
| 481 |
+
argilla/server/static/_nuxt/d921717.js,sha256=qnaVKrBMy3YbX6kXsTfCZ40_glxJLT2uIYm2BXQ1Y7A,17852
|
| 482 |
+
argilla/server/static/_nuxt/e238982.js,sha256=iGZlM5nmLjvplVlKERWE52VoFyrVEeQ1Hs5WEGwXPF4,6368
|
| 483 |
+
argilla/server/static/_nuxt/e2c03c3.js,sha256=dcBR5c-A4btMR1M1rMbOsqfdFjJilPzHqSLh6_mIfSM,32009
|
| 484 |
+
argilla/server/static/_nuxt/e3eaf32.js,sha256=y2O4xphzB4t8CNuKP30IHd21krBYsN-axMfj3-KteCU,6132
|
| 485 |
+
argilla/server/static/_nuxt/e61e8e8.js,sha256=zxPQlcGW8pnaE3pYUjn-TglmLKr2LHb6O1xJn5AAqKo,16519
|
| 486 |
+
argilla/server/static/_nuxt/e714e39.js,sha256=4h208gNs0oQT-zjQlgOUKoes-DsCoWL3UIHIRCdtbbk,49241
|
| 487 |
+
argilla/server/static/_nuxt/e8544ff.js,sha256=VXOoMnLRbreXd23R5R0TQ9Ff4Z9D0ukE5nFWOQ6-wfY,9132
|
| 488 |
+
argilla/server/static/_nuxt/e9c71bf.js,sha256=IYurvJwiSWduoqn6280H-f8VrOQpkIZGehXg3Y7FWKM,16067
|
| 489 |
+
argilla/server/static/_nuxt/ed29234.js,sha256=nRmmPfNn88noo6wtFU4zQ-Cqlf-8dsMUuoBsu-RaoBk,18597
|
| 490 |
+
argilla/server/static/_nuxt/ee5b979.js,sha256=YQfAEDqAj0KT6-qBh0Wjhxbu4s7tJU3J9T18d8DRnuM,8468
|
| 491 |
+
argilla/server/static/_nuxt/ef27bca.js,sha256=Mhnq-x5L9KC4NZ9-jK4L478KVz66za8gLIVRf2nAn_o,30260
|
| 492 |
+
argilla/server/static/_nuxt/ef971c8.js,sha256=lkpYaykqzJFEDzzoJyKjvY6gDO7j_o3M5kkeYp9HmAc,16844
|
| 493 |
+
argilla/server/static/_nuxt/f0cfffd.js,sha256=pRfjpcVDYrFFRsPzngc2QvYHXVYZWnURTtvRIfbmMQk,13379
|
| 494 |
+
argilla/server/static/_nuxt/f55782f.js,sha256=9jex0yxtm-aMiyT5GZMHSgLLlR4JcHqPpMl5aa8u2Pw,16644
|
| 495 |
+
argilla/server/static/_nuxt/f81467e.js,sha256=0RSaT72S3S9Z0cFjMYYWfsQfxsLiK4BBhqzfV39w0X4,26750
|
| 496 |
+
argilla/server/static/_nuxt/fc66c71.js,sha256=tGvLsLi5gFqtj1rByOnzfmdwql8vLADryVDwyr2qNdo,14039
|
| 497 |
+
argilla/server/static/_nuxt/fe2b916.js,sha256=D6S_cCzv3LWT52fd2Neqe7mj_ySp9k3O-8BMPgVOit4,1921
|
| 498 |
+
argilla/server/static/_nuxt/fonts/raptorv2premium-bold-webfont.3c074ae.woff2,sha256=5TryMrjqx2bM-CshymxfP6euuV3dEe-KwUzE8fsc9no,28116
|
| 499 |
+
argilla/server/static/_nuxt/fonts/raptorv2premium-bold-webfont.f7cfb4c.woff,sha256=0zOCJRjI35dRfWevbzSzleobGMiHIcbMDAuRy0mevZ4,36012
|
| 500 |
+
argilla/server/static/apple-touch-icon.png,sha256=rFkUqP7UlpwX4frWuhkBx2fckWQ7Qml8d47rnidrv28,5814
|
| 501 |
+
argilla/server/static/datasets/index.html,sha256=ldgv1ftbnB89lfzkZX7QeO5Jl28iiTzBQnAWozyr6Qk,2722
|
| 502 |
+
argilla/server/static/favicon-16x16.png,sha256=5Kb-D1gQQj6G5Wt0soO4ZsC8OFKfnNYg1KLylJuAsQ0,1048
|
| 503 |
+
argilla/server/static/favicon-32x32.png,sha256=8gDZH9rKqRD-k5PartcFz9uR5FL6dpXrOamT2O2qeC0,1139
|
| 504 |
+
argilla/server/static/favicon.ico,sha256=_nbJLVcXa61SpFryjr2aui84Fb_jZKNdIGFYJ2jL47w,15086
|
| 505 |
+
argilla/server/static/icons/arrow-down.svg,sha256=yG8uFg5ByMFVb4AYPb79Ld-EwAjYdhbBLFUUYqZ8b6Q,263
|
| 506 |
+
argilla/server/static/icons/arrow-up.svg,sha256=KUfs16XHxAqCG2LOs1y8SE_9D-M82xM_M95nqTKel7s,278
|
| 507 |
+
argilla/server/static/icons/check.svg,sha256=_HGknxRlQriIEUax8udLTM9UDJBhf7X2VxXXKcOwEwg,201
|
| 508 |
+
argilla/server/static/icons/chevron-down.svg,sha256=amwab-s5ivZMAr3fvD9hL9daeeBCxZIYmk68YV4xKkM,199
|
| 509 |
+
argilla/server/static/icons/chevron-left.svg,sha256=1IxDYlbUQYvk7-tqPSitjIhirdeXSfjD2jTOALXRdv0,187
|
| 510 |
+
argilla/server/static/icons/chevron-right.svg,sha256=XlXO6OnDCy1cRdz6BKpHAhtiJdO3uiHw_-FyIqDLOB4,183
|
| 511 |
+
argilla/server/static/icons/chevron-up.svg,sha256=msZvvqOyer-iyqaRwXsXsmEnBt8aU1vnscNUWTY4ZXY,199
|
| 512 |
+
argilla/server/static/icons/close.svg,sha256=v2aunMNwZLaSRJ2VshcOZ2WWCwfqjLmZIZfhjiV1AY8,638
|
| 513 |
+
argilla/server/static/icons/copy.svg,sha256=PFClM1Y6XQhMRAyVKPpYfu2Qzdmpf4aB6nWcc5Y4QNw,353
|
| 514 |
+
argilla/server/static/icons/danger.svg,sha256=31KSZ2_XQ-esux3xWjmDgq9Af9DQfEWBJc4BcJXRYX8,749
|
| 515 |
+
argilla/server/static/icons/exploration.svg,sha256=MVzgfOlCAcTQAuHpsdwXLSgDLbzF4ayrnQLFeTV_-9Q,956
|
| 516 |
+
argilla/server/static/icons/external.svg,sha256=IM5KE-orJPMdFWGItF6qqKS-VLWqfK83LUHUWfGZ3sw,364
|
| 517 |
+
argilla/server/static/icons/filter.svg,sha256=pCbUTwnzPfZj1ig2taL-0V9DcjVBWDVyMYiQl7vLeuo,626
|
| 518 |
+
argilla/server/static/icons/hand-labeling.svg,sha256=aDLgS1pEQvQQsEOlnwGkC_wbUj_RJXbXA389I_LQ-OM,643
|
| 519 |
+
argilla/server/static/icons/info.svg,sha256=I1vNWGqchaSn-Mb6OEb7aLSYRdvU0GeSCarc1da8stM,835
|
| 520 |
+
argilla/server/static/icons/kebab-menu.svg,sha256=lhhjAWqmtH4BQivG0cOIS3r-duCCHM4b-EwkpksPhaI,1298
|
| 521 |
+
argilla/server/static/icons/link.svg,sha256=olJ-vSqUWGR-P0s3TO9894hjXBRsKPWdMg1hxHq-Jk8,1021
|
| 522 |
+
argilla/server/static/icons/log-out.svg,sha256=kY7iV_LDLzjqdrOGuhoovLqDUSWVv-Bzs4Kn5xilvr8,548
|
| 523 |
+
argilla/server/static/icons/matching.svg,sha256=u-8muJLfbaoAiURJE4xvLQtmStPn_vQntTzySAQLz78,595
|
| 524 |
+
argilla/server/static/icons/math-plus.svg,sha256=F1W5fs2BWgm3ZEbcoSmoZb4m4ez_qeiDn-kOiJWjp-E,487
|
| 525 |
+
argilla/server/static/icons/no-matching.svg,sha256=aae5UU8WKaMUowRAOrmXcExRNW-PV8WjLqkhLVJ7h6E,1010
|
| 526 |
+
argilla/server/static/icons/progress.svg,sha256=kGkN8tAR4yp776BbytRPTzpuJhxsLpcYV-N-TxEPwpc,651
|
| 527 |
+
argilla/server/static/icons/refresh.svg,sha256=k9kfQVK9Ir-WKMQagopzyJKS-0eihihV1qOSdBcW3CU,526
|
| 528 |
+
argilla/server/static/icons/row-last.svg,sha256=1h6M-6gjLRdoK9aSJJVKXJyQKhZxr8cbt8Nz_ltFUxc,800
|
| 529 |
+
argilla/server/static/icons/search.svg,sha256=TRDCQ-HCgDMT-LwY6UxXqobQpAOz96PmyTKSzq4keog,805
|
| 530 |
+
argilla/server/static/icons/smile-sad.svg,sha256=ijOshWwzHpGmnPjtc3hWlkeL8cDlxT3QsDjFjBmcT8w,888
|
| 531 |
+
argilla/server/static/icons/sort.svg,sha256=fNrrhx9gL3lPngYh69mARSyApF53K6EVq1nr4mS5jDA,354
|
| 532 |
+
argilla/server/static/icons/stats.svg,sha256=aU_okEn8iFhRtcPGnU0_6S6NzYgNDgLhCs9e9NqCmJI,260
|
| 533 |
+
argilla/server/static/icons/support.svg,sha256=YQU8Fy32g0P7K3BHaq7z3iL70tev-gRSyfc90Pi9DZg,2187
|
| 534 |
+
argilla/server/static/icons/time.svg,sha256=KECBMJ392jnnRV4aTSY1GlJzEyEI6vP9C9rs-igfJYg,454
|
| 535 |
+
argilla/server/static/icons/trash-empty.svg,sha256=W4Ss_cJ3AovQFOpTIImAQW4RDNnMbWobGxH7FSPX8pw,809
|
| 536 |
+
argilla/server/static/icons/unavailable.svg,sha256=KCrm_yh7Y59HhCGL11_3FHOBTfFHSMBtGN4YBaroU98,630
|
| 537 |
+
argilla/server/static/icons/weak-labeling.svg,sha256=QWaK13h73H5sXviCYJS2jVCSXf3HE0EfbHwWEqDw3MQ,1233
|
| 538 |
+
argilla/server/static/index.html,sha256=ldgv1ftbnB89lfzkZX7QeO5Jl28iiTzBQnAWozyr6Qk,2722
|
| 539 |
+
argilla/server/static/login/index.html,sha256=ldgv1ftbnB89lfzkZX7QeO5Jl28iiTzBQnAWozyr6Qk,2722
|
| 540 |
+
argilla/server/static/site.webmanifest,sha256=MQuGlDTw7p2ZoRDl72v7QerBFbziQo9WL_XfFDeFGf8,426
|
| 541 |
+
argilla/server/static/ws/index.html,sha256=ldgv1ftbnB89lfzkZX7QeO5Jl28iiTzBQnAWozyr6Qk,2722
|
| 542 |
+
argilla/server/static_rewrite.py,sha256=57m30n1NDcCptlA9wsWcf1lSRxE7xrZRvD58hIuBOjM,1591
|
| 543 |
+
argilla/utils/__init__.py,sha256=uaCrQhu4x-HS3QDR7KvvZlnjL28miE_HGRnzIAMR1Ms,735
|
| 544 |
+
argilla/utils/__pycache__/__init__.cpython-310.pyc,,
|
| 545 |
+
argilla/utils/__pycache__/span_utils.cpython-310.pyc,,
|
| 546 |
+
argilla/utils/__pycache__/utils.cpython-310.pyc,,
|
| 547 |
+
argilla/utils/span_utils.py,sha256=BNByqgGuefTEVOimm-4WfgQu8RWfh0OkNj7UQSc-dso,8762
|
| 548 |
+
argilla/utils/utils.py,sha256=fgHfYRqKNNTZMsW2pGpgrn31-yak2y3LgEcZGKxMMz0,6105
|
myenv/Lib/site-packages/argilla-1.1.1.dist-info/REQUESTED
ADDED
|
File without changes
|
myenv/Lib/site-packages/argilla-1.1.1.dist-info/WHEEL
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Wheel-Version: 1.0
|
| 2 |
+
Generator: bdist_wheel (0.38.4)
|
| 3 |
+
Root-Is-Purelib: true
|
| 4 |
+
Tag: py3-none-any
|
| 5 |
+
|
myenv/Lib/site-packages/argilla-1.1.1.dist-info/top_level.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
argilla
|
myenv/Lib/site-packages/argilla/__init__.py
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# coding=utf-8
|
| 2 |
+
# Copyright 2021-present, the Recognai S.L. team.
|
| 3 |
+
#
|
| 4 |
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
| 5 |
+
# you may not use this file except in compliance with the License.
|
| 6 |
+
# You may obtain a copy of the License at
|
| 7 |
+
#
|
| 8 |
+
# http://www.apache.org/licenses/LICENSE-2.0
|
| 9 |
+
#
|
| 10 |
+
# Unless required by applicable law or agreed to in writing, software
|
| 11 |
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
| 12 |
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| 13 |
+
# See the License for the specific language governing permissions and
|
| 14 |
+
# limitations under the License.
|
| 15 |
+
|
| 16 |
+
"""This file reflects the user facing API.
|
| 17 |
+
If you want to add something here, remember to add it as normal import in the _TYPE_CHECKING section (for IDEs),
|
| 18 |
+
as well as in the `_import_structure` dictionary.
|
| 19 |
+
"""
|
| 20 |
+
|
| 21 |
+
import sys as _sys
|
| 22 |
+
from typing import TYPE_CHECKING as _TYPE_CHECKING
|
| 23 |
+
|
| 24 |
+
from argilla.logging import configure_logging as _configure_logging
|
| 25 |
+
|
| 26 |
+
from . import _version
|
| 27 |
+
from .utils import LazyargillaModule as _LazyargillaModule
|
| 28 |
+
|
| 29 |
+
__version__ = _version.version
|
| 30 |
+
|
| 31 |
+
if _TYPE_CHECKING:
|
| 32 |
+
from argilla.client.api import (
|
| 33 |
+
copy,
|
| 34 |
+
delete,
|
| 35 |
+
delete_records,
|
| 36 |
+
get_workspace,
|
| 37 |
+
init,
|
| 38 |
+
load,
|
| 39 |
+
log,
|
| 40 |
+
log_async,
|
| 41 |
+
set_workspace,
|
| 42 |
+
)
|
| 43 |
+
from argilla.client.datasets import (
|
| 44 |
+
DatasetForText2Text,
|
| 45 |
+
DatasetForTextClassification,
|
| 46 |
+
DatasetForTokenClassification,
|
| 47 |
+
read_datasets,
|
| 48 |
+
read_pandas,
|
| 49 |
+
)
|
| 50 |
+
from argilla.client.models import (
|
| 51 |
+
Text2TextRecord,
|
| 52 |
+
TextClassificationRecord,
|
| 53 |
+
TextGenerationRecord,
|
| 54 |
+
TokenAttributions,
|
| 55 |
+
TokenClassificationRecord,
|
| 56 |
+
)
|
| 57 |
+
from argilla.datasets import (
|
| 58 |
+
TextClassificationSettings,
|
| 59 |
+
TokenClassificationSettings,
|
| 60 |
+
configure_dataset,
|
| 61 |
+
)
|
| 62 |
+
from argilla.listeners import Metrics, RBListenerContext, Search, listener
|
| 63 |
+
from argilla.monitoring.model_monitor import monitor
|
| 64 |
+
from argilla.server.server import app
|
| 65 |
+
|
| 66 |
+
# TODO: remove me
|
| 67 |
+
_import_structure = {
|
| 68 |
+
"client.api": [
|
| 69 |
+
"copy",
|
| 70 |
+
"delete",
|
| 71 |
+
"get_workspace",
|
| 72 |
+
"init",
|
| 73 |
+
"load",
|
| 74 |
+
"delete_records",
|
| 75 |
+
"log",
|
| 76 |
+
"log_async",
|
| 77 |
+
"set_workspace",
|
| 78 |
+
],
|
| 79 |
+
"client.models": [
|
| 80 |
+
"Text2TextRecord",
|
| 81 |
+
"TextGenerationRecord",
|
| 82 |
+
"TextClassificationRecord",
|
| 83 |
+
"TokenClassificationRecord",
|
| 84 |
+
"TokenAttributions",
|
| 85 |
+
],
|
| 86 |
+
"client.datasets": [
|
| 87 |
+
"DatasetForText2Text",
|
| 88 |
+
"DatasetForTextClassification",
|
| 89 |
+
"DatasetForTokenClassification",
|
| 90 |
+
"read_datasets",
|
| 91 |
+
"read_pandas",
|
| 92 |
+
],
|
| 93 |
+
"monitoring.model_monitor": ["monitor"],
|
| 94 |
+
"listeners.listener": ["listener", "RBListenerContext", "Search", "Metrics"],
|
| 95 |
+
"datasets": [
|
| 96 |
+
"configure_dataset",
|
| 97 |
+
"TextClassificationSettings",
|
| 98 |
+
"TokenClassificationSettings",
|
| 99 |
+
],
|
| 100 |
+
"server.app": ["app"],
|
| 101 |
+
}
|
| 102 |
+
|
| 103 |
+
# can be removed in a future version
|
| 104 |
+
_deprecated_import_structure = {
|
| 105 |
+
"client.models": ["Record", "BulkResponse"],
|
| 106 |
+
"client.datasets": ["Dataset"],
|
| 107 |
+
"_constants": ["DEFAULT_API_KEY"],
|
| 108 |
+
}
|
| 109 |
+
|
| 110 |
+
_sys.modules[__name__] = _LazyargillaModule(
|
| 111 |
+
__name__,
|
| 112 |
+
globals()["__file__"],
|
| 113 |
+
_import_structure,
|
| 114 |
+
deprecated_import_structure=_deprecated_import_structure,
|
| 115 |
+
module_spec=__spec__,
|
| 116 |
+
extra_objects={"__version__": __version__},
|
| 117 |
+
)
|
| 118 |
+
|
| 119 |
+
_configure_logging()
|
myenv/Lib/site-packages/argilla/__main__.py
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# coding=utf-8
|
| 2 |
+
# Copyright 2021-present, the Recognai S.L. team.
|
| 3 |
+
#
|
| 4 |
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
| 5 |
+
# you may not use this file except in compliance with the License.
|
| 6 |
+
# You may obtain a copy of the License at
|
| 7 |
+
#
|
| 8 |
+
# http://www.apache.org/licenses/LICENSE-2.0
|
| 9 |
+
#
|
| 10 |
+
# Unless required by applicable law or agreed to in writing, software
|
| 11 |
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
| 12 |
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| 13 |
+
# See the License for the specific language governing permissions and
|
| 14 |
+
# limitations under the License.
|
| 15 |
+
|
| 16 |
+
if __name__ == "__main__":
|
| 17 |
+
import uvicorn
|
| 18 |
+
|
| 19 |
+
uvicorn.run(
|
| 20 |
+
"argilla:app",
|
| 21 |
+
port=6900,
|
| 22 |
+
host="0.0.0.0",
|
| 23 |
+
access_log=True,
|
| 24 |
+
)
|
myenv/Lib/site-packages/argilla/__pycache__/__init__.cpython-310.pyc
ADDED
|
Binary file (2.28 kB). View file
|
|
|
myenv/Lib/site-packages/argilla/__pycache__/__main__.cpython-310.pyc
ADDED
|
Binary file (340 Bytes). View file
|
|
|
myenv/Lib/site-packages/argilla/__pycache__/_constants.cpython-310.pyc
ADDED
|
Binary file (526 Bytes). View file
|
|
|
myenv/Lib/site-packages/argilla/__pycache__/_messages.cpython-310.pyc
ADDED
|
Binary file (419 Bytes). View file
|
|
|
myenv/Lib/site-packages/argilla/__pycache__/_version.cpython-310.pyc
ADDED
|
Binary file (213 Bytes). View file
|
|
|
myenv/Lib/site-packages/argilla/__pycache__/logging.cpython-310.pyc
ADDED
|
Binary file (3.75 kB). View file
|
|
|
myenv/Lib/site-packages/argilla/_constants.py
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# coding=utf-8
|
| 2 |
+
# Copyright 2021-present, the Recognai S.L. team.
|
| 3 |
+
#
|
| 4 |
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
| 5 |
+
# you may not use this file except in compliance with the License.
|
| 6 |
+
# You may obtain a copy of the License at
|
| 7 |
+
#
|
| 8 |
+
# http://www.apache.org/licenses/LICENSE-2.0
|
| 9 |
+
#
|
| 10 |
+
# Unless required by applicable law or agreed to in writing, software
|
| 11 |
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
| 12 |
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| 13 |
+
# See the License for the specific language governing permissions and
|
| 14 |
+
# limitations under the License.
|
| 15 |
+
|
| 16 |
+
DEFAULT_MAX_KEYWORD_LENGTH = 128
|
| 17 |
+
|
| 18 |
+
|
| 19 |
+
API_KEY_HEADER_NAME = "X-Argilla-Api-Key"
|
| 20 |
+
WORKSPACE_HEADER_NAME = "X-Argilla-Workspace"
|
| 21 |
+
DEFAULT_API_KEY = "rubrix.apikey" # Keep the same api key for now
|
| 22 |
+
|
| 23 |
+
_OLD_API_KEY_HEADER_NAME = "X-Rubrix-Api-Key"
|
| 24 |
+
_OLD_WORKSPACE_HEADER_NAME = "X-Rubrix-Workspace"
|
| 25 |
+
|
| 26 |
+
DATASET_NAME_REGEX_PATTERN = r"^(?!-|_)[a-z0-9-_]+$"
|
myenv/Lib/site-packages/argilla/_messages.py
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Copyright 2021-present, the Recognai S.L. team.
|
| 2 |
+
#
|
| 3 |
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
| 4 |
+
# you may not use this file except in compliance with the License.
|
| 5 |
+
# You may obtain a copy of the License at
|
| 6 |
+
#
|
| 7 |
+
# http://www.apache.org/licenses/LICENSE-2.0
|
| 8 |
+
#
|
| 9 |
+
# Unless required by applicable law or agreed to in writing, software
|
| 10 |
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
| 11 |
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| 12 |
+
# See the License for the specific language governing permissions and
|
| 13 |
+
# limitations under the License.
|
| 14 |
+
|
| 15 |
+
ARGILLA_METADATA_FIELD_WARNING_MESSAGE = (
|
| 16 |
+
"You can configure this length in the server with the ARGILLA_METADATA_FIELD_LENGTH "
|
| 17 |
+
"environment variable. Note that, setting this too high may lead to Elastic performance issues."
|
| 18 |
+
)
|
myenv/Lib/site-packages/argilla/_version.py
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Copyright 2021-present, the Recognai S.L. team.
|
| 2 |
+
#
|
| 3 |
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
| 4 |
+
# you may not use this file except in compliance with the License.
|
| 5 |
+
# You may obtain a copy of the License at
|
| 6 |
+
#
|
| 7 |
+
# http://www.apache.org/licenses/LICENSE-2.0
|
| 8 |
+
#
|
| 9 |
+
# Unless required by applicable law or agreed to in writing, software
|
| 10 |
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
| 11 |
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| 12 |
+
# See the License for the specific language governing permissions and
|
| 13 |
+
# limitations under the License.
|
| 14 |
+
|
| 15 |
+
# coding: utf-8
|
| 16 |
+
version = "1.1.1"
|
myenv/Lib/site-packages/argilla/client/__init__.py
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# coding=utf-8
|
| 2 |
+
# Copyright 2021-present, the Recognai S.L. team.
|
| 3 |
+
#
|
| 4 |
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
| 5 |
+
# you may not use this file except in compliance with the License.
|
| 6 |
+
# You may obtain a copy of the License at
|
| 7 |
+
#
|
| 8 |
+
# http://www.apache.org/licenses/LICENSE-2.0
|
| 9 |
+
#
|
| 10 |
+
# Unless required by applicable law or agreed to in writing, software
|
| 11 |
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
| 12 |
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| 13 |
+
# See the License for the specific language governing permissions and
|
| 14 |
+
# limitations under the License.
|
myenv/Lib/site-packages/argilla/client/__pycache__/__init__.cpython-310.pyc
ADDED
|
Binary file (203 Bytes). View file
|
|
|
myenv/Lib/site-packages/argilla/client/__pycache__/api.cpython-310.pyc
ADDED
|
Binary file (24.2 kB). View file
|
|
|