Skip to main content

A Geometry Dash API wrapper for Python

Project description

Project License Build Status PyPI Library Version Required Python Versions Project Development Status Library Downloads/Week Documentation Status Code Quality [Codacy] Code Coverage Patreon Page [Support]

gd.py is a library that provides its users ability to interact with servers, client and memory of Geometry Dash.

Key Features

  • Modern Pythonic API

  • High coverage of the supported Geometry Dash API

  • Using async and await syntax

Installing

Python 3.6 or higher is required

To install the library, you can just run the following command:

# Linux/OS X
python3 -m pip install -U gd.py

# Windows
py -3 -m pip install -U gd.py

gd.py provides an optional Cython extension to speed up its parser functions in gd.api folder, so make sure that you have Cython and C++ Build Tools installed.

Additional Dependencies

There are many dependencies that either extend functionality of the library or are used in its development.

  • crypto is required to decrypt saves on MacOS;

  • console is needed to run IPython console;

  • docs are used to build docs;

  • image installs PIL/Pillow for icon generating;

  • lint adds formatters and linters to check improve code style;

  • speedups provides packages to speed the library up;

  • test is required to run tests and check coverage.

You can install some extras like this:

python -m pip install gd.py[image,speedups]

Or install all of them:

python -m pip install gd.py[all]

Development Version

You can install latest development version from GitHub:

$ git clone https://github.com/nekitdev/gd.py.git
$ cd gd.py
$ python3 -m pip install -U .[all]

Quick example

Below is an example of fetching a song by its ID.

import gd

client = gd.Client()

async def test():
    song = await client.get_song(633206)
    print(song.name)

client.run(test())

# OUTPUT: Random Song 01

You can find more examples in examples directory.

Server

gd.py provides server with wrapper around itself, which can be started via a command:

$ python3 -m gd server

Credits

Thanks to Alex1304 for inspiring the creation of this library.

Credits to Rapptz and discord.py library developers; tasks package in discord.py is a base for tasks.py file.

Authors

This project is mainly developed by nekitdev. Big thanks to cos8o and SMJS for helping to make several requests. Also thanks to cos8o again for developing GDCrypto library, which was used as a base for crypto package.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gd.py-0.11.0.tar.gz (6.8 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page