Conversation
Contributor
BoPeng
commented
Sep 9, 2025
- Convert to a modern pyproject.toml project
- Add invoke system
- Use uv virtual environment management
- Convert setup.py configuration to modern pyproject.toml format - Remove old setup.py and requirements_dev.txt files - Add CLAUDE.md for repository guidance - Maintain all entry points and plugin configurations - Add optional dependencies for platform-specific packages This migration follows PEP 517/518/621 standards for modern Python packaging. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Replace setuptools build backend with modern hatchling - Configure dynamic versioning from src/sos/_version.py - Add proper source directory configuration for hatchling - Include alternative flit configuration for reference Hatchling provides better support for modern Python packaging and handles the src-layout more efficiently than setuptools. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Update README.md with modern installation instructions - Create CONTRIBUTING.md with detailed development setup - Document building, testing, and deployment procedures - Include instructions for pip, conda, and development installs - Add guidelines for pull requests and code style These docs reflect the new pyproject.toml-based build system and provide clear paths for users and contributors. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add uv as the recommended package manager for faster installs - Update pyproject.toml with uv-compatible configuration - Add comprehensive uv instructions to CONTRIBUTING.md - Update README.md with uv installation options - Configure development tools (ruff, pytest, coverage) - Update .gitignore with common development patterns - Set Python 3.9 as minimum version (aligned with .python-version) uv provides significantly faster package installation and better dependency resolution compared to traditional pip. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Create comprehensive tasks.py with common development tasks - Add invoke commands for format, lint, test, build, and release - Include shortcuts and aliases for common operations - Add dependency management tasks (show, update) - Include version bumping and release automation - Create invoke.yaml configuration file - Update documentation with invoke usage instructions - Add invoke to dev dependencies in pyproject.toml The Invoke system provides a clean, consistent interface for all development tasks, making the development workflow more efficient and standardized. Available commands: invoke test # Run tests invoke format # Format code invoke lint # Check code style invoke check # Run all checks invoke build # Build packages invoke release # Release to PyPI 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Use Invoke's c.cd() context manager instead of os.chdir() - Ensures working directory changes are properly scoped - Prevents side effects from permanent directory changes - Remove unused os import This is the correct pattern for directory changes in Invoke tasks, as it safely restores the original directory after the task completes. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.