deepcausality-rs / deep_causality Goto Github PK
View Code? Open in Web Editor NEWHyper-geometric computational causality library for Rust
Home Page: https://deepcausality.com/
License: Other
Hyper-geometric computational causality library for Rust
Home Page: https://deepcausality.com/
License: Other
Currently, the core library is reasonable tested but some gaps exists.
The easiest way to get started:
Check the code coverage report:
https://app.codecov.io/gh/deepcausality-rs/deep_causality
See where some gaps are
Look at the existing tests. Most are easy to copy & modify.
https://github.com/deepcausality-rs/deep_causality/tree/main/deep_causality/tests
Add some new tests. Make sure you run make test & make check before before opening a PR.
See details for make in the BUILD document.
Make a PR and wait for review
Is your feature request related to a problem? Please describe.
A number of complex types (Causaloid, etc) have grown very large and are hard to maintain.
Describe the solution you'd like
In Rust, multiple impl blocks can span across multiple files. Therefore, split those large and complex types into multiple
impl blocks that are more focused (i.e. implement just one trait instead of five) and put each block into one file.
Describe alternatives you've considered
/
Additional context
/
**Is your feature request related to a problem? **
Currently, lifelines in the public API cause problems with Async & Tokio.
Describe the solution you'd like
Remove lifelines in the public API.
Replace references with smart pointers i.e. ARC.
Describe alternatives you've considered
N/A
Additional context
**Is your feature request related to a problem? **
Right now, multiple cargo sub commands must be installed manually to make the various scripts used in the makefile work.
Describe the solution you'd like
make install
Describe alternatives you've considered
keep install manually or add make install script that tries to install as much automatically as possible.
Additional context
Add any other context or screenshots about the feature request here.
**Is your feature request related to a problem? **
Currently, only one context can be used in causal model
Describe the solution you'd like
Add support for multiple contexts. Specifically, 1 ...n contexts that are user selectable via the API.
Describe alternatives you've considered
Keep just one context.
Additional context
The feature is elaborated in the documentation, but not yet available,
Is your feature request related to a problem?
https://about.gitlab.com/blog/2020/12/03/how-to-fuzz-rust-code/
https://github.com/rust-fuzz/cargo-fuzz
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
**Is your feature request related to a problem? **
Right now, adjustable types only work for data and time, but not for space and SpaceTime.
For space, the adjustable protocol cannot be implemented together with spatial, which makes impossible
to use in a context.
For time, implementing temporable and adjustable would require a primitive and a generic field of time unit.
Clearly, none of this is necessary.
Make Spatial and Temporable trait generic over type T with some requirements for math operations, for example
pub trait Temporable: Identifiable where T: Default + Add<T, Output=T> + Mul<T, Output=T> // ...
Describe alternatives you've considered
Keeping the traits as it is means no generic adjustable context.
Patching around with primitive and generic versions of the same field.
Additional context
Adjustable context may become a critical feature later on, especially combined with multi-context
so this needs to be fixed.
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Right now, a new release has way to many manual steps:
Describe the solution you'd like
A clear and concise description of what you want to happen.
Adopt one of those release automation bots:
https://github.com/MarcoIeni/release-plz
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Either you automate the mundane tasks or you work like a monkey.
Additional context
Add any other context or screenshots about the feature request here.
/
Is your feature request related to a problem? Please describe.
Right now, causal graph and context graph both re-invent the wheel by implementing the same data structure thus making the code harder to maintain.
Describe the solution you'd like
Describe alternatives you've considered
I have evaluated and benchmarked petgraph and Hypergraph and while petgraph has the performance requirements, it lacks some custom functionality needed in the deep causality crate. Therefore, its best to build a custom wrapper around petgraph, and move the entire graph data structure into a separate crate for better maintainability.
Additional context
N/A
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.