linkml-store 0.1.9__py3-none-any.whl → 0.1.11__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of linkml-store might be problematic. Click here for more details.
- linkml_store/api/client.py +76 -11
- linkml_store/api/collection.py +223 -40
- linkml_store/api/config.py +59 -9
- linkml_store/api/database.py +45 -27
- linkml_store/api/stores/duckdb/duckdb_collection.py +21 -3
- linkml_store/api/stores/duckdb/duckdb_database.py +36 -3
- linkml_store/api/stores/filesystem/filesystem_collection.py +13 -4
- linkml_store/api/stores/filesystem/filesystem_database.py +10 -1
- linkml_store/api/stores/mongodb/mongodb_collection.py +80 -34
- linkml_store/api/stores/mongodb/mongodb_database.py +1 -36
- linkml_store/api/stores/solr/solr_collection.py +4 -4
- linkml_store/cli.py +44 -18
- linkml_store/index/__init__.py +21 -5
- linkml_store/index/implementations/llm_indexer.py +2 -1
- linkml_store/index/indexer.py +20 -4
- linkml_store/utils/file_utils.py +37 -0
- linkml_store/utils/format_utils.py +69 -8
- linkml_store/utils/pandas_utils.py +40 -0
- linkml_store/utils/schema_utils.py +23 -0
- linkml_store/utils/sql_utils.py +2 -1
- linkml_store/webapi/__init__.py +0 -0
- linkml_store/webapi/html/__init__.py +3 -0
- linkml_store/webapi/html/base.html.j2 +24 -0
- linkml_store/webapi/html/collection_details.html.j2 +15 -0
- linkml_store/webapi/html/database_details.html.j2 +16 -0
- linkml_store/webapi/html/databases.html.j2 +14 -0
- linkml_store/webapi/html/generic.html.j2 +46 -0
- linkml_store/webapi/main.py +572 -0
- linkml_store-0.1.11.dist-info/METADATA +171 -0
- linkml_store-0.1.11.dist-info/RECORD +60 -0
- {linkml_store-0.1.9.dist-info → linkml_store-0.1.11.dist-info}/entry_points.txt +1 -0
- linkml_store-0.1.9.dist-info/METADATA +0 -61
- linkml_store-0.1.9.dist-info/RECORD +0 -49
- {linkml_store-0.1.9.dist-info → linkml_store-0.1.11.dist-info}/LICENSE +0 -0
- {linkml_store-0.1.9.dist-info → linkml_store-0.1.11.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: linkml-store
|
|
3
|
+
Version: 0.1.11
|
|
4
|
+
Summary: linkml-store
|
|
5
|
+
License: MIT
|
|
6
|
+
Author: Author 1
|
|
7
|
+
Author-email: author@org.org
|
|
8
|
+
Requires-Python: >=3.9, !=2.7.*, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, !=3.7.*, !=3.8.*
|
|
9
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
15
|
+
Provides-Extra: analytics
|
|
16
|
+
Provides-Extra: app
|
|
17
|
+
Provides-Extra: chromadb
|
|
18
|
+
Provides-Extra: fastapi
|
|
19
|
+
Provides-Extra: frictionless
|
|
20
|
+
Provides-Extra: h5py
|
|
21
|
+
Provides-Extra: llm
|
|
22
|
+
Provides-Extra: map
|
|
23
|
+
Provides-Extra: mongodb
|
|
24
|
+
Provides-Extra: pyarrow
|
|
25
|
+
Provides-Extra: renderer
|
|
26
|
+
Provides-Extra: tests
|
|
27
|
+
Provides-Extra: validation
|
|
28
|
+
Requires-Dist: black (>=24.0.0) ; extra == "tests"
|
|
29
|
+
Requires-Dist: chromadb ; extra == "chromadb"
|
|
30
|
+
Requires-Dist: click
|
|
31
|
+
Requires-Dist: duckdb (>=0.10.1,<0.11.0)
|
|
32
|
+
Requires-Dist: duckdb-engine (>=0.11.2)
|
|
33
|
+
Requires-Dist: fastapi ; extra == "fastapi"
|
|
34
|
+
Requires-Dist: frictionless ; extra == "frictionless"
|
|
35
|
+
Requires-Dist: h5py ; extra == "h5py"
|
|
36
|
+
Requires-Dist: jinja2 (>=3.1.4,<4.0.0)
|
|
37
|
+
Requires-Dist: jsonlines (>=4.0.0,<5.0.0)
|
|
38
|
+
Requires-Dist: linkml (>=1.8.0) ; extra == "validation"
|
|
39
|
+
Requires-Dist: linkml-runtime (>=1.8.0)
|
|
40
|
+
Requires-Dist: linkml_map ; extra == "map"
|
|
41
|
+
Requires-Dist: linkml_renderer ; extra == "renderer"
|
|
42
|
+
Requires-Dist: llm ; extra == "llm"
|
|
43
|
+
Requires-Dist: matplotlib ; extra == "analytics"
|
|
44
|
+
Requires-Dist: pandas (>=2.2.1) ; extra == "analytics"
|
|
45
|
+
Requires-Dist: plotly ; extra == "analytics"
|
|
46
|
+
Requires-Dist: pyarrow ; extra == "pyarrow"
|
|
47
|
+
Requires-Dist: pydantic (>=2.0.0,<3.0.0)
|
|
48
|
+
Requires-Dist: pymongo ; extra == "mongodb"
|
|
49
|
+
Requires-Dist: pystow (>=0.5.4,<0.6.0)
|
|
50
|
+
Requires-Dist: seaborn ; extra == "analytics"
|
|
51
|
+
Requires-Dist: sqlalchemy
|
|
52
|
+
Requires-Dist: streamlit (>=1.32.2,<2.0.0) ; extra == "app"
|
|
53
|
+
Requires-Dist: uvicorn ; extra == "fastapi"
|
|
54
|
+
Description-Content-Type: text/markdown
|
|
55
|
+
|
|
56
|
+
# linkml-store
|
|
57
|
+
|
|
58
|
+
An AI-ready data management and integration platform. LinkML-Store
|
|
59
|
+
provides an abstraction layer over multiple different backends
|
|
60
|
+
(including DuckDB, MongoDB, and local filesystems), allowing for
|
|
61
|
+
common query, index, and storage operations.
|
|
62
|
+
|
|
63
|
+
For full documentation, see [https://linkml.io/linkml-store/](https://linkml.io/linkml-store/)
|
|
64
|
+
|
|
65
|
+
__Warning__ LinkML-Store is still undergoing changes and refactoring,
|
|
66
|
+
APIs and command line options are subject to change!
|
|
67
|
+
|
|
68
|
+
## Quick Start
|
|
69
|
+
|
|
70
|
+
Install, add data, query it:
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
pip install linkml-store[all]
|
|
74
|
+
linkml-store -d duckdb:///db/my.db -c persons insert data/*.json
|
|
75
|
+
linkml-store -d duckdb:///db/my.db -c persons query -w "occupation: Bricklayer"
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Index it, search it:
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
linkml-store -d duckdb:///db/my.db -c persons index -t llm
|
|
82
|
+
linkml-store -d duckdb:///db/my.db -c persons search "all persons employed in construction"
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Validate it:
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
linkml-store -d duckdb:///db/my.db -c persons validate
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Basic usage
|
|
92
|
+
|
|
93
|
+
* [Command Line](https://linkml.io/linkml-store/tutorials/Command-Line-Tutorial.html)
|
|
94
|
+
* [Python](https://linkml.io/linkml-store/tutorials/Python-Tutorial.html)
|
|
95
|
+
* API
|
|
96
|
+
* Streamlit applications
|
|
97
|
+
|
|
98
|
+
## Features
|
|
99
|
+
|
|
100
|
+
### Multiple Adapters
|
|
101
|
+
|
|
102
|
+
LinkML-Store is designed to work with multiple backends, giving a common abstraction layer
|
|
103
|
+
|
|
104
|
+
* [MongoDB](https://linkml.io/linkml-store/how-to/Use-MongoDB.html)
|
|
105
|
+
* [DuckDB](https://linkml.io/linkml-store/tutorials/Python-Tutorial.html)
|
|
106
|
+
* [Solr](https://linkml.io/linkml-store/how-to/Query-Solr-using-CLI.html)
|
|
107
|
+
* Filesystem
|
|
108
|
+
|
|
109
|
+
Coming soon: any RDBMS, any triplestore, Neo4J, HDF5-based stores, ChromaDB/Vector dbs ...
|
|
110
|
+
|
|
111
|
+
The intent is to give a union of all features of each backend. For
|
|
112
|
+
example, analytic faceted queries are provided for *all* backends, not
|
|
113
|
+
just Solr.
|
|
114
|
+
|
|
115
|
+
### Composable indexes
|
|
116
|
+
|
|
117
|
+
Many backends come with their own indexing and search
|
|
118
|
+
schemes. Classically this was Lucene-based indexes, now it is semantic
|
|
119
|
+
search using LLM embeddings.
|
|
120
|
+
|
|
121
|
+
LinkML store treats indexing as an orthogonal concern - you can
|
|
122
|
+
compose different indexing schemes with different backends. You don't
|
|
123
|
+
need to have a vector database to run embedding search!
|
|
124
|
+
|
|
125
|
+
See [How to Use-Semantic-Search](https://linkml.io/linkml-store/how-to/Use-Semantic-Search.html)
|
|
126
|
+
|
|
127
|
+
### Use with LLMs
|
|
128
|
+
|
|
129
|
+
TODO - docs
|
|
130
|
+
|
|
131
|
+
### Validation
|
|
132
|
+
|
|
133
|
+
LinkML-Store is backed by [LinkML](https://linkml.io), which allows
|
|
134
|
+
for powerful expressive structural and semantic constraints.
|
|
135
|
+
|
|
136
|
+
See [Indexing JSON](https://linkml.io/linkml-store/how-to/Index-Phenopackets.html)
|
|
137
|
+
|
|
138
|
+
and [Referential Integrity](https://linkml.io/linkml-store/how-to/Check-Referential-Integrity.html)
|
|
139
|
+
|
|
140
|
+
## Web API
|
|
141
|
+
|
|
142
|
+
There is a preliminary API following HATEOAS principles implemented using FastAPI.
|
|
143
|
+
|
|
144
|
+
To start you should first create a config file, e.g. `db/conf.yaml`:
|
|
145
|
+
|
|
146
|
+
Then run:
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
export LINKML_STORE_CONFIG=./db/conf.yaml
|
|
150
|
+
make api
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
The API returns links as well as data objects, it's recommended to use a Chrome plugin for JSON viewing
|
|
154
|
+
for exploring the API. TODO: add docs here.
|
|
155
|
+
|
|
156
|
+
The main endpoints are:
|
|
157
|
+
|
|
158
|
+
* `http://localhost:8000/` - the root of the API
|
|
159
|
+
* `http://localhost:8000/pages/` - browse the API via HTML
|
|
160
|
+
* `http://localhost:8000/docs` - the Swagger UI
|
|
161
|
+
|
|
162
|
+
## Streamlit app
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
make app
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## Background
|
|
169
|
+
|
|
170
|
+
See [these slides](https://docs.google.com/presentation/d/e/2PACX-1vSgtWUNUW0qNO_ZhMAGQ6fYhlXZJjBNMYT0OiZz8DDx8oj7iG9KofRs6SeaMXBBOICGknoyMG2zaHnm/embed?start=false&loop=false&delayms=3000) for more details
|
|
171
|
+
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
linkml_store/__init__.py,sha256=jlU6WOUAn8cKIhzbTULmBTWpW9gZdEt7q_RI6KZN1bY,118
|
|
2
|
+
linkml_store/api/__init__.py,sha256=3CelcFEFz0y3MkQAzhQ9JxHIt1zFk6nYZxSmYTo8YZE,226
|
|
3
|
+
linkml_store/api/client.py,sha256=8hfO7loCxGbqcmbKXqheRRh5AUbhHvFJxk1WDiYIYik,10890
|
|
4
|
+
linkml_store/api/collection.py,sha256=Z5LoBitii7C8jKN6fGcajaxq63n8ktEh2Da9sAs1UIk,34674
|
|
5
|
+
linkml_store/api/config.py,sha256=wgXmDhViayUOiAlFgu81G3fPlhMNBATfO4GUQ-TcIjk,4665
|
|
6
|
+
linkml_store/api/database.py,sha256=mWF0pAoGZsk0A9WZP-4lUjbB7xs2nCwJYjH7r4rtBNE,26624
|
|
7
|
+
linkml_store/api/queries.py,sha256=w0qnNeCH6pC9WTGoEQYd300MF6o0G3atz2YxN3WecAs,2028
|
|
8
|
+
linkml_store/api/stores/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
+
linkml_store/api/stores/chromadb/__init__.py,sha256=e9BkOPuPnVQKA5PRKDulag59yGNHDP3U2_DnPSrFAKM,132
|
|
10
|
+
linkml_store/api/stores/chromadb/chromadb_collection.py,sha256=RQUZx5oeotkzNihg-dlSevkiTiKY1d9x0bS63HF80W4,4270
|
|
11
|
+
linkml_store/api/stores/chromadb/chromadb_database.py,sha256=dZA3LQE8-ZMhJQOzsUFyxehnKpFF7adR182aggfkaFY,3205
|
|
12
|
+
linkml_store/api/stores/duckdb/__init__.py,sha256=rbQSDgNg-fdvi6-pHGYkJTST4p1qXUZBf9sFSsO3KPk,387
|
|
13
|
+
linkml_store/api/stores/duckdb/duckdb_collection.py,sha256=d9aYNFt9t8itNmhb6H2PdsxHL1dkYiW0N9wF8SATk1g,6767
|
|
14
|
+
linkml_store/api/stores/duckdb/duckdb_database.py,sha256=WT7fBp2So9ht-JN2D4oFYoy4k_AfSGVgWKA9MTISFTQ,8664
|
|
15
|
+
linkml_store/api/stores/duckdb/mappings.py,sha256=tDce3W1Apwammhf4LS6cRJ0m4NiJ0eB7vOI_4U5ETY8,148
|
|
16
|
+
linkml_store/api/stores/filesystem/__init__.py,sha256=KjvCjdttwqMHNeGyL-gr59zRz0--HFEWWUNNCJ5hITs,347
|
|
17
|
+
linkml_store/api/stores/filesystem/filesystem_collection.py,sha256=9gqY2KRZsn_RWk4eKkxFd3_wcxs5YaXvcBI7GGJBMGE,6751
|
|
18
|
+
linkml_store/api/stores/filesystem/filesystem_database.py,sha256=sV-lueyrh3R6edyWkwN6qKa7yjPc8PIcF1rxgox6oA4,2875
|
|
19
|
+
linkml_store/api/stores/hdf5/__init__.py,sha256=l4cIh3v7P0nPbwGIsfuCMD_serQ8q8c7iuUA9W2Jb4o,97
|
|
20
|
+
linkml_store/api/stores/hdf5/hdf5_collection.py,sha256=mnpLMYehn3PuaIjp2dXrIWu8jh-bdQ84X2Ku83jMdEY,3805
|
|
21
|
+
linkml_store/api/stores/hdf5/hdf5_database.py,sha256=EZbjrpaqiNDEFvoD5dZNcGBXA8z6HRNL81emueTZWNw,2714
|
|
22
|
+
linkml_store/api/stores/mongodb/__init__.py,sha256=OSFCr7RQlDEe-O-Y0P_i912oAMK-L3pC7Cnj7sxlwAk,510
|
|
23
|
+
linkml_store/api/stores/mongodb/mongodb_collection.py,sha256=W-j1tkk8h1-zzjIRe-IYAnAOwlFSwr4fnDtgiu7RsVI,6695
|
|
24
|
+
linkml_store/api/stores/mongodb/mongodb_database.py,sha256=LQ1Tb70pzLPx1HAvc8CGD7affyCJfOtXZnXJceTY97A,2450
|
|
25
|
+
linkml_store/api/stores/solr/__init__.py,sha256=aAfnaN9mZOiIDj1NYz0Ll9fZF2gG7UU_vhP4SNCL2d8,36
|
|
26
|
+
linkml_store/api/stores/solr/solr_collection.py,sha256=ZlxC3JbVaHfSA4HuTeJTsp6qe48tHS6Fgel5jsqXcsM,4727
|
|
27
|
+
linkml_store/api/stores/solr/solr_database.py,sha256=TFjqbY7jAkdrhAchbNg0E-mChSP7ogNwFExslbvX7Yo,2877
|
|
28
|
+
linkml_store/api/stores/solr/solr_utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
|
+
linkml_store/api/types.py,sha256=3aIQtDFMvsSmjuN5qrR2vNK5sHa6yzD_rEOPA6tHwvg,176
|
|
30
|
+
linkml_store/cli.py,sha256=4pxdrmN5hlKalNGLQgfkIIjWXfNENpqHoDu0SzJZuLY,20296
|
|
31
|
+
linkml_store/constants.py,sha256=x4ZmDsfE9rZcL5WpA93uTKrRWzCD6GodYXviVzIvR38,112
|
|
32
|
+
linkml_store/index/__init__.py,sha256=6SQzDe-WZSSqbGNsbCDfyPTyz0s9ISDKw1dm9xgQuT4,1396
|
|
33
|
+
linkml_store/index/implementations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
34
|
+
linkml_store/index/implementations/llm_indexer.py,sha256=LI5f8SLF_rJY5W6wZPLaUqpyoq-VDW_KqlCBNDNm_po,4827
|
|
35
|
+
linkml_store/index/implementations/simple_indexer.py,sha256=KnkFJtXTHnwjhD_D6ZK2rFhBID1dgCedcOVPEWAY2NU,1282
|
|
36
|
+
linkml_store/index/indexer.py,sha256=K-TDPzdTyGFo6iG4XI_A_3IpwDbKeiTIbdr85NIL5r8,4918
|
|
37
|
+
linkml_store/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
|
+
linkml_store/utils/change_utils.py,sha256=O2rvSvgTKB60reLLz9mX5OWykAA_m93bwnUh5ZWa0EY,471
|
|
39
|
+
linkml_store/utils/file_utils.py,sha256=rQ7-XpmI6_Kx_dhEnI98muFRr0MmgI_kZ_9cgJBf_0I,1411
|
|
40
|
+
linkml_store/utils/format_utils.py,sha256=m9jBeytym1xkuST1iWbvvdEQn0wPu2ODjYDDHF-WfeA,8608
|
|
41
|
+
linkml_store/utils/io.py,sha256=JHUrWDtlZC2jtN_PQZ4ypdGIyYlftZEN3JaCvEPs44w,884
|
|
42
|
+
linkml_store/utils/object_utils.py,sha256=is6T2gruvVKvWD5ZntcAl6Qi3L154FObEho_b_crTuE,2539
|
|
43
|
+
linkml_store/utils/pandas_utils.py,sha256=INL8aZ5v2OeLg-Uzfa8P1cpnMMKA1DumiTB0q175tw8,1389
|
|
44
|
+
linkml_store/utils/patch_utils.py,sha256=q-h_v68okyruzdPTEHCe0WubbQHKpi1qy5bJ9vFWDo8,4823
|
|
45
|
+
linkml_store/utils/query_utils.py,sha256=HWt46BsGWoIGiNBTtvpXGY6onPRWsQky6eu_9cYqbvo,3440
|
|
46
|
+
linkml_store/utils/schema_utils.py,sha256=iJiZxo5NGr7v87h4DV6V9DrDOZHSswMRuf0N4V2rVtg,646
|
|
47
|
+
linkml_store/utils/sql_utils.py,sha256=ecnc8GjeGK41AA-aA1dl7Gy9OBpr_xJ7Gbk-V8VKGCM,5728
|
|
48
|
+
linkml_store/webapi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
49
|
+
linkml_store/webapi/html/__init__.py,sha256=hwp5eeBJKH65Bvv1x9Z4vsT1tLSYtb9Dq4I9r1kL1q0,69
|
|
50
|
+
linkml_store/webapi/html/base.html.j2,sha256=hoiV2uaSxxrQp7VuAZBOHueH7czyJMYcPBRN6dZFYhk,693
|
|
51
|
+
linkml_store/webapi/html/collection_details.html.j2,sha256=FcCnkgtJAhfW84tVXQfAXP8eiq4BcrTeudZXQGL1Slg,385
|
|
52
|
+
linkml_store/webapi/html/database_details.html.j2,sha256=qtXdavbZb0mohiObI9dvJtkifAS16LAOcgv8qwtQz70,451
|
|
53
|
+
linkml_store/webapi/html/databases.html.j2,sha256=a9BCWQYfPeFhdUd31CWhB0yWhTIFXQayO08JgjyqKoc,294
|
|
54
|
+
linkml_store/webapi/html/generic.html.j2,sha256=1P5BKExQX5ZI94tUlMHK9BtTIXkP2ZnLAS014bPOgZM,1001
|
|
55
|
+
linkml_store/webapi/main.py,sha256=VurUh7iAFB0pgdevguRgVcsOgFfKZecOLLkDeLUEGIc,20306
|
|
56
|
+
linkml_store-0.1.11.dist-info/LICENSE,sha256=77mDOslUnalYnuq9xQYZKtIoNEzcH9mIjvWHOKjamnE,1086
|
|
57
|
+
linkml_store-0.1.11.dist-info/METADATA,sha256=Ax6ogNmpPOy5OQy2b4T1eGohOJYmDG15gk441ZVUYEM,5471
|
|
58
|
+
linkml_store-0.1.11.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
59
|
+
linkml_store-0.1.11.dist-info/entry_points.txt,sha256=gWxVsHqx-t-UKWFHFzawQTvs4is4vC1rCF5AeKyqWWk,101
|
|
60
|
+
linkml_store-0.1.11.dist-info/RECORD,,
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: linkml-store
|
|
3
|
-
Version: 0.1.9
|
|
4
|
-
Summary: linkml-store
|
|
5
|
-
License: MIT
|
|
6
|
-
Author: Author 1
|
|
7
|
-
Author-email: author@org.org
|
|
8
|
-
Requires-Python: >=3.9, !=2.7.*, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, !=3.7.*, !=3.8.*
|
|
9
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
10
|
-
Classifier: Programming Language :: Python :: 3
|
|
11
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
15
|
-
Provides-Extra: analytics
|
|
16
|
-
Provides-Extra: app
|
|
17
|
-
Provides-Extra: chromadb
|
|
18
|
-
Provides-Extra: h5py
|
|
19
|
-
Provides-Extra: llm
|
|
20
|
-
Provides-Extra: map
|
|
21
|
-
Provides-Extra: mongodb
|
|
22
|
-
Provides-Extra: pyarrow
|
|
23
|
-
Provides-Extra: tests
|
|
24
|
-
Provides-Extra: validation
|
|
25
|
-
Requires-Dist: black (>=24.0.0) ; extra == "tests"
|
|
26
|
-
Requires-Dist: chromadb ; extra == "chromadb"
|
|
27
|
-
Requires-Dist: click
|
|
28
|
-
Requires-Dist: duckdb (>=0.10.1,<0.11.0)
|
|
29
|
-
Requires-Dist: duckdb-engine (>=0.11.2)
|
|
30
|
-
Requires-Dist: h5py ; extra == "h5py"
|
|
31
|
-
Requires-Dist: jinja2 (>=3.1.4,<4.0.0)
|
|
32
|
-
Requires-Dist: jsonlines (>=4.0.0,<5.0.0)
|
|
33
|
-
Requires-Dist: linkml ; extra == "validation"
|
|
34
|
-
Requires-Dist: linkml-runtime (>=1.7.5,<2.0.0)
|
|
35
|
-
Requires-Dist: linkml_map ; extra == "map"
|
|
36
|
-
Requires-Dist: llm ; extra == "llm"
|
|
37
|
-
Requires-Dist: matplotlib ; extra == "analytics"
|
|
38
|
-
Requires-Dist: pandas (>=2.2.1) ; extra == "analytics"
|
|
39
|
-
Requires-Dist: plotly ; extra == "analytics"
|
|
40
|
-
Requires-Dist: pyarrow ; extra == "pyarrow"
|
|
41
|
-
Requires-Dist: pydantic (>=2.0.0,<3.0.0)
|
|
42
|
-
Requires-Dist: pymongo ; extra == "mongodb"
|
|
43
|
-
Requires-Dist: pystow (>=0.5.4,<0.6.0)
|
|
44
|
-
Requires-Dist: seaborn ; extra == "analytics"
|
|
45
|
-
Requires-Dist: sqlalchemy
|
|
46
|
-
Requires-Dist: streamlit (>=1.32.2,<2.0.0) ; extra == "app"
|
|
47
|
-
Description-Content-Type: text/markdown
|
|
48
|
-
|
|
49
|
-
# linkml-store
|
|
50
|
-
|
|
51
|
-
An integration layer for multiple database backends
|
|
52
|
-
|
|
53
|
-
Currently this software is alpha, and has only been tested with DuckDB backends. See the Tutorial for more information.
|
|
54
|
-
|
|
55
|
-
There is also experimental support for vector-based indexing using OpenAI test embedding via the `llm` library.
|
|
56
|
-
|
|
57
|
-
The goals of this project are to provide high level access to data stored in heterogeneous databases,
|
|
58
|
-
with optional schema management using LinkML.
|
|
59
|
-
|
|
60
|
-
See [these slides](https://docs.google.com/presentation/d/e/2PACX-1vSgtWUNUW0qNO_ZhMAGQ6fYhlXZJjBNMYT0OiZz8DDx8oj7iG9KofRs6SeaMXBBOICGknoyMG2zaHnm/embed?start=false&loop=false&delayms=3000) for more details
|
|
61
|
-
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
linkml_store/__init__.py,sha256=jlU6WOUAn8cKIhzbTULmBTWpW9gZdEt7q_RI6KZN1bY,118
|
|
2
|
-
linkml_store/api/__init__.py,sha256=3CelcFEFz0y3MkQAzhQ9JxHIt1zFk6nYZxSmYTo8YZE,226
|
|
3
|
-
linkml_store/api/client.py,sha256=YGji1WJp9j3W0yTqSbcPHmz7jjUXalnQXeWvJLyQNyE,8592
|
|
4
|
-
linkml_store/api/collection.py,sha256=7ZPSs8LnmPI_-dYkZoTM87BE2gglRnU2p4XQhv4DYuU,27470
|
|
5
|
-
linkml_store/api/config.py,sha256=VTtv42Vgnn3vKEERIOrtXjQDz4YHTJnm5pvvUnshqyA,3573
|
|
6
|
-
linkml_store/api/database.py,sha256=9H-bj4_v_iJ5iQm_uaoR4_LefZknmbod--tOqD5mYmE,25730
|
|
7
|
-
linkml_store/api/queries.py,sha256=w0qnNeCH6pC9WTGoEQYd300MF6o0G3atz2YxN3WecAs,2028
|
|
8
|
-
linkml_store/api/stores/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
-
linkml_store/api/stores/chromadb/__init__.py,sha256=e9BkOPuPnVQKA5PRKDulag59yGNHDP3U2_DnPSrFAKM,132
|
|
10
|
-
linkml_store/api/stores/chromadb/chromadb_collection.py,sha256=RQUZx5oeotkzNihg-dlSevkiTiKY1d9x0bS63HF80W4,4270
|
|
11
|
-
linkml_store/api/stores/chromadb/chromadb_database.py,sha256=dZA3LQE8-ZMhJQOzsUFyxehnKpFF7adR182aggfkaFY,3205
|
|
12
|
-
linkml_store/api/stores/duckdb/__init__.py,sha256=rbQSDgNg-fdvi6-pHGYkJTST4p1qXUZBf9sFSsO3KPk,387
|
|
13
|
-
linkml_store/api/stores/duckdb/duckdb_collection.py,sha256=PGzYdLx1bv5NK0TvEIKpNSQ7f6yiY3vylt_V_KFqqWo,6097
|
|
14
|
-
linkml_store/api/stores/duckdb/duckdb_database.py,sha256=xk2bSeSWofGtPgp56168-4KIX4wJTtm9XgUtiBQOuNA,7194
|
|
15
|
-
linkml_store/api/stores/duckdb/mappings.py,sha256=tDce3W1Apwammhf4LS6cRJ0m4NiJ0eB7vOI_4U5ETY8,148
|
|
16
|
-
linkml_store/api/stores/filesystem/__init__.py,sha256=KjvCjdttwqMHNeGyL-gr59zRz0--HFEWWUNNCJ5hITs,347
|
|
17
|
-
linkml_store/api/stores/filesystem/filesystem_collection.py,sha256=5WmWSIE22UnKm8UkfcpTinfnpgtv_FXcYTlT5vF2yKA,6321
|
|
18
|
-
linkml_store/api/stores/filesystem/filesystem_database.py,sha256=HnHIv1aVtTiFSPY09s40QrMNhn_e-IKCYRXQk1S25Ak,2554
|
|
19
|
-
linkml_store/api/stores/hdf5/__init__.py,sha256=l4cIh3v7P0nPbwGIsfuCMD_serQ8q8c7iuUA9W2Jb4o,97
|
|
20
|
-
linkml_store/api/stores/hdf5/hdf5_collection.py,sha256=mnpLMYehn3PuaIjp2dXrIWu8jh-bdQ84X2Ku83jMdEY,3805
|
|
21
|
-
linkml_store/api/stores/hdf5/hdf5_database.py,sha256=EZbjrpaqiNDEFvoD5dZNcGBXA8z6HRNL81emueTZWNw,2714
|
|
22
|
-
linkml_store/api/stores/mongodb/__init__.py,sha256=OSFCr7RQlDEe-O-Y0P_i912oAMK-L3pC7Cnj7sxlwAk,510
|
|
23
|
-
linkml_store/api/stores/mongodb/mongodb_collection.py,sha256=CCsU1omeWXdb8Wzjt9DlmryBNgbfVbiTNtAJNrO-odI,4970
|
|
24
|
-
linkml_store/api/stores/mongodb/mongodb_database.py,sha256=DKO-lMQzHyf-szVgH4tsP0UA68dlCFGv-oyVuXOIUd0,4003
|
|
25
|
-
linkml_store/api/stores/solr/__init__.py,sha256=aAfnaN9mZOiIDj1NYz0Ll9fZF2gG7UU_vhP4SNCL2d8,36
|
|
26
|
-
linkml_store/api/stores/solr/solr_collection.py,sha256=8GmxErlWFOO0NnJiYo1Q7hegxCsfxaWc79eN7Jn02gA,4723
|
|
27
|
-
linkml_store/api/stores/solr/solr_database.py,sha256=TFjqbY7jAkdrhAchbNg0E-mChSP7ogNwFExslbvX7Yo,2877
|
|
28
|
-
linkml_store/api/stores/solr/solr_utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
|
-
linkml_store/api/types.py,sha256=3aIQtDFMvsSmjuN5qrR2vNK5sHa6yzD_rEOPA6tHwvg,176
|
|
30
|
-
linkml_store/cli.py,sha256=HIPG-LZDB9Mgue6_KKDiaUpNO90chUCnYOnLbUdFogk,19098
|
|
31
|
-
linkml_store/constants.py,sha256=x4ZmDsfE9rZcL5WpA93uTKrRWzCD6GodYXviVzIvR38,112
|
|
32
|
-
linkml_store/index/__init__.py,sha256=dVrYtsFu7tEsMDaPMIc2LjsM76HoAKQz4uO8roR18Zw,993
|
|
33
|
-
linkml_store/index/implementations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
34
|
-
linkml_store/index/implementations/llm_indexer.py,sha256=04cz-UaKlV7WTubHVr0v94XfqbN0N2Nnoud9Z7nETH4,4779
|
|
35
|
-
linkml_store/index/implementations/simple_indexer.py,sha256=KnkFJtXTHnwjhD_D6ZK2rFhBID1dgCedcOVPEWAY2NU,1282
|
|
36
|
-
linkml_store/index/indexer.py,sha256=C64J3-2oCqYXCouNQ4fxw4g7f7Nl2L0WwFf-zrcsogo,4491
|
|
37
|
-
linkml_store/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
|
-
linkml_store/utils/change_utils.py,sha256=O2rvSvgTKB60reLLz9mX5OWykAA_m93bwnUh5ZWa0EY,471
|
|
39
|
-
linkml_store/utils/format_utils.py,sha256=I6rYInqdrOSWK_ydtlgYJ8ArPGP-Q8iQoD4nzrp-ajM,6568
|
|
40
|
-
linkml_store/utils/io.py,sha256=JHUrWDtlZC2jtN_PQZ4ypdGIyYlftZEN3JaCvEPs44w,884
|
|
41
|
-
linkml_store/utils/object_utils.py,sha256=is6T2gruvVKvWD5ZntcAl6Qi3L154FObEho_b_crTuE,2539
|
|
42
|
-
linkml_store/utils/patch_utils.py,sha256=q-h_v68okyruzdPTEHCe0WubbQHKpi1qy5bJ9vFWDo8,4823
|
|
43
|
-
linkml_store/utils/query_utils.py,sha256=HWt46BsGWoIGiNBTtvpXGY6onPRWsQky6eu_9cYqbvo,3440
|
|
44
|
-
linkml_store/utils/sql_utils.py,sha256=TeAhAHXi1GA0f2UVrxbzStwe49Q7fN0mu5WZyfDk-s8,5651
|
|
45
|
-
linkml_store-0.1.9.dist-info/LICENSE,sha256=77mDOslUnalYnuq9xQYZKtIoNEzcH9mIjvWHOKjamnE,1086
|
|
46
|
-
linkml_store-0.1.9.dist-info/METADATA,sha256=6TNxC0HDbb4CGFH1GhDfU1BryD2uGFCi5cRJUj4MZQ8,2421
|
|
47
|
-
linkml_store-0.1.9.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
48
|
-
linkml_store-0.1.9.dist-info/entry_points.txt,sha256=6ema3OkAkUK0ux8roEeRPtSW_Tylend5BABf-xRsZiU,53
|
|
49
|
-
linkml_store-0.1.9.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|