lbug 0.12.0 → 0.12.2

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.
Files changed (62) hide show
  1. package/lbug-source/.github/workflows/benchmark-workflow.yml +7 -4
  2. package/lbug-source/.github/workflows/build-and-deploy-extension.yml +4 -11
  3. package/lbug-source/.github/workflows/build-and-deploy.yml +37 -11
  4. package/lbug-source/.github/workflows/build-extensions.yml +0 -8
  5. package/lbug-source/.github/workflows/business-intelligence-benchmark.yml +1 -1
  6. package/lbug-source/.github/workflows/ci-workflow.yml +139 -34
  7. package/lbug-source/.github/workflows/clickbench-workflow.yml +5 -0
  8. package/lbug-source/.github/workflows/gen-docs.yml +55 -29
  9. package/lbug-source/.github/workflows/get-extensions-from-ghcr.yml +2 -2
  10. package/lbug-source/.github/workflows/interactive-v1-benchmark.yml +6 -1
  11. package/lbug-source/.github/workflows/java-workflow.yml +31 -33
  12. package/lbug-source/.github/workflows/ldbc-fintech-benchmark-workflow.yml +1 -1
  13. package/lbug-source/.github/workflows/lsqb-benchmark-workflow.yml +16 -8
  14. package/lbug-source/.github/workflows/precompiled-bin-workflow.yml +10 -8
  15. package/lbug-source/.github/workflows/purge-extension.yml +2 -2
  16. package/lbug-source/.github/workflows/python-wheel-workflow.yml +24 -12
  17. package/lbug-source/.github/workflows/wasm-workflow.yml +6 -1
  18. package/lbug-source/.gitignore +1 -0
  19. package/lbug-source/AGENTS.md +19 -0
  20. package/lbug-source/CMakeLists.txt +8 -6
  21. package/lbug-source/Makefile +1 -2
  22. package/lbug-source/benchmark/lsqb/benchmark_runner.py +1 -2
  23. package/lbug-source/benchmark/lsqb/serializer.py +1 -2
  24. package/lbug-source/dataset/books/books.csv +3 -0
  25. package/lbug-source/extension/azure/test/test_files/azure.test +2 -0
  26. package/lbug-source/extension/duckdb/test/test_files/duckdb.test +1 -0
  27. package/lbug-source/extension/duckdb/test/test_files/remote_duckdb.test +2 -0
  28. package/lbug-source/extension/fts/src/function/create_fts_index.cpp +6 -8
  29. package/lbug-source/extension/fts/test/test_files/multi_index.test +44 -0
  30. package/lbug-source/extension/httpfs/test/test_files/gcs_download.test +1 -0
  31. package/lbug-source/extension/httpfs/test/test_files/gcs_glob.test +1 -0
  32. package/lbug-source/extension/httpfs/test/test_files/gcs_remote_database.test +1 -0
  33. package/lbug-source/extension/httpfs/test/test_files/http.test +13 -0
  34. package/lbug-source/extension/httpfs/test/test_files/s3_download.test +1 -0
  35. package/lbug-source/extension/iceberg/test/test_files/iceberg.test +1 -0
  36. package/lbug-source/extension/json/test/scan_json.test +1 -0
  37. package/lbug-source/extension/sqlite/test/test_files/sqlite.test +1 -0
  38. package/lbug-source/extension/vector/test/test_files/transaction.test +56 -0
  39. package/lbug-source/extension/vector/test/test_files/update.test +84 -0
  40. package/lbug-source/scripts/extension/PRODUCTION_RELEASES +1 -14
  41. package/lbug-source/scripts/pip-package/setup.py +0 -3
  42. package/lbug-source/scripts/update-nightly-build-version.py +15 -0
  43. package/lbug-source/src/CMakeLists.txt +1 -1
  44. package/lbug-source/src/c_api/value.cpp +5 -2
  45. package/lbug-source/src/include/c_api/lbug.h +5 -3
  46. package/lbug-source/src/storage/table/node_table.cpp +1 -0
  47. package/lbug-source/test/c_api/value_test.cpp +4 -3
  48. package/lbug-source/test/test_files/extension/extension.test +0 -3
  49. package/lbug-source/tools/nodejs_api/README.md +2 -2
  50. package/lbug-source/tools/nodejs_api/package.json +2 -2
  51. package/lbug-source/tools/python_api/Makefile +2 -2
  52. package/lbug-source/tools/python_api/pyproject.toml +36 -0
  53. package/lbug-source/tools/wasm/examples/browser_in_memory/package.json +1 -1
  54. package/lbug-source/tools/wasm/examples/browser_persistent/package.json +1 -1
  55. package/lbug-source/tools/wasm/examples/nodejs/package.json +1 -1
  56. package/lbug-source/tools/wasm/package.json +1 -1
  57. package/package.json +3 -3
  58. package/prebuilt/lbugjs-darwin-arm64.node +0 -0
  59. package/prebuilt/lbugjs-linux-arm64.node +0 -0
  60. package/prebuilt/lbugjs-linux-x64.node +0 -0
  61. package/prebuilt/lbugjs-win32-x64.node +0 -0
  62. package/lbug-source/tools/python_api/requirements_dev.txt +0 -20
@@ -10,6 +10,7 @@
10
10
  ]
11
11
 
12
12
  -CASE AttachTinysnb
13
+ -SKIP
13
14
  -SKIP_FSM_LEAK_CHECK
14
15
  -LOAD_DYNAMIC_EXTENSION httpfs
15
16
  -INSERT_STATEMENT_BLOCK GCS_SETUP
@@ -3,6 +3,7 @@
3
3
  --
4
4
 
5
5
  -CASE ScanFromHTTPCSV
6
+ -SKIP
6
7
  -LOAD_DYNAMIC_EXTENSION httpfs
7
8
  -STATEMENT load from "http://localhost/dataset/tinysnb/vPerson.csv" return * limit 5;
8
9
  ---- 5
@@ -12,7 +13,16 @@
12
13
  5|Dan|2|False|True|20|4.8|1950-07-23|2031-11-30 12:25:30|10 years 5 months 13:00:00.000024|[1,9]|[Wolfeschlegelstein,Daniel]|[[7,4],[8,8],[9]]|[76,88,99,89]|1.300|a0ee-bc99-9c0b-4ef8-bb6d-6bb9-bd38-0a14
13
14
  7|Elizabeth|1|False|True|20|4.7|1980-10-26|1976-12-23 11:21:42|48:24:11|[2]|[Ein]|[[6],[7],[8]]|[96,59,65,88]|1.463|{a0eebc99-9c0b4ef8-bb6d6bb9-bd380a15}
14
15
 
16
+ -CASE AttachHTTPDatabase
17
+ -SKIP
18
+ -LOAD_DYNAMIC_EXTENSION httpfs
19
+
20
+ -CASE ScanFromHTTPCSV
21
+ -SKIP
22
+ -LOAD_DYNAMIC_EXTENSION httpfs
23
+
15
24
  -CASE ScanFromLargeFiles
25
+ -SKIP
16
26
  -LOAD_DYNAMIC_EXTENSION httpfs
17
27
  -STATEMENT load from "http://localhost/dataset/copy-test/node/parquet/types_50k_0.parquet" return count(*);
18
28
  ---- 1
@@ -22,6 +32,7 @@
22
32
  50000
23
33
 
24
34
  -CASE CopyFromHTTPCSV
35
+ -SKIP
25
36
  -LOAD_DYNAMIC_EXTENSION httpfs
26
37
  -STATEMENT CREATE NODE TABLE User(name STRING, age INT64, PRIMARY KEY (name))
27
38
  ---- ok
@@ -35,6 +46,7 @@ Zhang|50
35
46
  Noura|25
36
47
 
37
48
  -CASE ScanFromHTTPS
49
+ -SKIP
38
50
  -LOAD_DYNAMIC_EXTENSION httpfs
