Name | deepsearch-glm JSON |
Version |
0.26.1
JSON |
| download |
home_page | None |
Summary | Graph Language Models |
upload_time | 2024-10-22 05:36:47 |
maintainer | None |
docs_url | None |
author | Peter Staar |
requires_python | <4.0,>=3.9 |
license | MIT |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Graph Language Models
![build](https://github.com/DS4SD/deepsearch-glm/actions/workflows/cmake.yml/badge.svg)
![tests](https://github.com/DS4SD/deepsearch-glm/actions/workflows/tests.yml/badge.svg)
[![License MIT](https://img.shields.io/github/license/ds4sd/deepsearch-glm)](https://opensource.org/licenses/MIT)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![PyPI version](https://img.shields.io/pypi/v/deepsearch-glm)](https://pypi.org/project/deepsearch-glm/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/deepsearch-glm)](https://pypi.org/project/deepsearch-glm/)
![PyPI - Downloads](https://img.shields.io/pypi/dm/deepsearch-glm)
## Getting Started
### Finding entities and relations via NLP on text and documents
To get easily started, simply install the `deepsearch-glm` package from PyPi. This can be
done using the traditional `pip install deepsearch-glm` or via poetry `poetry add deepsearch-glm`.
Below, you can find the code-snippet to process pieces of text,
```python
from deepsearch_glm.utils.load_pretrained_models import load_pretrained_nlp_models
from deepsearch_glm.nlp_utils import init_nlp_model, print_on_shell
load_pretrained_nlp_models(force=False, verbose=False)
mdl = init_nlp_model()
# from Wikipedia (https://en.wikipedia.org/wiki/France)
text = """
France (French: [fʁɑ̃s] Listen), officially the French Republic
(French: République française [ʁepyblik fʁɑ̃sɛz]),[14] is a country
located primarily in Western Europe. It also includes overseas regions
and territories in the Americas and the Atlantic, Pacific and Indian
Oceans,[XII] giving it one of the largest discontiguous exclusive
economic zones in the world.
"""
res = mdl.apply_on_text(text)
print_on_shell(text, res)
```
The last command will print the pandas dataframes on the shell and provides the
following output,
```sh
text:
#France (French: [fʁɑ̃s] Listen), officially the French Republic
(French: République française [ʁepyblik fʁɑ̃sɛz]),[14] is a country
located primarily in Western Europe. It also includes overseas regions
and territories in the Americas and the Atlantic, Pacific and Indian
Oceans, giving it one of the largest discontiguous exclusive economic
zones in the world.
properties:
type label confidence
0 language en 0.897559
instances:
type subtype subj_path char_i char_j original
----------- -------------------- ----------- -------- -------- ---------------------------------------------------------------------
sentence # 1 180 France (French: [fʁɑ̃s] Listen), officially the French Republic
(French: République française [ʁepyblik fʁɑ̃sɛz]),[14] is a country
located primarily in Western Europe.
term single-term # 1 8 #France
expression wtoken-concatenation # 1 8 #France
parenthesis round brackets # 9 36 (French: [fʁɑ̃s] Listen)
expression wtoken-concatenation # 18 28 [fʁɑ̃s]
term single-term # 29 35 Listen
term single-term # 53 68 French Republic
parenthesis round brackets # 69 125 (French: République française [ʁepyblik fʁɑ̃sɛz])
term single-term # 78 100 République française
term single-term # 112 124 fʁɑ̃sɛz]
parenthesis reference # 126 130 [14]
numval ival # 127 129 14
term single-term # 136 143 country
term single-term # 165 179 Western Europe
sentence # 181 373 It also includes overseas regions and territories in the Americas and
the Atlantic, Pacific and Indian Oceans, giving it one of the largest
discontiguous exclusive economic zones in the world.
term single-term # 198 214 overseas regions
term enum-term-mark-3 # 207 230 regions and territories
term single-term # 219 230 territories
term single-term # 238 246 Americas
term enum-term-mark-4 # 255 290 Atlantic, Pacific and Indian Oceans
term single-term # 255 263 Atlantic
term single-term # 265 272 Pacific
term single-term # 277 290 Indian Oceans
term single-term # 313 359 largest discontiguous exclusive economic zones
term single-term # 367 372 world
```
The NLP can also be applied on entire documents which were converted using
Deep Search. A simple example is shown below,
```python
from deepsearch_glm.utils.load_pretrained_models import load_pretrained_nlp_models
from deepsearch_glm.nlp_utils import init_nlp_model, print_on_shell
load_pretrained_nlp_models(force=False, verbose=False)
mdl = init_nlp_model()
with open("<path-to-json-file-of-converted-pdf-doc>", "r") as fr:
doc = json.load(fr)
enriched_doc = mdl.apply_on_doc(doc)
```
### Creating Graphs from NLP entities and relations in document collections
To create graphs, you need two ingredients, namely,
1. a collection of text or documents
2. a set of NLP models that provide entities and relations
Below is a code snippet to create the graph using these basic ingredients,
```python
odir = "<ouput-dir-to-save-graph>"
json_files = ["json-file of converted PDF document"]
model_names = "<list of NLP models:langauge;term;verb;abbreviation>"
glm = create_glm_from_docs(odir, json_files, model_names)
```
### Querying Graphs
TBD
## Install for development
### Python installation
To use the python interface, first make sure all dependencies are installed. We use [poetry](https://python-poetry.org/docs/)
for that. To install all the dependent python packages and get the python bindings, simply execute,
```sh
poetry install --all-extras
```
### CXX compilation
To compile from scratch, simply run the following command in the `deepsearch-glm` root folder to
create the `build` directory,
```sh
cmake -B ./build;
```
Next, compile the code from scratch,
```sh
cmake --build ./build -j
```
## Run using the Python Interface
### NLP and GLM examples
_Note: Some of the examples require to convert PDF documents with Deep Search. For this to run, it is required to install the [deepsearch-toolkit](https://github.com/DS4SD/deepsearch-toolkit) package. You can install it with `pip install deepsearch-glm[toolkit]`._
To run the examples, simply do execute the scripts as `poetry run python <script> <input>`. Examples are,
1. **apply NLP on document(s)**
```sh
poetry run python ./deepsearch_glm/nlp_apply_on_docs.py --pdf './data/documents/articles/2305.*.pdf' --models 'language;term'
```
2. **analyse NLP on document(s)**
```sh
poetry run python ./deepsearch_glm/nlp_apply_on_docs.py --json './data/documents/articles/2305.*.nlp.json'
```
3. **create GLM from document(s)**
```sh
poetry run python ./deepsearch_glm/glm_create_from_docs.py --pdf ./data/documents/reports/2022-ibm-annual-report.pdf
```
### Deep Search utilities
To use the Deep Search capabilities, it is required to install the [deepsearch-toolkit](https://github.com/DS4SD/deepsearch-toolkit) package.
You can install it with `pip install deepsearch-glm[toolkit]`.
1. **Query and download document(s)**
```sh
poetry run python ./deepsearch_glm/utils/ds_query.py --index patent-uspto --query "\"global warming potential\" AND \"etching\""
```
2. **Converting PDF document(s) into JSON**
```sh
poetry run python ./deepsearch_glm/utils/ds_convert.py --pdf './data/documents/articles/2305.*.pdf'"
```
## Run using CXX executables
If you like to be bare-bones, you can also use the executables for NLP and GLM's directly. In general, we
follow a simple scheme of the form
```sh
./nlp.exe -m <mode> -c <JSON-config file>
./glm.exe -m <mode> -c <JSON-config file>
```
In both cases, the modes can be queried directly via the `-h` or `--help`
```sh
./nlp.exe -h
./glm.exe -h
```
and the configuration files can be generated,
```sh
./nlp.exe -m create-configs
./glm.exe -m create-configs
```
### Natural Language Processing (NLP)
After you have generated the configuration files (see above), you can
1. train simple NLP models
```sh
./nlp.exe -m train -c nlp_train_config.json
```
2. leverage pre-trained models
```sh
./nlp.exe -m predict -c nlp_predict.example.json
```
### Graph Language Models (GLM)
1. create a GLM
```sh
./glm.exe -m create -c glm_config_create.json
```
2. explore interactively the GLM
```sh
./glm.exe -m explore -c glm_config_explore.json
```
## Testing
To run the tests, simply execute (after installation),
```sh
poetry run pytest ./tests -vvv -s
```
Raw data
{
"_id": null,
"home_page": null,
"name": "deepsearch-glm",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": null,
"author": "Peter Staar",
"author_email": "taa@zurich.ibm.com",
"download_url": null,
"platform": null,
"description": "# Graph Language Models\n\n![build](https://github.com/DS4SD/deepsearch-glm/actions/workflows/cmake.yml/badge.svg)\n![tests](https://github.com/DS4SD/deepsearch-glm/actions/workflows/tests.yml/badge.svg)\n\n[![License MIT](https://img.shields.io/github/license/ds4sd/deepsearch-glm)](https://opensource.org/licenses/MIT)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\n[![PyPI version](https://img.shields.io/pypi/v/deepsearch-glm)](https://pypi.org/project/deepsearch-glm/)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/deepsearch-glm)](https://pypi.org/project/deepsearch-glm/)\n\n![PyPI - Downloads](https://img.shields.io/pypi/dm/deepsearch-glm)\n\n## Getting Started\n\n### Finding entities and relations via NLP on text and documents\n\nTo get easily started, simply install the `deepsearch-glm` package from PyPi. This can be\ndone using the traditional `pip install deepsearch-glm` or via poetry `poetry add deepsearch-glm`.\n\nBelow, you can find the code-snippet to process pieces of text,\n\n```python\nfrom deepsearch_glm.utils.load_pretrained_models import load_pretrained_nlp_models\nfrom deepsearch_glm.nlp_utils import init_nlp_model, print_on_shell\n\nload_pretrained_nlp_models(force=False, verbose=False)\nmdl = init_nlp_model()\n\n# from Wikipedia (https://en.wikipedia.org/wiki/France)\ntext = \"\"\"\nFrance (French: [f\u0281\u0251\u0303s] Listen), officially the French Republic\n(French: R\u00e9publique fran\u00e7aise [\u0281epyblik f\u0281\u0251\u0303s\u025bz]),[14] is a country\nlocated primarily in Western Europe. It also includes overseas regions\nand territories in the Americas and the Atlantic, Pacific and Indian\nOceans,[XII] giving it one of the largest discontiguous exclusive\neconomic zones in the world.\n\"\"\"\n\nres = mdl.apply_on_text(text)\nprint_on_shell(text, res)\n```\n\nThe last command will print the pandas dataframes on the shell and provides the\nfollowing output,\n\n```sh\ntext:\n\n #France (French: [f\u0281\u0251\u0303s] Listen), officially the French Republic\n(French: R\u00e9publique fran\u00e7aise [\u0281epyblik f\u0281\u0251\u0303s\u025bz]),[14] is a country\nlocated primarily in Western Europe. It also includes overseas regions\nand territories in the Americas and the Atlantic, Pacific and Indian\nOceans, giving it one of the largest discontiguous exclusive economic\nzones in the world.\n\nproperties:\n\n type label confidence\n0 language en 0.897559\n\ninstances:\n\n type subtype subj_path char_i char_j original\n----------- -------------------- ----------- -------- -------- ---------------------------------------------------------------------\nsentence # 1 180 France (French: [f\u0281\u0251\u0303s] Listen), officially the French Republic\n (French: R\u00e9publique fran\u00e7aise [\u0281epyblik f\u0281\u0251\u0303s\u025bz]),[14] is a country\n located primarily in Western Europe.\nterm single-term # 1 8 #France\nexpression wtoken-concatenation # 1 8 #France\nparenthesis round brackets # 9 36 (French: [f\u0281\u0251\u0303s] Listen)\nexpression wtoken-concatenation # 18 28 [f\u0281\u0251\u0303s]\nterm single-term # 29 35 Listen\nterm single-term # 53 68 French Republic\nparenthesis round brackets # 69 125 (French: R\u00e9publique fran\u00e7aise [\u0281epyblik f\u0281\u0251\u0303s\u025bz])\nterm single-term # 78 100 R\u00e9publique fran\u00e7aise\nterm single-term # 112 124 f\u0281\u0251\u0303s\u025bz]\nparenthesis reference # 126 130 [14]\nnumval ival # 127 129 14\nterm single-term # 136 143 country\nterm single-term # 165 179 Western Europe\nsentence # 181 373 It also includes overseas regions and territories in the Americas and\n the Atlantic, Pacific and Indian Oceans, giving it one of the largest\n discontiguous exclusive economic zones in the world.\nterm single-term # 198 214 overseas regions\nterm enum-term-mark-3 # 207 230 regions and territories\nterm single-term # 219 230 territories\nterm single-term # 238 246 Americas\nterm enum-term-mark-4 # 255 290 Atlantic, Pacific and Indian Oceans\nterm single-term # 255 263 Atlantic\nterm single-term # 265 272 Pacific\nterm single-term # 277 290 Indian Oceans\nterm single-term # 313 359 largest discontiguous exclusive economic zones\nterm single-term # 367 372 world\n```\n\nThe NLP can also be applied on entire documents which were converted using\nDeep Search. A simple example is shown below,\n\n```python\nfrom deepsearch_glm.utils.load_pretrained_models import load_pretrained_nlp_models\nfrom deepsearch_glm.nlp_utils import init_nlp_model, print_on_shell\n\nload_pretrained_nlp_models(force=False, verbose=False)\nmdl = init_nlp_model()\n\nwith open(\"<path-to-json-file-of-converted-pdf-doc>\", \"r\") as fr:\n doc = json.load(fr)\n\nenriched_doc = mdl.apply_on_doc(doc)\n```\n\n### Creating Graphs from NLP entities and relations in document collections\n\nTo create graphs, you need two ingredients, namely,\n\n1. a collection of text or documents\n2. a set of NLP models that provide entities and relations\n\nBelow is a code snippet to create the graph using these basic ingredients,\n\n```python\nodir = \"<ouput-dir-to-save-graph>\"\njson_files = [\"json-file of converted PDF document\"]\nmodel_names = \"<list of NLP models:langauge;term;verb;abbreviation>\"\n\nglm = create_glm_from_docs(odir, json_files, model_names)\t\n```\n\n### Querying Graphs \n\nTBD\n\n## Install for development\n\n### Python installation\n\nTo use the python interface, first make sure all dependencies are installed. We use [poetry](https://python-poetry.org/docs/)\nfor that. To install all the dependent python packages and get the python bindings, simply execute,\n\n```sh\npoetry install --all-extras\n```\n\n### CXX compilation\n\nTo compile from scratch, simply run the following command in the `deepsearch-glm` root folder to\ncreate the `build` directory,\n\n```sh\ncmake -B ./build; \n```\n\nNext, compile the code from scratch,\n\n```sh\ncmake --build ./build -j\n```\n\n## Run using the Python Interface\n\n### NLP and GLM examples\n\n_Note: Some of the examples require to convert PDF documents with Deep Search. For this to run, it is required to install the [deepsearch-toolkit](https://github.com/DS4SD/deepsearch-toolkit) package. You can install it with `pip install deepsearch-glm[toolkit]`._\n\nTo run the examples, simply do execute the scripts as `poetry run python <script> <input>`. Examples are,\n\n1. **apply NLP on document(s)**\n```sh\npoetry run python ./deepsearch_glm/nlp_apply_on_docs.py --pdf './data/documents/articles/2305.*.pdf' --models 'language;term'\n```\n2. **analyse NLP on document(s)**\n```sh\npoetry run python ./deepsearch_glm/nlp_apply_on_docs.py --json './data/documents/articles/2305.*.nlp.json' \n```\n3. **create GLM from document(s)**\n```sh\npoetry run python ./deepsearch_glm/glm_create_from_docs.py --pdf ./data/documents/reports/2022-ibm-annual-report.pdf\n```\n\n### Deep Search utilities\n\nTo use the Deep Search capabilities, it is required to install the [deepsearch-toolkit](https://github.com/DS4SD/deepsearch-toolkit) package.\nYou can install it with `pip install deepsearch-glm[toolkit]`.\n\n\n1. **Query and download document(s)**\n```sh\npoetry run python ./deepsearch_glm/utils/ds_query.py --index patent-uspto --query \"\\\"global warming potential\\\" AND \\\"etching\\\"\"\n```\n2. **Converting PDF document(s) into JSON**\n```sh\npoetry run python ./deepsearch_glm/utils/ds_convert.py --pdf './data/documents/articles/2305.*.pdf'\"\n```\n\n## Run using CXX executables\n\nIf you like to be bare-bones, you can also use the executables for NLP and GLM's directly. In general, we\nfollow a simple scheme of the form\n\n```sh\n./nlp.exe -m <mode> -c <JSON-config file>\n./glm.exe -m <mode> -c <JSON-config file>\n```\n\nIn both cases, the modes can be queried directly via the `-h` or `--help`\n\n```sh\n./nlp.exe -h\n./glm.exe -h\n```\n\nand the configuration files can be generated,\n\n```sh\n./nlp.exe -m create-configs\n./glm.exe -m create-configs\n```\n\n### Natural Language Processing (NLP)\n\nAfter you have generated the configuration files (see above), you can\n\n1. train simple NLP models\n```sh\n./nlp.exe -m train -c nlp_train_config.json\n```\n2. leverage pre-trained models\n```sh\n./nlp.exe -m predict -c nlp_predict.example.json\n```\n\n### Graph Language Models (GLM)\n\n1. create a GLM\n```sh\n./glm.exe -m create -c glm_config_create.json\n```\n2. explore interactively the GLM\n```sh\n./glm.exe -m explore -c glm_config_explore.json\n```\n\n## Testing\n\nTo run the tests, simply execute (after installation),\n\n```sh\npoetry run pytest ./tests -vvv -s\n```",
"bugtrack_url": null,
"license": "MIT",
"summary": "Graph Language Models",
"version": "0.26.1",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b5d07bad93a1c96ee305a120ef4c46c8b69377b4f7ed7ba199ff614006d5cd9b",
"md5": "c788fa6a06411087ab55eeffd96e4d30",
"sha256": "477a8783782416ddc9f2562b2e85aabb3dae15620fc92a065c50ac9c8a4f1a49"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp310-cp310-macosx_13_0_arm64.whl",
"has_sig": false,
"md5_digest": "c788fa6a06411087ab55eeffd96e4d30",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.9",
"size": 5904590,
"upload_time": "2024-10-22T05:36:47",
"upload_time_iso_8601": "2024-10-22T05:36:47.992769Z",
"url": "https://files.pythonhosted.org/packages/b5/d0/7bad93a1c96ee305a120ef4c46c8b69377b4f7ed7ba199ff614006d5cd9b/deepsearch_glm-0.26.1-cp310-cp310-macosx_13_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "416cf999d75027a19a4bb46d6cc27ab91505474ac003a6fc83e415cd7939f1e2",
"md5": "6f9224a45b68a472836e491c574d222d",
"sha256": "33cf8dbf5d1c748d3060026a8c451162a822c138c538e74b4ca421feaa757957"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp310-cp310-macosx_13_0_x86_64.whl",
"has_sig": false,
"md5_digest": "6f9224a45b68a472836e491c574d222d",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.9",
"size": 6298862,
"upload_time": "2024-10-22T05:36:35",
"upload_time_iso_8601": "2024-10-22T05:36:35.686068Z",
"url": "https://files.pythonhosted.org/packages/41/6c/f999d75027a19a4bb46d6cc27ab91505474ac003a6fc83e415cd7939f1e2/deepsearch_glm-0.26.1-cp310-cp310-macosx_13_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9207ef37c37073b65bd1fe13f69673e5f2e1c46b06a1b87819e1d0eb4bcb3c6f",
"md5": "63ef9b29ae4f0e938831257f2c27333a",
"sha256": "20f3721194ebf5919a722809759ece53866eae2fc2a0c2b69bb0e9a4602efe09"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp310-cp310-macosx_14_0_arm64.whl",
"has_sig": false,
"md5_digest": "63ef9b29ae4f0e938831257f2c27333a",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.9",
"size": 5943112,
"upload_time": "2024-10-22T05:35:51",
"upload_time_iso_8601": "2024-10-22T05:35:51.167794Z",
"url": "https://files.pythonhosted.org/packages/92/07/ef37c37073b65bd1fe13f69673e5f2e1c46b06a1b87819e1d0eb4bcb3c6f/deepsearch_glm-0.26.1-cp310-cp310-macosx_14_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "da8d6f52878b133c3a01d65481c5d3b7fc46411323e9c9e4238cbf6f6a9111eb",
"md5": "1ddde9123e82376608d249e3301d0dfb",
"sha256": "be8e4b790db4b1e178a92a793dededdf59209a577e7187968b084200604dac4e"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp310-cp310-macosx_14_0_x86_64.whl",
"has_sig": false,
"md5_digest": "1ddde9123e82376608d249e3301d0dfb",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.9",
"size": 6349907,
"upload_time": "2024-10-22T05:34:27",
"upload_time_iso_8601": "2024-10-22T05:34:27.994776Z",
"url": "https://files.pythonhosted.org/packages/da/8d/6f52878b133c3a01d65481c5d3b7fc46411323e9c9e4238cbf6f6a9111eb/deepsearch_glm-0.26.1-cp310-cp310-macosx_14_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fce59a1bbb61535d4397d2af3f7e9f1b76b0d03b937a21dde9379da93ff21839",
"md5": "3268592f45c883ac6ae76bdd358c21b4",
"sha256": "5b619b2965306972a0a3057b7785452282ecfd656724b4ce0c62c1d659bd5f0a"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "3268592f45c883ac6ae76bdd358c21b4",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.9",
"size": 7901606,
"upload_time": "2024-10-22T05:55:29",
"upload_time_iso_8601": "2024-10-22T05:55:29.636569Z",
"url": "https://files.pythonhosted.org/packages/fc/e5/9a1bbb61535d4397d2af3f7e9f1b76b0d03b937a21dde9379da93ff21839/deepsearch_glm-0.26.1-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ca724b06d2336358fa445b4468139514e23e751b7bc03622898b238f59fa603c",
"md5": "01f75fb43485a00290daa1a2a548376b",
"sha256": "dcd89e19cd6ef0f23e87606e3e45342e3ded65d958a1ca324b524147e27dfe18"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp311-cp311-macosx_13_0_arm64.whl",
"has_sig": false,
"md5_digest": "01f75fb43485a00290daa1a2a548376b",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.9",
"size": 5907309,
"upload_time": "2024-10-22T05:38:22",
"upload_time_iso_8601": "2024-10-22T05:38:22.405392Z",
"url": "https://files.pythonhosted.org/packages/ca/72/4b06d2336358fa445b4468139514e23e751b7bc03622898b238f59fa603c/deepsearch_glm-0.26.1-cp311-cp311-macosx_13_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9598eb38d572e3af6166534e1fd27cce896ab9d94364b7f56ab55ee573fdd6e3",
"md5": "85fd758ddba419c03801ba6fd2960c33",
"sha256": "658d0c53b5a06a60917f4acccbcbca81eac0dd938fe1f601184b4d30634040ca"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp311-cp311-macosx_13_0_x86_64.whl",
"has_sig": false,
"md5_digest": "85fd758ddba419c03801ba6fd2960c33",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.9",
"size": 6303819,
"upload_time": "2024-10-22T05:42:11",
"upload_time_iso_8601": "2024-10-22T05:42:11.932086Z",
"url": "https://files.pythonhosted.org/packages/95/98/eb38d572e3af6166534e1fd27cce896ab9d94364b7f56ab55ee573fdd6e3/deepsearch_glm-0.26.1-cp311-cp311-macosx_13_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9ddfe020c620dcf6437fed21aa25c72868a77adb509613f3d506ecf816028130",
"md5": "fa24f0fea291786ad27c1e19cb671e2a",
"sha256": "5ef920528c215ae0586efb880e886fbd388b490c64b17e64b2a6806a7a7c97da"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp311-cp311-macosx_14_0_arm64.whl",
"has_sig": false,
"md5_digest": "fa24f0fea291786ad27c1e19cb671e2a",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.9",
"size": 5947388,
"upload_time": "2024-10-22T05:39:04",
"upload_time_iso_8601": "2024-10-22T05:39:04.202306Z",
"url": "https://files.pythonhosted.org/packages/9d/df/e020c620dcf6437fed21aa25c72868a77adb509613f3d506ecf816028130/deepsearch_glm-0.26.1-cp311-cp311-macosx_14_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "74153d98f3913cd53029bfe08efadfbba640bb4760477007ec0d4e18d6da2226",
"md5": "52e41cb1d635539ec42f49dc0ff34d95",
"sha256": "934b59504224eda6de2607ce3a7c22c982c12320f99f773421a2083efc9ee80c"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp311-cp311-macosx_14_0_x86_64.whl",
"has_sig": false,
"md5_digest": "52e41cb1d635539ec42f49dc0ff34d95",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.9",
"size": 6354087,
"upload_time": "2024-10-22T05:40:13",
"upload_time_iso_8601": "2024-10-22T05:40:13.066170Z",
"url": "https://files.pythonhosted.org/packages/74/15/3d98f3913cd53029bfe08efadfbba640bb4760477007ec0d4e18d6da2226/deepsearch_glm-0.26.1-cp311-cp311-macosx_14_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6e391d3e5fc8ecf4b5b8f879579838edb8e0eb05c98b48567988ee97f086d8b4",
"md5": "b49fece894785006f125dac1c8d2d901",
"sha256": "7efb1cc1e7bc7e01b9d3fd9a38dcc7a34300c81c8c845b9f3cde2a7cbb8f7153"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "b49fece894785006f125dac1c8d2d901",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.9",
"size": 7904396,
"upload_time": "2024-10-22T05:51:05",
"upload_time_iso_8601": "2024-10-22T05:51:05.294126Z",
"url": "https://files.pythonhosted.org/packages/6e/39/1d3e5fc8ecf4b5b8f879579838edb8e0eb05c98b48567988ee97f086d8b4/deepsearch_glm-0.26.1-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ee8c6c3d8315f7477fdf87b5dce8dfd81ee3e7c581e7120a6f74b260e1b7697d",
"md5": "78b05a858a3519df936fdb364350d869",
"sha256": "aee9f9e2f1d3da996faa289bfbdaef1f66c9e85b1d3a017230ac38eaf8cf24f8"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp312-cp312-macosx_13_0_arm64.whl",
"has_sig": false,
"md5_digest": "78b05a858a3519df936fdb364350d869",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.9",
"size": 5906551,
"upload_time": "2024-10-22T05:47:43",
"upload_time_iso_8601": "2024-10-22T05:47:43.799933Z",
"url": "https://files.pythonhosted.org/packages/ee/8c/6c3d8315f7477fdf87b5dce8dfd81ee3e7c581e7120a6f74b260e1b7697d/deepsearch_glm-0.26.1-cp312-cp312-macosx_13_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "952500dfb2f6021bcba4bd52950e36807f94ff890dc3766c956c620a9501ab3e",
"md5": "11f561e8fc494c62f8a236808c109309",
"sha256": "17835432e33f9b4f953091cefb4cd7f0ec18bef22bf657135d95040dff51f475"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp312-cp312-macosx_13_0_x86_64.whl",
"has_sig": false,
"md5_digest": "11f561e8fc494c62f8a236808c109309",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.9",
"size": 6302699,
"upload_time": "2024-10-22T05:43:56",
"upload_time_iso_8601": "2024-10-22T05:43:56.705707Z",
"url": "https://files.pythonhosted.org/packages/95/25/00dfb2f6021bcba4bd52950e36807f94ff890dc3766c956c620a9501ab3e/deepsearch_glm-0.26.1-cp312-cp312-macosx_13_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a4b772981e85ce5ea6b2a0816b77d02b2852a70f1defc90b7aff27cb8257de3e",
"md5": "bd6baec975250c2fa7bf713305c2b55e",
"sha256": "ae6ec456e6c3c36a6f8e1607488fba00638a451ab2e0819fd6718c0ddd9e2973"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp312-cp312-macosx_14_0_arm64.whl",
"has_sig": false,
"md5_digest": "bd6baec975250c2fa7bf713305c2b55e",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.9",
"size": 5946182,
"upload_time": "2024-10-22T05:43:52",
"upload_time_iso_8601": "2024-10-22T05:43:52.007381Z",
"url": "https://files.pythonhosted.org/packages/a4/b7/72981e85ce5ea6b2a0816b77d02b2852a70f1defc90b7aff27cb8257de3e/deepsearch_glm-0.26.1-cp312-cp312-macosx_14_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e0361f432e351346878d0d6a752992df6c9501feaffc15c7274e7fbfb9703b92",
"md5": "9d0a9983f0bce40f74f7dcf274859b9c",
"sha256": "8896954e8b0c4a48d99c041119c191359506f92b2868767ede9303765b91d10e"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp312-cp312-macosx_14_0_x86_64.whl",
"has_sig": false,
"md5_digest": "9d0a9983f0bce40f74f7dcf274859b9c",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.9",
"size": 6353539,
"upload_time": "2024-10-22T05:42:49",
"upload_time_iso_8601": "2024-10-22T05:42:49.814539Z",
"url": "https://files.pythonhosted.org/packages/e0/36/1f432e351346878d0d6a752992df6c9501feaffc15c7274e7fbfb9703b92/deepsearch_glm-0.26.1-cp312-cp312-macosx_14_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4a78652f7ee36a32677fc36854cfa54441cc0926f29d448bab12e43aa234f508",
"md5": "7ea244a3388797f8f15598d142d0a0d3",
"sha256": "334ca76b798d223fc511af4f5a4f50b6e2279472ed57abe1bd13bc7808cda475"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "7ea244a3388797f8f15598d142d0a0d3",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.9",
"size": 7904703,
"upload_time": "2024-10-22T05:51:20",
"upload_time_iso_8601": "2024-10-22T05:51:20.529004Z",
"url": "https://files.pythonhosted.org/packages/4a/78/652f7ee36a32677fc36854cfa54441cc0926f29d448bab12e43aa234f508/deepsearch_glm-0.26.1-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fed1f8039fe7a71f185c7348865ce3b466d41e75588d5c7abac7c0c1b6cd2f05",
"md5": "83f038601bb2be75ea1bc87f26263241",
"sha256": "25436ef7e74fb79356e49c8dd7bdde96544b03dafbda463fece7dfa3a8b8cb2a"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp313-cp313-macosx_13_0_arm64.whl",
"has_sig": false,
"md5_digest": "83f038601bb2be75ea1bc87f26263241",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.9",
"size": 5906783,
"upload_time": "2024-10-22T05:49:04",
"upload_time_iso_8601": "2024-10-22T05:49:04.741570Z",
"url": "https://files.pythonhosted.org/packages/fe/d1/f8039fe7a71f185c7348865ce3b466d41e75588d5c7abac7c0c1b6cd2f05/deepsearch_glm-0.26.1-cp313-cp313-macosx_13_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "58d7798fd10494de90767139968feb5a50f24723e662c8af8ea56341354ee677",
"md5": "6ce862fbc1d7dd3ee3065261ea65af9a",
"sha256": "db29c65004737eb70d8200fb97c1bd5f88bcba900ace2e330b285d9f4f97e1d3"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp313-cp313-macosx_13_0_x86_64.whl",
"has_sig": false,
"md5_digest": "6ce862fbc1d7dd3ee3065261ea65af9a",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.9",
"size": 6302839,
"upload_time": "2024-10-22T05:48:50",
"upload_time_iso_8601": "2024-10-22T05:48:50.261329Z",
"url": "https://files.pythonhosted.org/packages/58/d7/798fd10494de90767139968feb5a50f24723e662c8af8ea56341354ee677/deepsearch_glm-0.26.1-cp313-cp313-macosx_13_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a4b1017918b34c7091dfe84d26b020df2e82bf4bcd84a0869ae9e24b14e88413",
"md5": "84561f0b4a7256ca8a8a5466afdd13de",
"sha256": "973f247b41f08477fbaa26675d65f60fd4decf27239f62739027503c53510283"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp313-cp313-macosx_14_0_arm64.whl",
"has_sig": false,
"md5_digest": "84561f0b4a7256ca8a8a5466afdd13de",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.9",
"size": 5946294,
"upload_time": "2024-10-22T05:48:18",
"upload_time_iso_8601": "2024-10-22T05:48:18.772627Z",
"url": "https://files.pythonhosted.org/packages/a4/b1/017918b34c7091dfe84d26b020df2e82bf4bcd84a0869ae9e24b14e88413/deepsearch_glm-0.26.1-cp313-cp313-macosx_14_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2f3345166e748ef1e7431114edcd271b385d1e1c8244b3567d40628e5425230d",
"md5": "01ef5266a27ef24b7f8d121caeb80e20",
"sha256": "da90c145185ee7309fc938a2be33ff49166be0f1a4d84f00c796442ef71ae1b4"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp313-cp313-macosx_14_0_x86_64.whl",
"has_sig": false,
"md5_digest": "01ef5266a27ef24b7f8d121caeb80e20",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.9",
"size": 6353715,
"upload_time": "2024-10-22T05:48:05",
"upload_time_iso_8601": "2024-10-22T05:48:05.501868Z",
"url": "https://files.pythonhosted.org/packages/2f/33/45166e748ef1e7431114edcd271b385d1e1c8244b3567d40628e5425230d/deepsearch_glm-0.26.1-cp313-cp313-macosx_14_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5fdac7089f465a3ed27b4408c6d0d135f0d933f8bbf29d52cf19741a8a1c5a07",
"md5": "5b25f7175770239dc16898a9498efb3a",
"sha256": "5ad5c2b6fde9a15c10785a246b4e6f2b6fa88c7824fa619eb36b526f55a9049c"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "5b25f7175770239dc16898a9498efb3a",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.9",
"size": 7904393,
"upload_time": "2024-10-22T05:52:29",
"upload_time_iso_8601": "2024-10-22T05:52:29.324140Z",
"url": "https://files.pythonhosted.org/packages/5f/da/c7089f465a3ed27b4408c6d0d135f0d933f8bbf29d52cf19741a8a1c5a07/deepsearch_glm-0.26.1-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7512a9a9fb20e6edcf7715885dc37478df2df2caaf1e8fed13eb7afc72c410c1",
"md5": "0612ae3be5632f7a737afd54ba0794eb",
"sha256": "ad7504151931f238d5f724761b1d6d9ac0aeb8c5c8d9c41f0b238243f41ac75e"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp39-cp39-macosx_13_0_arm64.whl",
"has_sig": false,
"md5_digest": "0612ae3be5632f7a737afd54ba0794eb",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": "<4.0,>=3.9",
"size": 5904796,
"upload_time": "2024-10-22T05:54:13",
"upload_time_iso_8601": "2024-10-22T05:54:13.109301Z",
"url": "https://files.pythonhosted.org/packages/75/12/a9a9fb20e6edcf7715885dc37478df2df2caaf1e8fed13eb7afc72c410c1/deepsearch_glm-0.26.1-cp39-cp39-macosx_13_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9f3e9a857b187214918c1c876cbb2da6f6595771b693074449e5fb14f272fa9f",
"md5": "9d42a2cab17f14c1a079d04afcb56eb0",
"sha256": "5f20628d1eb46586068459f2a3f898a97204887020281d4474e02525b9fbdb2c"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp39-cp39-macosx_13_0_x86_64.whl",
"has_sig": false,
"md5_digest": "9d42a2cab17f14c1a079d04afcb56eb0",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": "<4.0,>=3.9",
"size": 6299125,
"upload_time": "2024-10-22T05:54:36",
"upload_time_iso_8601": "2024-10-22T05:54:36.626163Z",
"url": "https://files.pythonhosted.org/packages/9f/3e/9a857b187214918c1c876cbb2da6f6595771b693074449e5fb14f272fa9f/deepsearch_glm-0.26.1-cp39-cp39-macosx_13_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "398f7fa20de098efb64c921add6807ad91147f67a9e9c0f97895d10343c4559f",
"md5": "488b09c892c0b980c37703cf364d3edf",
"sha256": "9f761bcfeac2b47001b4c9ea7d321d9ed2036c5ae87537031fdd6e74cd99890d"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp39-cp39-macosx_14_0_arm64.whl",
"has_sig": false,
"md5_digest": "488b09c892c0b980c37703cf364d3edf",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": "<4.0,>=3.9",
"size": 5943716,
"upload_time": "2024-10-22T05:53:00",
"upload_time_iso_8601": "2024-10-22T05:53:00.774806Z",
"url": "https://files.pythonhosted.org/packages/39/8f/7fa20de098efb64c921add6807ad91147f67a9e9c0f97895d10343c4559f/deepsearch_glm-0.26.1-cp39-cp39-macosx_14_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "18d50ceebf351e07a1c36e56f679fb78e29090c30c3323fe06da0670540f81da",
"md5": "a5b4d3afaaacb81f936399a2d4f743f1",
"sha256": "67f16e696ebee7e5c414d9142880783f53a89643c76b1a53e2c65aaed44868ec"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp39-cp39-macosx_14_0_x86_64.whl",
"has_sig": false,
"md5_digest": "a5b4d3afaaacb81f936399a2d4f743f1",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": "<4.0,>=3.9",
"size": 6350330,
"upload_time": "2024-10-22T05:52:38",
"upload_time_iso_8601": "2024-10-22T05:52:38.439438Z",
"url": "https://files.pythonhosted.org/packages/18/d5/0ceebf351e07a1c36e56f679fb78e29090c30c3323fe06da0670540f81da/deepsearch_glm-0.26.1-cp39-cp39-macosx_14_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d9dbe23ec6b5cdc23ffb26ced840f365717b1e9f62d6adc184b596b60d4ece96",
"md5": "977343dc44f133b3e2947be45eea5f33",
"sha256": "3a9a47e6558733c66f88b3ff29417ce5ea89e6194e713e9acc93a37b8b763c35"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "977343dc44f133b3e2947be45eea5f33",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": "<4.0,>=3.9",
"size": 7901681,
"upload_time": "2024-10-22T05:55:46",
"upload_time_iso_8601": "2024-10-22T05:55:46.248037Z",
"url": "https://files.pythonhosted.org/packages/d9/db/e23ec6b5cdc23ffb26ced840f365717b1e9f62d6adc184b596b60d4ece96/deepsearch_glm-0.26.1-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3d6e951a4368bf6a18d675755ab160976479dac07497b53efed9362ab1845e17",
"md5": "e7321203fc44898b95824707293fcf7e",
"sha256": "84e10279d43bc62233ab67dcf831334303a39d55f4c6c308936e70bb9b6797c7"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-pp310-pypy310_pp73-win_amd64.whl",
"has_sig": false,
"md5_digest": "e7321203fc44898b95824707293fcf7e",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": "<4.0,>=3.9",
"size": 14634696,
"upload_time": "2024-10-22T05:55:38",
"upload_time_iso_8601": "2024-10-22T05:55:38.658876Z",
"url": "https://files.pythonhosted.org/packages/3d/6e/951a4368bf6a18d675755ab160976479dac07497b53efed9362ab1845e17/deepsearch_glm-0.26.1-pp310-pypy310_pp73-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5a0e822c6a0106d076f2bc2e6f0ac60d4c1c126b184c53d22db465833183ad79",
"md5": "d9e3bae3c556b3ef434798e714b44c2b",
"sha256": "9e161df0771e1c5fafa16a5e081c9df83556f887a5d6dfd11ffe8a775bf21670"
},
"downloads": -1,
"filename": "deepsearch_glm-0.26.1-pp39-pypy39_pp73-win_amd64.whl",
"has_sig": false,
"md5_digest": "d9e3bae3c556b3ef434798e714b44c2b",
"packagetype": "bdist_wheel",
"python_version": "pp39",
"requires_python": "<4.0,>=3.9",
"size": 14634191,
"upload_time": "2024-10-22T05:55:50",
"upload_time_iso_8601": "2024-10-22T05:55:50.507166Z",
"url": "https://files.pythonhosted.org/packages/5a/0e/822c6a0106d076f2bc2e6f0ac60d4c1c126b184c53d22db465833183ad79/deepsearch_glm-0.26.1-pp39-pypy39_pp73-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-22 05:36:47",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "deepsearch-glm"
}