Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add backend functionality to the core #174

Merged
merged 21 commits into from
Mar 15, 2024
Merged

Conversation

bvdmitri
Copy link
Member

This PR introduces "backends" to the GraphPPL framework, allowing external packages to connect with it and tweak specific node behaviors. Essentially, it lets us define aliases for nodes outside of GraphPPL, and also gives us the flexibility to adjust model creation based on certain flags in a backend.

Included in this PR tests are showcasing how this functionality works, like setting up aliases for custom "distributions".
The backend is also allowed to add/remove custom syntax transformation pipelines to the model parsing.

For user interaction, I've added DefaultBackend, which smoothly handles objects from Distributions.jl using the existing extension setup. New backends can build off this functionality, as demonstrated by the backend implemented in testutils.jl.

One thing to note is that the @model macro isn't exported anymore. Packages relying on it will need to import it explicitly or define their own with a different backend.

Additionally, this PR refines many old tests by incorporating the latest changes, such as using ModelGenerator consistently.

@bvdmitri bvdmitri requested a review from wouterwln March 14, 2024 18:19
@bvdmitri
Copy link
Member Author

Probably noise again, but better to double check
image

Copy link

codecov bot commented Mar 14, 2024

Codecov Report

Attention: Patch coverage is 90.78947% with 7 lines in your changes are missing coverage. Please review.

Project coverage is 91.48%. Comparing base (4bc587a) to head (248e24d).
Report is 1 commits behind head on dev-4.0.0.

Files Patch % Lines
src/graph_engine.jl 83.72% 7 Missing ⚠️
Additional details and impacted files
@@              Coverage Diff              @@
##           dev-4.0.0     #174      +/-   ##
=============================================
- Coverage      91.74%   91.48%   -0.26%     
=============================================
  Files             14       15       +1     
  Lines           1781     1774       -7     
=============================================
- Hits            1634     1623      -11     
- Misses           147      151       +4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@wouterwln wouterwln merged commit 5db23a5 into dev-4.0.0 Mar 15, 2024
6 of 7 checks passed
@wouterwln wouterwln deleted the dev-4.0.0-backend branch March 15, 2024 11:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants