Skip to content

Cleanup#1548

Merged
BoPeng merged 7 commits intomasterfrom
cleanup
Nov 5, 2025
Merged

Cleanup#1548
BoPeng merged 7 commits intomasterfrom
cleanup

Conversation

@BoPeng
Copy link
Copy Markdown
Contributor

@BoPeng BoPeng commented Sep 9, 2025

  • Convert to a modern pyproject.toml project
  • Add invoke system
  • Use uv virtual environment management

BoPeng and others added 7 commits September 8, 2025 21:51
- 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>
@BoPeng BoPeng merged commit b2fa21f into master Nov 5, 2025
0 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant