Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
d56a419
rust initial commit
mdrazak2001 Jun 19, 2025
08426b8
update some rust
mdrazak2001 Jun 19, 2025
0b78985
add python sdk
mdrazak2001 Jun 19, 2025
a7b97a6
added nodes and edges fetch in rust
mdrazak2001 Jun 19, 2025
1e5e314
add additional rust implementations
mdrazak2001 Jun 22, 2025
b4ebea7
Rename crate to causalgraphs and wire up Python bindings
mdrazak2001 Jun 23, 2025
e1d3898
Add initial implementation of causalgraphs with RustDAG and Python bi…
mdrazak2001 Jun 23, 2025
7df66ee
Merge branch 'rust-backend-integration' of https://github.com/mdrazak…
mdrazak2001 Jun 23, 2025
3042681
add requirements.txt
mdrazak2001 Jun 23, 2025
bc39e80
update README.md
mdrazak2001 Jun 26, 2025
677ed4f
conditional compilation: create python, js cargo features
mdrazak2001 Jun 28, 2025
15efc47
fix get random wasm compilation
mdrazak2001 Jun 28, 2025
4539126
fix wasm compilation issue
mdrazak2001 Jun 28, 2025
e595d87
js runtime tests
mdrazak2001 Jun 28, 2025
92ce6e5
Refactor project structure: separate Rust core and Python bindings, r…
mdrazak2001 Jul 2, 2025
5bfe3bb
clean up
mdrazak2001 Jul 2, 2025
62efcd0
Merge branch 'rust-backend-integration' into js-bindings-wasm
mdrazak2001 Jul 2, 2025
46bce99
Restructure wasm_bindings module with initial setup and dependencies
mdrazak2001 Jul 3, 2025
9bfc7d6
Refactors:
mdrazak2001 Jul 3, 2025
438a47a
Refactor ancestor retrieval in RustDAG
mdrazak2001 Jul 4, 2025
9dedaff
Merge branch 'rust-backend-integration' into js-bindings-wasm
mdrazak2001 Jul 4, 2025
3dbf9dc
refactor `add_nodes_from` & test-wasm.js
mdrazak2001 Jul 4, 2025
46daced
Update pyo3 version to 0.21.2 and clean up imports in RustDAG
mdrazak2001 Jul 4, 2025
cd41a99
remove old js folder
mdrazak2001 Jul 4, 2025
2117242
Merge branch 'rust-backend-integration' into js-bindings-wasm
mdrazak2001 Jul 4, 2025
f720958
update README.md's
mdrazak2001 Jul 4, 2025
34a0201
Merge pull request #1 from mdrazak2001/js-bindings-wasm
mdrazak2001 Jul 4, 2025
13c6c53
initial r bindings changes
mdrazak2001 Jul 5, 2025
a9b2c05
R bindings: extendr setup https://extendr.github.io/user-guide/r-pkgs…
mdrazak2001 Jul 5, 2025
8026028
R build + Ugly Temp Fixes
mdrazak2001 Jul 5, 2025
a1c1018
Revert dirty fixes by updating R bindings and configuration for compa…
mdrazak2001 Jul 5, 2025
2ac6b01
revert config.R temp change
mdrazak2001 Jul 5, 2025
7ad020a
Merge branch 'main' into r-bindings-new
mdrazak2001 Jul 6, 2025
a4cc361
add readme
mdrazak2001 Jul 6, 2025
b9454ca
update README.md
mdrazak2001 Jul 6, 2025
0fcecbb
R remote installable by updating rust_core dependency
mdrazak2001 Jul 10, 2025
0a82429
Add MakeFile & test setup
mdrazak2001 Jul 12, 2025
f539823
ci initial setup
mdrazak2001 Jul 12, 2025
779fdab
Enable manual triggering of CI workflow
mdrazak2001 Jul 12, 2025
e7b5f85
Update Python bindings installation in Makefile to use maturin releas…
mdrazak2001 Jul 12, 2025
cf278eb
Add installation step for wasm-pack in CI workflow
mdrazak2001 Jul 12, 2025
8ed97d5
r deps change
mdrazak2001 Jul 12, 2025
c2d73ed
r deps update 2
mdrazak2001 Jul 12, 2025
68818b9
R devtools install step
mdrazak2001 Jul 12, 2025
005bf18
add system dependencies
mdrazak2001 Jul 12, 2025
8a7c1e8
add pytest installation
mdrazak2001 Jul 12, 2025
a8fe36c
macos test
mdrazak2001 Jul 13, 2025
b44154b
refactor
mdrazak2001 Jul 13, 2025
0a6628a
refactor: ci: update CI configuration for macOS
mdrazak2001 Jul 13, 2025
9e966d5
update README.md
mdrazak2001 Jul 13, 2025
dfe9195
Merge branch 'r-bindings-new' into feat/Makefile-And-Test-setup
mdrazak2001 Jul 13, 2025
960d031
Merge branch 'r-bindings-new' into ci-setup
mdrazak2001 Jul 13, 2025
f543c6b
update README.md
mdrazak2001 Jul 13, 2025
256e266
Merge branch 'feat/Makefile-And-Test-setup' into ci-setup
mdrazak2001 Jul 13, 2025
af59ba6
test
mdrazak2001 Jul 13, 2025
b41ffe8
active_trail_nodes & is_dconnected impl
mdrazak2001 Jul 19, 2025
16702fe
core: d-separation impl & tests
mdrazak2001 Jul 19, 2025
20d41c9
Merge branch 'main' into feat/dag-new-impl
mdrazak2001 Jul 19, 2025
d0687dc
Independencies initial commit
mdrazak2001 Jul 20, 2025
c5aabd7
fix closure & sg3
mdrazak2001 Jul 20, 2025
cc731b9
add comments
mdrazak2001 Jul 20, 2025
d4cd189
fix(mac build) reduce method: sort assertions on event2 to prevent no…
mdrazak2001 Jul 20, 2025
01436c9
add sort e2 func
mdrazak2001 Jul 20, 2025
323836e
add comments
mdrazak2001 Jul 20, 2025
f246b8c
add more tests
mdrazak2001 Jul 20, 2025
f336239
Fix bogus assertion generations + add large test
mdrazak2001 Jul 24, 2025
d3827b7
minor s3contraction fix + test refactors
mdrazak2001 Jul 26, 2025
2c6f315
add initial python comp
mdrazak2001 Jul 26, 2025
15d0352
rename to DAG python bindings
mdrazak2001 Jul 27, 2025
641518f
wasm changes
mdrazak2001 Jul 27, 2025
002b74f
Merge branch 'main' into feat/impl-bindings-independencies-minimal-ds…
ankurankan Jul 28, 2025
b4e393f
R binding changes
mdrazak2001 Aug 1, 2025
c4aa74c
Merge branch 'feat/impl-bindings-independencies-minimal-dseparator' o…
mdrazak2001 Aug 1, 2025
d48455c
Merge branch 'main' into feat/impl-bindings-independencies-minimal-ds…
mdrazak2001 Aug 1, 2025
ff4a6a9
temp R build fix
mdrazak2001 Aug 1, 2025
c633d43
Merge branch 'feat/impl-bindings-independencies-minimal-dseparator' o…
ankurankan Aug 19, 2025
b80d5de
Merge branch 'main' into feat/impl-bindings-independencies-minimal-ds…
ankurankan Aug 19, 2025
3313c25
Merge branch 'main' into feat/impl-bindings-independencies-minimal-ds…
mdrazak2001 Aug 22, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion python_bindings/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -70,4 +70,4 @@ docs/_build/

