datajoely / kedro-rich Goto Github PK
View Code? Open in Web Editor NEWMake your Kedro experience snazzy
Make your Kedro experience snazzy
Was wondering since no commits for over a year
In order to show some of the things that are possible via the rich library, some of the core Kedro library have been patched dynamically.
This is already documented in #5 , the easiest solution would be to change this to the default in Kedro going forward.
kedro.pipeline.node.Node.__str__
This results in the node execution information being a bit cleaner and to the point. I've dropped the namespace information here since it is still sandwiched between catalog load/save operations that log that.
kedro.io.data_catalog.DataCatalog.load|save
In the same vein changing the colours and the quote style instantly makes this look much snazzier:
KedroCLI.get_command
I've always felt this behaviour has always catches beginners out. My implementation does this quite a drastic way, there are neater ways to do this here.
rich_click
where we can:
rich_click import RichGroup, RichCommand
This one I'm not as wedded to as the library is only on v1.2.1
at the time of writing. However it provides a really neat drop in replacement for click that seriously prettifies the help interface users get via the CLI:
kedro list-datasets
is active and workskedro catalog list
commandDue to the way the ParallelRunner
works in Kedro via multi-processing the existing hook implementation breaks when interacting with whatever UI thread rich needs to work.
Currently if the user specifies parallel runner the progress bar logic is disabled.
ParallelRunner
implementation and do it there (not ideal)kedro.line_magic
as an entrypoint for a plugin to activate.In order to enable the rich logging handler via an external plugin we currently intercept the way that the KedroSession
parses the contents of conf/base/logging.yml
and ensure that the console
key is updated to use the right handler.
I tried for agest to intercept the handlers after creation and change them dynamically through approaches like this but this is the only mechanism I could get to work.
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.