{"id":13440097,"url":"https://github.com/pygame/pygame","last_synced_at":"2025-05-12T18:37:13.139Z","repository":{"id":37681092,"uuid":"86245815","full_name":"pygame/pygame","owner":"pygame","description":"🐍🎮 pygame (the library) is a Free and Open Source python programming language library for making multimedia applications like games built on top of the excellent SDL library. C, Python, Native, OpenGL.","archived":false,"fork":false,"pushed_at":"2024-12-01T03:37:43.000Z","size":36091,"stargazers_count":7983,"open_issues_count":516,"forks_count":3593,"subscribers_count":172,"default_branch":"main","last_synced_at":"2025-05-05T16:01:09.294Z","etag":null,"topics":["game-dev","game-development","gamedev","pygame","python","sdl","sdl2"],"latest_commit_sha":null,"homepage":"https://www.pygame.org","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pygame.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"patreon":"pygame"}},"created_at":"2017-03-26T16:06:59.000Z","updated_at":"2025-05-05T14:06:40.000Z","dependencies_parsed_at":"2024-03-30T13:30:35.410Z","dependency_job_id":"c7e4d9aa-cac7-46df-96b0-26d2838247f4","html_url":"https://github.com/pygame/pygame","commit_stats":{"total_commits":7284,"total_committers":357,"mean_commits":"20.403361344537814","dds":0.7593355299286106,"last_synced_commit":"f122dd249d796527f3345e4c6a5bac4df0dd3fab"},"previous_names":[],"tags_count":92,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pygame%2Fpygame","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pygame%2Fpygame/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pygame%2Fpygame/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pygame%2Fpygame/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pygame","download_url":"https://codeload.github.com/pygame/pygame/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253092154,"owners_count":21852749,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game-dev","game-development","gamedev","pygame","python","sdl","sdl2"],"created_at":"2024-07-31T03:01:19.747Z","updated_at":"2025-05-12T18:37:13.066Z","avatar_url":"https://github.com/pygame.png","language":"C","funding_links":["https://patreon.com/pygame"],"categories":["C","Game Development","游戏","Playback \u0026 Services","Libraries","📚 فهرست","Engines \u0026 Frameworks"],"sub_categories":["网络服务_其他","Text-to-Speech","Python","بازیسازی"],"readme":".. image:: https://raw.githubusercontent.com/pygame/pygame/main/docs/reST/_static/pygame_logo.svg\n  :alt: pygame\n  :target: https://www.pygame.org/\n\n\n|AppVeyorBuild| |PyPiVersion| |PyPiLicense|\n|Python3| |GithubCommits| |BlackFormatBadge|\n\nPygame_ is a free and open-source cross-platform library\nfor the development of multimedia applications like video games using Python.\nIt uses the `Simple DirectMedia Layer library`_ and several other\npopular libraries to abstract the most common functions, making writing\nthese programs a more intuitive task.\n\n`We need your help`_ to make pygame the best it can be!\nNew contributors are welcome.\n\n\nInstallation\n------------\n\nBefore installing pygame, you must check that Python is installed\non your machine. To find out, open a command prompt (if you have\nWindows) or a terminal (if you have MacOS or Linux) and type this:\n::\n\n   python --version\n\n\nIf a message such as \"Python 3.8.10\" appears, it means that Python\nis correctly installed. If an error message appears, it means that\nit is not installed yet. You must then go to the `official website\n\u003chttps://www.python.org/downloads/\u003e`_ to download it.\n\nOnce Python is installed, you have to perform a final check: you have\nto see if pip is installed. Generally, pip is pre-installed with\nPython but we are never sure. Same as for Python, type the following\ncommand:\n::\n\n   pip --version\n\n\nIf a message such as \"pip 20.0.2 from /usr/lib/python3/dist-packages/pip\n(python 3.8)\" appears, you are ready to install pygame! To install\nit, enter this command:\n::\n\n   pip install pygame\n\nOnce pygame is installed, quickly test your library by entering the following\ncommand, which opens one of the many example games that comes pre-installed: \n::\n\n\tpython3 -m pygame.examples.aliens\n\n\nIf this doesn’t work, the `Getting Started \n\u003chttps://www.pygame.org/wiki/GettingStarted/\u003e`_ section of the official \nwebsite has more information for platform specific issues, such as adding\npython to your machine’s PATH settings\n\n\nHelp\n----\n\nIf you are just getting started with pygame, you should be able to\nget started fairly quickly.  Pygame comes with many tutorials and\nintroductions.  There is also full reference documentation for the\nentire library. Browse the documentation on the `docs page`_. You\ncan also browse the documentation locally by running\n``python -m pygame.docs`` in your terminal. If the docs aren't found\nlocally, it'll launch the online website instead.\n\nThe online documentation stays up to date with the development version\nof pygame on GitHub.  This may be a bit newer than the version of pygame\nyou are using. To upgrade to the latest full release, run\n``pip install pygame --upgrade`` in your terminal.\n\nBest of all, the examples directory has many playable small programs\nwhich can get you started playing with the code right away.\n\n\nFeatures\n----------\n\nPygame is a powerful library for game development, offering a wide\nrange of features to simplify your coding journey. Let's delve into\nwhat pygame has to offer:\n\nGraphics - With pygame, creating dynamic and engaging graphics has\nnever been easier. The library provides simple yet effective tools for\n2D graphics and animation, including support for images, rectangles,\nand polygon shapes. Whether you're a seasoned game developer or just\nstarting out, pygame has you covered.\n\nSound - Pygame also includes support for playing and manipulating sound\nand music, making it easy to add sound effects and background music to\nyour games. With support for WAV, MP3, and OGG file formats, you have\nplenty of options to choose from.\n\nInput - Pygame provides intuitive functions for handling keyboard, mouse,\nand joystick input, allowing you to quickly and easily implement player\ncontrols in your games. No more struggling with complex input code, pygame\nmakes it simple.\n\nGame Development - Lastly, pygame provides a comprehensive suite of tools\nand features specifically designed for game development. From collision\ndetection to sprite management, pygame has everything you need to create\nexciting and engaging games. Whether you're building a platformer, puzzle\ngame, or anything in between, pygame has you covered.\n\n\nBuilding From Source\n--------------------\n\nIf you want to use features that are currently in development,\nor you want to contribute to pygame, you will need to build pygame\nlocally from its source code, rather than pip installing it.\n\nInstalling from source is fairly automated. The most work will\ninvolve compiling and installing all the pygame dependencies.  Once\nthat is done, run the ``setup.py`` script which will attempt to\nauto-configure, build, and install pygame.\n\nMuch more information about installing and compiling is available\non the `Compilation wiki page`_.\n\nContribute\n----------\n\n* `Documentation Contributions \u003chttps://github.com/pygame/pygame/tree/main/docs\u003e`_ - Guidelines for contributing to the main documentations\n* `Writing your first unit test \u003chttp://renesd.blogspot.com/2019/11/draft-2-of-lets-write-unit-test.html\u003e`_ - Step by step guide on how to write your first unit test in Python for Pygame.\n* `How to Hack Pygame \u003chttps://www.pygame.org/wiki/Hacking\u003e`_ - Information on hacking, developing, and modifying Pygame\n* `Issue Tracker for beginners \u003chttps://github.com/pygame/pygame/labels/good%20first%20issue\u003e`_ - A way for beginners to contribute to the project\n* `Bugs \u0026 Patches \u003chttps://www.pygame.org/wiki/patchesandbugs\u003e`_ - Report bugs\n* `Communication tools \u003chttps://www.pygame.org/wiki/info\u003e`_ - More information and ways to get in touch with the Pygame team\n\n\nCredits\n-------\n\nThanks to everyone who has helped contribute to this library.\nSpecial thanks are also in order.\n\n* Marcus Von Appen: many changes, and fixes, 1.7.1+ freebsd maintainer\n* Lenard Lindstrom: the 1.8+ windows maintainer, many changes, and fixes\n* Brian Fisher for svn auto builder, bug tracker and many contributions\n* Rene Dudfield: many changes, and fixes, 1.7+ release manager/maintainer\n* Phil Hassey for his work on the pygame.org website\n* DR0ID for his work on the sprite module\n* Richard Goedeken for his smoothscale function\n* Ulf Ekström for his pixel perfect collision detection code\n* Pete Shinners: original author\n* David Clark for filling the right-hand-man position\n* Ed Boraas and Francis Irving: Debian packages\n* Maxim Sobolev: FreeBSD packaging\n* Bob Ippolito: MacOS and OS X porting (much work!)\n* Jan Ekhol, Ray Kelm, and Peter Nicolai: putting up with early design ideas\n* Nat Pryce for starting our unit tests\n* Dan Richter for documentation work\n* TheCorruptor for his incredible logos and graphics\n* Nicholas Dudfield: many test improvements\n* Alex Folkner for pygame-ctypes\n\nThanks to those sending in patches and fixes: Niki Spahiev, Gordon\nTyler, Nathaniel Pryce, Dave Wallace, John Popplewell, Michael Urman,\nAndrew Straw, Michael Hudson, Ole Martin Bjoerndalen, Herve Cauwelier,\nJames Mazer, Lalo Martins, Timothy Stranex, Chad Lester, Matthias\nSpiller, Bo Jangeborg, Dmitry Borisov, Campbell Barton, Diego Essaya,\nEyal Lotem, Regis Desgroppes, Emmanuel Hainry, Randy Kaelber\nMatthew L Daniel, Nirav Patel, Forrest Voight, Charlie Nolan,\nFrankie Robertson, John Krukoff, Lorenz Quack, Nick Irvine,\nMichael George, Saul Spatz, Thomas Ibbotson, Tom Rothamel, Evan Kroske,\nCambell Barton.\n\nAnd our bug hunters above and beyond: Angus, Guillaume Proux, Frank\nRaiser, Austin Henry, Kaweh Kazemi, Arturo Aldama, Mike Mulcheck,\nMichael Benfield, David Lau\n\nThere's many more folks out there who've submitted helpful ideas, kept\nthis project going, and basically made our life easier.  Thanks!\n\nMany thank you's for people making documentation comments, and adding to the\npygame.org wiki.\n\nAlso many thanks for people creating games and putting them on the\npygame.org website for others to learn from and enjoy.\n\nLots of thanks to James Paige for hosting the pygame bugzilla.\n\nAlso a big thanks to Roger Dingledine and the crew at SEUL.ORG for our\nexcellent hosting.\n\nDependencies\n------------\n\nPygame is obviously strongly dependent on SDL and Python.  It also\nlinks to and embeds several other smaller libraries.  The font\nmodule relies on SDL_ttf, which is dependent on freetype.  The mixer\n(and mixer.music) modules depend on SDL_mixer.  The image module\ndepends on SDL_image, which also can use libjpeg and libpng.  The\ntransform module has an embedded version of SDL_rotozoom for its\nown rotozoom function.  The surfarray module requires the Python\nNumPy package for its multidimensional numeric arrays.\nDependency versions:\n\n\n+----------+------------------------+\n| CPython  | \u003e= 3.6 (Or use PyPy3)  |\n+----------+------------------------+\n| SDL      | \u003e= 2.0.8               |\n+----------+------------------------+\n| SDL_mixer| \u003e= 2.0.0               |\n+----------+------------------------+\n| SDL_image| \u003e= 2.0.2               |\n+----------+------------------------+\n| SDL_ttf  | \u003e= 2.0.11              |\n+----------+------------------------+\n| SDL_gfx  | (Optional, vendored in)|\n+----------+------------------------+\n| NumPy    | \u003e= 1.6.2 (Optional)    |\n+----------+------------------------+\n\n\n\nLicense\n-------\n\nThis library is distributed under `GNU LGPL version 2.1`_, which can\nbe found in the file ``docs/LGPL.txt``.  We reserve the right to place\nfuture versions of this library under a different license.\n\nThis basically means you can use pygame in any project you want,\nbut if you make any changes or additions to pygame itself, those\nmust be released with a compatible license (preferably submitted\nback to the pygame project).  Closed source and commercial games are fine.\n\nThe programs in the ``examples`` subdirectory are in the public domain.\n\nSee docs/licenses for licenses of dependencies.\n\n\n.. |AppVeyorBuild| image:: https://ci.appveyor.com/api/projects/status/x4074ybuobsh4myx?svg=true\n   :target: https://ci.appveyor.com/project/pygame/pygame\n\n.. |PyPiVersion| image:: https://img.shields.io/pypi/v/pygame.svg?v=1\n   :target: https://pypi.python.org/pypi/pygame\n\n.. |PyPiLicense| image:: https://img.shields.io/pypi/l/pygame.svg?v=1\n   :target: https://pypi.python.org/pypi/pygame\n\n.. |Python3| image:: https://img.shields.io/badge/python-3-blue.svg?v=1\n\n.. |GithubCommits| image:: https://img.shields.io/github/commits-since/pygame/pygame/2.1.2.svg\n   :target: https://github.com/pygame/pygame/compare/2.1.2...main\n\n.. |BlackFormatBadge| image:: https://img.shields.io/badge/code%20style-black-000000.svg\n    :target: https://github.com/psf/black\n\n.. _pygame: https://www.pygame.org\n.. _Simple DirectMedia Layer library: https://www.libsdl.org\n.. _We need your help: https://www.pygame.org/contribute.html\n.. _Compilation wiki page: https://www.pygame.org/wiki/Compilation\n.. _docs page: https://www.pygame.org/docs/\n.. _GNU LGPL version 2.1: https://www.gnu.org/copyleft/lesser.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpygame%2Fpygame","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpygame%2Fpygame","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpygame%2Fpygame/lists"}