Skip to content

Migrate build system from setuptools to hatchling - #112

Merged
fundthmcalculus merged 1 commit into
mainfrom
claude/migrate-pyproject-uv-mzmfye
Aug 16, 2026
Merged

Migrate build system from setuptools to hatchling#112
fundthmcalculus merged 1 commit into
mainfrom
claude/migrate-pyproject-uv-mzmfye

Conversation

@fundthmcalculus

Copy link
Copy Markdown
Owner

Summary

This PR migrates the project's build system from setuptools to hatchling, updates project dependencies, and specifies Python 3.12 as the target version.

Key Changes

  • Build system migration: Replaced setuptools with hatchling as the build backend

    • Updated build-system.requires to use hatchling instead of setuptools>=42 and wheel
    • Changed build-backend from setuptools.build_meta to hatchling.build
    • Replaced setuptools configuration with hatchling-specific build target configuration
  • Dependency management:

    • Moved cloudpickle and sympy from samples/requirements.txt to core project dependencies
    • These are now listed in the main dependencies array in pyproject.toml
  • Python version: Added .python-version file specifying Python 3.12 as the target version

Implementation Details

  • The hatchling build configuration explicitly specifies packages to include: src/optimizers and src/fuzzy
  • This replaces the previous setuptools dynamic package discovery and package-data configuration
  • The migration maintains the same source directory structure (src/) while using a more explicit package declaration approach

https://claude.ai/code/session_01S4sf53AWr1qzmZSdDBo72p

- Switch build backend from setuptools to hatchling for uv compatibility
- Merge samples/requirements.txt dependencies (cloudpickle, sympy) into main pyproject.toml
- Add .python-version file (3.12) for uv tooling
- Remove old samples/requirements.txt file
- Update tool.hatch configuration for proper package discovery
@fundthmcalculus
fundthmcalculus merged commit 7f5a830 into main Aug 16, 2026
1 check passed
@fundthmcalculus
fundthmcalculus deleted the claude/migrate-pyproject-uv-mzmfye branch August 25, 2026 00:59
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.

2 participants