# Pyenv
.python-version
*pvt_tests*
*pvt_tests*
4 changes: 4 additions & 0 deletions r_bindings/causalgraphs/NAMESPACE
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Generated by roxygen2: do not edit by hand

S3method("$",RDAG)
S3method("$",RIndependenceAssertion)
S3method("$",RIndependencies)
S3method("[[",RDAG)
S3method("[[",RIndependenceAssertion)
S3method("[[",RIndependencies)
useDynLib(causalgraphs, .registration = TRUE)
64 changes: 64 additions & 0 deletions r_bindings/causalgraphs/R/extendr-wrappers.R
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,75 @@ RDAG$edge_count <- function() .Call(wrap__RDAG__edge_count, self)

RDAG$latents <- function() .Call(wrap__RDAG__latents, self)

RDAG$add_edges_from <- function(ebunch, weights) .Call(wrap__RDAG__add_edges_from, self, ebunch, weights)

RDAG$active_trail_nodes <- function(variables, observed, include_latents) .Call(wrap__RDAG__active_trail_nodes, self, variables, observed, include_latents)

RDAG$is_dconnected <- function(start, end, observed, include_latents) .Call(wrap__RDAG__is_dconnected, self, start, end, observed, include_latents)

RDAG$are_neighbors <- function(start, end) .Call(wrap__RDAG__are_neighbors, self, start, end)

