Skip to content

PyChelonia 1.0.0rc1

Pre-release
Pre-release

Choose a tag to compare

@Imagination12357 Imagination12357 released this 30 Jul 09:59

PyChelonia 1.0.0rc1

PyChelonia is a Turtle-style drawing API backed by pygame.Surface. It is designed for pygame applications that want familiar Turtle geometry while retaining control of their window, event loop, composition, timing, and shutdown lifecycle.

This is the first public release candidate. It is a selected reimplementation, not a drop-in replacement for the complete Python turtle module.

Highlights

  • Movement, heading, position, pen, color, fill, circle, dot, text, clear, and reset APIs
  • Chelonia class with a public Turtle alias
  • Direct Surface, size-tuple, and separate width/height construction
  • Optional transparent internally created Surfaces
  • Stable dedicated-Surface identity, including during fill composition
  • Tuple-compatible Vec2D coordinates
  • No-line teleport() movement
  • Offscreen drawing with caller-owned pygame lifecycle

Installation

Once the PyPI upload is available:

python -m pip install --pre pychelonia==1.0.0rc1

Requirements

  • Python 3.11 or newer
  • pygame 2.1.3 or newer
  • CI coverage for CPython 3.11 and 3.13
  • Ubuntu, Windows, and macOS validation

Python 3.12 is included in the supported range. Versions above Python 3.13 are not rejected by package metadata but are outside the directly tested 1.0.0rc1 claim.

Compatibility

The selected 32-row compatibility baseline contains:

  • 17 Match
  • 10 Partial
  • 5 Intentional difference
  • 0 Unsupported

The zero Unsupported count applies only to the selected matrix. PyChelonia does not implement every API from Python's turtle module.

Notable differences include:

  • pygame-compatible colors instead of Tk color modes and the full Tk color-name database
  • no fractional pixel-width rendering
  • no guarantee of pixel-identical pygame and Tk Canvas geometry
  • cursor shapes, stamps, cursor events, animation, undo history, and pygame lifecycle ownership remain outside the active scope
  • degrees() and radians() are deferred until after 1.0.0

See the compatibility matrix and known differences for exact behavioral contracts.

Validation

  • 244 automated tests
  • Source, test, example, tool, and entry-point compile validation
  • Public import, Surface, movement, demo, and offscreen smoke checks
  • Four green GitHub Actions CI jobs
  • Green manual release preflight
  • Audited wheel and source distribution
  • Twine metadata validation
  • Separate Python 3.13 wheel and source-distribution installation checks

Artifacts

Installable wheel and source-distribution files are published through PyPI. This GitHub prerelease intentionally contains no duplicate package or checksum assets.

This release candidate is not the final 1.0.0 release. Feedback and focused compatibility reports are welcome through GitHub Issues.

Changelog

See the project changelog for the complete release history.