Skip to content

Rename package to avoid PyPI conflict with PySDL/PySDL2 #3

@shenning00

Description

@shenning00

Problem

The current package name pysdl conflicts with existing PyPI packages:

  • PySDL - SDL (Simple DirectMedia Layer) bindings
  • PySDL2 - SDL2 media library bindings

This naming conflict causes confusion and prevents us from publishing to PyPI under the current name.

Required Changes

The following components need to be updated:

1. Package Structure

  • Rename pysdl/ directory to [NEW_NAME]/
  • Update pyproject.toml package name and metadata
  • Update setup.py if present

2. Import Statements

  • Update all from pysdl import ... statements throughout codebase
  • Update __init__.py imports
  • Search and replace in all Python files

3. Documentation

  • Update README.md with new package name
  • Update installation instructions
  • Update code examples and usage documentation
  • Update API documentation
  • Update any tutorials or guides

4. Configuration Files

  • Update GitHub workflows (.github/workflows/)
  • Update test configurations
  • Update CI/CD pipeline references
  • Update .gitignore if package name is referenced

5. Tests

  • Update import statements in test files
  • Update test configuration files
  • Verify all tests pass after rename

6. Repository Metadata

  • Update repository description
  • Update badges in README
  • Update PyPI classifier metadata
  • Update repository topics/tags

Suggested Alternative Names

Consider these options that clearly indicate the async/actor model focus:

  1. async-sdl - Clear async indicator, dash-separated
  2. asyncsdl - Compact, follows async library naming conventions
  3. sdl-actor - Emphasizes the actor model implementation
  4. actor-sdl - Alternative actor-focused name
  5. pysdl-async - Extends original name with async suffix
  6. sdl-async - Clean and descriptive

Migration Path

For existing users (if any):

  1. Publish final version under pysdl with deprecation warning
  2. Publish new version under [NEW_NAME] with migration guide
  3. Document the migration process in CHANGELOG.md
  4. Consider creating a legacy pysdl package that re-exports from [NEW_NAME] temporarily

Notes

  • This is a breaking change requiring a major version bump
  • Should be done before any significant user adoption
  • Consider creating a migration checklist issue template
  • Update CHANGELOG.md with migration instructions

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions