-
Notifications
You must be signed in to change notification settings - Fork 2
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
Pythonify #41
Merged
Merged
Pythonify #41
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
v0.3.0, March 19, 2024
CLI
prism agent [apply | build | run | delete]
prism compile
prism connect
prism create [agent | task | trigger]
prism spark-submit
prism init
prism run
prism graph
Manifest
manifest.json
that contained the project's targets, refs, tasks.v0.3.0
, Prism uses a SQLite database to store project, task, target, and run-related information.prism graph
still uses amanifest.json
when serving the visualizer UI.tasks
andhooks
in task argumentstasks
, andhooks
.tasks
was used to reference the output of other tasks, andhooks
was used to access adapters specified inprofile.yaml
.v0.3.0
, Prism has replaced both of these with aCurrentRun
object. See more information below.profile.yaml
profile.yaml
.v0.3.0
, Prism usesConnector
instances to connect to databases. See more information below.dbt
adapter.triggers.yaml
triggers.yaml
.v0.3.0
, Prism usesCallback
instances to run custom code based on a project's status. See more information below.🚀 Performance improvements
N/A
✨ Enhancements
PrismProject
entrypointprism_project.py
file and optionalprofile.yaml
andtriggers.yaml
files. The entrypoint to a Prism project was the CLI — users had to runprism run
to actually execute their project.v0.3.0
, thePrismProject
class is the recommended entrypoint to a Prism project. This class has the following benefits:PrismProject
class provides more fine-grained control over running Prism projects.PrismProject
class has two methods:run
andgraph
. As the names suggest,run
is used to execute Prism projects, andgraph
is used to launch the Prism Visualizer UI.PrismProject
in action:CurrentRun
context objecttasks
andrefs
, object stores information about the current project run, specifically:Connectors
profile.yaml
, connectors are defined in Python as instances of theConnector
class.Connector
subclasses:PrismProject
accepts a list ofConnector
objects via theconnectors
keyword argument, i.e.,CurrentRun
, i.e.,Callbacks
triggers.yaml
file, users can specify custom code as Python functions.PrismProject
accepts a list of functions via theon_success
andon_failure
keyword arguments🐞 Bug fixes
N/A
📖 Documentation
TODO
🛠️ Other improvements
rich
to create beautiful logs for the user. This includes logs for events, tasks, and exceptions.triggers
naming convention tocallbacks
. See above for more details.adapters
naming convention toconnectors
. See above for more details.