RDAG$get_ancestral_graph <- function(nodes) .Call(wrap__RDAG__get_ancestral_graph, self, nodes)

RDAG$minimal_dseparator <- function(start, end, include_latents) .Call(wrap__RDAG__minimal_dseparator, self, start, end, include_latents)

#' @export
`$.RDAG` <- function (self, name) { func <- RDAG[[name]]; environment(func) <- environment(); func }

#' @export
`[[.RDAG` <- `$.RDAG`

RIndependenceAssertion <- new.env(parent = emptyenv())

RIndependenceAssertion$new <- function(event1, event2, event3) .Call(wrap__RIndependenceAssertion__new, event1, event2, event3)

RIndependenceAssertion$event1 <- function() .Call(wrap__RIndependenceAssertion__event1, self)

RIndependenceAssertion$event2 <- function() .Call(wrap__RIndependenceAssertion__event2, self)

RIndependenceAssertion$event3 <- function() .Call(wrap__RIndependenceAssertion__event3, self)

RIndependenceAssertion$all_vars <- function() .Call(wrap__RIndependenceAssertion__all_vars, self)

RIndependenceAssertion$is_unconditional <- function() .Call(wrap__RIndependenceAssertion__is_unconditional, self)

RIndependenceAssertion$to_latex <- function() .Call(wrap__RIndependenceAssertion__to_latex, self)

RIndependenceAssertion$to_string <- function() .Call(wrap__RIndependenceAssertion__to_string, self)

#' @export
`$.RIndependenceAssertion` <- function (self, name) { func <- RIndependenceAssertion[[name]]; environment(func) <- environment(); func }

#' @export
`[[.RIndependenceAssertion` <- `$.RIndependenceAssertion`

RIndependencies <- new.env(parent = emptyenv())

RIndependencies$new <- function() .Call(wrap__RIndependencies__new)

RIndependencies$add_assertion <- function(assertion) invisible(.Call(wrap__RIndependencies__add_assertion, self, assertion))

RIndependencies$add_assertions_from_tuples <- function(tuples) .Call(wrap__RIndependencies__add_assertions_from_tuples, self, tuples)

RIndependencies$get_assertions <- function() .Call(wrap__RIndependencies__get_assertions, self)

RIndependencies$get_all_variables <- function() .Call(wrap__RIndependencies__get_all_variables, self)

RIndependencies$contains <- function(assertion) .Call(wrap__RIndependencies__contains, self, assertion)

RIndependencies$closure <- function() .Call(wrap__RIndependencies__closure, self)

RIndependencies$reduce <- function(inplace) .Call(wrap__RIndependencies__reduce, self, inplace)

RIndependencies$entails <- function(other) .Call(wrap__RIndependencies__entails, self, other)

RIndependencies$is_equivalent <- function(other) .Call(wrap__RIndependencies__is_equivalent, self, other)

#' @export
`$.RIndependencies` <- function (self, name) { func <- RIndependencies[[name]]; environment(func) <- environment(); func }

#' @export
`[[.RIndependencies` <- `$.RIndependencies`


# nolint end
Loading
Loading