{"id":24147531,"url":"https://github.com/einsteinpy/einsteinpy-epes","last_synced_at":"2025-11-26T02:01:14.340Z","repository":{"id":97706038,"uuid":"234129844","full_name":"einsteinpy/EinsteinPy-EPEs","owner":"einsteinpy","description":"EinsteinPy Proposals for Enhancements","archived":false,"fork":false,"pushed_at":"2020-05-18T08:08:27.000Z","size":44,"stargazers_count":6,"open_issues_count":3,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-29T21:05:59.852Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/einsteinpy.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-01-15T17:02:30.000Z","updated_at":"2020-12-14T11:17:45.000Z","dependencies_parsed_at":"2023-04-17T14:01:58.841Z","dependency_job_id":null,"html_url":"https://github.com/einsteinpy/EinsteinPy-EPEs","commit_stats":{"total_commits":13,"total_committers":1,"mean_commits":13.0,"dds":0.0,"last_synced_commit":"d77b445c6d3df1bc3be73e4a62851a7f2f438f50"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/einsteinpy%2FEinsteinPy-EPEs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/einsteinpy%2FEinsteinPy-EPEs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/einsteinpy%2FEinsteinPy-EPEs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/einsteinpy%2FEinsteinPy-EPEs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/einsteinpy","download_url":"https://codeload.github.com/einsteinpy/EinsteinPy-EPEs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241389167,"owners_count":19955107,"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":[],"created_at":"2025-01-12T07:15:24.175Z","updated_at":"2025-11-26T02:01:09.273Z","avatar_url":"https://github.com/einsteinpy.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"EPEs: EinsteinPy Proposals for Enhancement\n------------------------------------------\n\nEPEs are documents to address non-trivial enhancements that require discussion\nand thought beyond a single Pull Request. EPEs are also meant to put forward and document the \ngovernance model of The EinsteinPy Project. This is intended to mirror the\nlong-standing Python Enhancement Proposal, and Astropy Proposal of Enhancement process, but generally not quite as\nformally. Normally a proposal goes through various phases of consideration.\nDiscussion is expected to take place using existing mechanisms (einsteinpy-dev,\ngithub, hangouts, etc), and eventually a decision is made regarding whether the\nproposal should be accepted, rejected, or modified.\n\nAccepted EPEs\n^^^^^^^^^^^^^\n=== ================================================================ =========== ============\n#     Title                                                          Date        DOI\n=== ================================================================ =========== ============\n 1   `EPEs and EinsteinPy Governance`_                               2020-Feb-17  |EPE 1 DOI|\n=== ================================================================ =========== ============\n\n.. _EPEs and EinsteinPy Governance: https://github.com/einsteinpy/EinsteinPy-EPEs/blob/master/EPE_00001.rst\n\n.. |EPE 1 DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.3669939.svg\n   :target: https://doi.org/10.5281/zenodo.3669939\n\nProposing a new EPE\n^^^^^^^^^^^^^^^^^^^\n\nNew EPEs should be created using the ``EPEtemplate.rst`` file in this repository.\nFork the repository, copy ``EPEtemplate.rst`` to\n``EPE_\u003csome_working_name\u003e.rst`` and issue a Pull Request with that file once\nyou've written it up (little explanation is required in the PR itself given that\nthe document has all the content - usually it's easiest to just paste in the\nabstract). The EPE number will be assigned once the PR is merged.\n\nNote that there is not much point to making proposals unless someone or some\ngroup has signed up to implement it if the EPE is accepted\n(typically this would involve the author or authors of the EPE).  Just issuing\nan EPE in order to spur others to do work is not generally going to be received\nwell. Generally, an implementation is expected before an EPE can be considered\nfully accepted. For proposals that require extensive work that few are willing\nto perform without some assurance it will be accepted, provisional acceptance\nis an option. For serious consideration it is usually good to show that detailed\ntechnical aspects have been played with in real code rather (even if it isn't a\ncomplete implementation) [This point only applies to non-governance EPEs] .\n\nFinalizing EPEs\n^^^^^^^^^^^^^^^\n\nThe final decision on accepting or rejecting EPEs lies with the EisnteinPy\nCoordination Group.  Once the community discussion on the EPE has wound\ndown, the group discusses the EPE and makes a final decision on acceptance\nor rejection.  One of the group members should then:\n\n1. Fill in the \"Decision rationale\" section of the EPE with a description of why\n   the EPE was accepted or rejected, including a summary of the community's\n   discussion as relevant.\n2. Update the \"date-last-revised\" to the day of merging and \"status\" to\n   \"Accepted\" or \"Rejected\".\n3. If necessary, rename the EPE file to be ``EPE##.rst``, where ## is the next\n   free number on the list of EPEs.\n#. Leave a brief comment in the PR indicating the result.\n#. Merge the PR with the above changes.\n#. If the EPE was accepted then continue with the remaining steps, otherwise stop now.\n#. Upload the EPE to Zenodo to give it a DOI.  Go to https://zenodo.org/deposit/new, upload\n   the .rst file, and set the fields to the following:\n\n   ============================= ======================================================\n   Zenodo field                  Set to\n   ============================= ======================================================\n   Communities                   The EinsteinPy Project\n   Upload type                   Publication\n   Publication type              Technical note\n   Publication Date              The date-last-revised of the EPE (which should be the same as the accepted date for new APEs)\n   Title                         EinsteinPy Proposal for Enhancement \u003cnumber\u003e: \u003ctitle\u003e (EPE \u003cnumber\u003e)\n   Authors                       The EPE authors (directly from the APE text, but with ORCIDs if possible)\n   Description                   The EPE abstract (copy/paste the rendered HTML from GitHub)\n   License                       CC-Attribution (default)\n   Related/alternate identifiers Github link to the EPE file *at the specific merge commit* (e.g. https://github.com/einsteinpy/EinsteinPy-EPEs/blob/ad87de75f6e2b950c35a946f506ca31d1c70af98/EPE_00001.rst) as \"is supplemented by this upload\". If this is a revised version, this should be the URL of the commit where the EPE was revised.\n   ============================= ======================================================\n\n#. Get the source for the DOI badge from the newly-created Zenodo record page by\n   clicking on the DOI badge on the right side of the page and copying the\n   reStructuredText source.\n#. On GitHub (or locally) edit ``README.rst`` and add an entry for the new EPE to the\n   \"Accepted EPEs\" table.  Use the DOI link from the previous step.  Add\n   corresponding RST link refs for both the DOI link and the new EPE.  Preview\n   the update and test the links to make sure they are all correct.  Then commit\n   directly to master (or PR if you prefer).\n#. Send an email to `einsteinpy-dev \u003chttps://groups.io/g/einsteinpy-dev\u003e`_\n   announcing the acceptance In general this should just point to the accepted\n   EPE rather than providing additional decision rationale.\n\nUpdating EPEs\n^^^^^^^^^^^^^\n\nIn the cases where an updated EPE requires updating (e.g. references to a  new\nEPE that supercedes it, clarifying information that emerges after the EPE is\naccepted, etc.), changes can be made directly via PR, but the\n\"date-last-revised\" should be updated in the EPE. Additionally, the Zenodo entry\nwill need to be updated with a new version of the EPE (*not* a completely new\nZenodo entry), by using the \"New version\" button and then filling out the forms\nas described above.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feinsteinpy%2Feinsteinpy-epes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feinsteinpy%2Feinsteinpy-epes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feinsteinpy%2Feinsteinpy-epes/lists"}