Skip to content
Draft
Show file tree
Hide file tree
Changes from 75 commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
165ca5d
Python V5 - creating wiring for backend dispatch
dibahlfi May 13, 2026
9e8de0d
create_item operation
dibahlfi May 13, 2026
192fb91
adding build support for PY03 bindings
dibahlfi May 15, 2026
5c64327
added parity checker for create item
dibahlfi May 16, 2026
ec5da3d
fixing bugs
dibahlfi May 17, 2026
179fe97
mapping headers for create_item
dibahlfi May 17, 2026
8c4635a
refactoring tests
dibahlfi May 20, 2026
229671f
adding missed class
dibahlfi May 23, 2026
d6e9072
fix - fixing parity checker
dibahlfi Jun 5, 2026
5ec25d8
fix - parity checker clean up
dibahlfi Jun 5, 2026
a299374
rust migration - adding delete_item initial impl
dibahlfi Jun 6, 2026
d72ad31
delete item cleaning up comments
dibahlfi Jun 7, 2026
d6c9403
adding read_item initial impl
dibahlfi Jun 9, 2026
8db4444
adding upsert_item initial impl
dibahlfi Jun 10, 2026
3480999
adding replace_item initial impl
dibahlfi Jun 10, 2026
f020d22
cleaning up comments
dibahlfi Jun 13, 2026
e10f8bb
cleaning up comments
dibahlfi Jun 15, 2026
eb946d6
Merge branch 'main' into users/dibahl/python-sdk-with-rust-driver
dibahlfi Jun 18, 2026
5f51a58
refactoring crud and cosmos client initialization
dibahlfi Jun 20, 2026
224e2fc
refactoring crud and cosmos client initialization
dibahlfi Jun 21, 2026
31f5913
refactoring crud and cosmos client initialization
dibahlfi Jun 22, 2026
31c1f8f
refactoring and cleaning up comments
dibahlfi Jun 22, 2026
cacd1b4
adding perf tests
dibahlfi Jun 25, 2026
2e8d47b
fixing perf tests
dibahlfi Jun 25, 2026
3d2dd55
fixing more perf configuration
dibahlfi Jun 26, 2026
1b78ed7
fixing more perf configuration
dibahlfi Jun 26, 2026
cf096cc
Fix NameError: import _loop_lag_monitor explicitly in workload.py
dibahlfi Jun 26, 2026
c170732
Treat SIGINT exit 130 as success in perf driver scripts
dibahlfi Jun 26, 2026
0abcc4e
fixing a security issue
dibahlfi Jun 27, 2026
a6ddf94
perf drill: add timeout --kill-after safety net to unattended driver …
dibahlfi Jun 27, 2026
f358588
perf drill: add post-run integrity gate (methodology flags #2/#3/#4)
dibahlfi Jun 27, 2026
9f4a59a
fixing timeout
dibahlfi Jun 27, 2026
f954d54
perf harness: graceful cooperative shutdown for the load loops
dibahlfi Jun 28, 2026
a171f46
fixing a blocking bug
dibahlfi Jun 28, 2026
d6ef061
adding test coverage
dibahlfi Jun 29, 2026
18f9706
adding missed file
dibahlfi Jun 29, 2026
bec846d
cleaning up comments
dibahlfi Jun 29, 2026
c0c1c6a
Perf drill: concrete backend provenance + harness hardening
dibahlfi Jun 30, 2026
81566af
refactoring perf scripts
dibahlfi Jun 30, 2026
0bcd7fe
adding more tests
dibahlfi Jun 30, 2026
89f09ff
adding diagnostics
dibahlfi Jul 1, 2026
2a848ad
cleaning up comments
dibahlfi Jul 2, 2026
e9c848d
Add Phase 0 baseline + Phase C scale-sweep results; harden provenance…
dibahlfi Jul 2, 2026
1c56bcf
Perf drill doc: add per-phase client VM names + engine build/versioni…
dibahlfi Jul 2, 2026
178dd04
Add per-attempt wire-diagnostics counters to the Rust binding
dibahlfi Jul 2, 2026
0d62335
perf harness: capture x-ms-request-duration-ms for client-vs-server l…
dibahlfi Jul 2, 2026
9e99c61
docs(perf): root-cause the Phase 0 Read/Create tail — no regression o…
dibahlfi Jul 2, 2026
b0463a1
Perf harness: driver provenance, run isolation, scale-out + create-se…
dibahlfi Jul 3, 2026
9cd5961
hardening perf scripts
dibahlfi Jul 3, 2026
16892eb
Cosmos perf harness: add mixed/doc-size/cold-start modes + provenance…
dibahlfi Jul 3, 2026
13b66bb
clean up
dibahlfi Jul 5, 2026
bce5a37
adding tests
dibahlfi Jul 7, 2026
681a587
adding documentation
dibahlfi Jul 7, 2026
f17959c
adding query_items and read_feed changes
dibahlfi Jul 9, 2026
9f8d625
adding feed_range_from_partition_key migration impl
dibahlfi Jul 10, 2026
77a4c34
adding read_all_items migration impl
dibahlfi Jul 13, 2026
b74adb8
adding read_offer migration impl
dibahlfi Jul 14, 2026
572cd6c
adding replace_offer migration impl
dibahlfi Jul 16, 2026
46f575f
adding feed_range_subset impl
dibahlfi Jul 17, 2026
94855f1
refactoring and adding tests
dibahlfi Jul 22, 2026
fe0db66
implementing create_database in rust
dibahlfi Jul 22, 2026
35a42b2
implementing create_database_if_not_exists in rust
dibahlfi Jul 23, 2026
690ff00
cleaning up comments
dibahlfi Jul 24, 2026
8af54ca
adding transport diagnostics string
dibahlfi Jul 24, 2026
94d71b8
fixing create_database_if_not_exists bug
dibahlfi Jul 24, 2026
df95dc2
adding release document
dibahlfi Jul 26, 2026
2e5a3e3
adding performance document
dibahlfi Jul 26, 2026
dc2104e
adding request flow document
dibahlfi Jul 26, 2026
edd98df
fixing release document
dibahlfi Jul 26, 2026
40ed219
adding queryplan support
dibahlfi Jul 28, 2026
c6fd038
adding comments for perf scripts
dibahlfi Jul 28, 2026
fd1e3f4
adding libs
dibahlfi Jul 28, 2026
5abb311
implementing database-read migration
dibahlfi Jul 31, 2026
78989ba
cleaning up scripts
dibahlfi Aug 1, 2026
4feeeef
adding list_databases rust impl
dibahlfi Aug 5, 2026
f9eaec2
adding database/throughput operations rust migration
dibahlfi Aug 9, 2026
c595948
refactoring and cleaning up
dibahlfi Aug 10, 2026
4348789
refactoring profiling scripts
dibahlfi Aug 11, 2026
590c80e
fixing profiling bugs
dibahlfi Aug 11, 2026
b0307dd
updating build_and_release documentation
dibahlfi Aug 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 10 additions & 0 deletions sdk/cosmos/azure-cosmos/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Rust build artifacts (anchored to this package)
/target/
/Cargo.lock
/azure/cosmos/*.pdb

# Generated per-op parity audit docs and design scratch notes (the
# generator is checked in at scripts/v5/build_legacy_parity_audit.py;
# the rendered Markdown it writes into docs/V5/ is per-developer-run
# output and must not be committed).
/docs/V5/
60 changes: 60 additions & 0 deletions sdk/cosmos/azure-cosmos/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Cargo workspace root for the azure-cosmos Python SDK.
#
# One member crate lives under this root:
# - azure_cosmos_rust/ the PyO3 binding compiled into _rust.pyd
#
# The driver crate (azure_data_cosmos_driver) is no longer in-tree. It is
# pulled in as a path dependency from a sibling clone of azure-sdk-for-rust;
# see azure_cosmos_rust/Cargo.toml for the exact path. `maturin develop`
# (run from this directory) compiles the binding plus the external driver
# into one cdylib that gets dropped into azure/cosmos/ next to the .py files.

[workspace]
members = [
"azure_cosmos_rust",
]
resolver = "2"

# -----------------------------------------------------------------------------
# Workspace-level metadata inherited by the binding crate via `.workspace = true`.
# -----------------------------------------------------------------------------
[workspace.package]
authors = ["Microsoft <azpysdkhelp@microsoft.com>"]
edition = "2021"
license = "MIT"
repository = "https://github.com/Azure/azure-sdk-for-python"
rust-version = "1.75"

[workspace.lints.rust]
# Permit the cfgs the driver's integration tests use without the build warning.
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_category, values("emulator", "multi_write"))'] }

# -----------------------------------------------------------------------------
# Workspace-level dependencies. Used by the binding crate (azure_cosmos_rust)
# via `.workspace = true`.
#
# IMPORTANT: `azure_core` MUST resolve to the same crate instance the external
# driver uses, otherwise azure_core-native types (e.g. `TokenCredential`,
# `AccessToken`, `azure_core::Error`) are different Rust types. The binding
# inherits this published crates.io version so it can unify with the driver.
# azure_identity is only needed by the driver's own dev-tests, not the binding,
# so it stays a path dep.
# -----------------------------------------------------------------------------
[workspace.dependencies]
# --- azure-sdk-for-rust crates ---
# azure_core aligned with the driver's published version so the two unify.
azure_core = "1.1.0"
azure_identity = { path = "../../../../azure-sdk-for-rust/sdk/identity/azure_identity" }

# --- crates.io deps the binding uses ---
async-lock = "3"
async-trait = "0.1"
base64 = "0.22"
futures = "0.3"
reqwest = { version = "0.13", default-features = false }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tracing = "0.1"
url = "2"
uuid = "1"
tokio = "1"
Loading