Commit e3c0a67
committed
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.1 parent 8497f55 commit e3c0a67
File tree
254 files changed
+2950
-10011
lines changed- GeometryDashAPI.Benchmarks
- BenchmarkSources
- Benchmarks
- GeometryDashAPI.Tests
- Documentation
- Integration/Levels
- data
- levels
- saves
- GeometryDashAPI
- Attributes
- Data
- Enums
- Models
- Exceptions
- Factories
- Levels
- Enums
- GameObjects
- Default
- Specific
- Triggers
- Structures
- Memory
- Serialization
- Server
- Dtos
- Enums
- Queries
- Responses
- Playground
- TestObjects
- examples
- geometry_dash_api.egg-info
- geometrydash
- data
- levels
- serialization
- server
- enums
- utils
- tests
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
254 files changed
+2950
-10011
lines changedLines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 0 additions & 16 deletions
This file was deleted.
Lines changed: 0 additions & 39 deletions
This file was deleted.
Lines changed: 0 additions & 22 deletions
This file was deleted.
Lines changed: 0 additions & 46 deletions
This file was deleted.
Lines changed: 0 additions & 31 deletions
This file was deleted.
Lines changed: 0 additions & 17 deletions
This file was deleted.
0 commit comments