Skip to content

Commit 2c844f3

Browse files
authored
Merge pull request #573 from pllim/so-open-much-affiliated
APE 22: Update Affiliated info
2 parents 1d66576 + ff0d097 commit 2c844f3

File tree

8 files changed

+417
-116
lines changed

8 files changed

+417
-116
lines changed

.circleci/config.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,6 @@ jobs:
1414
command: |
1515
conda config --set always_yes yes --set changeps1 no
1616
conda install requests termcolor
17-
- run:
18-
name: Validate affiliated package JSON repository
19-
command: |
20-
python affiliated/validate_registry.py
2117
- run:
2218
name: Validate roles JSON file
2319
command: |

CONTRIBUTING.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@ For general information on the contribution process, see the [Astropy core packa
22

33
# Affiliated Packages
44

5-
To propose inclusion of a package as an affiliated package (or propose a change in your package's status), you must make a PR modifying the `/affiliated/registry.json` file in this repository. The details of the review process are outlined at http://affiliated.astropy.org.
5+
To propose inclusion of a package as an affiliated package, we work with pyOpenSci to support
6+
the review process, which when complete will lead to your package being listed here.
7+
The details of the review process are outlined at http://affiliated.astropy.org.
68

79
# Modifying Roles in the Team section
10+
811
* Modify the `roles.json` file
912
* Preview locally by opening `team.html` in your browser. Note that most browsers restrict local file access (needed to access your local copy of `roles.json`), so you'll need to configure your browser to allow this - details depend on the browser, but usually you find it in some sort of "developer" menu.

about.html

Lines changed: 3 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -110,11 +110,6 @@ <h1 id="astropy-core-package"><i>astropy</i> Core Package<a class="paralink" hre
110110
to provide commonly-used astronomy tools. It is divided into a variety
111111
of sub-packages, which are described in detail in the
112112
<a href="http://docs.astropy.org/">documentation</a>.</p>
113-
114-
<p>The core also provides this documentation, and a variety of utilities
115-
that simplify starting other python astronomy/astrophysics packages. As
116-
described in the following section, these simplify the process of
117-
creating affiliated packages.</p>
118113
</section>
119114

120115
<section>
@@ -128,33 +123,9 @@ <h1 id="affiliated-packages">Affiliated Packages<a class="paralink" href="#affil
128123
(although this is not required). Until then, however, it is a separate
129124
package, and may not be in the <i>astropy</i> namespace.</p>
130125

131-
<p>The authoritative list of current affiliated packages is available at
132-
<a href="http://affiliated.astropy.org">http://affiliated.astropy.org</a>,
133-
including a machine-readable
134-
<a href="http://affiliated.astropy.org/registry.json">JSON file</a>.</p>
135-
136-
<p>If you are interested in starting an affiliated package, or have a
137-
package you are interested in making more compatible with astropy, the
138-
<i>astropy</i> core package includes features that simplify and homogenize
139-
package management. Astropy provides a
140-
<a href="http://github.com/astropy/package-template">package template</a>
141-
that provides a common
142-
way to organize a package, to make your life simpler. You can use this
143-
template either with a new package you are starting or an existing
144-
package to give it most of the organizational tools Astropy provides,
145-
including the documentation, testing, and Cython-building tools. See
146-
the <a href="https://github.com/astropy/package-template/blob/main/README.rst">
147-
usage instructions</a> in the template
148-
for further details.</p>
149-
150-
<p>To then get your package listed on the registry, take a look at the
151-
<a href="http://affiliated.astropy.org#affiliated-instructions">
152-
guidelines for becoming an affiliated package </a>, and then post
153-
your intent on the <a href="http://groups.google.com/group/astropy-dev">
154-
astropy-dev mailing list</a>. The Astropy
155-
coordination committee, in consultation with the community, will provide
156-
you feedback on the package, and will add it to the registry when it is
157-
approved. </p>
126+
<p>The authoritative listing of current affiliated packages is available at
127+
<a href="http://affiliated.astropy.org">http://affiliated.astropy.org</a>.
128+
That page also describes the process to get a package listed as an affiliated package.</p>
158129
</section>
159130

160131
<section>

affiliated/index.html

Lines changed: 83 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -119,17 +119,18 @@ <h1 id="infrastructure-packages">Astropy Infrastructure Packages<a class="parali
119119

120120
<h1 id="installing-affiliated-packages">Installing Affiliated and Coordinated Packages<a class="paralink" href="#installing-affiliated-packages" title="Permalink to this headline"></a></h1>
121121

122-
<p> The simplest way to install and keep up-to-date most affiliated packages is to use the <a href="https://www.continuum.io/why-anaconda">Anaconda python distribution</a>. This distribution includes the <a href="http://astropy.readthedocs.io/en/stable/index.html">Astropy core package</a> already built in, and you can then easily install or update affiliated packages using the <a href="https://anaconda.org/astropy/packages">Astropy Conda channel</a> of binary installable packages. Once you have Anaconda installed, you can do <code>conda search --channel astropy some_affiliated_package</code>. Most importantly, you can then install them with <code>conda install --channel astropy some_affiliated_package</code>. The Astropy channel is maintained by the Astropy Project on Github via code in the <a href="https://github.com/astropy/conda-channel-astropy">conda-channel-astropy</a> repository. </p>
123-
124-
<p> If you do not have Anaconda or wish to install from source, for most affiliated packages, downloading the source code and doing <code>python setup.py install</code> will work. Many also support the Astropy core package's additional build and install options, as they use the affiliated package template (detailed more in the <a href="#affiliated-instructions">Becoming an Affiliated Package</a> section). That said, affiliated packages are developed independently of the Astropy core library. This means they are free to develop their packages as they see fit, and can have a variety of different requirements or unusual install procedures. Hence you should refer to the package's documentation first if you encounter problems.</p>
122+
<p>All packages should be available on PyPI. Some are available via conda, particularly
123+
through the conda-forge channel. That said, affiliated packages are developed
124+
independently of the Astropy core library. You should refer to the package's
125+
documentation first if you encounter problems.</p>
125126

126127
</section>
127128

129+
<!-- NOTE: We still use affiliated/registry.json for this. -->
128130
<section id="coordinated-package-registry">
129131
<h1 id="coordinated-package-list">Coordinated Packages<a class="paralink" href="#coordinated-package-list" title="Permalink to this headline"></a></h1>
130-
<p>The following table lists all current Astropy coordinated packages. They are determined from the <a href="http://www.astropy.org/affiliated/registry.json">json file</a>, which is the actual authoritative registry.</p>
131-
<!-- <h3><u>Affiliated Packages</u></h3>-->
132-
<p>Total number of coordinated packages: <strong id="total-coordinated-pkgs"></strong></p>
132+
<p>The following table lists all current Astropy coordinated packages.</p>
133+
<p>Total number of coordinated packages: <strong id="total-coordinated-pkgs"></strong></p>
133134

134135
<table border="1" class="docutils" id="coordinated-package-table">
135136
<colgroup>
@@ -164,105 +165,73 @@ <h1 id="coordinated-package-list">Coordinated Packages<a class="paralink" href="
164165

165166
<section id="affiliated-package-registry">
166167
<h1 id="affiliated-package-list">Affiliated Packages Registry<a class="paralink" href="#affiliated-package-list" title="Permalink to this headline"></a></h1>
167-
<p>The following table lists all currently registered affiliated packages. They are determined from the <a href="http://www.astropy.org/affiliated/registry.json">json file</a>, which is the actual authoritative registry.</p>
168-
<!-- <h3><u>Affiliated Packages</u></h3>-->
169-
<p>Total number of affiliated packages: <strong id="total-affiliated-pkgs"></strong></p>
168+
<p>The following table lists all currently registered affiliated packages.</p>
169+
<p>NOTE: The listing is currently empty because Astropy has just accepted
170+
<a href="https://github.com/astropy/astropy-APEs/blob/main/APE22.rst">APE 22</a>
171+
in January 2024. We are in the midst of transitioning to the new process in
172+
partnership with pyOpenSci, so we really appreciate your patience.
173+
Pre-APE 22 legacy listing is available <a href="legacy.html">here</a>.
174+
</p>
170175

171-
<table border="1" class="docutils" id="affiliated-package-table">
172-
<colgroup>
173-
<col width="5%" />
174-
<col width="3%" />
175-
<col width="3%" />
176-
<col/>
177-
</colgroup>
178-
<thead valign="bottom">
179-
<tr class="row-odd">
180-
<th class="head"></th>
181-
<th class="head"></th>
182-
<th class="head"></th>
183-
<th class="head"></th>
184-
</tr>
185-
</thead>
186-
<tbody valign="top">
187-
<tr class="row-even"><td rowspan="1">Loading...</td>
188-
<td rowspan="1">&nbsp;</td>
189-
<td rowspan="1">&nbsp;</td>
190-
<td rowspan="1">&nbsp;</td>
191-
<td rowspan="1">&nbsp;</td>
192-
</tr>
193-
<tr class="row-odd">
194-
<td colspan="1">&nbsp;</td>
195-
<td colspan="3">&nbsp;</td>
196-
</tr>
197-
</tbody>
198-
</table>
176+
<!-- TODO: Leah Wasser is going to give Erik Tollerud some RSS/XML to ingest here
177+
(maybe https://github.com/pyOpenSci/pyopensci.github.io/blob/main/_data/packages.yml).
178+
We have promised pyOpenSci that we would also link back to their canonical listing
179+
here, with their Astropy filter applied. -->
199180

200181
</section>
201182

202183
<section id="affiliated-instructions">
203184

204185
<h1 id="becoming-an-affiliated-package">Becoming an Affiliated Package<a class="paralink" href="#becoming-an-affiliated-package" title="Permalink to this headline"></a></h1>
205186

206-
<p>If you are a developer of an astronomy package and would like your package
207-
to become affiliated with the Astropy Project, please take a look at the
208-
<a href="https://github.com/astropy/astropy-project/blob/main/affiliated/affiliated_package_review_process.md#proposing-an-affiliated-package">
209-
instructions for proposing an affiliated package</a>. We recommend that you
210-
also take a look at the
187+
<p>Astropy <a href="https://www.pyopensci.org/partners.html">uses the pyOpenSci peer review process</a>
188+
to vet affiliated packages. If you are a developer of an astronomy package and would like your package to become
189+
affiliated with the Astropy Project, you submit your package directly to pyOpenSci.
190+
Astropy will be involved in the review, which will allow your package to become an
191+
affiliated package through that review process. You can also opt to be fast tracked through
192+
<a href="https://joss.theoj.org/">JOSS</a> if desired. Read the pyOpenSci author guide to learn
193+
<a href="https://www.pyopensci.org/software-peer-review/how-to/author-guide.html">
194+
how to get started with submitting a package to pyOpenSci through their affiliated partner program Guidebook</a>.
195+
</p>
196+
197+
<p>In addition to pyOpenSci criteria, we also apply
211198
<a href="https://github.com/astropy/astropy-project/blob/main/affiliated/affiliated_package_review_guidelines.md">
212-
guidelines for reviewing affiliated packages</a> since this will give you a
199+
Astropy-specific guidelines for reviewing affiliated packages</a>.
200+
This will give you a
213201
sense of whether your package is ready for review. Broadly speaking, your
214202
package should:</p>
215203

216204
<ul>
217205

206+
<li>Comply with general pyOpenSci review standards. Please see <a href="https://www.pyopensci.org/software-peer-review/how-to/author-guide.html">Peer Review Guide for Python Open Source Authors</a> for more details.</li>
207+
218208
<li>Be potentially useful to astronomers. This can mean useful to a
219209
specific sub-domain of astronomy, or more broadly useful to a large
220210
fraction of astronomy (or beyond, as long as it is also useful for
221211
astronomy).</li>
222212

223213
<li>Specifically use, interface with, or provide complementary capabilities
224-
to other Astropy packages.</li>
225-
226-
<li>Be written in a way that is readable and understandable by others. While
227-
not a strict requirement, we also provide <a
228-
href="http://docs.astropy.org/en/stable/development/codeguide.html">coding
229-
guidelines</a> that will make your code easier to read by members of the
230-
community.</li>
214+
to other Astropy packages.</li>
231215

232216
<li>Use <a href="http://docs.astropy.org/">classes and functions from the
233217
astropy core package</a> wherever possible and appropriate, and (as much as
234218
possible) avoid duplication with other packages in the Astropy ecosystem.
235219
This facilitates re-use of code and sharing of resources.</li>
236220

237-
<li>Have documentation that adequately explains the use
238-
of the package. Additionally,
239-
user-facing classes and functions should all have docstrings. We suggest
240-
using sphinx, with the numpydoc-like <a
241-
href="http://docs.astropy.org/en/stable/development/docguide.html">docstring
242-
standards used by astropy</a>, but this is not a strict requirement as long
243-
as the documentation is of comparable quality.</li>
244-
245-
<li>Make a best-effort to include an easy-to-run test
246-
suite that covers its intended functionality. We realize this is not always
247-
possible, but when it is, a test suite is a crucial element of stable
248-
software and reproducible science.</li>
249-
250-
<li>Use Python 3.x. Packages are allowed to be 2.x compatible, but must support recent versions of Python 3.x.</li>
251-
252221
<li>Be open to contributions from others. While this most straightforwardly
253222
means it follows a Github-based open development model (like the Astropy core
254223
package), alternative approaches are perfectly valid as long as they are
255-
consistent with basic principles of open source. (E.g.,
256-
<a href="https://choosealicense.com/">an OSI-approved license</a>)</li>
224+
consistent with basic principles of open source; e.g.,
225+
<a href="https://choosealicense.com/">an OSI-approved license</a>.</li>
257226

258227
<li>Include instructions to users on how to cite your package. This is commonly done
259-
with a CITATION file. This file could include a Zenodo record (highly recommended),
260-
acknowledgement text, and/or journal article(s). Where possible, full BibTeX entries of these citations
261-
are recommended. </li>
228+
with a CITATION file. This file could include a Zenodo record (highly recommended),
229+
acknowledgement text, and/or journal article(s). Where possible, full BibTeX entries of
230+
these citations are recommended.</li>
262231

263232
<li>Include citations to other relevant papers and software following
264-
<a href="https://www.astrobetter.com/blog/2019/07/01/citing-astronomy-software-inline-text-examples/">leading
265-
practices for citing astronomy software</a>.</li>
233+
<a href="https://www.astrobetter.com/blog/2019/07/01/citing-astronomy-software-inline-text-examples/">leading
234+
practices for citing astronomy software</a>.</li>
266235

267236
</ul>
268237
</p>
@@ -272,7 +241,7 @@ <h1 id="becoming-an-affiliated-package">Becoming an Affiliated Package<a class="
272241
any related affiliated packages. If your package is determined to meet the above
273242
standards, it will be accepted and added to the affiliated package registry.
274243
Note however that if packages become unmaintained or do not meet the standards
275-
anymore, they may be removed from the list of affiliated packages.</p>
244+
anymore, they may be removed from the list of affiliated packages, <a href="https://www.pyopensci.org/software-peer-review/our-process/policies.html#after-acceptance-package-ownership-and-maintenance">as per pyOpenSci policy.</a></p>
276245

277246
<h2 id="package-template">Package Template<a class="paralink" href="#package-template" title="Permalink to this headline"></a></h2>
278247
<p>If you are considering creating a new astronomy package and would like it
@@ -285,13 +254,52 @@ <h2 id="package-template">Package Template<a class="paralink" href="#package-tem
285254
href="https://packaging-guide.openastronomy.org/en/latest/#using-the-template">usage
286255
instructions for the template</a>.
287256
</p>
288-
<p>We recommend that you join the <a href="https://groups.google.com/forum/#!forum/astropy-affiliated-maintainers">astropy-affiliated-maintainers</a> mailing list to be kept informed of updates to the package template, as well as to have any dicussions related to setting up affiliated packages.</p>
289-
290257

258+
<p>Additionally, it is also acceptable to use
259+
<a href="https://www.pyopensci.org/python-package-guide/index.html">pyOpenSci Python Package Guide</a>
260+
if you think that better suits your package needs.</p>
291261

262+
<p>We recommend that you join the <a href="https://groups.google.com/forum/#!forum/astropy-affiliated-maintainers">astropy-affiliated-maintainers</a> mailing list to be kept informed of any dicussions related to affiliated packages.</p>
292263

293264
</section>
294265

266+
<section id="affiliated-faqs">
267+
268+
<h1 id="affiliated-package-faqs">Affiliated Package: FAQs<a class="paralink" href="#affiliated-package-faqs" title="Permalink to this headline"></a></h1>
269+
270+
<h2 id="affil-new-pkg">I want my package to be Astropy Affiliated<a class="paralink" href="#affil-new-pkg" title="Permalink to this headline"></a></h2>
271+
272+
<p>Thank you for your interest! Please see <a href="#becoming-an-affiliated-package">Becoming an Affiliated Package</a> above. When in doubt, feel free to contact Astropy Affiliated Editors for advice.</p>
273+
274+
<h2 id="affil-maintainer-no-time">I no longer have time to maintain my Astropy Affiliated package<a class="paralink" href="#affil-maintainer-no-time" title="Permalink to this headline"></a></h2>
275+
276+
<p>Please contact pyOpenSci, as per <a href="https://www.pyopensci.org/software-peer-review/our-process/policies.html#peer-review-guidelines-policies">Peer Review Guidelines & Policies</a>.</p>
277+
278+
<h2 id="affil-pkg-delist">I want to delist my package as Astropy Affiliated<a class="paralink" href="#affil-pkg-delist" title="Permalink to this headline"></a></h2>
279+
280+
<p>Please see <a href="https://www.pyopensci.org/software-peer-review/our-process/policies.html#requesting-package-removal-from-the-pyopensci-ecosystem">Requesting package removal from the pyOpenSci ecosystem</a>.</p>
281+
282+
<h2 id="new-affil-editor">I am a new Editor<a class="paralink" href="#new-affil-editor" title="Permalink to this headline"></a></h2>
283+
284+
<p>Welcome and thank you! We usually do not switch out all our Editors at the same time,
285+
so the incumbent co-Editor could help you contact pyOpenSci to add you to
286+
<a href="https://www.pyopensci.org/about-peer-review/#meet-our-editorial-board">pyOpenSci editorial board</a>
287+
with the understanding that we are taking the person you are replacing off that board
288+
and that your role is Astropy- and astronomy-focused.</p>
289+
290+
<p>Your name would also be added to <a href="../team.html">Astropy Team</a> under the same role.</p>
291+
292+
<h2 id="new-affil-reviewer">I am a new reviewer<a class="paralink" href="#new-affil-reviewer" title="Permalink to this headline"></a></h2>
293+
294+
<p>Welcome and thank you! Please submit the sign-up form that can be found under
295+
<a href="https://www.pyopensci.org/about-peer-review/#get-involved-with-peer-review">Become a pyOpenSci reviewer</a>. Do not forget to check "Astropy"/"astronomy"/"astrophysics"
296+
when you see them as options.</p>
297+
298+
<p>It is important that you understand your reviews will be done in public. There is no option to remain anonymous.</p>
299+
300+
</section>
301+
302+
295303
<footer>
296304
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
297305
<script src="../js/jquery.sidr.min.js"></script>

0 commit comments

Comments
 (0)