306 lines
13 KiB
Plaintext
306 lines
13 KiB
Plaintext
|
Metadata-Version: 2.1
|
||
|
Name: pygame
|
||
|
Version: 2.5.2
|
||
|
Summary: Python Game Development
|
||
|
Home-page: https://www.pygame.org
|
||
|
Author: A community project.
|
||
|
Author-email: pygame@pygame.org
|
||
|
License: LGPL
|
||
|
Project-URL: Documentation, https://pygame.org/docs
|
||
|
Project-URL: Bug Tracker, https://github.com/pygame/pygame/issues
|
||
|
Project-URL: Source, https://github.com/pygame/pygame
|
||
|
Project-URL: Twitter, https://twitter.com/pygame_org
|
||
|
Classifier: Development Status :: 6 - Mature
|
||
|
Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
|
||
|
Classifier: Programming Language :: Assembly
|
||
|
Classifier: Programming Language :: C
|
||
|
Classifier: Programming Language :: Cython
|
||
|
Classifier: Programming Language :: Objective C
|
||
|
Classifier: Programming Language :: Python
|
||
|
Classifier: Programming Language :: Python :: 3
|
||
|
Classifier: Programming Language :: Python :: 3.6
|
||
|
Classifier: Programming Language :: Python :: 3.7
|
||
|
Classifier: Programming Language :: Python :: 3.8
|
||
|
Classifier: Programming Language :: Python :: 3.9
|
||
|
Classifier: Programming Language :: Python :: 3.10
|
||
|
Classifier: Programming Language :: Python :: 3.11
|
||
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
||
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
||
|
Classifier: Topic :: Games/Entertainment
|
||
|
Classifier: Topic :: Multimedia :: Sound/Audio
|
||
|
Classifier: Topic :: Multimedia :: Sound/Audio :: MIDI
|
||
|
Classifier: Topic :: Multimedia :: Sound/Audio :: Players
|
||
|
Classifier: Topic :: Multimedia :: Graphics
|
||
|
Classifier: Topic :: Multimedia :: Graphics :: Capture :: Digital Camera
|
||
|
Classifier: Topic :: Multimedia :: Graphics :: Capture :: Screen Capture
|
||
|
Classifier: Topic :: Multimedia :: Graphics :: Graphics Conversion
|
||
|
Classifier: Topic :: Multimedia :: Graphics :: Viewers
|
||
|
Classifier: Operating System :: Microsoft :: Windows
|
||
|
Classifier: Operating System :: POSIX
|
||
|
Classifier: Operating System :: Unix
|
||
|
Classifier: Operating System :: MacOS
|
||
|
Requires-Python: >=3.6
|
||
|
Description-Content-Type: text/x-rst
|
||
|
|
||
|
.. image:: https://raw.githubusercontent.com/pygame/pygame/main/docs/reST/_static/pygame_logo.svg
|
||
|
:alt: pygame
|
||
|
:target: https://www.pygame.org/
|
||
|
|
||
|
|
||
|
|AppVeyorBuild| |PyPiVersion| |PyPiLicense|
|
||
|
|Python3| |GithubCommits| |BlackFormatBadge|
|
||
|
|
||
|
Pygame_ is a free and open-source cross-platform library
|
||
|
for the development of multimedia applications like video games using Python.
|
||
|
It uses the `Simple DirectMedia Layer library`_ and several other
|
||
|
popular libraries to abstract the most common functions, making writing
|
||
|
these programs a more intuitive task.
|
||
|
|
||
|
`We need your help`_ to make pygame the best it can be!
|
||
|
New contributors are welcome.
|
||
|
|
||
|
|
||
|
Installation
|
||
|
------------
|
||
|
|
||
|
Before installing pygame, you must check that Python is installed
|
||
|
on your machine. To find out, open a command prompt (if you have
|
||
|
Windows) or a terminal (if you have MacOS or Linux) and type this:
|
||
|
::
|
||
|
|
||
|
python --version
|
||
|
|
||
|
|
||
|
If a message such as "Python 3.8.10" appears, it means that Python
|
||
|
is correctly installed. If an error message appears, it means that
|
||
|
it is not installed yet. You must then go to the `official website
|
||
|
<https://www.pygame.org/docs/>`_ and follow the instructions.
|
||
|
|
||
|
Once Python is installed, you have to perform a final check: you have
|
||
|
to see if pip is installed. Generally, pip is pre-installed with
|
||
|
Python but we are never sure. Same as for Python, type the following
|
||
|
command:
|
||
|
::
|
||
|
|
||
|
pip --version
|
||
|
|
||
|
|
||
|
If a message such as "pip 20.0.2 from /usr/lib/python3/dist-packages/pip
|
||
|
(python 3.8)" appears, you are ready to install pygame! To install
|
||
|
it, enter this command:
|
||
|
::
|
||
|
|
||
|
pip install pygame
|
||
|
|
||
|
|
||
|
Help
|
||
|
----
|
||
|
|
||
|
If you are just getting started with pygame, you should be able to
|
||
|
get started fairly quickly. Pygame comes with many tutorials and
|
||
|
introductions. There is also full reference documentation for the
|
||
|
entire library. Browse the documentation on the `docs page`_. You
|
||
|
can also browse the documentation locally by running
|
||
|
``python -m pygame.docs`` in your terminal. If the docs aren't found
|
||
|
locally, it'll launch the online website instead.
|
||
|
|
||
|
The online documentation stays up to date with the development version
|
||
|
of pygame on github. This may be a bit newer than the version of pygame
|
||
|
you are using. To upgrade to the latest full release, run
|
||
|
``pip install pygame --upgrade`` in your terminal.
|
||
|
|
||
|
Best of all, the examples directory has many playable small programs
|
||
|
which can get you started playing with the code right away.
|
||
|
|
||
|
Pygame is a powerful library for game development, offering a wide
|
||
|
range of features to simplify your coding journey. Let's delve into
|
||
|
what Pygame has to offer:
|
||
|
|
||
|
Graphics: With Pygame, creating dynamic and engaging graphics has
|
||
|
never been easier. The library provides simple yet effective tools for
|
||
|
2D graphics and animation, including support for images, rectangles,
|
||
|
and polygon shapes. Whether you're a seasoned game developer or just
|
||
|
starting out, Pygame has you covered.
|
||
|
|
||
|
Sound: Pygame also includes support for playing and manipulating sound
|
||
|
and music, making it easy to add sound effects and background music to
|
||
|
your games. With support for WAV, MP3, and OGG file formats, you have
|
||
|
plenty of options to choose from.
|
||
|
|
||
|
Input: Pygame provides intuitive functions for handling keyboard, mouse,
|
||
|
and joystick input, allowing you to quickly and easily implement player
|
||
|
controls in your games. No more struggling with complex input code, Pygame
|
||
|
makes it simple.
|
||
|
|
||
|
Game Development: Lastly, Pygame provides a comprehensive suite of tools
|
||
|
and features specifically designed for game development. From collision
|
||
|
detection to sprite management, Pygame has everything you need to create
|
||
|
exciting and engaging games. Whether you're building a platformer, puzzle
|
||
|
game, or anything in between, Pygame has you covered.
|
||
|
|
||
|
Building From Source
|
||
|
--------------------
|
||
|
|
||
|
If you want to use features that are currently in development,
|
||
|
or you want to contribute to pygame, you will need to build pygame
|
||
|
locally from its source code, rather than pip installing it.
|
||
|
|
||
|
Installing from source is fairly automated. The most work will
|
||
|
involve compiling and installing all the pygame dependencies. Once
|
||
|
that is done, run the ``setup.py`` script which will attempt to
|
||
|
auto-configure, build, and install pygame.
|
||
|
|
||
|
Much more information about installing and compiling is available
|
||
|
on the `Compilation wiki page`_.
|
||
|
|
||
|
Contribute
|
||
|
----------
|
||
|
| Thank you for thinking of contributing!
|
||
|
|
|
||
|
| To contribute to the main `project documentation <https://www.pygame.org/docs/>`_, see ``docs/README.md`` or view more detailed instructions `here <https://github.com/pygame/pygame/tree/main/docs>`_.
|
||
|
|
|
||
|
| New to contributing to Open Source Free Libre software?
|
||
|
| There is a draft of `"Let's write a unit test!" <http://renesd.blogspot.com/2019/11/draft-2-of-lets-write-unit-test.html>`_ which is a step by step guide on how to write your first unit test in python for pygame, which is very similar to how you would do it for other projects.
|
||
|
|
|
||
|
| Want or need to compile pygame from source?
|
||
|
| `See the compilation page <https://www.pygame.org/wiki/Compilation>`_ for more detailed instructions.
|
||
|
|
|
||
|
| For a detailed developer guide on "How to Hack Pygame":
|
||
|
| Head to the `Hacking Page <https://www.pygame.org/wiki/Hacking>`_.
|
||
|
|
|
||
|
| Beginner developers looking for ways to contribute to the project can look at issues labeled `"good first issue" <https://github.com/pygame/pygame/labels/good%20first%20issue>`_ or `"Difficulty: Easy" <https://github.com/pygame/pygame/issues?q=is%3Aopen+is%3Aissue+label%3A%22Difficulty%3A+Easy%22>`_.
|
||
|
|
|
||
|
| To submit patches and report bugs:
|
||
|
| Visit the `Bugs & Patches <https://www.pygame.org/wiki/patchesandbugs>`_ page for detailed instructions.
|
||
|
|
|
||
|
| `See the info page <https://www.pygame.org/wiki/info>`_ for more info and ways to get in touch with the Pygame team.
|
||
|
|
||
|
|
||
|
Credits
|
||
|
-------
|
||
|
|
||
|
Thanks to everyone who has helped contribute to this library.
|
||
|
Special thanks are also in order.
|
||
|
|
||
|
* Marcus Von Appen: many changes, and fixes, 1.7.1+ freebsd maintainer
|
||
|
* Lenard Lindstrom: the 1.8+ windows maintainer, many changes, and fixes
|
||
|
* Brian Fisher for svn auto builder, bug tracker and many contributions
|
||
|
* Rene Dudfield: many changes, and fixes, 1.7+ release manager/maintainer
|
||
|
* Phil Hassey for his work on the pygame.org website
|
||
|
* DR0ID for his work on the sprite module
|
||
|
* Richard Goedeken for his smoothscale function
|
||
|
* Ulf Ekström for his pixel perfect collision detection code
|
||
|
* Pete Shinners: original author
|
||
|
* David Clark for filling the right-hand-man position
|
||
|
* Ed Boraas and Francis Irving: Debian packages
|
||
|
* Maxim Sobolev: FreeBSD packaging
|
||
|
* Bob Ippolito: MacOS and OS X porting (much work!)
|
||
|
* Jan Ekhol, Ray Kelm, and Peter Nicolai: putting up with early design ideas
|
||
|
* Nat Pryce for starting our unit tests
|
||
|
* Dan Richter for documentation work
|
||
|
* TheCorruptor for his incredible logos and graphics
|
||
|
* Nicholas Dudfield: many test improvements
|
||
|
* Alex Folkner for pygame-ctypes
|
||
|
|
||
|
Thanks to those sending in patches and fixes: Niki Spahiev, Gordon
|
||
|
Tyler, Nathaniel Pryce, Dave Wallace, John Popplewell, Michael Urman,
|
||
|
Andrew Straw, Michael Hudson, Ole Martin Bjoerndalen, Herve Cauwelier,
|
||
|
James Mazer, Lalo Martins, Timothy Stranex, Chad Lester, Matthias
|
||
|
Spiller, Bo Jangeborg, Dmitry Borisov, Campbell Barton, Diego Essaya,
|
||
|
Eyal Lotem, Regis Desgroppes, Emmanuel Hainry, Randy Kaelber
|
||
|
Matthew L Daniel, Nirav Patel, Forrest Voight, Charlie Nolan,
|
||
|
Frankie Robertson, John Krukoff, Lorenz Quack, Nick Irvine,
|
||
|
Michael George, Saul Spatz, Thomas Ibbotson, Tom Rothamel, Evan Kroske,
|
||
|
Cambell Barton.
|
||
|
|
||
|
And our bug hunters above and beyond: Angus, Guillaume Proux, Frank
|
||
|
Raiser, Austin Henry, Kaweh Kazemi, Arturo Aldama, Mike Mulcheck,
|
||
|
Michael Benfield, David Lau
|
||
|
|
||
|
There's many more folks out there who've submitted helpful ideas, kept
|
||
|
this project going, and basically made our life easier. Thanks!
|
||
|
|
||
|
Many thank you's for people making documentation comments, and adding to the
|
||
|
pygame.org wiki.
|
||
|
|
||
|
Also many thanks for people creating games and putting them on the
|
||
|
pygame.org website for others to learn from and enjoy.
|
||
|
|
||
|
Lots of thanks to James Paige for hosting the pygame bugzilla.
|
||
|
|
||
|
Also a big thanks to Roger Dingledine and the crew at SEUL.ORG for our
|
||
|
excellent hosting.
|
||
|
|
||
|
Dependencies
|
||
|
------------
|
||
|
|
||
|
Pygame is obviously strongly dependent on SDL and Python. It also
|
||
|
links to and embeds several other smaller libraries. The font
|
||
|
module relies on SDL_ttf, which is dependent on freetype. The mixer
|
||
|
(and mixer.music) modules depend on SDL_mixer. The image module
|
||
|
depends on SDL_image, which also can use libjpeg and libpng. The
|
||
|
transform module has an embedded version of SDL_rotozoom for its
|
||
|
own rotozoom function. The surfarray module requires the Python
|
||
|
NumPy package for its multidimensional numeric arrays.
|
||
|
Dependency versions:
|
||
|
|
||
|
|
||
|
+----------+------------------------+
|
||
|
| CPython | >= 3.6 (Or use PyPy3) |
|
||
|
+----------+------------------------+
|
||
|
| SDL | >= 2.0.8 |
|
||
|
+----------+------------------------+
|
||
|
| SDL_mixer| >= 2.0.0 |
|
||
|
+----------+------------------------+
|
||
|
| SDL_image| >= 2.0.2 |
|
||
|
+----------+------------------------+
|
||
|
| SDL_ttf | >= 2.0.11 |
|
||
|
+----------+------------------------+
|
||
|
| SDL_gfx | (Optional, vendored in)|
|
||
|
+----------+------------------------+
|
||
|
| NumPy | >= 1.6.2 (Optional) |
|
||
|
+----------+------------------------+
|
||
|
|
||
|
|
||
|
|
||
|
License
|
||
|
-------
|
||
|
|
||
|
This library is distributed under `GNU LGPL version 2.1`_, which can
|
||
|
be found in the file ``docs/LGPL.txt``. We reserve the right to place
|
||
|
future versions of this library under a different license.
|
||
|
|
||
|
This basically means you can use pygame in any project you want,
|
||
|
but if you make any changes or additions to pygame itself, those
|
||
|
must be released with a compatible license (preferably submitted
|
||
|
back to the pygame project). Closed source and commercial games are fine.
|
||
|
|
||
|
The programs in the ``examples`` subdirectory are in the public domain.
|
||
|
|
||
|
See docs/licenses for licenses of dependencies.
|
||
|
|
||
|
|
||
|
.. |AppVeyorBuild| image:: https://ci.appveyor.com/api/projects/status/x4074ybuobsh4myx?svg=true
|
||
|
:target: https://ci.appveyor.com/project/pygame/pygame
|
||
|
|
||
|
.. |PyPiVersion| image:: https://img.shields.io/pypi/v/pygame.svg?v=1
|
||
|
:target: https://pypi.python.org/pypi/pygame
|
||
|
|
||
|
.. |PyPiLicense| image:: https://img.shields.io/pypi/l/pygame.svg?v=1
|
||
|
:target: https://pypi.python.org/pypi/pygame
|
||
|
|
||
|
.. |Python3| image:: https://img.shields.io/badge/python-3-blue.svg?v=1
|
||
|
|
||
|
.. |GithubCommits| image:: https://img.shields.io/github/commits-since/pygame/pygame/2.1.2.svg
|
||
|
:target: https://github.com/pygame/pygame/compare/2.1.2...main
|
||
|
|
||
|
.. |BlackFormatBadge| image:: https://img.shields.io/badge/code%20style-black-000000.svg
|
||
|
:target: https://github.com/psf/black
|
||
|
|
||
|
.. _pygame: https://www.pygame.org
|
||
|
.. _Simple DirectMedia Layer library: https://www.libsdl.org
|
||
|
.. _We need your help: https://www.pygame.org/contribute.html
|
||
|
.. _Compilation wiki page: https://www.pygame.org/wiki/Compilation
|
||
|
.. _docs page: https://www.pygame.org/docs/
|
||
|
.. _GNU LGPL version 2.1: https://www.gnu.org/copyleft/lesser.html
|