{"id":19175900,"url":"https://github.com/astropy/astropy-apes","last_synced_at":"2025-10-25T07:28:56.707Z","repository":{"id":11648184,"uuid":"14154504","full_name":"astropy/astropy-APEs","owner":"astropy","description":"A repository storing the Astropy Proposals for Enhancement.","archived":false,"fork":false,"pushed_at":"2024-10-21T19:12:16.000Z","size":819,"stargazers_count":35,"open_issues_count":16,"forks_count":36,"subscribers_count":16,"default_branch":"main","last_synced_at":"2024-10-29T16:11:15.048Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/astropy.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.rst","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"numfocus","custom":"https://numfocus.org/donate-to-astropy"}},"created_at":"2013-11-05T21:20:15.000Z","updated_at":"2024-10-21T19:12:19.000Z","dependencies_parsed_at":"2024-04-12T10:27:35.328Z","dependency_job_id":"a91691ad-9f78-45e6-8ee1-418f637cc7fe","html_url":"https://github.com/astropy/astropy-APEs","commit_stats":{"total_commits":546,"total_committers":30,"mean_commits":18.2,"dds":0.6923076923076923,"last_synced_commit":"6aa0871f20e0d16dcc60e75988e8ad34a9a3bd1f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astropy%2Fastropy-APEs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astropy%2Fastropy-APEs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astropy%2Fastropy-APEs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astropy%2Fastropy-APEs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/astropy","download_url":"https://codeload.github.com/astropy/astropy-APEs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240254288,"owners_count":19772392,"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":"2024-11-09T10:26:07.718Z","updated_at":"2025-10-25T07:28:56.615Z","avatar_url":"https://github.com/astropy.png","language":null,"funding_links":["https://github.com/sponsors/numfocus","https://numfocus.org/donate-to-astropy"],"categories":[],"sub_categories":[],"readme":"APEs: Astropy Proposals for Enhancement\n---------------------------------------\n\nAPEs are documents to address non-trivial enhancements that require discussion\nand thought beyond a single Pull Request. This is intended to mirror the\nlong-standing Python Enhancement  Proposal 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 (astropy-dev,\ngithub, hangouts, etc), and eventually a decision is made regarding whether the\nproposal should be accepted, rejected, or modified.\n\nAccepted APEs\n^^^^^^^^^^^^^\n\n=== ================================================================ =========== ============\n#     Title                                                          Date        DOI\n=== ================================================================ =========== ============\n0   `The Astropy Project Governance Charter`_                        2021-Feb-19 |APE 0 DOI|\n1   `APE Purpose and Process`_                                       2024-Feb-05 |APE 1 DOI|\n2   `Astropy Release Cycle and Version Numbering`_                   2013-Dec-11 |APE 2 DOI|\n3   `Configuration`_                                                 2013-Dec-10 |APE 3 DOI|\n4   `Astropy Setup Helpers`_                                         2014-Jun-28 |APE 4 DOI|\n5   `Coordinates Subpackage Plan`_                                   2014-Jan-22 |APE 5 DOI|\n6   `Enhanced Character Separated Values table format`_              2015-Jan-26 |APE 6 DOI|\n7   `NDData Plan`_                                                   2014-Dec-17 |APE 7 DOI|\n8   `Astropy Community Code of Conduct`_                             2015-May-04 |APE 8 DOI|\n9   `Timeseries object for Astropy`_                                 2023-Oct-20 |APE 9 DOI|\n10  `Roadmap for Python 3-only support`_                             2016-Aug-22 |APE 10 DOI|\n12  `Using Cookiecutter for the package-template`_                   2017-Mar-28 |APE 12 DOI|\n13  `Vision for Astropy Spectroscopic Tools`_                        2017-Dec-12 |APE 13 DOI|\n14  `A shared Python interface for World Coordinate Systems`_        2018-Nov-09 |APE 14 DOI|\n15  `An Updated Model for the Affiliated Package Ecosystem`_         2018-May-14 |APE 15 DOI|\n17  `A roadmap for package infrastructure without astropy-helpers`_  2019-Dec-12 |APE 17 DOI|\n18  `Adopt NEP 29 for CPython and Numpy Version Support`_            2024-Jul-12 |APE 18 DOI|\n19  `Distributing Astropy Project Funding`_                          2022-Feb-28 |APE 19 DOI|\n20  `Formatting Code with Black`_                                    2022-Sep-23 |APE 20 DOI|\n21  `Ending Long Term Support Releases`_                             2023-May-31 |APE 21 DOI|\n22  `Astropy Affiliated Packages with pyOpenSci`_                    2024-Jan-29 |APE 22 DOI|\n=== ================================================================ =========== ============\n\n.. _The Astropy Project Governance Charter: https://github.com/astropy/astropy-APEs/blob/main/APE0.rst\n.. _APE Purpose and Process: https://github.com/astropy/astropy-APEs/blob/main/APE1.rst\n.. _Astropy Release Cycle and Version Numbering: https://github.com/astropy/astropy-APEs/blob/main/APE2.rst\n.. _Configuration: https://github.com/astropy/astropy-APEs/blob/main/APE3.rst\n.. _Astropy Setup Helpers: https://github.com/astropy/astropy-APEs/blob/main/APE4.rst\n.. _Coordinates Subpackage Plan: https://github.com/astropy/astropy-APEs/blob/main/APE5.rst\n.. _Enhanced Character Separated Values table format: https://github.com/astropy/astropy-APEs/blob/main/APE6.rst\n.. _NDData Plan: https://github.com/astropy/astropy-APEs/blob/main/APE7.rst\n.. _Astropy Community Code of Conduct: https://github.com/astropy/astropy-APEs/blob/main/APE8.rst\n.. _Timeseries object for Astropy: https://github.com/astropy/astropy-APEs/blob/main/APE9.rst\n.. _Roadmap for Python 3-only support: https://github.com/astropy/astropy-APEs/blob/main/APE10.rst\n.. _Using Cookiecutter for the package-template: https://github.com/astropy/astropy-APEs/blob/main/APE12.rst\n.. _Vision for Astropy Spectroscopic Tools: https://github.com/astropy/astropy-APEs/blob/main/APE13.rst\n.. _A shared Python interface for World Coordinate Systems: https://github.com/astropy/astropy-APEs/blob/main/APE14.rst\n.. _An Updated Model for the Affiliated Package Ecosystem: https://github.com/astropy/astropy-APEs/blob/main/APE15.rst\n.. _A roadmap for package infrastructure without astropy-helpers: https://github.com/astropy/astropy-APEs/blob/main/APE17.rst\n.. _Adopt NEP 29 for CPython and Numpy Version Support: https://github.com/astropy/astropy-APEs/blob/main/APE18.rst\n.. _Distributing Astropy Project Funding: https://github.com/astropy/astropy-APEs/blob/main/APE19.rst\n.. _Formatting Code with Black: https://github.com/astropy/astropy-APEs/blob/main/APE20.rst\n.. _Ending Long Term Support Releases: https://github.com/astropy/astropy-APEs/blob/main/APE21.rst\n.. _Astropy Affiliated Packages with pyOpenSci: https://github.com/astropy/astropy-APEs/blob/main/APE22.rst\n\n.. |APE 0 DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.4552790.svg\n   :target: https://doi.org/10.5281/zenodo.4552790\n\n.. |APE 1 DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.10805921.svg\n   :target: https://doi.org/10.5281/zenodo.10805921\n\n.. |APE 2 DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.1043887.svg\n   :target: https://doi.org/10.5281/zenodo.1043887\n\n.. |APE 3 DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.1043889.svg\n   :target: https://doi.org/10.5281/zenodo.1043889\n\n.. |APE 4 DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.1043891.svg\n   :target: https://doi.org/10.5281/zenodo.1043891\n\n.. |APE 5 DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.1043896.svg\n   :target: https://doi.org/10.5281/zenodo.1043896\n\n.. |APE 6 DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.1043900.svg\n   :target: https://doi.org/10.5281/zenodo.1043900\n\n.. |APE 7 DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.1043906.svg\n   :target: https://doi.org/10.5281/zenodo.1043906\n\n.. |APE 8 DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.1043912.svg\n   :target: https://doi.org/10.5281/zenodo.1043912\n\n.. |APE 9 DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.10403160.svg\n   :target: https://doi.org/10.5281/zenodo.10403160\n\n.. |APE 10 DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.1038586.svg\n   :target: https://doi.org/10.5281/zenodo.1038586\n\n.. |APE 12 DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.1044483.svg\n   :target: https://doi.org/10.5281/zenodo.1044483\n\n.. |APE 13 DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.14834949.svg\n   :target: https://doi.org/10.5281/zenodo.14834949\n\n.. |APE 14 DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.11566733.svg\n   :target: https://doi.org/10.5281/zenodo.11566733\n\n.. |APE 15 DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.1246833.svg\n   :target: https://doi.org/10.5281/zenodo.1246833\n\n.. |APE 17 DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.3572843.svg\n   :target: https://doi.org/10.5281/zenodo.3572843\n\n.. |APE 18 DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.4563082.svg\n   :target: https://doi.org/10.5281/zenodo.4563082\n\n.. |APE 19 DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.6312048.svg\n   :target: https://doi.org/10.5281/zenodo.6312048\n\n.. |APE 20 DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.10562869.svg\n   :target: https://doi.org/10.5281/zenodo.10562869\n\n.. |APE 21 DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.7990988.svg\n   :target: https://doi.org/10.5281/zenodo.7990988\n\n.. |APE 22 DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.10581892.svg\n   :target: https://doi.org/10.5281/zenodo.10581891\n\nProposing a new APE\n^^^^^^^^^^^^^^^^^^^\n\nNew APEs should be created using the ``APEtemplate.rst`` file in this repository.\nFork the repository, copy ``APEtemplate.rst`` to ``APE##.rst`` where ## is the next \nfree number on the list of APEs (don't forget to check the open PRs when finding \nthis number). 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).\n\nNote that there is not much point to making proposals unless someone or some\ngroup has signed up to implement it if the APE is accepted\n(typically this would involve the author or authors of the APE).  Just issuing\nan APE in order to spur others to do work is not generally going to be received\nwell. Generally, an implementation is expected before an APE 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).\n\nFinalizing APEs\n^^^^^^^^^^^^^^^\n\nThe final decision on accepting or rejecting APEs lies with the Astropy\nCoordination Committee (CoCo).  Once the community discussion on the APE has wound\ndown, the committee discusses the APE and makes a final decision on acceptance\nor rejection.  One of the committee members should then:\n\n#. Fill in the \"Decision rationale\" section of the APE with a description of why\n   the APE was accepted or rejected, including a summary of the community's\n   discussion as relevant.\n#. Update the \"date-last-revised\" to the day of merging and \"status\" to\n   \"Accepted\" or \"Rejected\".\n#. Leave a brief comment in the PR indicating the result.\n#. Merge the PR with the above changes.\n#. If the APE was accepted then continue with the remaining steps, otherwise \n   stop now.\n#. Upload the APE to Zenodo to give it a DOI.  Log into the astropy team Zenodo\n   account (*not your personal account*), go to https://zenodo.org/deposit/new,\n   upload the .rst file, and set the fields to the following:\n\n   ============================= ======================================================\n   Zenodo field                  Set to\n   ============================= ======================================================\n   Communities                   The Astropy Project\n   Upload type                   Publication\n   Publication type              Technical note\n   Publication Date              The date-last-revised of the APE (which should be the same as the accepted date for new APEs)\n   Title                         Astropy Proposal for Enhancement \u003cnumber\u003e: \u003ctitle\u003e (APE \u003cnumber\u003e)\n   Authors                       The APE authors (directly from the APE text, but with ORCIDs if possible)\n   Description                   The APE abstract (copy/paste the rendered HTML from GitHub)\n   License                       CC-Attribution (default)\n   Related/alternate identifiers Github link to the APE file *at the specific merge commit* (e.g. https://github.com/astropy/astropy-APEs/blob/42951733ac42c0ea178d8df30705274a43c93091/APE1.rst) as \"is supplemented by this upload\". If this is a revised version, this should be the URL of the commit where the APE 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. You will need to update that with the \"all versions\"\n   DOI number, which you can see under the \"versions\" section of Zenodo. (It is\n   typically the first version minus 1.)\n#. On GitHub (or locally) edit ``README.rst`` and add an entry for the new APE to the\n   \"Accepted APEs\" table.  Use the DOI link from the previous step.  Add\n   corresponding RST link refs for both the DOI link and the new APE.  Preview\n   the update and test the links to make sure they are all correct.  Then commit\n   directly to main (or PR if you prefer).\n#. Send an email to `astropy-dev \u003chttps://groups.google.com/forum/#!forum/astropy-dev/\u003e`_\n   announcing the acceptance In general this should just point to the accepted\n   APE rather than providing additional decision rationale.\n\nUpdating APEs\n^^^^^^^^^^^^^\n\nIn the cases where an updated APE requires updating (e.g., references to a new\nAPE that supercedes it, clarifying information that emerges after the APE is\naccepted, etc.), changes can be made directly via PR, but the\n\"date-last-revised\" should be updated in the APE. Additionally, the Zenodo entry\nwill need to be updated with a new version of the APE (*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%2Fastropy%2Fastropy-apes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fastropy%2Fastropy-apes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastropy%2Fastropy-apes/lists"}