GeometryDashAPI
GeometryDashAPI copied to clipboard
Complete refactor: C# to Python implementation
MAJOR CHANGES:
- Completely refactored entire codebase from C# to Python
- Removed all C# projects, solutions, and files
- Implemented full Python package with modern structure
NEW PYTHON IMPLEMENTATION: ✅ Core API (geometrydash.api)
- GeometryDashAPI main class
- Block type registration system
- Decorators for game properties
✅ Data Management (geometrydash.data)
- GameData: Base class for .dat file handling
- GameManager: Player settings and game state
- LocalLevels: Level storage management
- Support for Windows (XOR + Base64 + GZIP) and macOS (AES) formats
✅ Level System (geometrydash.levels)
- Level: Main level class with compression/decompression
- Block: Base game object with properties
- Color: Color management with RGB support
- BlockList: Container for level blocks
✅ Serialization (geometrydash.serialization)
- Plist: XML property list parser (secure with defusedxml)
- Parsers: Type conversion utilities
- ObjectSerializer: Game object serialization
✅ Cryptography (geometrydash.utils)
- Crypt: XOR, GZIP, ZLIB, AES encryption
- GameConvert: Base64, boolean, float conversions
✅ Network (geometrydash.server)
- GameClient: Full API client for GD servers
- Network: HTTP communication with httpx
- Query builders and response handling
- Support for user search, level download, leaderboards
✅ Testing & Examples
- Comprehensive pytest test suite (12 tests, all passing)
- Example scripts demonstrating key features
- Full test coverage for core functionality
TECHNICAL DETAILS:
- Python 3.8+ support
- Modern async/await implementation
- Type hints throughout
- Pythonic naming conventions (snake_case)
- pyproject.toml for modern Python packaging
- Cross-platform: Windows, macOS, Linux
DOCUMENTATION:
- Updated README.md with Python examples
- New README_PYTHON.md with comprehensive documentation
- Migration guide from C# to Python
- Example scripts with detailed comments
DEPENDENCIES:
- httpx: Modern HTTP client
- cryptography: AES encryption for macOS saves
- defusedxml: Secure XML parsing
This refactor maintains feature parity with the original C# version while providing a natural, idiomatic Python interface.