Skip to content

Commit 9e0b400

Browse files
committed
Enhance Python bindings and examples with new datasets and tests
- Updated documentation to reflect the addition of TPC-H, LDBC SNB, and MSMARCO datasets. - Improved dataset downloader with new options for TPC-H, LDBC SNB, and MSMARCO. - Added functionality to download and convert TPC-H and LDBC SNB datasets using Docker. - Enhanced the dataset downloader script to include detailed dataset descriptions and usage examples. - Increased test coverage by adding a new OLTP mixed workload test for concurrent read/write operations. - Updated test statistics to reflect the addition of new tests, bringing the total to 260. - Minor documentation updates across various README files to improve clarity and usability.
1 parent 7b424a9 commit 9e0b400

20 files changed

Lines changed: 1047 additions & 69 deletions

bindings/python/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Native Python bindings for ArcadeDB - the multi-model database that supports Graph, Document, Key/Value, Search Engine, Time Series, and Vector models.
44

5-
**Status**: ✅ Production Ready | **Tests**: 259 Passing | **Platforms**: 4 Supported
5+
**Status**: ✅ Production Ready | **Tests**: 260 Passing | **Platforms**: 4 Supported
66

77
---
88

@@ -92,7 +92,7 @@ Import: `import arcadedb_embedded as arcadedb`
9292

9393
## 🧪 Testing
9494

95-
**Status**: 259 tests + example scripts passing on all 4 platforms
95+
**Status**: 260 tests + example scripts passing on all 4 platforms
9696

9797
```bash
9898
# Run all tests

bindings/python/docs/development/build-architecture.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ This document describes the build architecture for creating platform-specific Py
1919

2020
**All supported platforms:**
2121

22-
-259 tests passing
22+
-260 tests passing
2323
- ✅ 31.7M JARs (83 files, identical across platforms)
2424
- ✅ All native runners (no QEMU emulation)
2525
- ✅ Reproducible builds (pinned runner versions)

bindings/python/docs/development/ci-setup.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,11 +98,11 @@ After a successful release, you should see:
9898

9999
### Test Results (CI run #96)
100100

101-
All 4 platforms passing 259 tests and example scripts:
101+
All 4 platforms passing 260 tests and example scripts:
102102

103103
| Platforms | Wheel Size | JRE Size | Tests |
104104
|-----------|-----------|----------|-------|
105-
| linux/amd64, linux/arm64, darwin/arm64, windows/amd64 | ~68M | ~60M | 259 passed ✅ |
105+
| linux/amd64, linux/arm64, darwin/arm64, windows/amd64 | ~68M | ~60M | 260 passed ✅ |
106106

107107
**All platforms include:**
108108

bindings/python/docs/development/testing.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
Comprehensive testing documentation for ArcadeDB Python bindings.
44

55
!!! success "Test Coverage"
6-
**259 tests** across 20 test files, 100% passing
6+
**260 tests** across 20 test files, 100% passing
77

8-
- **Current package**: 259 passed, 6 skipped
8+
- **Current package**: 260 passed, 6 skipped
99
- All ArcadeDB features working (SQL, OpenCypher, Studio)
1010

1111
## Quick Navigation

bindings/python/docs/development/testing/overview.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ The ArcadeDB Python bindings have a comprehensive test suite covering all major
55
## Quick Statistics
66

77
!!! success "Test Results"
8-
- **Current package**: ✅ 259 passed, 6 skipped (259 collected)
8+
- **Current package**: ✅ 260 passed, 6 skipped (260 collected)
99
- All features available (SQL, OpenCypher, Studio UI, Vector search)
1010

1111
## What's Tested
@@ -129,7 +129,7 @@ pytest -m "not slow"
129129
When all tests pass, you should see:
130130

131131
```
132-
======================== 259 passed in 9.67s =========================
132+
======================== 260 passed in 9.67s =========================
133133
```
134134

135135

bindings/python/docs/development/testing/test-concurrency.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[View source code]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/tests/test_concurrency.py){ .md-button }
44

5-
There are 4 tests demonstrating file locking, thread safety, sequential access, and concurrent limitation.
5+
There are 5 tests demonstrating file locking, thread safety, sequential access, concurrent limitation, and a mixed OLTP-style workload.
66

77
## Key Insight
88

@@ -28,6 +28,10 @@ Sequence: create+insert → close → reopen+query (1 record) → close → reop
2828

2929
Attempts concurrent access from same process; documents that a second handle to locked DB raises `ArcadeDBError`.
3030

31+
### 5) OLTP mixed workload (multi-thread)
32+
33+
Runs a mixed read/write workload across multiple threads, measures basic latency/throughput, and includes retry/backoff for concurrent modifications.
34+
3135
## Architecture
3236

3337
- **Single-process (embedded)**: Thread-safe; file lock prevents other processes

bindings/python/docs/examples/04_csv_import_documents.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ python download_data.py movielens-large # movielens large dataset
4848
python download_data.py movielens-small # movielens small dataset
4949
```
5050

51+
**Note:** You must download the dataset before running this example if the auto-download is disabled or blocked by your environment.
52+
5153
**Two dataset sizes available:**
5254

5355
- **movielens-large**: ~86,000 movies, ~33M ratings (~265 MB) - Realistic performance testing

bindings/python/docs/examples/07_stackoverflow_multimodel.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ system, showcasing ArcadeDB's true multi-model capabilities.
1717

1818
The example supports multiple dataset sizes from the [Stack Exchange Data Dump](https://archive.org/details/stackexchange).
1919

20+
**Note:** Download the dataset first with `python download_data.py stackoverflow-<size>` before running this example.
21+
2022
| Dataset | Size (XML) | Records | Recommended Heap |
2123
| :--- | :--- | :--- | :--- |
2224
| **Tiny** (`cs.stackexchange.com`) | ~34 MB | ~100K | 2 GB |

bindings/python/docs/examples/08_server_mode_rest_api.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# Example 08: Server Mode, Studio & Concurrent HTTP Clients
22

3-
This example demonstrates how to run ArcadeDB in **Server Mode**, which enables the HTTP REST API and the Studio Web UI while maintaining embedded Python access. It also showcases **concurrent load testing** and **polyglot querying** (SQL + OpenCypher).
4-
53
[View source code]({{ config.repo_url }}/blob/{{ config.extra.version_tag }}/bindings/python/examples/08_server_mode_rest_api.py){ .md-button }
64

5+
This example demonstrates how to run ArcadeDB in **Server Mode**, which enables the HTTP REST API and the Studio Web UI while maintaining embedded Python access. It also showcases **concurrent load testing** and **polyglot querying** (SQL + OpenCypher).
6+
77
## Overview
88

99
!!! note "Embedded vs Server"

bindings/python/docs/examples/basic.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ with arcadedb.create_database("./mydb") as db:
106106
Browse all examples:
107107

108108
- **[Examples Overview](index.md)** - Complete list of examples
109+
- **[Dataset Downloader](download_data.md)** - Download and prepare example datasets
109110
- **[01 - Simple Document Store](01_simple_document_store.md)** - Document database basics
110111
- **[02 - Social Network Graph](02_social_network_graph.md)** - Graph database basics
111112
- **[03 - Vector Search](03_vector_search.md)** - AI-powered semantic search

0 commit comments

Comments
 (0)