Releases: devfinwiz/Fin-Maestro-Kin
Fin-Maestro-Kin v0.3.1
Summary
Version v0.3.1 introduces significant enhancements, including the implementation of an optimized caching strategy for Trend Detector module, resolution of a critical startup issue, and the addition of graceful shutdown functionality for Redis. These improvements aim to optimize performance, reliability, and resource utilization.
Changes Made
-
Optimized Caching for Trend Detector Module:
- Contributed by @devfinwiz in PR-35.
- Implemented an optimized caching strategy to improve response times and reduce computational overhead for the Trend Detector module.
- Utilized a dynamic cache expiration mechanism based on the time until the next data update from the data source.
- Calculated the expiration time dynamically based on the time remaining until the next scheduled data update, ensuring users have access to the latest trend analysis results.
- Leveraged Redis for caching, facilitating efficient storage and retrieval of cached data.
-
Fix for Container Startup Issue:
- Contributed by @devfinwiz in PR-35.
- Resolved a critical issue causing the container to exit immediately after startup due to a problem in the entrypoint script.
- Adjusted the entrypoint script to ensure smooth container startup and operation, improving overall reliability.
-
Graceful Shutdown for Redis:
- Contributed by @devfinwiz in PR-35.
- Added graceful shutdown functionality for Redis to maintain data integrity during container shutdown.
- Implemented a script (
shutdown.sh
) to stop Redis gracefully before the container stops, ensuring proper handling of cached data.
-
Cleaning of Responses from Screener Related Endpoints:
Impact
- Improved Performance: The implementation of the optimized caching strategy enhances response times and reduces computational overhead, improving overall performance for trend analysis.
- Enhanced Reliability: The resolution of the container startup issue ensures smooth operation and prevents unexpected exits, enhancing application reliability.
- Data Integrity: Graceful shutdown functionality for Redis ensures data integrity by properly handling cached data before container shutdown.
Docker Image Update
- Pushed an updated Docker image with version v0.3.1, tagged as
latest
, ensuring users have access to the most recent version of the application with the latest enhancements and fixes.
Contributors
Fin-Maestro-Kin v0.3.0
Summary
This release introduces a smart caching mechanism for the Sentiment module, enhancing efficiency and responsiveness. Additionally, minor code improvements have been made to address issues highlighted by Code Factor.
Changes Made
-
Smart Caching for Sentiment Module:
- Implemented a smart caching strategy to enhance the efficiency and responsiveness of the Sentiment module.
- During market hours, the cache is updated every 15 minutes to ensure users have access to the latest sentiment data.
- Outside of market hours, when sentiment values remain static, the cache is configured to expire within a 24-hour timeframe, optimizing resource utilization.
- Leveraged Redis to implement this caching mechanism, significantly improving performance while minimizing computational overhead.
- The cache is not limited to container lifecycle; data will be persisted even if the container restarts, ensuring continuity of sentiment data availability.
-
Code Improvements:
- Addressed minor issues highlighted by Code Factor to improve code quality and maintainability.
Docker Image Update
- Pushed an updated Docker image with version v0.3.0, tagged as
latest
, ensuring users have access to the most recent version of the application with the latest enhancements and fixes.
Contributors
Impact
- Improved Performance: The implementation of smart caching ensures faster response times and reduces computational overhead, enhancing overall performance.
- Real-time Data Access: Users have access to up-to-date sentiment data during market hours, providing valuable insights for informed decision-making.
- Optimized Resource Utilization: By configuring cache expiration based on market hours, resource utilization is optimized, leading to better efficiency.
Important Note for Users
- Updated Docker Run Command: Starting from this version, users are required to run the container using the following command, as a volume is now being used for caching:
docker run -d -p 8000:8000 -p 6379:6379 -v redis-cache:/redis-cache devfinwiz24/fin-maestro-kin:latest
Fin-Maestro-Kin v0.2.6
Summary
This release represents a comprehensive restructuring of the project's module organization and a significant refactoring of existing code to enhance maintainability, readability, and scalability.
Details
-
Module Reorganization:
- Restructured the
data_toolkit
module to have separate submodules for different aspects of data processing, namelynse
andscreener
. - Each submodule now hosts a single file encapsulating all related functionality, promoting better code organization and management.
- Restructured the
-
Refactoring NSE Operations:
- Consolidated equities and indices related operations into a unified module named
nse_operations.py
. - Introduced classes
NSEEquities
andNSEIndices
withinnse_operations.py
to encapsulate related operations, promoting code modularity and clarity. - Transferred shared helper methods to a common
Helper
class withinnse_operations.py
, enhancing code reusability and reducing redundancy.
- Consolidated equities and indices related operations into a unified module named
-
Screener Equities Module:
- Combined functionalities into a single class named
ScreenerEquities
. - Incorporated shared helper methods into a common
Helper
class withinscreener_equities.py
, streamlining code organization and maintenance.
- Combined functionalities into a single class named
-
Sentiment Module:
- Refactored the
SentimentAnalyzer
module to utilize a class-based approach, encapsulating PCR analysis functionalities within theSentimentAnalyzer
andPCR
class.
- Refactored the
-
Trend Detector Module:
- Refactored the
Trend Detector
module to utilize a class-based approach, encapsulating trend analysis functionalities within theTrendDetector
class. - All trend analysis methods, including
signals_generator
andgenerate_plot
, are now part of theTrendDetector
class, promoting better encapsulation and code organization.
- Refactored the
-
New Project Logo:
- Introduced a new project logo, enhancing visual identity and branding. The updated logo is now reflected in the project's README and release notes.
Docker Image Update
- Pushed an updated Docker image with version v0.2.6, tagged as
latest
, ensuring users have access to the most recent version of the application with the latest enhancements and fixes.
Contributors
Impact
- Codebase Structure: The restructuring of modules and adoption of a class-based approach improve code organization, making it easier to navigate and maintain.
- Code Readability: By encapsulating related functionalities within classes, the codebase becomes more readable and understandable.
- Maintenance Efficiency: Shared helper methods and consolidated functionalities reduce redundancy and make maintenance tasks more efficient.
- Visual Identity: The new project logo enhances visual identity and branding, contributing to a more professional presentation of the project.
Fin-Maestro-Kin v0.2.5
Fin-Maestro-Kin v0.2.5 Release Notes
Summary
The v0.2.5 release of Fin-Maestro-Kin introduces new endpoints to support additional data retrieval from Screener.in, enhancing the capabilities of the data-toolkit module. These new endpoints enable users to access a wider range of financial data, empowering them with comprehensive insights into equities listed on the NSE and BSE. Furthermore, the documentation has been updated to reflect these changes, ensuring users have access to accurate and up-to-date information.
Details
-
New Endpoints:
- Added new endpoints to support more data from Screener.in, expanding the functionality of the data-toolkit module. The following endpoints have been introduced:
/screener-equities/shareholding-pattern
: Retrieve shareholding pattern data for individual stocks./screener-equities/cash-flow
: Access cash flow statements for in-depth financial analysis./screener-equities/balance-sheet
: Retrieve balance sheet data to evaluate a company's financial health./screener-equities/annual-profit-loss
: Access annual profit and loss statements for comprehensive performance analysis./screener-equities/ratios
: Retrieve various financial ratios to assess key performance indicators./screener-equities/key-metrics
: Retrieve key financial metrics based on a feature request by Shreyaan.
- Added new endpoints to support more data from Screener.in, expanding the functionality of the data-toolkit module. The following endpoints have been introduced:
-
Documentation Updates:
- Made appropriate changes to add the new endpoints to the documentation of Fin-Maestro-Kin, ensuring users have access to comprehensive information about the available features and functionalities.
Docker Image Update
- Pushed an updated Docker image with version v0.2.5, tagged as
latest
, ensuring users have access to the most recent version of the application with the latest enhancements and fixes.
Contributors
Impact
- Users can now access a wider range of financial data from Screener.in, enabling more thorough analysis and evaluation of equities listed on the NSE and BSE.
- The inclusion of key metrics based on a feature request enhances the platform's versatility and responsiveness to user needs.
- Updated documentation ensures that users have accurate and up-to-date information about the platform's features and functionalities, facilitating ease of use and enhancing the overall user experience.
Fin-maestro-Kin v0.2.4
Fin-Maestro-Kin v0.2.4 Release Notes
Summary
This release focuses on enhancing endpoint functionality, introducing custom interactive documentation, and improving user experience by redirecting the /docs
endpoint to the newly developed custom documentation. Additionally, the Docker image has been rebuilt and tagged for version v0.2.4, ensuring users have access to the latest updates.
Details
-
Endpoint Fix:
- Fixed the
/equities/most-active-securities
endpoint, resolving issues that prevented it from returning any response. Adjustments were made to accommodate changes in the NSE's API, ensuring reliable and accurate data retrieval.
- Fixed the
-
Custom Interactive Documentation:
- Designed and released custom interactive and dynamic documentation for Fin-Maestro-Kin using Apidog. The new documentation provides users with an intuitive and user-friendly interface to explore the available endpoints and their functionalities.
-
Custom Documentation Redirection:
- Implemented a feature to redirect the
/docs
endpoint to the newly developed custom documentation of Fin-Maestro-Kin. Users accessing the/docs
endpoint will now be seamlessly redirected to the custom documentation, improving accessibility and usability.
- Implemented a feature to redirect the
-
Alternative Documentation Link:
- Provided an alternative documentation link for users who want to access the documentation in read-only mode without running the server. Users can access the documentation at https://fin-maestro-kin.apidog.io/.
Docker Image Update
- Pushed an updated Docker image with version v0.2.4, tagged as
latest
, ensuring users have access to the most recent version of the application with the latest enhancements and fixes.
Impact
- Users can now rely on the fixed
/equities/most-active-securities
endpoint to retrieve accurate data on the most active securities from the NSE. - The introduction of custom interactive documentation enhances user experience by providing a more intuitive and informative way to explore Fin-Maestro-Kin's capabilities.
- Redirection of the
/docs
endpoint to the custom documentation improves accessibility and ensures that users have access to up-to-date and comprehensive documentation. - Users have the option to access the documentation in read-only mode via the alternative documentation link, even when the server is not running.
Fin-maestro-Kin v0.2.3
Fin-Maestro-Kin v0.2.3 Release Notes
Summary
Fin-Maestro-Kin v0.2.3 introduces new features, enhancements, and infrastructure updates to improve data availability, endpoint functionality, and documentation. Additionally, the Docker image has been updated to ensure users have access to the latest version of the application with the recent enhancements.
Details
New Features
- Introduced a new data source named "screener" to the "data-toolkit" module, enhancing data availability.
- Added support for gathering quarterly results for individual stocks from screener.in within the new "screener" submodule.
- Implemented a new endpoint for the "screener" submodule in the "data-toolkit" module, enabling access to quarterly results data.
Documentation Changes
- Updated documentation to reflect the new changes and renamed the "Equities" router tag to "NSE Equities" to prevent confusion between Screener Equities and NSE Equities methods.
Testing
- Conducted thorough testing of all existing endpoints to ensure compatibility and stability with the new changes.
Docker Image Update
- Pushed an updated Docker image with version v0.2.3, tagged as
latest
, ensuring users have access to the most recent version of the application with the latest enhancements and fixes.
Contributors
Impact
- Users can now benefit from enhanced data availability with the inclusion of quarterly results gathering from screener.in.
- The new endpoint provides access to quarterly results data, expanding the capabilities of the application for financial analysis and decision-making.
- Documentation updates and renaming of the router tag improve clarity and usability for developers and users.
- Thorough testing ensures that existing functionality remains reliable and stable.
- The updated Docker image simplifies deployment and allows users to access the latest version of the application with the recent enhancements and fixes.
Fin-Maestro-Kin v0.2.2
Fin-Maestro-Kin v0.2.2 Release Notes
Summary
This release addresses security vulnerabilities and improves endpoint functionality in the Fin Maestro Kin project. Additionally, optimizations have been made to streamline the image building and deployment process.
Details
Security Updates
- Upgraded
matplotlib
andpillow
dependencies to address CVE-2024-28219, ensuring the project's security posture remains robust.
Dependency Management
- Restructured dependency management by moving
pytest
from[tool.poetry.dependencies]
to[tool.poetry.dev-dependencies]
. This optimization helps streamline image building and deployment processes by reducing unnecessary dependencies.
Endpoint Fixes
- Fixed the
/nseindices/history
endpoint to return accurate historical OHLC (Open, High, Low, Close) data instead of random data, improving the reliability and accuracy of financial data retrieval.
Docker Image Update
- Pushed an updated Docker image with version v0.2.2, tagged as
latest
, ensuring users have access to the most recent version of the application with the latest enhancements and fixes.
Impact
- Users can now benefit from improved security measures with the updated dependencies, ensuring the integrity of financial data processed by the application.
- Streamlined dependency management enhances the efficiency of image building and deployment processes, resulting in faster and more reliable deployments.
- The fixed endpoint ensures that historical financial data retrieved from the
/nseindices/history
endpoint is accurate and reliable, supporting more informed financial analysis and decision-making. - The availability of the updated Docker image with version v0.2.2 as
latest
on Docker Hub allows for easy deployment and access to the latest features and fixes.
Fin-Maestro-Kin v0.2.1
Fin-Maestro-Kin v0.2.1 Release Notes
Summary
The v0.2.1 release of Fin-Maestro-Kin brings several improvements to enhance the user experience and stability of the application.
Details
New Features
- Added new endpoints for NSE equities data retrieval:
/equities/annual-reports
: Retrieves annual reports for NSE equities./equities/shareholding-patterns
: Provides shareholding patterns data for NSE equities./equities/insider-trading
: Offers insights into insider trading activities for NSE equities./equities/board-meetings
: Fetches details about board meetings related to NSE equities.
Enhancements
- Improved functionality by expanding the range of available NSE equities data.
- Enriched user experience with access to additional insights and information.
Impact
- Users can now access a broader range of NSE equities data, enhancing their market analysis capabilities.
- The improved documentation ensures users can effectively utilize the new endpoints without any confusion or ambiguity.
Docker Image Update
- The Docker image has been updated on Docker Hub with version v0.2.1, providing users with the latest enhancements
For more details, please refer to the pull request for a comprehensive list of changes and additions.
Fin-Maestro-Kin v0.2.0
Fin-Maestro-Kin v0.2.0 Release Notes
Summary
This release marks a significant milestone with the integration of Docker into the Fin Maestro Kin project. The entire application has been Dockerized, allowing for easy deployment and scalability. Additionally, the Docker image has been pushed to Docker Hub for wider accessibility and distribution.
Details
Docker Integration
- Dockerized the entire Fin Maestro Kin project for enhanced portability and consistency across different environments.
- Created a Dockerfile to define the build steps and dependencies required to run the application within a Docker container.
- Configured the Docker image to use
uvicorn
to serve the FastAPI application, enabling seamless execution within the container.
Image Pushed to Docker Hub
- Tagged the Docker image as
devfinwiz24/fin-maestro-kin:v0.2.0
. - Pushed the Docker image to Docker Hub repository
devfinwiz24/fin-maestro-kin
, making it available for easy retrieval and deployment.
Impact
- With Docker integration, users can now deploy the Fin Maestro Kin application in a consistent and efficient manner across different platforms and environments.
- Pushing the Docker image to Docker Hub enhances accessibility and collaboration, allowing for easier distribution and sharing of the application.
Fin-Maestro-Kin v0.1.8
Fin-Maestro-Kin v0.1.8 Release Notes
Summary
This release addresses compatibility issues with the NSE API by updating the request payload format to align with recent changes made by the NSE service provider. Here are the key changes:
- Payload Format Update:
- Adjusted the request payload format to match recent changes in the NSE API.
- Updated the code to handle the new payload structure, ensuring compatibility with the NSE service.
Details
Payload Format Update
- Modified the request payload format to accommodate changes introduced by the NSE API.
- Updated the code to correctly handle the new payload structure, allowing seamless interaction with the NSE service.
Impact
- Users will experience improved compatibility with the NSE API, ensuring uninterrupted access to NSE data.
- The application now successfully retrieves data from the NSE service, overcoming previous compatibility issues caused by payload format changes.