I have updated my previous implementation of the financial-timeseries-dashboard in three aspects:
The code is available at : https://github.com/hfwittmann/financial-timeseries-dashboard/tree/kedro-based
The dashboard is available at https://dax.arthought.com/, the fast-api rest-api is available at https://dax-backend.arthought.com
Kedro is a workflow management tool for data pipelines. It provides a standardized project structure and tools for building, testing, and deploying data pipelines. By using Kedro, you can break down your data processing tasks into modular, reusable components that can be easily maintained and scaled. Kedro also provides features for versioning, data cataloging, and documentation, which can be very useful for managing complex data pipelines.
Poetry is a dependency management tool for Python. It allows you to define your project dependencies in a simple and declarative way, and it can automatically manage your virtual environments and package installation. Poetry also provides features for publishing and packaging your Python projects, which can be very useful for distributing your code to others.
FastAPI is a modern, fast, web framework for building APIs with Python 3.7+ based on standard Python type hints. FastAPI is designed to be easy to use and highly performant, with features such as automatic data validation, built-in support for async/await, and automatic generation of OpenAPI and JSON Schema documentation. FastAPI also has a growing ecosystem of plugins and tools, which can make it easier to integrate with other systems.
By incorporating these three tools into your financial-timeseries-dashboard implementation, you can potentially improve the performance, scalability, and maintainability of your code, as well as streamline the development and deployment process. Kedro can help you structure your data processing pipelines in a modular and reusable way, while Poetry can simplify dependency management and virtual environment creation. FastAPI can provide a fast and flexible way to build APIs that can interact with your data pipelines and display data on the dashboard.
The code makes use of kedro-fast-api.
Kedro-FastAPI is a library that provides a framework for building RESTful APIs using Kedro and FastAPI. It provides a number of tools and utilities for creating endpoints that can execute Kedro pipelines, handle errors, and generate OpenAPI documentation.
To use Kedro-FastAPI, you can install it using pip or another package manager, and then add it to the requirements of your Kedro project. Once you have installed Kedro-FastAPI, you can create a new FastAPI application in your Kedro project using the kedro fast-api init command. This will create a pipeline called api_pipeline. Inside, in the nodes file, you need to define the custom classes for your models, or more generally, the providers for your rest api endpoints.
Overall, Kedro-FastAPI is a powerful library that can simplify the process of building RESTful APIs using Kedro and FastAPI. It provides a number of useful tools and utilities that can help you create scalable, modular, and testable APIs for your Kedro pipelines.