-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Description
Discussion: Should Python packages maintain llpkgstore.json file?
Background
In the current llpkgstore architecture, both C++ and Python packages use the same postprocessing workflow, including updating the llpkgstore.json file. However, considering the specific characteristics and use cases of Python packages, we need to re-evaluate whether Python packages actually need to maintain this file.
Current Role of llpkgstore.json
Based on code analysis, llpkgstore.json serves two main purposes:
1. Static Website Data Source
- Used for querying and displaying version information on websites
- Serves as a data source for static websites, providing package version mapping information
- Current Status: Python packages are not currently considering building such a website
2. llgo get Service Support
- Supports two forms of package retrieval:
llgo get clib@go_versionllgo get go_module@go_version
- Current Status: Neither of these forms needs to be aware of the existence of the
llpkgstore.jsonfile
❓ Core Question
Do Python packages really need to maintain the llpkgstore.json file?
💭 Arguments for Keeping llpkgstore.json
-
Architectural Consistency
- Maintain the same version management workflow for both C++ and Python packages
- Unified
postprocessingcommand implementation - Easier to maintain and understand
-
Future Extensibility
- If we need to build a similar website for Python packages in the future
- If the
llgo getservice needs to supportllpkgstore.jsonqueries - Reserve interfaces for future feature extensions
-
Debugging and Monitoring
- Provide historical records of version mappings
- Facilitate troubleshooting and version tracking
💭 Arguments for Removing llpkgstore.json
-
Simplified Workflow
- Python packages don't need complex version mapping management
- Reduce unnecessary file operations and storage
- Simplify the
postprocessingworkflow
-
Performance Optimization
- Reduce file I/O operations
- Lower storage space usage
- Improve processing speed
-
Separation of Concerns
- Python packages focus on Go binding generation
- Version management is handled by Git tags and GitHub Releases
- Avoid duplicate version information storage
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels