Skip to content

gd.py

License Version Downloads Discord

Documentation Check Test Coverage

An API wrapper for Geometry Dash written in Python.

Installing

Python 3.8 or above is required.

pip

Installing the library with pip is quite simple:

$ pip install gd.py

Alternatively, the library can be installed from source:

$ git clone https://github.com/nekitdev/gd.py.git
$ cd gd.py
$ python -m pip install .

poetry

You can add gd.py as a dependency with the following command:

$ poetry add gd.py

Or by directly specifying it in the configuration like so:

[tool.poetry.dependencies]
"gd.py" = "^1.0.2"

Alternatively, you can add it directly from the source:

[tool.poetry.dependencies."gd.py"]
git = "https://github.com/nekitdev/gd.py.git"

Examples

Fetching

# file.py

from entrypoint import entrypoint

import gd

SONG_ID = 1081309

SONG_INFO = "`{song.name}` by `{song.artist.name}` (ID: `{song.id}`, size: `{song.size} MB`)"
song_info = SONG_INFO.format


async def async_main() -> None:
    song = await client.get_song(SONG_ID)

    print(song_info(song=song))


@entrypoint(__name__)
def main() -> None:
    client.run(async_main())
$ python file.py
`PANDA EYES - BROKEN` by `PandaEyesOfficial` (ID: `1081309`, size: `9.71 MB`)

Listening

from entrypoint import entrypoint

import gd

client = gd.Client()

DAILY_INFO = "new daily! `{daily.name}` by `{daily.creator.name}` (ID: `{daily.id}`)"
daily_info = DAILY_INFO.format


@client.event
async def on_daily(daily: gd.Level) -> None:
    print(daily_info(daily=daily))


client.listen_for_daily()


@entrypoint(__name__)
def main() -> None:
    client.create_controller().run()

Documentation

You can find the documentation here.

Support

If you need support with the library, you can send an email or refer to the official Discord server.

Changelog

You can find the changelog here.

Security Policy

You can find the Security Policy of gd.py here.

Contributing

If you are interested in contributing to gd.py, make sure to take a look at the Contributing Guide, as well as the Code of Conduct.

License

gd.py is licensed under the MIT License terms. See License for details.