{ "info": { "author": "Christopher Crouzet", "author_email": "christopher.crouzet@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "Hienoi\n======\n\n.. image:: https://img.shields.io/pypi/v/hienoi.svg\n :target: https://pypi.python.org/pypi/hienoi\n :alt: PyPI latest version\n\n.. image:: https://img.shields.io/pypi/l/hienoi.svg\n :target: https://pypi.python.org/pypi/hienoi\n :alt: License\n\n\nHienoi is a framework offering an intuitive visual programming experience based\naround simple 2D particle physics.\n\n\nFeatures\n--------\n\n* 2D particle simulation.\n* GUI with OpenGL viewport.\n* user-friendly API.\n* support for per-particle user attributes.\n* fast when directly operating particles through NumPy.\n* compatible with both Python 2 and Python 3.\n\n\nUsage\n-----\n\n.. code-block:: python\n\n >>> import hienoi.application\n >>> from hienoi import Vector2f\n >>> def initialize_particle_simulation(sim):\n ... sim.add_particle(position=Vector2f(25.0, 0.0))\n >>> def update_particle_simulation(sim):\n ... particle = sim.particles[0]\n ... particle.force -= particle.position\n >>> hienoi.application.run(\n ... particle_simulation={\n ... 'initialize_callback': initialize_particle_simulation,\n ... 'postsolve_callback': update_particle_simulation,\n ... })\n\n\nMore commented examples can be found in the ``demos`` folder.\n\n\nInstallation\n------------\n\n.. code-block:: bash\n\n $ pip install hienoi\n\n\nDemos\n-----\n\nintro\n^^^^^\n\n.. image:: img/intro.gif\n :alt: intro\n\n\nequilibrium\n^^^^^^^^^^^\n\n.. image:: img/equilibrium.gif\n :alt: equilibrium\n\n\ntrail\n^^^^^\n\n.. image:: img/trail.gif\n :alt: trail\n\n\norbit\n^^^^^\n\n.. image:: img/orbit.gif\n :alt: orbit\n\n\nHotkeys\n-------\n\n+-----------------------+--------------------------------------------+\n| ``space`` + ``LMB`` | move view |\n+-----------------------+--------------------------------------------+\n| ``space`` + ``RMB`` | zoom view |\n+-----------------------+--------------------------------------------+\n| ``d`` | change the display mode of the particles |\n+-----------------------+--------------------------------------------+\n| ``f`` | fit the view to the scene |\n+-----------------------+--------------------------------------------+\n| ``g`` | show/hide the grid |\n+-----------------------+--------------------------------------------+\n| ``r`` | reset the view |\n+-----------------------+--------------------------------------------+\n\n\nAuthor\n------\n\nChristopher Crouzet\n<`christophercrouzet.com `_>\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/christophercrouzet/hienoi", "keywords": "2D particles OpenGL nani NumPy", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "hienoi", "package_url": "https://pypi.org/project/hienoi/", "platform": "", "project_url": "https://pypi.org/project/hienoi/", "project_urls": { "Homepage": "https://github.com/christophercrouzet/hienoi" }, "release_url": "https://pypi.org/project/hienoi/0.2.0/", "requires_dist": [ "PyOpenGL", "PySDL2", "nani", "numpy", "coverage; extra == 'dev'", "tox; extra == 'dev'" ], "requires_python": "", "summary": "2D particle playground", "version": "0.2.0" }, "last_serial": 3076455, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "5f825db0ed53d02b786999bcad9bced9", "sha256": "2162d3ed8955f6db4dbb19cba205c1f6c859153598f846a167260f7a12935bc1" }, "downloads": -1, "filename": "hienoi-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5f825db0ed53d02b786999bcad9bced9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 40386, "upload_time": "2017-05-09T01:28:58", "url": "https://files.pythonhosted.org/packages/9a/ec/7476d7f318022744935bfb0178a19545d0d3f4fd2b84e7bb2404f0eb1795/hienoi-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c007ae2c1865571884805a1e857e4223", "sha256": "3ca9decb2328f5e499a54dac30b2dda5df123b3eed7d6d44b3913f6adbfbef83" }, "downloads": -1, "filename": "hienoi-0.1.0.tar.gz", "has_sig": false, "md5_digest": "c007ae2c1865571884805a1e857e4223", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44664, "upload_time": "2017-05-09T01:29:00", "url": "https://files.pythonhosted.org/packages/78/52/eccfb2fcc0d9a51b7db1370ec7704c21d0305f716b3d5756ea83d4e2cf44/hienoi-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "202e2f9491406e3b3a35418077fdca06", "sha256": "75d96c4d789e97ec0ff827ab38dc10274e0c279af9870260cc4cef87fad9b59e" }, "downloads": -1, "filename": "hienoi-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "202e2f9491406e3b3a35418077fdca06", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 40652, "upload_time": "2017-08-06T12:18:52", "url": "https://files.pythonhosted.org/packages/97/0f/b29d6dbca5b203331d59b4c3206e0e3c6d3f601bd69056e55cc43eb33c9c/hienoi-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a2fcfb7be607579abd06d66e40794cd4", "sha256": "8ad69e33c1dfc9a649cee1977a25dca1c36a91d278bcaabc1e73607a498151a2" }, "downloads": -1, "filename": "hienoi-0.2.0.tar.gz", "has_sig": false, "md5_digest": "a2fcfb7be607579abd06d66e40794cd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44889, "upload_time": "2017-08-06T12:18:54", "url": "https://files.pythonhosted.org/packages/1c/78/8fed15186d590f26929c8de3834feb1d17c4f22d0940710476ca8f0f8042/hienoi-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "202e2f9491406e3b3a35418077fdca06", "sha256": "75d96c4d789e97ec0ff827ab38dc10274e0c279af9870260cc4cef87fad9b59e" }, "downloads": -1, "filename": "hienoi-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "202e2f9491406e3b3a35418077fdca06", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 40652, "upload_time": "2017-08-06T12:18:52", "url": "https://files.pythonhosted.org/packages/97/0f/b29d6dbca5b203331d59b4c3206e0e3c6d3f601bd69056e55cc43eb33c9c/hienoi-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a2fcfb7be607579abd06d66e40794cd4", "sha256": "8ad69e33c1dfc9a649cee1977a25dca1c36a91d278bcaabc1e73607a498151a2" }, "downloads": -1, "filename": "hienoi-0.2.0.tar.gz", "has_sig": false, "md5_digest": "a2fcfb7be607579abd06d66e40794cd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44889, "upload_time": "2017-08-06T12:18:54", "url": "https://files.pythonhosted.org/packages/1c/78/8fed15186d590f26929c8de3834feb1d17c4f22d0940710476ca8f0f8042/hienoi-0.2.0.tar.gz" } ] }