Name | ursina JSON |
Version |
8.0.1
JSON |
| download |
home_page | None |
Summary | An easy to use game engine/framework for python. |
upload_time | 2025-07-10 16:33:14 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.12 |
license | MIT |
keywords |
game
development
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# ursina ʕ •ᴥ•ʔゝ□
[Website](https://pokepetter.github.io/ursina/index.html) | [Discord](https://discord.gg/ydXfhyb) | [Twitter](https://twitter.com/ursinaengine) | [Patreon](https://www.patreon.com/ursinaengine) | [Sponsor](https://github.com/sponsors/pokepetter)
An easy to use game engine/framework for python.

[](https://youtu.be/j71j88oCTNo)
## Getting Started
1) Install [Python 3.10 or newer.](https://www.python.org/downloads/release/python-3100)
2) Open cmd/terminal and type:
```
pip install ursina
```
To get the newest, in development version from GitHub, install it like this:
```
pip install git+https://github.com/pokepetter/ursina.git
```
If you want to easily edit the source, it's recommended to clone the git
repo and pip install with --editable flag like this. Make sure you have [git](https://git-scm.com) installed.
```
git clone https://github.com/pokepetter/ursina.git
cd ursina
pip install --editable .
```
Also install any of the optional dependencies you want from the list below,
or install them all with:
```
pip install ursina[extras]
```
On some systems you might have to use pip3 instead of pip in order to use Python 3 and not the old Python 2.
To use a specific Python version, use:
```
python3.xx -m pip install ursina
```
Where 3.xx is the version you want to target.
## Dependencies
* python 3.10+
* panda3d
* pillow, for texture manipulation
* psd-tools, for converting .psd files
* blender, for converting .blend files
* pyperclip, for copy/pasting
## Examples
``` python
from ursina import * # this will import everything we need from ursina with just one line.
app = Ursina()
ground = Entity(
model = 'cube',
color = color.magenta,
z = -.1,
y = -3,
origin = (0, .5),
scale = (50, 1, 10),
collider = 'box',
)
app.run() # opens a window and starts the game.
```
* [Minecraft Clone](https://pokepetter.github.io/ursina/minecraft_clone.html)
* [Platformer Game](https://pokepetter.github.io/ursina/platformer.html)
There are other examples in [the samples folder](https://github.com/pokepetter/ursina/tree/master/samples), or in [samples website](https://pokepetter.github.io/ursina/samples.html)
## How do I make a game?
Ursina games are made by writing Python code. You can use any text editor you want, but personally I like to use Atom.
1) Create an empty .py file called `ursina_game.py`
2) Copy this text into your new file:
``` python
from ursina import * # this will import everything we need from ursina with just one line.
app = Ursina()
player = Entity(
model = 'cube' , # finds a 3d model by name
color = color.orange,
scale_y = 2
)
def update(): # update gets automatically called by the engine.
player.x += held_keys['d'] * .1
player.x -= held_keys['a'] * .1
app.run() # opens a window and starts the game.
```
3) Run this in the terminal start the game:
python ursina_game.py
... or run it with your editor/IDE of choice.
4) You can now move the orange box around with 'a' and 'd'!
To close the window, you can by default, press control+shift+alt+q or press the red x.
## Documentation
* [Ursina Documentation](https://pokepetter.github.io/ursina/documentation.html)
- Written explanations of core concepts and how Ursina works.
* [Ursina API Reference](https://pokepetter.github.io/ursina/api_reference.html)
- List of Ursina's functions, classes and assets.
* [Samples](https://pokepetter.github.io/ursina/samples.html)
- Small example games.
Found a bug? Posting it in [Issues](https://github.com/pokepetter/ursina/issues).
Fixed a bug? Make a [pull request](https://github.com/pokepetter/ursina/pulls).
## Project Structure
```
## Project Structure
📁docs
📃index.txt
📃documentation.txt
📃inventory_tutorial.txt
...
# text files for the website. gets turned into .html files with sswg.
📃cheat_sheet.html
# auto generated documentation made with documentation_generator.py.
📃tutorial_generator.py
# turns specific .py files into .txt files, which can then be turned into .html by sswg.
# this extracts the comments from the source files into description for that step and the code after into code blocks.
# see platformer_tutorial.py for an example.
📁samples # small example games.
📁ursina # the actual ursina module.
📁audio # built-in audio clips.
📁editor # the 3d level editor for ursina.
📁fonts # built-in fonts.
📁models # .blend files, source files, for built-in 3d models.
📁procedural # classes for generating 3d models, like Cylinder, Quad and Terrain.
📁models_compressed # .blend files converted to .ursinamesh.
📁prefabs # higher level classes like Draggable, Slider, Sprite, etc.
📃__init__.py
📃application.py
📃audio.py
...
# ursina base modules, like code for Entity, input_handler, Text, window and so on.
```
Raw data
{
"_id": null,
"home_page": null,
"name": "ursina",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "game development",
"author": null,
"author_email": "Petter Amland <pokepetter@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/65/00/de067c5cef544bc2f8f6e869251b4522ef8cfb45e99915b90571851bd7c0/ursina-8.0.1.tar.gz",
"platform": null,
"description": "# ursina \u0295 \u2022\u1d25\u2022\u0294\u309d\u25a1\n\n[Website](https://pokepetter.github.io/ursina/index.html) | [Discord](https://discord.gg/ydXfhyb) | [Twitter](https://twitter.com/ursinaengine) | [Patreon](https://www.patreon.com/ursinaengine) | [Sponsor](https://github.com/sponsors/pokepetter)\n\nAn easy to use game engine/framework for python.\n\n\n\n[](https://youtu.be/j71j88oCTNo)\n\n## Getting Started\n1) Install [Python 3.10 or newer.](https://www.python.org/downloads/release/python-3100)\n\n2) Open cmd/terminal and type:\n\n```\npip install ursina\n```\n\n\nTo get the newest, in development version from GitHub, install it like this:\n\n```\npip install git+https://github.com/pokepetter/ursina.git\n```\n\n\nIf you want to easily edit the source, it's recommended to clone the git\nrepo and pip install with --editable flag like this. Make sure you have [git](https://git-scm.com) installed.\n\n```\ngit clone https://github.com/pokepetter/ursina.git\ncd ursina\npip install --editable .\n```\n\n\nAlso install any of the optional dependencies you want from the list below,\nor install them all with:\n\n```\npip install ursina[extras]\n```\n\n\nOn some systems you might have to use pip3 instead of pip in order to use Python 3 and not the old Python 2.\nTo use a specific Python version, use:\n```\npython3.xx -m pip install ursina\n```\nWhere 3.xx is the version you want to target.\n\n\n## Dependencies\n * python 3.10+\n * panda3d\n * pillow, for texture manipulation\n * psd-tools, for converting .psd files\n * blender, for converting .blend files\n * pyperclip, for copy/pasting\n\n\n## Examples\n``` python\nfrom ursina import * # this will import everything we need from ursina with just one line.\n\napp = Ursina()\nground = Entity(\n model = 'cube',\n color = color.magenta,\n z = -.1,\n y = -3,\n origin = (0, .5),\n scale = (50, 1, 10),\n collider = 'box',\n )\n\napp.run() # opens a window and starts the game.\n```\n\n\n* [Minecraft Clone](https://pokepetter.github.io/ursina/minecraft_clone.html)\n\n* [Platformer Game](https://pokepetter.github.io/ursina/platformer.html)\n\nThere are other examples in [the samples folder](https://github.com/pokepetter/ursina/tree/master/samples), or in [samples website](https://pokepetter.github.io/ursina/samples.html)\n\n## How do I make a game?\nUrsina games are made by writing Python code. You can use any text editor you want, but personally I like to use Atom.\n1) Create an empty .py file called `ursina_game.py`\n2) Copy this text into your new file:\n``` python\nfrom ursina import * # this will import everything we need from ursina with just one line.\n\napp = Ursina()\n\nplayer = Entity(\n model = 'cube' , # finds a 3d model by name\n color = color.orange,\n scale_y = 2\n )\n\ndef update(): # update gets automatically called by the engine.\n player.x += held_keys['d'] * .1\n player.x -= held_keys['a'] * .1\n\n\napp.run() # opens a window and starts the game.\n```\n\n3) Run this in the terminal start the game:\n\n python ursina_game.py\n \n ... or run it with your editor/IDE of choice.\n\n4) You can now move the orange box around with 'a' and 'd'!\n\n To close the window, you can by default, press control+shift+alt+q or press the red x.\n\n## Documentation\n * [Ursina Documentation](https://pokepetter.github.io/ursina/documentation.html)\n - Written explanations of core concepts and how Ursina works.\n * [Ursina API Reference](https://pokepetter.github.io/ursina/api_reference.html)\n - List of Ursina's functions, classes and assets.\n * [Samples](https://pokepetter.github.io/ursina/samples.html)\n - Small example games.\n\nFound a bug? Posting it in [Issues](https://github.com/pokepetter/ursina/issues).\nFixed a bug? Make a [pull request](https://github.com/pokepetter/ursina/pulls).\n\n\n## Project Structure\n```\n## Project Structure\n\n\ud83d\udcc1docs\n \ud83d\udcc3index.txt\n \ud83d\udcc3documentation.txt\n \ud83d\udcc3inventory_tutorial.txt\n ...\n # text files for the website. gets turned into .html files with sswg.\n\n \ud83d\udcc3cheat_sheet.html\n # auto generated documentation made with documentation_generator.py.\n\n \ud83d\udcc3tutorial_generator.py\n # turns specific .py files into .txt files, which can then be turned into .html by sswg.\n # this extracts the comments from the source files into description for that step and the code after into code blocks.\n # see platformer_tutorial.py for an example.\n\n\ud83d\udcc1samples # small example games.\n\n\ud83d\udcc1ursina # the actual ursina module.\n \ud83d\udcc1audio # built-in audio clips.\n \ud83d\udcc1editor # the 3d level editor for ursina.\n \ud83d\udcc1fonts # built-in fonts.\n \ud83d\udcc1models # .blend files, source files, for built-in 3d models.\n \ud83d\udcc1procedural # classes for generating 3d models, like Cylinder, Quad and Terrain.\n \ud83d\udcc1models_compressed # .blend files converted to .ursinamesh.\n \ud83d\udcc1prefabs # higher level classes like Draggable, Slider, Sprite, etc.\n\n \ud83d\udcc3__init__.py\n \ud83d\udcc3application.py\n \ud83d\udcc3audio.py\n ...\n # ursina base modules, like code for Entity, input_handler, Text, window and so on.\n\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "An easy to use game engine/framework for python.",
"version": "8.0.1",
"project_urls": {
"homepage": "https://github.com/pokepetter/ursina"
},
"split_keywords": [
"game",
"development"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "4822ff79ccdf31292000cbbe04bb2a1c408216d354901534baaaf12f75638109",
"md5": "80e1d6e2a6c93368f48ab9f3e4e4d433",
"sha256": "8e33349dbfcd842d3165747c18426bddc61b70abf46945f5377362249f417fd2"
},
"downloads": -1,
"filename": "ursina-8.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "80e1d6e2a6c93368f48ab9f3e4e4d433",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 4387335,
"upload_time": "2025-07-10T16:33:34",
"upload_time_iso_8601": "2025-07-10T16:33:34.027452Z",
"url": "https://files.pythonhosted.org/packages/48/22/ff79ccdf31292000cbbe04bb2a1c408216d354901534baaaf12f75638109/ursina-8.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6500de067c5cef544bc2f8f6e869251b4522ef8cfb45e99915b90571851bd7c0",
"md5": "7b538b7dfd89beceb92f51db08242a2a",
"sha256": "d44253d458887faa835ec0d83f28dce484ffb92574f631b11e876127d82219c6"
},
"downloads": -1,
"filename": "ursina-8.0.1.tar.gz",
"has_sig": false,
"md5_digest": "7b538b7dfd89beceb92f51db08242a2a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 4259406,
"upload_time": "2025-07-10T16:33:14",
"upload_time_iso_8601": "2025-07-10T16:33:14.745176Z",
"url": "https://files.pythonhosted.org/packages/65/00/de067c5cef544bc2f8f6e869251b4522ef8cfb45e99915b90571851bd7c0/ursina-8.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-10 16:33:14",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pokepetter",
"github_project": "ursina",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "ursina"
}