Unstract is a no-code platform developed by Zipstack, designed to automate the processing of complex documents using Large Language Models (LLMs) and ETL pipelines, transforming unstructured data into structured JSON without coding requirements. The project is under active development with a focus on enhancing integration with various LLM providers and vector databases, ensuring broad compatibility and ease of use.
Timespan | Opened | Closed | Comments | Labeled | Milestones |
---|---|---|---|---|---|
7 Days | 5 | 2 | 2 | 0 | 1 |
30 Days | 6 | 5 | 18 | 0 | 1 |
90 Days | 16 | 11 | 57 | 0 | 1 |
All Time | 19 | 12 | - | - | - |
Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.
Developer | Avatar | Branches | PRs | Commits | Files | Changes |
---|---|---|---|---|---|---|
ali | 6 | 4/4/1 | 10 | 42 | 3529 | |
Deepak K | 1 | 3/5/0 | 5 | 21 | 2931 | |
vishnuszipstack | 6 | 6/1/0 | 6 | 31 | 1995 | |
Chandrasekharan M | 6 | 11/11/0 | 16 | 73 | 1943 | |
Tahier Hussain | 3 | 7/6/0 | 7 | 29 | 1504 | |
github-actions[bot] | 1 | 0/0/0 | 4 | 3 | 1110 | |
Kirtiman Mishra (kirtimanmishrazipstack) | 5 | 3/0/1 | 27 | 21 | 764 | |
jagadeeswaran-zipstack | 5 | 4/1/0 | 9 | 18 | 409 | |
Rahul Johny | 4 | 6/3/1 | 7 | 15 | 350 | |
harini-venkataraman | 2 | 6/5/0 | 7 | 13 | 188 | |
pre-commit-ci[bot] | 3 | 0/0/0 | 3 | 8 | 98 | |
Ritwik G | 1 | 1/1/0 | 1 | 5 | 59 | |
Gayathri (gaya3-zipstack) | 2 | 1/0/0 | 3 | 3 | 46 | |
Jaseem Jas | 1 | 0/0/0 | 3 | 5 | 17 | |
Shuveb Hussain (shuveb) | 1 | 1/0/0 | 1 | 2 | 9 | |
Neha | 0 | 0/0/0 | 0 | 0 | 0 | |
Hari John Kuriakose | 0 | 0/0/0 | 0 | 0 | 0 |
PRs: created by that dev and opened/merged/closed-unmerged during the period
Risk | Level (1-5) | Rationale |
---|---|---|
Delivery | 3 | The project has a moderate level of issue resolution activity with new issues being opened faster than they are being closed, as evidenced by the data from the last 7 days (5 new, 2 closed). The presence of critical issues like #705 and #414 that directly impact delivery timelines further elevates the risk. Additionally, the backlog of 40 open pull requests, including significant ones like PR #707 and PR #700, suggests potential bottlenecks in review or deployment processes. |
Velocity | 3 | While there is evidence of active development and high commit activity, disparities in team member contributions and the accumulation of open pull requests indicate potential bottlenecks. The varied levels of activity among team members, such as the absence of recent contributions from Hari John Kuriakose and Neha, could lead to uneven workload distribution impacting project velocity. |
Dependency | 3 | Issues like #704 highlight dependency on external APIs and services such as Google Gemini models. The proactive replacement of deprecated APIs indicates good management but also underscores reliance on these external systems which could pose risks if they experience downtime or deprecations. |
Team | 2 | The team shows strong internal communication and collaborative problem-solving capabilities, as seen in co-authored commits and detailed issue discussions. However, disparities in workload distribution could potentially lead to inefficiencies or burnout among team members. |
Code Quality | 3 | Commits by developers affecting a large number of files and changes suggest significant alterations to the codebase which might introduce errors or increase complexity. The presence of complex methods violating the Single Responsibility Principle in files like prompt_studio_helper.py and workflow_helper.py also indicates risks to maintainability. |
Technical Debt | 4 | Files exhibit high complexity and interdependency, particularly with hardcoded values and 'magic' strings or numbers that could hinder future modifications. Frequent commits aimed at fixing bugs or optimizing features suggest an ongoing struggle with managing technical debt. |
Test Coverage | 3 | While there is no direct data on test coverage, the frequent need for bug fixes and optimizations as seen in commits suggests that existing testing may not be sufficiently catching issues before deployment. This indicates a risk that the project's automated testing might be insufficient. |
Error Handling | 3 | The use of custom exceptions in files indicates robust error handling strategies; however, the complexity within methods might obscure error tracking. Issues like #595 and #701 remain open with critical bugs, suggesting delays in resolving errors which could compromise reliability. |
The recent GitHub issue activity for the project Zipstack/unstract indicates a mix of enhancements and bug fixes among the open issues. The issues range from feature requests for new model support to critical bugs affecting the platform's functionality.
Common themes among these issues include configuration challenges and integration problems with external services or dependencies, which could indicate areas where documentation or system robustness needs enhancement.
docker compose
command"These issues are critical as they impact fundamental aspects of system operation and accessibility, which are essential for user satisfaction and platform reliability.
The repository has a total of 648 closed pull requests, indicating a high level of activity and development. The repository also has several open pull requests, suggesting ongoing development and improvements.
PR #707: IDP messaging change
PR #700: Change bedrock logo to AWS
PR #699: feat: Pipeline data migration to correct frequent cron strings
PR #698: FIX: Optimize Timer Handling for Prompt Run API Calls
PR #689: workflow manager workflow v2 delta changes
PR #706: fix/Separating clone to new try-catch block
PR #697: feat: Tool container name validation for length < 63
PR #696: FIX: Optimized the Prompt Output API Calls
prompt_studio_helper.py
Imports and Dependencies:
Class Definition:
PromptStudioHelper
is defined as a utility class with static methods, suggesting that it serves as a utility or service layer without maintaining state.Method Complexity:
create_default_profile_manager
, validate_adapter_status
, and index_document
are lengthy and handle multiple aspects of business logic, which might make them hard to maintain or modify.Documentation:
Error Handling:
PermissionError
, IndexingError
, etc., which are well-handled within methods to provide clear error feedback.Code Quality Concerns:
Security and Best Practices:
workflow_helper.py
Imports and Dependencies:
prompt_studio_helper.py
, this file has numerous dependencies on Django models and utilities, indicating tight coupling with the Django framework.Class Definition:
WorkflowHelper
contains static methods that manage workflow-related operations, suggesting its role as a service layer in the application architecture.Method Complexity:
process_input_files
and run_workflow
handle multiple steps in workflow processing, showing high complexity and multiple responsibilities within single methods.Documentation:
Error Handling:
Code Quality Concerns:
Concurrency Handling:
PromptCard.jsx
React Component Structure:
useState
and handles side effects with useEffect
, following modern React functional component patterns.State Management:
Code Modularity:
PromptCardItems
to break down UI parts, which is good for reusability and separation of concerns within the React component tree.Error Handling:
useExceptionHandler
to manage errors, which helps in centralizing error handling logic across components.Performance Considerations:
Documentation and Readability:
Security Practices:
The analyzed files show a well-structured approach with adherence to respective frameworks' best practices (Django for Python files, React for JSX). However, there are areas for improvement in reducing method complexity, enhancing modularity, abstracting hardcoded values, and optimizing performance in front-end components.
Harini Venkataraman
Chandrasekharan M
Tahier Hussain
Deepak K (Deepak-Kesavan)
Muhammad Ali (muhammad-ali-e)
Rahul Johny (johnyrahul)
Ritwik G
Jagadeeswaran
Vishnu (vishnuszipstack)
Shuveb Hussain
Gayathri (gaya3-zipstack)
Kirtiman Mishra (kirtimanmishrazipstack)
Jaseem Jas (jaseemjaskp)
Pre-commit-ci[bot]
Hari John Kuriakose (hari-kuriakose)
Neha (nehabagdia)
Github-actions[bot]