-
Notifications
You must be signed in to change notification settings - Fork 4
Python-ufa-lite #178
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
base: main
Are you sure you want to change the base?
Python-ufa-lite #178
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces a new Python-based Moose service called "analytical-moose-foobar-py" to the UFA-Lite stack, providing a Python equivalent to the existing TypeScript analytical services.
- Adds a complete Python Moose analytical service with data models and consumption APIs
- Implements several consumption APIs for foo and bar data including base APIs, aggregations, and filtering
- Includes comprehensive project structure with configuration files, requirements, and VS Code integration
Reviewed Changes
Copilot reviewed 23 out of 28 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| ufa-lite/services/analytical-moose-foobar-py/template.config.toml | Template configuration for Python project setup |
| ufa-lite/services/analytical-moose-foobar-py/setup.py | Python package setup configuration |
| ufa-lite/services/analytical-moose-foobar-py/requirements.txt | Python dependencies specification |
| ufa-lite/services/analytical-moose-foobar-py/moose.config.toml | Moose framework configuration |
| ufa-lite/services/analytical-moose-foobar-py/app/main.py | Main application entry point with data models |
| ufa-lite/services/analytical-moose-foobar-py/app/external_models.py | Auto-generated external data models |
| ufa-lite/services/analytical-moose-foobar-py/app/apis/foo/consumption/*.py | Foo data consumption APIs |
| ufa-lite/services/analytical-moose-foobar-py/app/apis/bar/consumption/*.py | Bar data consumption APIs |
| ufa-lite/services/analytical-moose-foobar-py/README.md | Project documentation |
| ufa-lite/services/analytical-moose-foobar-py/.vscode/* | VS Code configuration |
| ufa-lite/services/analytical-moose-foobar-py/.gitignore | Git ignore patterns |
| CLAUDE.md | Project overview documentation |
| .vscode/settings.json | Updated VS Code settings with ClickHouse connection |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| name='analytical-moose-foobar-py', | ||
| version='0.0', | ||
| install_requires=requirements, | ||
| python_requires='>=3.12', |
Copilot
AI
Sep 14, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
HTML entities are being used instead of proper operators. This should be >=3.12 to specify Python version requirement correctly.
| python_requires='>=3.12', | |
| python_requires='>=3.12', |
|
|
||
| if params.status: | ||
| where_clauses.append(f"{foo_table.columns.status} = '{params.status}'") |
Copilot
AI
Sep 14, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SQL injection vulnerability. The status parameter is directly interpolated into the SQL query without proper escaping. Use parameterized queries or proper SQL escaping.
| if params.status: | |
| where_clauses.append(f"{foo_table.columns.status} = '{params.status}'") | |
| query_params = [] | |
| if params.status: | |
| where_clauses.append(f"{foo_table.columns.status} = %s") | |
| query_params.append(params.status) |
No description provided.