39
51
  -STATEMENT load from "https://extension.ladybugdb.com/dataset/test/city.csv" return *;
40
52
  ---- 3
@@ -43,6 +55,7 @@ Kitchener|200000
43
55
  Guelph|75000
44
56
 
45
57
  -CASE AttachHTTPDatabase
58
+ -SKIP
46
59
  -LOAD_DYNAMIC_EXTENSION httpfs
47
60
  -LOG validateTableNotExists
48
61
  -STATEMENT CALL SHOW_TABLES() RETURN *
@@ -32,6 +32,7 @@ anotherkey
32
32
  ]
33
33
 
34
34
  -CASE ScanFromDifferentAWSS3File
35
+ -SKIP
35
36
  -LOAD_DYNAMIC_EXTENSION httpfs
36
37
  -INSERT_STATEMENT_BLOCK AWS_S3_SETUP
37
38
  -STATEMENT CALL s3_url_style='path'
@@ -9,6 +9,7 @@
9
9
  Binder exception: Cannot load from file type iceberg. If this file type is part of a lbug extension please load the extension then try again.
10
10
 
11
11
  -CASE IcebergFunctions
12
+ -SKIP
12
13
  -LOAD_DYNAMIC_EXTENSION iceberg
13
14
  -LOG NOT_allow_moved_paths
14
15
  -STATEMENT LOAD FROM '${LBUG_ROOT_DIRECTORY}/extension/iceberg/test/iceberg_tables/lineitem_iceberg' (file_format='iceberg', allow_moved_paths=false) RETURN *
