{"id":13419231,"url":"https://github.com/einsteinpy/einsteinpy","last_synced_at":"2025-10-19T00:33:39.302Z","repository":{"id":34282687,"uuid":"168302584","full_name":"einsteinpy/einsteinpy","owner":"einsteinpy","description":"Repository for the EinsteinPy core package :rocket:","archived":false,"fork":false,"pushed_at":"2024-06-25T23:59:35.000Z","size":70763,"stargazers_count":640,"open_issues_count":63,"forks_count":224,"subscribers_count":32,"default_branch":"main","last_synced_at":"2025-05-11T17:24:15.524Z","etag":null,"topics":["general-relativity","geodesics","gravitational-physics","hacktoberfest","orbital-simulation","perihelion","space-physics"],"latest_commit_sha":null,"homepage":"https://einsteinpy.org/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/einsteinpy.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG","contributing":"CONTRIBUTING.rst","funding":".github/FUNDING.yml","license":"COPYING","code_of_conduct":"CODE_OF_CONDUCT.rst","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":"einsteinpy","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":"https://www.paypal.me/shreyasbapat"}},"created_at":"2019-01-30T07:56:15.000Z","updated_at":"2025-05-09T02:23:52.000Z","dependencies_parsed_at":"2024-02-19T19:16:36.796Z","dependency_job_id":"3f86d821-9c16-45fe-9786-0584d54c7634","html_url":"https://github.com/einsteinpy/einsteinpy","commit_stats":{"total_commits":731,"total_committers":77,"mean_commits":9.493506493506494,"dds":0.7086183310533516,"last_synced_commit":"e7d708645f5b44168d8981b8cd5f1784a459378c"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/einsteinpy%2Feinsteinpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/einsteinpy%2Feinsteinpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/einsteinpy%2Feinsteinpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/einsteinpy%2Feinsteinpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/einsteinpy","download_url":"https://codeload.github.com/einsteinpy/einsteinpy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254301576,"owners_count":22047905,"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":["general-relativity","geodesics","gravitational-physics","hacktoberfest","orbital-simulation","perihelion","space-physics"],"created_at":"2024-07-30T22:01:13.111Z","updated_at":"2025-10-19T00:33:34.257Z","avatar_url":"https://github.com/einsteinpy.png","language":"Python","funding_links":["https://opencollective.com/einsteinpy","https://www.paypal.me/shreyasbapat"],"categories":["Python"],"sub_categories":[],"readme":".. einsteinpy\n\n.. image:: https://blog.einsteinpy.org/img/logo.png?\n   :target: https://einsteinpy.org/\n   :alt: EinsteinPy logo\n   :width: 675px\n   :align: center\n\n.. |astropy| image:: http://img.shields.io/badge/powered%20by-AstroPy-orange.svg?style=flat-square\n   :target: http://www.astropy.org/\n\n.. |mailing| image:: https://img.shields.io/badge/mailing%20list-groups.io-8cbcd1.svg?style=flat-square\n   :target: https://groups.io/g/einsteinpy-dev\n\n.. |doi| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.2582387.svg\n   :target: https://doi.org/10.5281/zenodo.2582387\n\n.. |gitter| image:: https://img.shields.io/gitter/room/EinsteinPy-Project/EinsteinPy.svg?logo=gitter\u0026style=flat-square\n   :alt: Join the chat at https://gitter.im/EinsteinPy-Project/EinsteinPy\n   :target: https://gitter.im/EinsteinPy-Project/EinsteinPy?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge\n\n.. |riotchat| image:: https://img.shields.io/matrix/einsteinpy:matrix.org.svg?logo=riot\u0026style=flat-square\n   :target: https://app.element.io/#/room/#einsteinpy:matrix.org\n\n.. |license| image:: https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square\n   :target: https://github.com/einsteinpy/einsteinpy/raw/main/COPYING\n\n.. |docslatest| image:: https://img.shields.io/badge/docs-latest-brightgreen.svg?style=flat-square\n   :target: https://docs.einsteinpy.org/en/latest/?badge=latest\n\n.. |docsstable| image:: https://img.shields.io/badge/docs-stable-brightgreen.svg?style=flat-square\n   :target: https://docs.einsteinpy.org/en/stable/?badge=stable\n\n.. |circleci| image:: https://img.shields.io/circleci/project/github/einsteinpy/einsteinpy/main.svg?style=flat-square\u0026logo=circleci\n   :target: https://circleci.com/gh/einsteinpy/einsteinpy\n\n.. |ghactions| image:: https://img.shields.io/github/actions/workflow/status/einsteinpy/einsteinpy/pythonpackage.yml?branch=main\u0026logo=github\u0026style=flat-square\n   :target: https://github.com/einsteinpy/einsteinpy/actions?query=branch%3Amain\n\n.. |codecov| image:: https://img.shields.io/codecov/c/github/einsteinpy/einsteinpy.svg?style=flat-square\n   :target: https://codecov.io/github/einsteinpy/einsteinpy?branch=main\n\n.. |appveyor| image:: https://img.shields.io/appveyor/ci/shreyasbapat/einsteinpy/main?logo=appveyor\u0026style=flat-square\n   :target: https://ci.appveyor.com/project/shreyasbapat/einsteinpy/branch/main\n\n.. |orcid-shreyas| image:: https://img.shields.io/badge/id-0000--0002--0870--4665-a6ce39.svg\n   :target: https://orcid.org/0000-0002-0870-4665\n\n:Name: EinsteinPy\n:Website: https://einsteinpy.org/\n:Version: 0.5.dev0\n\n|astropy| |docslatest| |gitter| |riotchat| |mailing| |license| \n\n|circleci| |ghactions| |appveyor| |codecov|\n\n**EinsteinPy** is an open-source pure Python package dedicated to the study of problems arising \nin General Relativity and gravitational physics. Using EinsteinPy, it is possible to approach \nproblems symbolically as well as numerically. On the symbolic side, EinsteinPy provides a robust \nAPI, which allows users to access several predefined metrics or to define custom metrics and perform \nsymbolic calculations on them. Computation of quantities, such as terms of metric tensors, \nChristoffel symbols, Riemann Curvature tensor, Ricci tensor, stress-energy tensor and more are \nall supported and extensible, since the symbolic modules are built on top of SymPy. On \nthe numerical side, EinsteinPy provides tools to calculate and visualize geodesics, metric \nsingularities and hypersurface embeddings in certain spacetimes. We hope to extend the package to \ninclude more features in the future. EinsteinPy is released under the MIT license.\n\nDocumentation\n=============\n\n|docslatest| |docsstable|\n\nComplete documentation, including a user guide and an API reference, can be perused on\nthe wonderful `Read the Docs`_.\n\n.. _`Read the Docs`: https://docs.einsteinpy.org/en/latest/\n\nExamples\n========\n\n.. |mybinder| image:: https://img.shields.io/badge/launch-binder-e66581.svg?style=flat-square\n   :target: https://mybinder.org/v2/gh/einsteinpy/einsteinpy/main?filepath=docs/source/examples/index.ipynb\n\n|mybinder|\n\nSeveral tutorial Jupyter notebooks on specific applications of EinsteinPy can be found \nin the `examples`_ directory. You can launch a Jupyter notebook instance in the cloud \nusing `binder`_ to run and edit these notebooks without installing anything. Try it out!\n\n.. _examples: https://github.com/einsteinpy/einsteinpy/tree/main/docs/source/examples\n.. _binder: https://mybinder.org/v2/gh/einsteinpy/einsteinpy/main?filepath=docs/source/examples/index.ipynb\n\nRequirements\n============\n\nEinsteinPy requires the following Python packages:\n\n* ``NumPy``, for basic numerical routines\n* ``SciPy``, for solving ordinary differential equations\n* ``SymPy``, for symbolic calculations\n* ``Astropy``, for handling conversion between physical units\n* ``Matplotlib``, for producing static visualizations\n* ``Plotly``, for producing interactive visualizations\n* ``Numba``, for accelerating the code\n\nEinsteinPy is currently tested on Linux, Windows and macOS on Python 3.7 and 3.8, against the latest ``NumPy``.\n\n==============  ===============  ===================\nPlatform        Site             Status\n==============  ===============  ===================\nLinux           CircleCI         |circleci|\nmacOS           Github Actions   |ghactions|\nWindows x64     Appveyor         |appveyor|\n==============  ===============  ===================\n\nInstallation\n============\n\nCurrently, the recommended way to install EinsteinPy is using ``pip``\nfrom `PyPI \u003chttps://pypi.org/project/einsteinpy/\u003e`_::\n\n  $ pip install einsteinpy\n\nOr, you can install the package using `conda \u003chttps://anaconda.org/conda-forge/einsteinpy\u003e`_::\n\n  $ conda install einsteinpy --channel conda-forge\n\nNote that the package on ``conda-forge`` is currently a version behind ``PyPI``. We are working on updating it. \n\nFor Debian/Ubuntu/Mint users, the package is installable via `apt \u003chttps://packages.debian.org/sid/python3-einsteinpy\u003e`_ (Ubuntu 19.04 onwards)::\n\n  $ sudo apt install python3-einsteinpy\n\nIf you prefer to install from source to stay on the latest but likely unstable version, \nyou can do so using the method described `here \u003chttps://docs.einsteinpy.org/en/latest/installation.html#latest-version\u003e`_.\n\n\nProblems\n========\n\nIf the installation fails or you find something that doesn't work as expected,\nplease open an issue in the `issue tracker`_.\n\n.. _`issue tracker`: https://github.com/einsteinpy/einsteinpy/issues\n\nContributing\n============\n\nEinsteinPy is a community project. Hence, all contributions are more than\nwelcome! For more information, head to `CONTRIBUTING`_ or see the `developer guide`_.\n\n.. _`CONTRIBUTING`: https://github.com/einsteinpy/einsteinpy/blob/main/CONTRIBUTING.rst\n.. _`developer guide`: https://docs.einsteinpy.org/en/latest/dev_guide.html\n\nSupport\n=======\n\n|gitter| |riotchat| |mailing|\n\nPlease join our `[matrix]`_ channel or `Gitter`_ chat room for general discussions and further queries.\n\n.. _`[matrix]`: https://matrix.to/#/#einsteinpy:matrix.org\n.. _`Gitter`: https://gitter.im/EinsteinPy-Project/EinsteinPy\n\nRelease announcements take place on our `mailing list`_. Feel free to join!\n\n.. _`mailing list`: https://groups.io/g/einsteinpy-dev\n\nIf you still have a doubt, write to us directly at `all@einsteinpy.org \u003cmailto:all@einsteinpy.org\u003e`_.\n\nCiting\n======\n\nIf you use EinsteinPy in your project, please `drop us a line \u003cmailto:all@einsteinpy.org\u003e`_. \nYou can also use the DOI to cite it in your publications. This is the latest one:\n\n|doi|\n\nAnd this is an example citation format:\n\n Shreyas Bapat et al (2021). EinsteinPy 0.4.0 (v0.4.0). Zenodo. https://doi.org/10.5281/zenodo.2582387\n\nLicense\n=======\n\n|license|\n\nEinsteinPy is released under the MIT license, thereby allowing commercial\nuse of the library. Please refer to `COPYING`_ for more details.\n\n.. _`COPYING`: https://github.com/einsteinpy/einsteinpy/blob/main/COPYING\n\nFAQ\n===\n\nWhy \"EinsteinPy\"?\n-----------------\n\nEinsteinPy borrows the name of the famous physicist, Nobel laureate and revolutionary \nhuman, Dr. Albert Einstein. This is a small tribute on our part for the amazing work \nhe did for humanity!\n\n\nCan I do \u003c`insert nerdy thing`\u003e with EinsteinPy?\n------------------------------------------------\n\nEinsteinPy is focused on general relativity. One can always discuss probable features in discussion \nforums and the mailing list and also work with the maintainers to try to implement them. \nWe welcome every contribution to EinsteinPy. Please see `CONTRIBUTING`_ for more details.\n\nWhat's the future of the project?\n---------------------------------\n\nEinsteinPy is actively maintained and we hope to receive an influx of new contributors.\nThe best way to get an idea about the roadmap is to view the `milestones`_ of\nthe project.\n\n.. _`Milestones`: https://github.com/einsteinpy/einsteinpy/milestones\n\nInspiration\n-----------\n\nThe documentation and code structure is shamelessly inspired by `poliastro`_. We wholeheartedly thank the ``poliastro``\ndevelopers that made this possible. EinsteinPy is nothing without its supporters and community.\n\n.. _`poliastro`: https://docs.poliastro.space/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feinsteinpy%2Feinsteinpy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feinsteinpy%2Feinsteinpy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feinsteinpy%2Feinsteinpy/lists"}