[Initiative] Enhance Python Usability and Simplify Installation
- Dominant language
- Python
- Stars
- 149
- Forks
- 27
- PR merge metrics
- No merged PRs in 30d
Description
### Proposal Summary
This proposal aims to dramatically improve the user experience of VIDEX's Python components.
We'd like to publish a PyPI package to streamline installation and dependency management.
We will also validate compatibility across a wide range of Python versions (3.8-3.13) and explore launching the VIDEX server directly from the package, abstracting away the need for users to `git clone` the repository or manage complex environments manually.
### Motivation and Impact
Currently, setting up VIDEX's Python environment requires familiarity with tools like `conda` and manual script execution (`videx_build_env.py`, `start_videx_server.py`), which creates a significant barrier for many database administrators and developers who are not Python experts. Simplifying this process is critical for wider adoption and seamless evaluation. A streamlined, one-command installation will make VIDEX more accessible and easier to integrate into existing workflows.
We extend special thanks to the MariaDB team for their valuable testing and feedback, which highlighted the importance of this improvement for better integration within the MySQL and MariaDB ecosystems. The impact will be a lower barrier to entry, faster setup times, and a more positive initial experience for new users, ultimately encouraging broader community engagement.
### Technical Plan
1. **Package Structuring:** Refactor the current Python scripts and modules into a standard Python package structure with a well-defined `pyproject.toml`.
2. **Dependency Management:** Consolidate all dependencies into the package configuration to ensure `pip` can handle them automatically, resolving potential conflicts.
3. **Console Script Entry Points:** Implement console script entry points (e.g., `videx-build-env`, `videx-start-server`) to allow users to run commands directly from their terminal after installation, abstracting away the underlying script paths.
4. **CI/CD Validation:** Update the CI pipeline to test the `pip install` process and functionality of the package across Python versions 3.8 through 3.13 on Linux, macOS, and Windows.
5. **Documentation Overhaul:** Rewrite the "Quick Start" and installation guides to prioritize the `pip install` method as the primary, recommended approach.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing videx_build_env.py, start_videx_server.py, the current Python configuration, and the CI pipeline. Define the package structure, dependencies, console entry points, and supported Python versions and platforms before implementation. Done means pip installation works, the commands run, CI validates the supported matrix, and the Quick Start and installation guides use the new flow.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, ci-cd, documentation, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100