@@ -173,6 +173,7 @@ Sóló cón tu párejâ|126|this is a very very good movie|{rating: 5.300000, st
173
173
  The 😂😃🧘🏻‍♂️🌍🌦️🍞🚗 movie|2544|the movie is very very good|{rating: 7.000000, stars: 10, views: 982, release: 2018-11-13 13:33:11, release_ns: 2018-11-13 13:33:11.123456, release_ms: 2018-11-13 13:33:11.123456, release_sec: 2018-11-13 13:33:11.123456, release_tz: 2018-11-13 13:33:11.123456, film: 2014-09-12, u8: 12, u16: 120, u32: 55, u64: 1, hugedata: 1919810}||{audience1= 33}|8.989000
174
174
 
175
175
  -CASE ScanFromHttpfsJson
176
+ -SKIP
176
177
  -LOAD_DYNAMIC_EXTENSION json
177
178
  -LOAD_DYNAMIC_EXTENSION httpfs
178
179
  -STATEMENT LOAD FROM "http://localhost/dataset/json-misc/prim-test.json" return *;
@@ -75,6 +75,7 @@ Detached database successfully.
75
75
  alice
76
76
 
77
77
  -CASE TestingDataTypesSqlite
78
+ -SKIP
78
79
  -SKIP_FSM_LEAK_CHECK
79
80
  -LOAD_DYNAMIC_EXTENSION sqlite
80
81
  -STATEMENT ATTACH '${LBUG_ROOT_DIRECTORY}/extension/sqlite/test/sqlite_database/datatypeTestingSqlite' as datatype (dbtype sqlite);
@@ -390,3 +390,59 @@ embeddings|e_hnsw_index|HNSW|[vec]
390
390
  333
391
391
  444
392
392
  598
393
+
394
+ -CASE UpdateAfterDropIndex
395
+ -SKIP_IN_MEM
396
+ -LOAD_DYNAMIC_EXTENSION vector
397
+ -STATEMENT CREATE NODE TABLE Person(id STRING, name STRING, embeddings FLOAT[8], PRIMARY KEY(id));
398
+ ---- ok
399
+ -STATEMENT CREATE (p:Person {id: "person-1", name: "Alice", embeddings: [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8]});
400
+ ---- ok
401
+ -STATEMENT CALL CREATE_VECTOR_INDEX('Person', 'person_embeddings_idx', 'embeddings', metric := 'cosine');
402
+ ---- ok
403
+ -STATEMENT CALL SHOW_INDEXES() RETURN table_name, index_name;
404
+ ---- 1
405
+ Person|person_embeddings_idx
406
+ -STATEMENT CALL DROP_VECTOR_INDEX('Person', 'person_embeddings_idx');
407
+ ---- ok
408
+ -STATEMENT CALL SHOW_INDEXES() RETURN *;
409
+ ---- 0
410
+ -STATEMENT MATCH (p:Person {id: "person-1"}) SET p.embeddings = [0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9] RETURN p.id;
411
+ ---- 1
412
+ person-1
413
+ -STATEMENT MATCH (p:Person {id: "person-1"}) RETURN p.embeddings;
414
+ ---- 1
415
+ [0.200000,0.300000,0.400000,0.500000,0.600000,0.700000,0.800000,0.900000]
416
+ -RELOADDB
417
+ -STATEMENT MATCH (p:Person {id: "person-1"}) SET p.embeddings = [0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0] RETURN p.id;
418
+ ---- 1
419
+ person-1
420
+ -STATEMENT MATCH (p:Person {id: "person-1"}) RETURN p.embeddings;
421
+ ---- 1
422
+ [0.300000,0.400000,0.500000,0.600000,0.700000,0.800000,0.900000,1.000000]
423
+
424
+ -CASE MergeAfterDropIndex
425
+ -SKIP_IN_MEM
426
+ -LOAD_DYNAMIC_EXTENSION vector
427
+ -STATEMENT CREATE NODE TABLE Organization(id STRING, name STRING, embeddings FLOAT[8], PRIMARY KEY(id));
428
+ ---- ok
429
+ -STATEMENT CREATE (o:Organization {id: "org-1", name: "Company", embeddings: [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8]});
430
+ ---- ok
431
+ -STATEMENT CALL CREATE_VECTOR_INDEX('Organization', 'org_embeddings_idx', 'embeddings', metric := 'l2');
432
+ ---- ok
433
+ -STATEMENT CALL DROP_VECTOR_INDEX('Organization', 'org_embeddings_idx');
434
+ ---- ok
435
+ -STATEMENT MERGE (o:Organization {id: "org-1"}) SET o.embeddings = [0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2] RETURN o.id;
436
+ ---- 1
437
+ org-1
438
+ -STATEMENT MATCH (o:Organization {id: "org-1"}) RETURN o.embeddings;
439
+ ---- 1
440
+ [0.500000,0.600000,0.700000,0.800000,0.900000,1.000000,1.100000,1.200000]
441
+ -STATEMENT MERGE (o:Organization {id: "org-2"}) ON CREATE SET o.name = "NewOrg", o.embeddings = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8] RETURN o.id;
442
+ ---- 1
443
+ org-2
444
+ -RELOADDB
445
+ -STATEMENT MATCH (o:Organization) RETURN o.id, o.embeddings ORDER BY o.id;
446
+ ---- 2
447
+ org-1|[0.500000,0.600000,0.700000,0.800000,0.900000,1.000000,1.100000,1.200000]
448
+ org-2|[0.100000,0.200000,0.300000,0.400000,0.500000,0.600000,0.700000,0.800000]
@@ -0,0 +1,84 @@
1
+ -DATASET CSV empty
2
+ -BUFFER_POOL_SIZE 134217728
3
+
4
+ --
5
+
6
+ -CASE UpdateVectorProperty
7
+ -LOAD_DYNAMIC_EXTENSION vector
8
+ -STATEMENT CREATE NODE TABLE embeddings (id int64, vec FLOAT[8], PRIMARY KEY (id));
9
+ ---- ok
10
+ -STATEMENT CALL threads=1;
11
+ ---- ok
12
+ -STATEMENT COPY embeddings FROM "${LBUG_ROOT_DIRECTORY}/dataset/embeddings/embeddings-8-1k.csv" (deLim=',');
13
+ ---- ok
14
+ -STATEMENT CALL CREATE_VECTOR_INDEX('embeddings', 'e_hnsw_index','vec', metric := 'l2');
15
+ ---- ok
16
+ -STATEMENT CREATE (t:embeddings {id: 1000, vec: [0.1521,0.3021,0.5366,0.2774,0.5593,0.5589,0.1365,0.8557]});
17
+ ---- ok
18
+ -STATEMENT MATCH (t:embeddings) WHERE t.id = 1000 SET t.vec = [0.1521,0.3021,0.5366,0.2774,0.5593,0.5589,0.1365,0.0];
19
+ ---- error
20
+ Runtime exception: Cannot set property vec in table embeddings because it is used in one or more indexes. Try delete and then insert.
21
+
22
+ -CASE UpdatePrimaryKey
23
+ -LOAD_DYNAMIC_EXTENSION vector
24
+ -STATEMENT CREATE NODE TABLE embeddings (id int64, vec FLOAT[8], PRIMARY KEY (id));
25
+ ---- ok
26
+ -STATEMENT CALL threads=1;
27
+ ---- ok
28
+ -STATEMENT COPY embeddings FROM "${LBUG_ROOT_DIRECTORY}/dataset/embeddings/embeddings-8-1k.csv" (deLim=',');
29
+ ---- ok
30
+ -STATEMENT CALL CREATE_VECTOR_INDEX('embeddings', 'e_hnsw_index','vec', metric := 'l2');
31
+ ---- ok
32
+ -STATEMENT CREATE (t:embeddings {id: 1000, vec: [0.1521,0.3021,0.5366,0.2774,0.5593,0.5589,0.1365,0.8557]});
33
+ ---- ok
34
+ -STATEMENT MATCH (t:embeddings) WHERE t.id = 1000 SET t.id = 1;
35
+ ---- error
36
+ Binder exception: Cannot set property id in table embeddings because it is used as primary key. Try delete and then insert.
37
+
38
+ -CASE DeleteAndInsert
39
+ -LOAD_DYNAMIC_EXTENSION vector
40
+ -STATEMENT CREATE NODE TABLE embeddings(id INT64 PRIMARY KEY, title STRING, published_year INT64, vec FLOAT[384]);
41
+ ---- ok
42
+ -STATEMENT CALL threads=1;
43
+ ---- ok
44
+ -STATEMENT COPY embeddings FROM "${LBUG_ROOT_DIRECTORY}/dataset/books/books.csv" (deLim=',');
45
+ ---- ok
46
+ -STATEMENT CALL CREATE_VECTOR_INDEX('embeddings', 'e_hnsw_index','vec', metric := 'l2');
47
+ ---- ok
48
+ -STATEMENT CALL QUERY_VECTOR_INDEX('embeddings', 'e_hnsw_index', [-0.08304853737354279,-0.020585404708981514,-0.0509379617869854,0.03479354456067085,-0.11813158541917801,-0.022585391998291016,0.000689070497173816,-0.0457182414829731,0.011306572705507278,-0.031156159937381744,0.05671192333102226,-0.06878625601530075,-0.02894800342619419,0.039227377623319626,-0.024016229435801506,-0.0060184127651154995,-0.011686223559081554,-0.06417945772409439,-0.08726289123296738,-0.05126213654875755,0.010797262191772461,-0.004546705167740583,0.007328117731958628,0.032176680862903595,0.01062939502298832,0.00931419339030981,0.08034238964319229,-0.005698892287909985,0.06931844353675842,-0.053622953593730927,0.04066690430045128,0.06261418014764786,0.009296705015003681,-0.0278452280908823,0.004991802386939526,0.029851572588086128,0.016903048381209373,-0.019055668264627457,0.055076319724321365,-0.01817430555820465,0.0065304902382195,0.011707567609846592,-0.04950125887989998,0.015748074278235435,0.003966465592384338,0.044103074818849564,0.06040498986840248,0.010776469483971596,-0.05709626525640488,-0.0849628895521164,-0.04497400298714638,0.0257484819740057,-0.009737192653119564,0.026926036924123764,0.08299572765827179,0.03719377890229225,0.07925763726234436,-0.028637854382395744,-0.05194132775068283,-0.10992258042097092,-0.03710110858082771,-0.036725450307130814,-0.0382792092859745,0.05444487929344177,0.19726455211639404,0.020997820422053337,-0.015920456498861313,0.06538067013025284,-0.012968774884939194,0.0062084742821753025,-0.03842930868268013,-0.020584270358085632,-0.01633630506694317,0.03421171382069588,0.08500393480062485,-0.05790746584534645,0.03329910337924957,0.040874168276786804,0.08091091364622116,0.11162357777357101,0.042778026312589645,-0.12173154205083847,-0.020847905427217484,0.06534169614315033,0.02539641782641411,0.016980383545160294,-0.050530806183815,-0.023421572521328926,-0.06318700313568115,-0.0699368268251419,-0.08303093910217285,-0.09778175503015518,-0.007213904522359371,-0.0007251045317389071,-0.006016620434820652,0.024347525089979172,0.05141197517514229,-0.03679395467042923,0.04540250450372696,0.08500988781452179,0.11084067821502686,-0.0005618152790702879,0.0001796935684978962,0.034022748470306396,0.03315793722867966,0.013885930180549622,0.006286488845944405,0.021033186465501785,0.00964267272502184,-0.0015390281332656741,0.006030015181750059,-0.03349592536687851,0.03646736964583397,-0.030008355155587196,-0.018402257934212685,-0.042453039437532425,0.057676076889038086,0.14727634191513062,-0.037098269909620285,-0.01931891217827797,-0.0033551121596246958,0.027810173109173775,-0.002369416644796729,0.08153031021356583,-0.0357547402381897,0.010088938288390636,-0.06867047399282455,-5.1213335435770626e-33,0.04189281910657883,-0.03248955309391022,0.07230716198682785,0.038300685584545135,0.07021919637918472,0.03160807490348816,0.02875838428735733,-0.06413891911506653,-0.0024398057721555233,-0.038075875490903854,-0.0030057954136282206,0.0311278086155653,0.04101073741912842,-0.0005872913170605898,0.05330154299736023,0.031099742278456688,-0.08356330543756485,0.0011608878849074244,0.06657203286886215,0.026241451501846313,-0.0015170741826295853,0.021294495090842247,-0.09065700322389603,-0.003927814774215221,-0.0389481857419014,-0.0040688589215278625,0.07121507078409195,-0.001776993740350008,-0.02950090728700161,0.0022221223916858435,-0.015435175970196724,0.11576541513204575,-0.1070084199309349,-0.025283537805080414,0.01918623596429825,0.026469694450497627,-0.003952694125473499,0.0007155280327424407,-0.04415374621748924,-0.09781445562839508,-0.0385773628950119,-0.0027703605592250824,0.026768198236823082,-0.03669164329767227,0.02027701959013939,-0.0074071153067052364,0.05908098444342613,-0.01985469087958336,0.003975667525082827,0.026086755096912384,0.01815151982009411,-0.06416861712932587,-0.06370942294597626,-0.000595815188717097,0.08855701982975006,-0.01931171491742134,0.05252119526267052,0.04054409638047218,-0.014436068944633007,0.06384892761707306,-0.027137305587530136,0.008217060938477516,0.0022059634793549776,0.05866124853491783,-0.004328733775764704,0.024397658184170723,-0.04576750099658966,-0.09047114849090576,0.007579905446618795,0.09357534348964691,-0.05882519856095314,0.06190042570233345,0.051312386989593506,-0.0290352962911129,0.09877830743789673,-0.05856052041053772,0.006568029057234526,-0.049481652677059174,-0.02793608233332634,0.016179628670215607,-0.01294016931205988,-0.05337013676762581,-0.017763560637831688,0.018318284302949905,-0.025164568796753883,-0.07102907449007034,-0.051840975880622864,-0.08271460980176926,-0.012137280777096748,0.011826427653431892,-0.09991904348134995,-0.0501118041574955,0.1065809354186058,-0.010411630384624004,-0.10244571417570114,3.418246104037039e-33,-0.09974873811006546,-0.028564082458615303,-0.0072223348543047905,0.02553599886596203,0.0076154982671141624,-0.01984667219221592,-0.06695002317428589,-0.006421919446438551,-0.03672897443175316,0.046671681106090546,0.06146644055843353,0.05907298997044563,0.10363759100437164,0.038946159183979034,-0.003113028360530734,0.02060862071812153,0.08486808836460114,-0.05163329467177391,0.03324402868747711,-0.012025052681565285,0.06647207587957382,-0.06872403621673584,-0.020568769425153732,-0.05755647271871567,0.02470565401017666,0.12362420558929443,0.07590768486261368,-0.02632785029709339,0.03537698835134506,0.015069860965013504,-0.019497603178024292,-0.09571786224842072,-0.07784659415483475,0.0071471082046628,-0.09032716602087021,0.01837398298084736,0.021843845024704933,0.07942605763673782,-0.04640638455748558,-0.07724647969007492,-0.0710376426577568,0.01247446145862341,-0.039928287267684937,0.03484963998198509,-0.00810939446091652,-0.021737519651651382,-0.041551850736141205,0.04097172990441322,-0.06579679250717163,-0.00057985819876194,-0.030350839719176292,0.06607013195753098,0.056716930121183395,-0.01444231066852808,-0.08820261061191559,0.07568710297346115,-0.049572743475437164,0.043571628630161285,0.12032952159643173,0.07197815179824829,-0.04597809165716171,-0.0007543807150796056,0.014722677879035473,0.11872830241918564,-0.03099094144999981,-0.04826081171631813,-0.06626967340707779,0.09913166612386703,0.013303464278578758,-0.0891442522406578,-0.008007635362446308,0.021501798182725906,-0.04871875047683716,-0.03298940137028694,0.04915681481361389,0.07495954632759094,0.024604294449090958,-0.034788887947797775,0.04378702491521835,0.018943089991807938,0.03162634000182152,0.022808808833360672,0.025081589818000793,0.03096061199903488,0.020125597715377808,-0.002861819928511977,0.003375211264938116,0.008664755150675774,-0.01168525405228138,-0.07076405733823776,6.949113594600931e-05,0.02929442562162876,-0.045941539108753204,-0.0356358140707016,-0.013447110541164875,-1.1639774477600895e-08,-0.0038555199280381203,-0.0006962883635424078,-0.020182235166430473,0.0024058702401816845,0.07691890001296997,0.02334095537662506,0.08726530522108078,-0.004261218011379242,-0.07040004432201385,0.030403397977352142,0.0311138853430748,0.004726859740912914,-0.06038655713200569,0.06969818472862244,0.04356805607676506,0.02549595572054386,-0.07030776143074036,-0.06392604857683182,-0.00588911073282361,0.05826269090175629,0.07832436263561249,0.029816333204507828,0.04835359752178192,0.012051043100655079,-0.06730470806360245,0.0022326321341097355,0.004913242533802986,-0.04215158522129059,-0.02779913879930973,0.008324249647557735,-0.018111959099769592,0.03209996968507767,0.036988094449043274,0.06142251193523407,-0.1250476837158203,-0.07703983038663864,-0.07750307768583298,-0.008620611391961575,-0.011400938034057617,0.05365649238228798,-0.05456513166427612,0.03658803179860115,-0.025964859873056412,0.04895640164613724,0.06672567874193192,0.019860422238707542,0.02608357183635235,-0.029424499720335007,0.04935729503631592,0.08432749658823013,-0.0650208368897438,0.05082103610038757,0.026151539757847786,-0.09470944106578827,-0.015095925889909267,0.04131830111145973,-0.04847506061196327,-0.030597023665905,-0.07693801075220108,0.06706839799880981,0.06115406006574631,-0.01113430131226778,-0.015445061028003693,0.01863049902021885], 3, efs := 500) RETURN node.id ORDER BY distance;
49
+ -CHECK_ORDER
50
+ ---- 3
51
+ 1
52
+ 2
53
+ 3
54
+ -STATEMENT MATCH (n:embeddings) DELETE n;
55
+ ---- ok
56
+ -STATEMENT CALL DROP_VECTOR_INDEX('embeddings', 'e_hnsw_index');
57
+ ---- ok
58
+ -STATEMENT COPY embeddings FROM "${LBUG_ROOT_DIRECTORY}/dataset/books/books.csv" (deLim=',');
59
+ ---- ok
60
+ -STATEMENT CALL CREATE_VECTOR_INDEX('embeddings', 'e_hnsw_index','vec', metric := 'l2');
61
+ ---- ok
62
+ -STATEMENT CALL QUERY_VECTOR_INDEX('embeddings', 'e_hnsw_index', [-0.08304853737354279,-0.020585404708981514,-0.0509379617869854,0.03479354456067085,-0.11813158541917801,-0.022585391998291016,0.000689070497173816,-0.0457182414829731,0.011306572705507278,-0.031156159937381744,0.05671192333102226,-0.06878625601530075,-0.02894800342619419,0.039227377623319626,-0.024016229435801506,-0.0060184127651154995,-0.011686223559081554,-0.06417945772409439,-0.08726289123296738,-0.05126213654875755,0.010797262191772461,-0.004546705167740583,0.007328117731958628,0.032176680862903595,0.01062939502298832,0.00931419339030981,0.08034238964319229,-0.005698892287909985,0.06931844353675842,-0.053622953593730927,0.04066690430045128,0.06261418014764786,0.009296705015003681,-0.0278452280908823,0.004991802386939526,0.029851572588086128,0.016903048381209373,-0.019055668264627457,0.055076319724321365,-0.01817430555820465,0.0065304902382195,0.011707567609846592,-0.04950125887989998,0.015748074278235435,0.003966465592384338,0.044103074818849564,0.06040498986840248,0.010776469483971596,-0.05709626525640488,-0.0849628895521164,-0.04497400298714638,0.0257484819740057,-0.009737192653119564,0.026926036924123764,0.08299572765827179,0.03719377890229225,0.07925763726234436,-0.028637854382395744,-0.05194132775068283,-0.10992258042097092,-0.03710110858082771,-0.036725450307130814,-0.0382792092859745,0.05444487929344177,0.19726455211639404,0.020997820422053337,-0.015920456498861313,0.06538067013025284,-0.012968774884939194,0.0062084742821753025,-0.03842930868268013,-0.020584270358085632,-0.01633630506694317,0.03421171382069588,0.08500393480062485,-0.05790746584534645,0.03329910337924957,0.040874168276786804,0.08091091364622116,0.11162357777357101,0.042778026312589645,-0.12173154205083847,-0.020847905427217484,0.06534169614315033,0.02539641782641411,0.016980383545160294,-0.050530806183815,-0.023421572521328926,-0.06318700313568115,-0.0699368268251419,-0.08303093910217285,-0.09778175503015518,-0.007213904522359371,-0.0007251045317389071,-0.006016620434820652,0.024347525089979172,0.05141197517514229,-0.03679395467042923,0.04540250450372696,0.08500988781452179,0.11084067821502686,-0.0005618152790702879,0.0001796935684978962,0.034022748470306396,0.03315793722867966,0.013885930180549622,0.006286488845944405,0.021033186465501785,0.00964267272502184,-0.0015390281332656741,0.006030015181750059,-0.03349592536687851,0.03646736964583397,-0.030008355155587196,-0.018402257934212685,-0.042453039437532425,0.057676076889038086,0.14727634191513062,-0.037098269909620285,-0.01931891217827797,-0.0033551121596246958,0.027810173109173775,-0.002369416644796729,0.08153031021356583,-0.0357547402381897,0.010088938288390636,-0.06867047399282455,-5.1213335435770626e-33,0.04189281910657883,-0.03248955309391022,0.07230716198682785,0.038300685584545135,0.07021919637918472,0.03160807490348816,0.02875838428735733,-0.06413891911506653,-0.0024398057721555233,-0.038075875490903854,-0.0030057954136282206,0.0311278086155653,0.04101073741912842,-0.0005872913170605898,0.05330154299736023,0.031099742278456688,-0.08356330543756485,0.0011608878849074244,0.06657203286886215,0.026241451501846313,-0.0015170741826295853,0.021294495090842247,-0.09065700322389603,-0.003927814774215221,-0.0389481857419014,-0.0040688589215278625,0.07121507078409195,-0.001776993740350008,-0.02950090728700161,0.0022221223916858435,-0.015435175970196724,0.11576541513204575,-0.1070084199309349,-0.025283537805080414,0.01918623596429825,0.026469694450497627,-0.003952694125473499,0.0007155280327424407,-0.04415374621748924,-0.09781445562839508,-0.0385773628950119,-0.0027703605592250824,0.026768198236823082,-0.03669164329767227,0.02027701959013939,-0.0074071153067052364,0.05908098444342613,-0.01985469087958336,0.003975667525082827,0.026086755096912384,0.01815151982009411,-0.06416861712932587,-0.06370942294597626,-0.000595815188717097,0.08855701982975006,-0.01931171491742134,0.05252119526267052,0.04054409638047218,-0.014436068944633007,0.06384892761707306,-0.027137305587530136,0.008217060938477516,0.0022059634793549776,0.05866124853491783,-0.004328733775764704,0.024397658184170723,-0.04576750099658966,-0.09047114849090576,0.007579905446618795,0.09357534348964691,-0.05882519856095314,0.06190042570233345,0.051312386989593506,-0.0290352962911129,0.09877830743789673,-0.05856052041053772,0.006568029057234526,-0.049481652677059174,-0.02793608233332634,0.016179628670215607,-0.01294016931205988,-0.05337013676762581,-0.017763560637831688,0.018318284302949905,-0.025164568796753883,-0.07102907449007034,-0.051840975880622864,-0.08271460980176926,-0.012137280777096748,0.011826427653431892,-0.09991904348134995,-0.0501118041574955,0.1065809354186058,-0.010411630384624004,-0.10244571417570114,3.418246104037039e-33,-0.09974873811006546,-0.028564082458615303,-0.0072223348543047905,0.02553599886596203,0.0076154982671141624,-0.01984667219221592,-0.06695002317428589,-0.006421919446438551,-0.03672897443175316,0.046671681106090546,0.06146644055843353,0.05907298997044563,0.10363759100437164,0.038946159183979034,-0.003113028360530734,0.02060862071812153,0.08486808836460114,-0.05163329467177391,0.03324402868747711,-0.012025052681565285,0.06647207587957382,-0.06872403621673584,-0.020568769425153732,-0.05755647271871567,0.02470565401017666,0.12362420558929443,0.07590768486261368,-0.02632785029709339,0.03537698835134506,0.015069860965013504,-0.019497603178024292,-0.09571786224842072,-0.07784659415483475,0.0071471082046628,-0.09032716602087021,0.01837398298084736,0.021843845024704933,0.07942605763673782,-0.04640638455748558,-0.07724647969007492,-0.0710376426577568,0.01247446145862341,-0.039928287267684937,0.03484963998198509,-0.00810939446091652,-0.021737519651651382,-0.041551850736141205,0.04097172990441322,-0.06579679250717163,-0.00057985819876194,-0.030350839719176292,0.06607013195753098,0.056716930121183395,-0.01444231066852808,-0.08820261061191559,0.07568710297346115,-0.049572743475437164,0.043571628630161285,0.12032952159643173,0.07197815179824829,-0.04597809165716171,-0.0007543807150796056,0.014722677879035473,0.11872830241918564,-0.03099094144999981,-0.04826081171631813,-0.06626967340707779,0.09913166612386703,0.013303464278578758,-0.0891442522406578,-0.008007635362446308,0.021501798182725906,-0.04871875047683716,-0.03298940137028694,0.04915681481361389,0.07495954632759094,0.024604294449090958,-0.034788887947797775,0.04378702491521835,0.018943089991807938,0.03162634000182152,0.022808808833360672,0.025081589818000793,0.03096061199903488,0.020125597715377808,-0.002861819928511977,0.003375211264938116,0.008664755150675774,-0.01168525405228138,-0.07076405733823776,6.949113594600931e-05,0.02929442562162876,-0.045941539108753204,-0.0356358140707016,-0.013447110541164875,-1.1639774477600895e-08,-0.0038555199280381203,-0.0006962883635424078,-0.020182235166430473,0.0024058702401816845,0.07691890001296997,0.02334095537662506,0.08726530522108078,-0.004261218011379242,-0.07040004432201385,0.030403397977352142,0.0311138853430748,0.004726859740912914,-0.06038655713200569,0.06969818472862244,0.04356805607676506,0.02549595572054386,-0.07030776143074036,-0.06392604857683182,-0.00588911073282361,0.05826269090175629,0.07832436263561249,0.029816333204507828,0.04835359752178192,0.012051043100655079,-0.06730470806360245,0.0022326321341097355,0.004913242533802986,-0.04215158522129059,-0.02779913879930973,0.008324249647557735,-0.018111959099769592,0.03209996968507767,0.036988094449043274,0.06142251193523407,-0.1250476837158203,-0.07703983038663864,-0.07750307768583298,-0.008620611391961575,-0.011400938034057617,0.05365649238228798,-0.05456513166427612,0.03658803179860115,-0.025964859873056412,0.04895640164613724,0.06672567874193192,0.019860422238707542,0.02608357183635235,-0.029424499720335007,0.04935729503631592,0.08432749658823013,-0.0650208368897438,0.05082103610038757,0.026151539757847786,-0.09470944106578827,-0.015095925889909267,0.04131830111145973,-0.04847506061196327,-0.030597023665905,-0.07693801075220108,0.06706839799880981,0.06115406006574631,-0.01113430131226778,-0.015445061028003693,0.01863049902021885], 3, efs := 500) RETURN node.id ORDER BY distance;
63
+ -CHECK_ORDER
64
+ ---- 3
65
+ 1
66
+ 2
67
+ 3
68
+
69
+ -CASE IndexThenUpdate
70
+ -LOAD_DYNAMIC_EXTENSION vector
71
+ -STATEMENT CREATE NODE TABLE embeddings(id INT64 PRIMARY KEY, title STRING, published_year INT64, vec FLOAT[384]);
72
+ ---- ok
73
+ -STATEMENT CALL threads=1;
74
+ ---- ok
75
+ -STATEMENT CALL CREATE_VECTOR_INDEX('embeddings', 'e_hnsw_index','vec', metric := 'l2');
76
+ ---- ok
77
+ -STATEMENT COPY embeddings FROM "${LBUG_ROOT_DIRECTORY}/dataset/books/books.csv" (deLim=',');
78
+ ---- ok
79
+ -STATEMENT CALL QUERY_VECTOR_INDEX('embeddings', 'e_hnsw_index', [-0.08304853737354279,-0.020585404708981514,-0.0509379617869854,0.03479354456067085,-0.11813158541917801,-0.022585391998291016,0.000689070497173816,-0.0457182414829731,0.011306572705507278,-0.031156159937381744,0.05671192333102226,-0.06878625601530075,-0.02894800342619419,0.039227377623319626,-0.024016229435801506,-0.0060184127651154995,-0.011686223559081554,-0.06417945772409439,-0.08726289123296738,-0.05126213654875755,0.010797262191772461,-0.004546705167740583,0.007328117731958628,0.032176680862903595,0.01062939502298832,0.00931419339030981,0.08034238964319229,-0.005698892287909985,0.06931844353675842,-0.053622953593730927,0.04066690430045128,0.06261418014764786,0.009296705015003681,-0.0278452280908823,0.004991802386939526,0.029851572588086128,0.016903048381209373,-0.019055668264627457,0.055076319724321365,-0.01817430555820465,0.0065304902382195,0.011707567609846592,-0.04950125887989998,0.015748074278235435,0.003966465592384338,0.044103074818849564,0.06040498986840248,0.010776469483971596,-0.05709626525640488,-0.0849628895521164,-0.04497400298714638,0.0257484819740057,-0.009737192653119564,0.026926036924123764,0.08299572765827179,0.03719377890229225,0.07925763726234436,-0.028637854382395744,-0.05194132775068283,-0.10992258042097092,-0.03710110858082771,-0.036725450307130814,-0.0382792092859745,0.05444487929344177,0.19726455211639404,0.020997820422053337,-0.015920456498861313,0.06538067013025284,-0.012968774884939194,0.0062084742821753025,-0.03842930868268013,-0.020584270358085632,-0.01633630506694317,0.03421171382069588,0.08500393480062485,-0.05790746584534645,0.03329910337924957,0.040874168276786804,0.08091091364622116,0.11162357777357101,0.042778026312589645,-0.12173154205083847,-0.020847905427217484,0.06534169614315033,0.02539641782641411,0.016980383545160294,-0.050530806183815,-0.023421572521328926,-0.06318700313568115,-0.0699368268251419,-0.08303093910217285,-0.09778175503015518,-0.007213904522359371,-0.0007251045317389071,-0.006016620434820652,0.024347525089979172,0.05141197517514229,-0.03679395467042923,0.04540250450372696,0.08500988781452179,0.11084067821502686,-0.0005618152790702879,0.0001796935684978962,0.034022748470306396,0.03315793722867966,0.013885930180549622,0.006286488845944405,0.021033186465501785,0.00964267272502184,-0.0015390281332656741,0.006030015181750059,-0.03349592536687851,0.03646736964583397,-0.030008355155587196,-0.018402257934212685,-0.042453039437532425,0.057676076889038086,0.14727634191513062,-0.037098269909620285,-0.01931891217827797,-0.0033551121596246958,0.027810173109173775,-0.002369416644796729,0.08153031021356583,-0.0357547402381897,0.010088938288390636,-0.06867047399282455,-5.1213335435770626e-33,0.04189281910657883,-0.03248955309391022,0.07230716198682785,0.038300685584545135,0.07021919637918472,0.03160807490348816,0.02875838428735733,-0.06413891911506653,-0.0024398057721555233,-0.038075875490903854,-0.0030057954136282206,0.0311278086155653,0.04101073741912842,-0.0005872913170605898,0.05330154299736023,0.031099742278456688,-0.08356330543756485,0.0011608878849074244,0.06657203286886215,0.026241451501846313,-0.0015170741826295853,0.021294495090842247,-0.09065700322389603,-0.003927814774215221,-0.0389481857419014,-0.0040688589215278625,0.07121507078409195,-0.001776993740350008,-0.02950090728700161,0.0022221223916858435,-0.015435175970196724,0.11576541513204575,-0.1070084199309349,-0.025283537805080414,0.01918623596429825,0.026469694450497627,-0.003952694125473499,0.0007155280327424407,-0.04415374621748924,-0.09781445562839508,-0.0385773628950119,-0.0027703605592250824,0.026768198236823082,-0.03669164329767227,0.02027701959013939,-0.0074071153067052364,0.05908098444342613,-0.01985469087958336,0.003975667525082827,0.026086755096912384,0.01815151982009411,-0.06416861712932587,-0.06370942294597626,-0.000595815188717097,0.08855701982975006,-0.01931171491742134,0.05252119526267052,0.04054409638047218,-0.014436068944633007,0.06384892761707306,-0.027137305587530136,0.008217060938477516,0.0022059634793549776,0.05866124853491783,-0.004328733775764704,0.024397658184170723,-0.04576750099658966,-0.09047114849090576,0.007579905446618795,0.09357534348964691,-0.05882519856095314,0.06190042570233345,0.051312386989593506,-0.0290352962911129,0.09877830743789673,-0.05856052041053772,0.006568029057234526,-0.049481652677059174,-0.02793608233332634,0.016179628670215607,-0.01294016931205988,-0.05337013676762581,-0.017763560637831688,0.018318284302949905,-0.025164568796753883,-0.07102907449007034,-0.051840975880622864,-0.08271460980176926,-0.012137280777096748,0.011826427653431892,-0.09991904348134995,-0.0501118041574955,0.1065809354186058,-0.010411630384624004,-0.10244571417570114,3.418246104037039e-33,-0.09974873811006546,-0.028564082458615303,-0.0072223348543047905,0.02553599886596203,0.0076154982671141624,-0.01984667219221592,-0.06695002317428589,-0.006421919446438551,-0.03672897443175316,0.046671681106090546,0.06146644055843353,0.05907298997044563,0.10363759100437164,0.038946159183979034,-0.003113028360530734,0.02060862071812153,0.08486808836460114,-0.05163329467177391,0.03324402868747711,-0.012025052681565285,0.06647207587957382,-0.06872403621673584,-0.020568769425153732,-0.05755647271871567,0.02470565401017666,0.12362420558929443,0.07590768486261368,-0.02632785029709339,0.03537698835134506,0.015069860965013504,-0.019497603178024292,-0.09571786224842072,-0.07784659415483475,0.0071471082046628,-0.09032716602087021,0.01837398298084736,0.021843845024704933,0.07942605763673782,-0.04640638455748558,-0.07724647969007492,-0.0710376426577568,0.01247446145862341,-0.039928287267684937,0.03484963998198509,-0.00810939446091652,-0.021737519651651382,-0.041551850736141205,0.04097172990441322,-0.06579679250717163,-0.00057985819876194,-0.030350839719176292,0.06607013195753098,0.056716930121183395,-0.01444231066852808,-0.08820261061191559,0.07568710297346115,-0.049572743475437164,0.043571628630161285,0.12032952159643173,0.07197815179824829,-0.04597809165716171,-0.0007543807150796056,0.014722677879035473,0.11872830241918564,-0.03099094144999981,-0.04826081171631813,-0.06626967340707779,0.09913166612386703,0.013303464278578758,-0.0891442522406578,-0.008007635362446308,0.021501798182725906,-0.04871875047683716,-0.03298940137028694,0.04915681481361389,0.07495954632759094,0.024604294449090958,-0.034788887947797775,0.04378702491521835,0.018943089991807938,0.03162634000182152,0.022808808833360672,0.025081589818000793,0.03096061199903488,0.020125597715377808,-0.002861819928511977,0.003375211264938116,0.008664755150675774,-0.01168525405228138,-0.07076405733823776,6.949113594600931e-05,0.02929442562162876,-0.045941539108753204,-0.0356358140707016,-0.013447110541164875,-1.1639774477600895e-08,-0.0038555199280381203,-0.0006962883635424078,-0.020182235166430473,0.0024058702401816845,0.07691890001296997,0.02334095537662506,0.08726530522108078,-0.004261218011379242,-0.07040004432201385,0.030403397977352142,0.0311138853430748,0.004726859740912914,-0.06038655713200569,0.06969818472862244,0.04356805607676506,0.02549595572054386,-0.07030776143074036,-0.06392604857683182,-0.00588911073282361,0.05826269090175629,0.07832436263561249,0.029816333204507828,0.04835359752178192,0.012051043100655079,-0.06730470806360245,0.0022326321341097355,0.004913242533802986,-0.04215158522129059,-0.02779913879930973,0.008324249647557735,-0.018111959099769592,0.03209996968507767,0.036988094449043274,0.06142251193523407,-0.1250476837158203,-0.07703983038663864,-0.07750307768583298,-0.008620611391961575,-0.011400938034057617,0.05365649238228798,-0.05456513166427612,0.03658803179860115,-0.025964859873056412,0.04895640164613724,0.06672567874193192,0.019860422238707542,0.02608357183635235,-0.029424499720335007,0.04935729503631592,0.08432749658823013,-0.0650208368897438,0.05082103610038757,0.026151539757847786,-0.09470944106578827,-0.015095925889909267,0.04131830111145973,-0.04847506061196327,-0.030597023665905,-0.07693801075220108,0.06706839799880981,0.06115406006574631,-0.01113430131226778,-0.015445061028003693,0.01863049902021885], 3, efs := 500) RETURN node.id ORDER BY distance;
80
+ -CHECK_ORDER
81
+ ---- 3
82
+ 1
83
+ 2
84
+ 3
@@ -1,15 +1,2 @@
1
- v0.1.0
2
- v0.3.0
3
- v0.3.1
4
- v0.5.0
5
- v0.5.1.3
6
- v0.6.1
7
- v0.7.0
8
- v0.7.1
9
- v0.8.0
10
- v0.8.1
11
- v0.9.0
12
- v0.10.0
13
- v0.11.0
14
- v0.11.1
1
+ v0.12.0
15
2
  vdev
