Skip to content

Commit e3c0a67

Browse files
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

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 changed

GeometryDashAPI.Benchmarks/BenchmarkSources/SampleLevel.txt

Lines changed: 0 additions & 1 deletion
This file was deleted.

GeometryDashAPI.Benchmarks/Benchmarks/DisassemblyBenchmark.cs

Lines changed: 0 additions & 16 deletions
This file was deleted.

GeometryDashAPI.Benchmarks/Benchmarks/GDParserBenchmark.cs

Lines changed: 0 additions & 39 deletions
This file was deleted.

GeometryDashAPI.Benchmarks/Benchmarks/GameDataBenchmark.cs

Lines changed: 0 additions & 22 deletions
This file was deleted.

GeometryDashAPI.Benchmarks/Benchmarks/LLParserBenchmark.cs

Lines changed: 0 additions & 46 deletions
This file was deleted.

GeometryDashAPI.Benchmarks/Benchmarks/LevelLoadBenchmark.cs

Lines changed: 0 additions & 31 deletions
This file was deleted.

GeometryDashAPI.Benchmarks/Benchmarks/ObjectParserBenchmark.cs

Lines changed: 0 additions & 17 deletions
This file was deleted.

0 commit comments

Comments
 (0)