linkml-store 0.1.9__py3-none-any.whl → 0.1.10__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.

@@ -0,0 +1,138 @@
1
+ Metadata-Version: 2.1
2
+ Name: linkml-store
3
+ Version: 0.1.10
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: h5py
20
+ Provides-Extra: llm
21
+ Provides-Extra: map
22
+ Provides-Extra: mongodb
23
+ Provides-Extra: pyarrow
24
+ Provides-Extra: renderer
25
+ Provides-Extra: tests
26
+ Provides-Extra: validation
27
+ Requires-Dist: black (>=24.0.0) ; extra == "tests"
28
+ Requires-Dist: chromadb ; extra == "chromadb"
29
+ Requires-Dist: click
30
+ Requires-Dist: duckdb (>=0.10.1,<0.11.0)
31
+ Requires-Dist: duckdb-engine (>=0.11.2)
32
+ Requires-Dist: fastapi ; extra == "fastapi"
33
+ Requires-Dist: h5py ; extra == "h5py"
34
+ Requires-Dist: jinja2 (>=3.1.4,<4.0.0)
35
+ Requires-Dist: jsonlines (>=4.0.0,<5.0.0)
36
+ Requires-Dist: linkml ; extra == "validation"
37
+ Requires-Dist: linkml-runtime (>=1.8.0rc2)
38
+ Requires-Dist: linkml_map ; extra == "map"
39
+ Requires-Dist: linkml_renderer ; extra == "renderer"
40
+ Requires-Dist: llm ; extra == "llm"
41
+ Requires-Dist: matplotlib ; extra == "analytics"
42
+ Requires-Dist: pandas (>=2.2.1) ; extra == "analytics"
43
+ Requires-Dist: plotly ; extra == "analytics"
44
+ Requires-Dist: pyarrow ; extra == "pyarrow"
45
+ Requires-Dist: pydantic (>=2.0.0,<3.0.0)
46
+ Requires-Dist: pymongo ; extra == "mongodb"
47
+ Requires-Dist: pystow (>=0.5.4,<0.6.0)
48
+ Requires-Dist: seaborn ; extra == "analytics"
49
+ Requires-Dist: sqlalchemy
50
+ Requires-Dist: streamlit (>=1.32.2,<2.0.0) ; extra == "app"
51
+ Requires-Dist: uvicorn ; extra == "fastapi"
52
+ Description-Content-Type: text/markdown
53
+
54
+ # linkml-store
55
+
56
+ An AI-ready data management and integration platform. LinkML-Store
57
+ provides an abstraction layer over multiple different backends
58
+ (including DuckDB, MongoDB, and local filesystems), allowing for
59
+ common query, index, and storage operations.
60
+
61
+ For full documentation, see [https://linkml.io/linkml-store/](https://linkml.io/linkml-store/)
62
+
63
+ __Warning__ LinkML-Store is still undergoing changes and refactoring,
64
+ APIs and command line options are subject to change!
65
+
66
+ ## Quick Start
67
+
68
+ Install, add data, query it:
69
+
70
+ ```
71
+ pip install linkml-store[all]
72
+ linkml-store -d duckdb:///db/my.db -c persons insert data/*.json
73
+ linkml-store -d duckdb:///db/my.db -c persons query -w "occupation: Bricklayer"
74
+ ```
75
+
76
+ Index it, search it:
77
+
78
+ ```
79
+ linkml-store -d duckdb:///db/my.db -c persons index -t llm
80
+ linkml-store -d duckdb:///db/my.db -c persons search "all persons employed in construction"
81
+ ```
82
+
83
+ Validate it:
84
+
85
+ ```
86
+ linkml-store -d duckdb:///db/my.db -c persons validate
87
+ ```
88
+
89
+ ## Basic usage
90
+
91
+ * [Command Line](https://linkml.io/linkml-store/tutorials/Command-Line-Tutorial.html)
92
+ * [Python](https://linkml.io/linkml-store/tutorials/Python-Tutorial.html)
93
+ * API
94
+ * Streamlit applications
95
+
96
+ ## Features
97
+
98
+ ### Multiple Adapters
99
+
100
+ LinkML-Store is designed to work with multiple backends, giving a common abstraction layer
101
+
102
+ * [MongoDB](https://linkml.io/linkml-store/how-to/Use-MongoDB.html)
103
+ * [DuckDB](https://linkml.io/linkml-store/tutorials/Python-Tutorial.html)
104
+ * [Solr](https://linkml.io/linkml-store/how-to/Query-Solr-using-CLI.html)
105
+ * Filesystem
106
+
107
+ Coming soon: any RDBMS, any triplestore, Neo4J, HDF5-based stores, ChromaDB/Vector dbs ...
108
+
109
+ The intent is to give a union of all features of each backend. For
110
+ example, analytic faceted queries are provided for *all* backends, not
111
+ just Solr.
112
+
113
+ ### Composable indexes
114
+
115
+ Many backends come with their own indexing and search
116
+ schemes. Classically this was Lucene-based indexes, now it is semantic
117
+ search using LLM embeddings.
118
+
119
+ LinkML store treats indexing as an orthogonal concern - you can
120
+ compose different indexing schemes with different backends. You don't
121
+ need to have a vector database to run embedding search!
122
+
123
+ See [How to Use-Semantic-Search](https://linkml.io/linkml-store/how-to/Use-Semantic-Search.html)
124
+
125
+ ### Validation
126
+
127
+ LinkML-Store is backed by [LinkML](https://linkml.io), which allows
128
+ for powerful expressive structural and semantic constraints.
129
+
130
+ See [Indexing JSON](https://linkml.io/linkml-store/how-to/Index-Phenopackets.html)
131
+
132
+ and [Referential Integrity](https://linkml.io/linkml-store/how-to/Check-Referential-Integrity.html)
133
+
134
+
135
+ ## Background
136
+
137
+ See [these slides](https://docs.google.com/presentation/d/e/2PACX-1vSgtWUNUW0qNO_ZhMAGQ6fYhlXZJjBNMYT0OiZz8DDx8oj7iG9KofRs6SeaMXBBOICGknoyMG2zaHnm/embed?start=false&loop=false&delayms=3000) for more details
138
+
@@ -1,8 +1,8 @@
1
1
  linkml_store/__init__.py,sha256=jlU6WOUAn8cKIhzbTULmBTWpW9gZdEt7q_RI6KZN1bY,118
2
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
3
+ linkml_store/api/client.py,sha256=dkcjZMx8V8a-zlD2Vm7QA8VVoKyk2wQQe0Ug1zcT-6o,9075
4
+ linkml_store/api/collection.py,sha256=ZWVON3axSmvWQUrCNxPqVXthQ4VaeHmqprjwgNXYj9M,30357
5
+ linkml_store/api/config.py,sha256=pgF9D_5buhChBIZXBkc84tNE0VQtP0iwCQ63Br1QR0c,3785
6
6
  linkml_store/api/database.py,sha256=9H-bj4_v_iJ5iQm_uaoR4_LefZknmbod--tOqD5mYmE,25730
7
7
  linkml_store/api/queries.py,sha256=w0qnNeCH6pC9WTGoEQYd300MF6o0G3atz2YxN3WecAs,2028
8
8
  linkml_store/api/stores/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -10,40 +10,49 @@ linkml_store/api/stores/chromadb/__init__.py,sha256=e9BkOPuPnVQKA5PRKDulag59yGNH
10
10
  linkml_store/api/stores/chromadb/chromadb_collection.py,sha256=RQUZx5oeotkzNihg-dlSevkiTiKY1d9x0bS63HF80W4,4270
11
11
  linkml_store/api/stores/chromadb/chromadb_database.py,sha256=dZA3LQE8-ZMhJQOzsUFyxehnKpFF7adR182aggfkaFY,3205
12
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
13
+ linkml_store/api/stores/duckdb/duckdb_collection.py,sha256=LTcrvPEuSaQP1riGytUCdmmbFb_zZFl1mDG6TqqXfto,6246
14
+ linkml_store/api/stores/duckdb/duckdb_database.py,sha256=O3hKEMLT5sn4JLL6te-xcUz2UT6zSQeqv6YwRUGZWK8,8175
15
15
  linkml_store/api/stores/duckdb/mappings.py,sha256=tDce3W1Apwammhf4LS6cRJ0m4NiJ0eB7vOI_4U5ETY8,148
16
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
17
+ linkml_store/api/stores/filesystem/filesystem_collection.py,sha256=QPCuCHbxzbMPcsvxVp7kOAnT5_8m0kW60SZHtRo_87A,6403
18
18
  linkml_store/api/stores/filesystem/filesystem_database.py,sha256=HnHIv1aVtTiFSPY09s40QrMNhn_e-IKCYRXQk1S25Ak,2554
19
19
  linkml_store/api/stores/hdf5/__init__.py,sha256=l4cIh3v7P0nPbwGIsfuCMD_serQ8q8c7iuUA9W2Jb4o,97
20
20
  linkml_store/api/stores/hdf5/hdf5_collection.py,sha256=mnpLMYehn3PuaIjp2dXrIWu8jh-bdQ84X2Ku83jMdEY,3805
21
21
  linkml_store/api/stores/hdf5/hdf5_database.py,sha256=EZbjrpaqiNDEFvoD5dZNcGBXA8z6HRNL81emueTZWNw,2714
22
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
23
+ linkml_store/api/stores/mongodb/mongodb_collection.py,sha256=R3zFca45V6_s8D_4f-tEhrFf_NH6z8UJj5suG7GshJc,6529
24
24
  linkml_store/api/stores/mongodb/mongodb_database.py,sha256=DKO-lMQzHyf-szVgH4tsP0UA68dlCFGv-oyVuXOIUd0,4003
25
25
  linkml_store/api/stores/solr/__init__.py,sha256=aAfnaN9mZOiIDj1NYz0Ll9fZF2gG7UU_vhP4SNCL2d8,36
26
26
  linkml_store/api/stores/solr/solr_collection.py,sha256=8GmxErlWFOO0NnJiYo1Q7hegxCsfxaWc79eN7Jn02gA,4723
27
27
  linkml_store/api/stores/solr/solr_database.py,sha256=TFjqbY7jAkdrhAchbNg0E-mChSP7ogNwFExslbvX7Yo,2877
28
28
  linkml_store/api/stores/solr/solr_utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
29
  linkml_store/api/types.py,sha256=3aIQtDFMvsSmjuN5qrR2vNK5sHa6yzD_rEOPA6tHwvg,176
30
- linkml_store/cli.py,sha256=HIPG-LZDB9Mgue6_KKDiaUpNO90chUCnYOnLbUdFogk,19098
30
+ linkml_store/cli.py,sha256=Y8QUPMCRY5jkwwvz-78k5A1dM-nOj1lavZsBR2gGTMw,19325
31
31
  linkml_store/constants.py,sha256=x4ZmDsfE9rZcL5WpA93uTKrRWzCD6GodYXviVzIvR38,112
32
- linkml_store/index/__init__.py,sha256=dVrYtsFu7tEsMDaPMIc2LjsM76HoAKQz4uO8roR18Zw,993
32
+ linkml_store/index/__init__.py,sha256=n5omzpf9nuQ8Dl2vjTVE4ATBXI0Lrs3HNmB25ZsPB1w,1076
33
33
  linkml_store/index/implementations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
34
  linkml_store/index/implementations/llm_indexer.py,sha256=04cz-UaKlV7WTubHVr0v94XfqbN0N2Nnoud9Z7nETH4,4779
35
35
  linkml_store/index/implementations/simple_indexer.py,sha256=KnkFJtXTHnwjhD_D6ZK2rFhBID1dgCedcOVPEWAY2NU,1282
36
- linkml_store/index/indexer.py,sha256=C64J3-2oCqYXCouNQ4fxw4g7f7Nl2L0WwFf-zrcsogo,4491
36
+ linkml_store/index/indexer.py,sha256=F130IKT6xZ9tTeH6D32sCcZkkLTTha8CETgZz_ksXyY,4737
37
37
  linkml_store/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
38
  linkml_store/utils/change_utils.py,sha256=O2rvSvgTKB60reLLz9mX5OWykAA_m93bwnUh5ZWa0EY,471
39
- linkml_store/utils/format_utils.py,sha256=I6rYInqdrOSWK_ydtlgYJ8ArPGP-Q8iQoD4nzrp-ajM,6568
39
+ linkml_store/utils/format_utils.py,sha256=kG-mTE9bZXfYvXsrShQN5Tz_Nxj-DFW_ykgJKVJlLQE,6581
40
40
  linkml_store/utils/io.py,sha256=JHUrWDtlZC2jtN_PQZ4ypdGIyYlftZEN3JaCvEPs44w,884
41
41
  linkml_store/utils/object_utils.py,sha256=is6T2gruvVKvWD5ZntcAl6Qi3L154FObEho_b_crTuE,2539
42
42
  linkml_store/utils/patch_utils.py,sha256=q-h_v68okyruzdPTEHCe0WubbQHKpi1qy5bJ9vFWDo8,4823
43
43
  linkml_store/utils/query_utils.py,sha256=HWt46BsGWoIGiNBTtvpXGY6onPRWsQky6eu_9cYqbvo,3440
44
+ linkml_store/utils/schema_utils.py,sha256=iJiZxo5NGr7v87h4DV6V9DrDOZHSswMRuf0N4V2rVtg,646
44
45
  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,,
46
+ linkml_store/webapi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
+ linkml_store/webapi/html/__init__.py,sha256=hwp5eeBJKH65Bvv1x9Z4vsT1tLSYtb9Dq4I9r1kL1q0,69
48
+ linkml_store/webapi/html/base.html.j2,sha256=hoiV2uaSxxrQp7VuAZBOHueH7czyJMYcPBRN6dZFYhk,693
49
+ linkml_store/webapi/html/collection_details.html.j2,sha256=FcCnkgtJAhfW84tVXQfAXP8eiq4BcrTeudZXQGL1Slg,385
50
+ linkml_store/webapi/html/database_details.html.j2,sha256=qtXdavbZb0mohiObI9dvJtkifAS16LAOcgv8qwtQz70,451
51
+ linkml_store/webapi/html/databases.html.j2,sha256=a9BCWQYfPeFhdUd31CWhB0yWhTIFXQayO08JgjyqKoc,294
52
+ linkml_store/webapi/html/generic.html.j2,sha256=1P5BKExQX5ZI94tUlMHK9BtTIXkP2ZnLAS014bPOgZM,1001
53
+ linkml_store/webapi/main.py,sha256=VurUh7iAFB0pgdevguRgVcsOgFfKZecOLLkDeLUEGIc,20306
54
+ linkml_store-0.1.10.dist-info/LICENSE,sha256=77mDOslUnalYnuq9xQYZKtIoNEzcH9mIjvWHOKjamnE,1086
55
+ linkml_store-0.1.10.dist-info/METADATA,sha256=Sgmk0smejNvDqBKqhVO-yF7H1YzMkdrZnA-0HNmLjxo,4746
56
+ linkml_store-0.1.10.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
57
+ linkml_store-0.1.10.dist-info/entry_points.txt,sha256=gWxVsHqx-t-UKWFHFzawQTvs4is4vC1rCF5AeKyqWWk,101
58
+ linkml_store-0.1.10.dist-info/RECORD,,
@@ -1,3 +1,4 @@
1
1
  [console_scripts]
2
2
  linkml-store=linkml_store.cli:cli
3
+ linkml-store-api=linkml_store.webapi.main:start
3
4
 
@@ -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
-