@@ -10,9 +10,6 @@ from setuptools.command.build_py import build_py as _build_py
10
10
 
11
11
  base_dir = os.path.dirname(__file__)
12
12
 
13
- with open(os.path.join(base_dir, 'real_ladybug-source', 'tools', 'python_api', 'requirements_dev.txt')) as f:
14
- requirements = f.read().splitlines()
15
-
16
13
 
17
14
  def _get_lbug_version():
18
15
  cmake_file = os.path.join(base_dir, 'real_ladybug-source', 'CMakeLists.txt')
@@ -1,4 +1,5 @@
1
1
  PYPI_URL = "https://pypi.org/pypi/real_ladybug/json"
2
+ TEST_PYPI_URL = "https://test.pypi.org/pypi/real_ladybug/json"
2
3
  CMAKE_KEYWORD = "project(Lbug VERSION "
3
4
  CMAKE_SUFFIX = " LANGUAGES CXX C)\n"
4
5
  EXTENSION_KEYWORD = 'add_definitions(-DLBUG_EXTENSION_VERSION="'
@@ -16,6 +17,8 @@ def main():
16
17
  from packaging.version import Version
17
18
  except ImportError:
18
19
  from distutils.version import LooseVersion as Version
20
+
21
+ # Fetch releases from production PyPI
19
22
  try:
20
23
  with urllib.request.urlopen(PYPI_URL) as url:
21
24
  data = json.loads(url.read().decode())
@@ -25,6 +28,18 @@ def main():
25
28
  else:
26
29
  raise
27
30
  releases = data["releases"]
31
+
32
+ # Fetch releases from test PyPI for dev versions
33
+ try:
34
+ with urllib.request.urlopen(TEST_PYPI_URL) as url:
35
+ test_data = json.loads(url.read().decode())
36
+ # Merge test.pypi.org releases into releases dict
37
+ releases.update(test_data["releases"])
38
+ except urllib.error.HTTPError as e:
39
+ if e.code == 404:
40
+ pass # No releases on test PyPI
41
+ else:
42
+ raise
28
43
  versions = list(releases.keys())
29
44
  versions.sort(key=Version)
30
45
  dev_versions = [v for v in versions if "dev" in v]
@@ -42,7 +42,7 @@ target_link_libraries(lbug PUBLIC ${LBUG_LIBRARIES})
42
42
  target_link_libraries(lbug_shared PUBLIC ${LBUG_LIBRARIES})
43
43
  unset(LBUG_LIBRARIES)
44
44
 
45
- set(LBUG_INCLUDES $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/include/c_api)
45
+ set(LBUG_INCLUDES $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/include/c_api ${CMAKE_CURRENT_BINARY_DIR}/../src/include)
46
46
  target_include_directories(lbug PUBLIC ${LBUG_INCLUDES})
47
47
  target_include_directories(lbug_shared PUBLIC ${LBUG_INCLUDES})
48
48
  unset(LBUG_INCLUDES)
@@ -732,14 +732,17 @@ lbug_state lbug_value_get_string(lbug_value* value, char** out_result) {
732
732
  return LbugSuccess;
733
733
  }
734
734
 
735
- lbug_state lbug_value_get_blob(lbug_value* value, uint8_t** out_result) {
735
+ lbug_state lbug_value_get_blob(lbug_value* value, uint8_t** out_result, uint64_t* out_length) {
736
736
  auto logical_type_id = static_cast<Value*>(value->_value)->getDataType().getLogicalTypeID();
737
737
  if (logical_type_id != LogicalTypeID::BLOB) {
738
738
  return LbugError;
739
739
  }
740
740
  try {
741
741
  auto blob = static_cast<Value*>(value->_value)->getValue<std::string>();
742
- *out_result = (uint8_t*)convertToOwnedCString(blob);
742
+ *out_length = blob.size();
743
+ auto* buffer = (uint8_t*)malloc(sizeof(uint8_t) * blob.size());
744
+ memcpy(buffer, blob.data(), blob.size());
745
+ *out_result = buffer;
743
746
  } catch (Exception& e) {
744
747
  return LbugError;
745
748
  }
@@ -1299,13 +1299,15 @@ LBUG_C_API lbug_state lbug_value_get_decimal_as_string(lbug_value* value, char**
1299
1299
  */
1300
1300
  LBUG_C_API lbug_state lbug_value_get_string(lbug_value* value, char** out_result);
1301
1301
  /**
1302
- * @brief Returns the blob value of the given value. The returned buffer is null-terminated similar
1303
- * to a string. The value must be of type BLOB.
1302
+ * @brief Returns the blob value of the given value. The value must be of type BLOB.
1304
1303
  * @param value The value to return.
1305
1304
  * @param[out] out_result The output parameter that will hold the blob value.
1305
+ * @param[out] out_length The output parameter that will hold the length of the blob.
1306
1306
  * @return The state indicating the success or failure of the operation.
1307
+ * @note The caller is responsible for freeing the returned memory using `lbug_destroy_blob`.
1307
1308
  */
1308
- LBUG_C_API lbug_state lbug_value_get_blob(lbug_value* value, uint8_t** out_result);
1309
+ LBUG_C_API lbug_state lbug_value_get_blob(lbug_value* value, uint8_t** out_result,
1310
+ uint64_t* out_length);
1309
1311
  /**
1310
1312
  * @brief Returns the uuid value of the given value.
1311
1313
  * to a string. The value must be of type UUID.
@@ -784,6 +784,7 @@ void NodeTable::dropIndex(const std::string& name) {
784
784
  if (StringUtils::caseInsensitiveEquals(it->getName(), name)) {
785
785
  KU_ASSERT(it->isLoaded());
786
786
  indexes.erase(it);
787
+ hasChanges = true;
787
788
  return;
788
789
  }
789
790
  }
@@ -1764,19 +1764,20 @@ TEST_F(CApiValueTest, GetBlob) {
1764
1764
  ASSERT_TRUE(value._is_owned_by_cpp);
1765
1765
  ASSERT_FALSE(lbug_value_is_null(&value));
1766
1766
  uint8_t* blob;
1767
- ASSERT_EQ(lbug_value_get_blob(&value, &blob), LbugSuccess);
1767
+ uint64_t length;
1768
+ ASSERT_EQ(lbug_value_get_blob(&value, &blob, &length), LbugSuccess);
1769
+ ASSERT_EQ(length, 4);
1768
1770
  ASSERT_EQ(blob[0], 0xAA);
1769
1771
  ASSERT_EQ(blob[1], 0xBB);
1770
1772
  ASSERT_EQ(blob[2], 0xCD);
1771
1773
  ASSERT_EQ(blob[3], 0x1A);
1772
- ASSERT_EQ(blob[4], 0x00);
1773
1774
  lbug_destroy_blob(blob);
1774
1775
  lbug_value_destroy(&value);
1775
1776
  lbug_flat_tuple_destroy(&flatTuple);
1776
1777
  lbug_query_result_destroy(&result);
1777
1778
 
1778
1779
  lbug_value* badValue = lbug_value_create_string((char*)"abcdefg");
1779
- ASSERT_EQ(lbug_value_get_blob(badValue, &blob), LbugError);
1780
+ ASSERT_EQ(lbug_value_get_blob(badValue, &blob, &length), LbugError);
1780
1781
  lbug_value_destroy(badValue);
1781
1782
  }
1782
1783
 
@@ -16,7 +16,6 @@ Binder exception: The extension sqlitescanner is neither an official extension,
16
16
  Binder exception: The extension /tmp/iceberg is neither an official extension, nor does the extension path: '/tmp/iceberg' exists.
17
17
 
18
18
  -CASE LoadNotInstalledExtension
19
- -SKIP
20
19
  -SKIP_IN_MEM
21
20
  -SKIP_WASM
22
21
  -STATEMENT INSTALL HTTPFS;
@@ -29,7 +28,6 @@ Binder exception: Extension: httpfs is an official extension and has not been in
29
28
  You can install it by: install httpfs.
30
29
 
31
30
  -CASE UninstallExtensionError
32
- -SKIP
33
31
  -SKIP_IN_MEM
34
32
  -SKIP_WASM
35
33
  -STATEMENT INSTALL fts;
@@ -50,7 +48,6 @@ Binder exception: The extension XXX is not an official extension.
50
48
  Only official extensions can be uninstalled.
51
49
 
52
50
  -CASE ForceInstallExtension
53
- -SKIP
54
51
  -SKIP_IN_MEM
55
52
  -SKIP_WASM
56
53
  -STATEMENT INSTALL neo4j;
@@ -18,7 +18,7 @@ npm install lbug
18
18
  ### Example (ES Modules)
19
19
 
20
20
  ```js
21
- // Import the Kùzu module (ESM)
21
+ // Import the Ladybug module (ESM)
22
22
  import { Database, Connection } from "lbug";
23
23
 
24
24
  const main = async () => {
@@ -146,4 +146,4 @@ Refer to the [npm documentation](https://docs.npmjs.com/cli/v9/commands/npm-publ
146
146
 
147
147
  * [Ladybug GitHub](https://github.com/lbugdb/lbug)
148
148
  * [Ladybug Documentation](https://docs.ladybugdb.com)
149
- * [Issue Tracker](https://github.com/kuzudb/kuzu/issues)
149
+ * [Issue Tracker](https://github.com/LadybugDB/ladybug/issues)
@@ -16,7 +16,7 @@
16
16
  "homepage": "https://ladybugdb.com/",
17
17
  "repository": {
18
18
  "type": "git",
19
- "url": "https://github.com/lbugdb/lbug.git"
19
+ "url": "https://github.com/LadybugDB/ladybug"
20
20
  },
21
21
  "scripts": {
22
22
  "test": "mocha test --timeout 20000",
@@ -24,7 +24,7 @@
24
24
  "clean-all": "node clean.js all",
25
25
  "build": "node build.js"
26
26
  },
27
- "author": "Kùzu Team",
27
+ "author": "Ladybug Team",
28
28
  "license": "MIT",
29
29
  "devDependencies": {
30
30
  "chai": "^4.4.1",
@@ -17,11 +17,11 @@ else
17
17
  endif
18
18
 
19
19
  .venv: ## Set up a Python virtual environment and install dev packages
20
- python3 -m venv $(VENV)
20
+ uv venv $(VENV)
21
21
 
22
22
  requirements: .venv ## Install/update Python dev packages
23
23
  @unset CONDA_PREFIX \
24
- && $(VENV_BIN)/pip install --upgrade -r requirements_dev.txt
24
+ && uv pip install -e .[dev]
25
25
 
26
26
  pytest: requirements
27
27
  ifeq ($(OS),Windows_NT)
@@ -12,6 +12,41 @@ Documentation = "https://docs.ladybugdb.com/"
12
12
  Repository = "https://github.com/lbugdb/lbug"
13
13
  Changelog = "https://github.com/LadybugDB/ladybug/releases"
14
14
 
15
+ [project.optional-dependencies]
16
+ dev = [
17
+ "networkx~=3.0",
18
+ "numpy~=2.0",
19
+ "pandas~=2.2",
20
+ "polars~=1.30",
21
+ "pyarrow~=20.0",
22
+ "pybind11~=2.13",
23
+ "pytest",
24
+ "pytest-asyncio~=1.0",
25
+ "setuptools~=80.9",
26
+ "ruff==0.11.12",
27
+ "mypy==1.16.0",
28
+ "torch>=2.5.0",
29
+ "torch-geometric>=2.5.0",
30
+ ]
31
+
32
+ [[tool.uv.index]]
33
+ name = "pypi"
34
+ url = "https://pypi.org/simple"
35
+
36
+ [[tool.uv.index]]
37
+ name = "pytorch-cpu"
38
+ url = "https://download.pytorch.org/whl/cpu"
39
+
40
+ [[tool.uv.index]]
41
+ name = "torch-geometric"
42
+ url = "https://data.pyg.org/whl/torch-2.5.0+cpu/"
43
+
44
+ [tool.uv.sources]
45
+ torch = { index = "pytorch-cpu" }
46
+
47
+ [tool.uv]
48
+ index-strategy = "unsafe-best-match"
49
+
15
50
  [tool.mypy]
16
51
  files = ["src_py", "test"]
17
52
  strict = true
@@ -92,6 +127,7 @@ strict = true
92
127
  docstring-code-format = true
93
128
 
94
129
  [tool.setuptools.packages.find]
130
+ where = ["src_py", "build"]
95
131
  exclude = ["src_cpp*"]
96
132
 
97
133
  [build-system]
@@ -6,7 +6,7 @@
6
6
  "bootstrap": "node bootstrap.js",
7
7
  "serve": "node index.js"
8
8
  },
9
- "author": "Kùzu Team",
9
+ "author": "Ladybug Team",
10
10
  "license": "MIT",
11
11
  "description": "",
12
12
  "dependencies": {
@@ -6,7 +6,7 @@
6
6
  "bootstrap": "node bootstrap.js",
7
7
  "serve": "node index.js"
8
8
  },
9
- "author": "Kùzu Team",
9
+ "author": "Ladybug Team",
10
10
  "license": "MIT",
11
11
  "description": "",
12
12
  "dependencies": {
@@ -5,7 +5,7 @@
5
5
  "scripts": {
6
6
  "start": "node index.js"
7
7
  },
8
- "author": "Kùzu Team",
8
+ "author": "Ladybug Team",
9
9
  "license": "MIT",
10
10
  "description": "",
11
11
  "dependencies": {
@@ -37,7 +37,7 @@
37
37
  "clean": "node clean.js",
38
38
  "build": "node build.mjs"
39
39
  },
40
- "author": "Kùzu Team",
40
+ "author": "Ladybug Team",
41
41
  "license": "MIT",
42
42
  "devDependencies": {
43
43
  "chai": "^4.4.1",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lbug",
3
- "version": "0.12.0",
3
+ "version": "0.12.2",
4
4
  "description": "An in-process property graph database management system built for query speed and scalability.",
5
5
  "main": "index.js",
6
6
  "module": "./index.mjs",
@@ -16,7 +16,7 @@
16
16
  "homepage": "https://ladybugdb.com/",
17
17
  "repository": {
18
18
  "type": "git",
19
- "url": "https://github.com/lbugdb/lbug.git"
19
+ "url": "https://github.com/LadybugDB/ladybug"
20
20
  },
21
21
  "scripts": {
22
22
  "test": "mocha test --timeout 20000",
@@ -25,7 +25,7 @@
25
25
  "build": "node build.js",
26
26
  "install": "node install.js"
27
27
  },
28
- "author": "Kùzu Team",
28
+ "author": "Ladybug Team",
29
29
  "license": "MIT",
30
30
  "devDependencies": {
31
31
  "chai": "^4.4.1",
Binary file
Binary file
Binary file
Binary file