Skip to content

Commit

Permalink
Merge pull request #573 from pllim/so-open-much-affiliated
Browse files Browse the repository at this point in the history
APE 22: Update Affiliated info
  • Loading branch information
eteq authored Mar 20, 2024
2 parents 1d66576 + ff0d097 commit 2c844f3
Show file tree
Hide file tree
Showing 8 changed files with 417 additions and 116 deletions.
4 changes: 0 additions & 4 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,6 @@ jobs:
command: |
conda config --set always_yes yes --set changeps1 no
conda install requests termcolor
- run:
name: Validate affiliated package JSON repository
command: |
python affiliated/validate_registry.py
- run:
name: Validate roles JSON file
command: |
Expand Down
5 changes: 4 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,11 @@ For general information on the contribution process, see the [Astropy core packa

# Affiliated Packages

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.
To propose inclusion of a package as an affiliated package, we work with pyOpenSci to support
the review process, which when complete will lead to your package being listed here.
The details of the review process are outlined at http://affiliated.astropy.org.

# Modifying Roles in the Team section

* Modify the `roles.json` file
* 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.
35 changes: 3 additions & 32 deletions about.html
Original file line number Diff line number Diff line change
Expand Up @@ -110,11 +110,6 @@ <h1 id="astropy-core-package"><i>astropy</i> Core Package<a class="paralink" hre
to provide commonly-used astronomy tools. It is divided into a variety
of sub-packages, which are described in detail in the
<a href="http://docs.astropy.org/">documentation</a>.</p>

<p>The core also provides this documentation, and a variety of utilities
that simplify starting other python astronomy/astrophysics packages. As
described in the following section, these simplify the process of
creating affiliated packages.</p>
</section>

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

<p>The authoritative list of current affiliated packages is available at
<a href="http://affiliated.astropy.org">http://affiliated.astropy.org</a>,
including a machine-readable
<a href="http://affiliated.astropy.org/registry.json">JSON file</a>.</p>

<p>If you are interested in starting an affiliated package, or have a
package you are interested in making more compatible with astropy, the
<i>astropy</i> core package includes features that simplify and homogenize
package management. Astropy provides a
<a href="http://github.com/astropy/package-template">package template</a>
that provides a common
way to organize a package, to make your life simpler. You can use this
template either with a new package you are starting or an existing
package to give it most of the organizational tools Astropy provides,
including the documentation, testing, and Cython-building tools. See
the <a href="https://github.com/astropy/package-template/blob/main/README.rst">
usage instructions</a> in the template
for further details.</p>

<p>To then get your package listed on the registry, take a look at the
<a href="http://affiliated.astropy.org#affiliated-instructions">
guidelines for becoming an affiliated package </a>, and then post
your intent on the <a href="http://groups.google.com/group/astropy-dev">
astropy-dev mailing list</a>. The Astropy
coordination committee, in consultation with the community, will provide
you feedback on the package, and will add it to the registry when it is
approved. </p>
<p>The authoritative listing of current affiliated packages is available at
<a href="http://affiliated.astropy.org">http://affiliated.astropy.org</a>.
That page also describes the process to get a package listed as an affiliated package.</p>
</section>

<section>
Expand Down
158 changes: 83 additions & 75 deletions affiliated/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -119,17 +119,18 @@ <h1 id="infrastructure-packages">Astropy Infrastructure Packages<a class="parali

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

<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>

<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>
<p>All packages should be available on PyPI. Some are available via conda, particularly
through the conda-forge channel. That said, affiliated packages are developed
independently of the Astropy core library. You should refer to the package's
documentation first if you encounter problems.</p>

</section>

<!-- NOTE: We still use affiliated/registry.json for this. -->
<section id="coordinated-package-registry">
<h1 id="coordinated-package-list">Coordinated Packages<a class="paralink" href="#coordinated-package-list" title="Permalink to this headline"></a></h1>
<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>
<!-- <h3><u>Affiliated Packages</u></h3>-->
<p>Total number of coordinated packages: <strong id="total-coordinated-pkgs"></strong></p>
<p>The following table lists all current Astropy coordinated packages.</p>
<p>Total number of coordinated packages: <strong id="total-coordinated-pkgs"></strong></p>

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

<section id="affiliated-package-registry">
<h1 id="affiliated-package-list">Affiliated Packages Registry<a class="paralink" href="#affiliated-package-list" title="Permalink to this headline"></a></h1>
<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>
<!-- <h3><u>Affiliated Packages</u></h3>-->
<p>Total number of affiliated packages: <strong id="total-affiliated-pkgs"></strong></p>
<p>The following table lists all currently registered affiliated packages.</p>
<p>NOTE: The listing is currently empty because Astropy has just accepted
<a href="https://github.com/astropy/astropy-APEs/blob/main/APE22.rst">APE 22</a>
in January 2024. We are in the midst of transitioning to the new process in
partnership with pyOpenSci, so we really appreciate your patience.
Pre-APE 22 legacy listing is available <a href="legacy.html">here</a>.
</p>

<table border="1" class="docutils" id="affiliated-package-table">
<colgroup>
<col width="5%" />
<col width="3%" />
<col width="3%" />
<col/>
</colgroup>
<thead valign="bottom">
<tr class="row-odd">
<th class="head"></th>
<th class="head"></th>
<th class="head"></th>
<th class="head"></th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td rowspan="1">Loading...</td>
<td rowspan="1">&nbsp;</td>
<td rowspan="1">&nbsp;</td>
<td rowspan="1">&nbsp;</td>
<td rowspan="1">&nbsp;</td>
</tr>
<tr class="row-odd">
<td colspan="1">&nbsp;</td>
<td colspan="3">&nbsp;</td>
</tr>
</tbody>
</table>
<!-- TODO: Leah Wasser is going to give Erik Tollerud some RSS/XML to ingest here
(maybe https://github.com/pyOpenSci/pyopensci.github.io/blob/main/_data/packages.yml).
We have promised pyOpenSci that we would also link back to their canonical listing
here, with their Astropy filter applied. -->

</section>

<section id="affiliated-instructions">

<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>

<p>If you are a developer of an astronomy package and would like your package
to become affiliated with the Astropy Project, please take a look at the
<a href="https://github.com/astropy/astropy-project/blob/main/affiliated/affiliated_package_review_process.md#proposing-an-affiliated-package">
instructions for proposing an affiliated package</a>. We recommend that you
also take a look at the
<p>Astropy <a href="https://www.pyopensci.org/partners.html">uses the pyOpenSci peer review process</a>
to vet affiliated packages. If you are a developer of an astronomy package and would like your package to become
affiliated with the Astropy Project, you submit your package directly to pyOpenSci.
Astropy will be involved in the review, which will allow your package to become an
affiliated package through that review process. You can also opt to be fast tracked through
<a href="https://joss.theoj.org/">JOSS</a> if desired. Read the pyOpenSci author guide to learn
<a href="https://www.pyopensci.org/software-peer-review/how-to/author-guide.html">
how to get started with submitting a package to pyOpenSci through their affiliated partner program Guidebook</a>.
</p>

<p>In addition to pyOpenSci criteria, we also apply
<a href="https://github.com/astropy/astropy-project/blob/main/affiliated/affiliated_package_review_guidelines.md">
guidelines for reviewing affiliated packages</a> since this will give you a
Astropy-specific guidelines for reviewing affiliated packages</a>.
This will give you a
sense of whether your package is ready for review. Broadly speaking, your
package should:</p>

<ul>

<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>

<li>Be potentially useful to astronomers. This can mean useful to a
specific sub-domain of astronomy, or more broadly useful to a large
fraction of astronomy (or beyond, as long as it is also useful for
astronomy).</li>

<li>Specifically use, interface with, or provide complementary capabilities
to other Astropy packages.</li>

<li>Be written in a way that is readable and understandable by others. While
not a strict requirement, we also provide <a
href="http://docs.astropy.org/en/stable/development/codeguide.html">coding
guidelines</a> that will make your code easier to read by members of the
community.</li>
to other Astropy packages.</li>

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

<li>Have documentation that adequately explains the use
of the package. Additionally,
user-facing classes and functions should all have docstrings. We suggest
using sphinx, with the numpydoc-like <a
href="http://docs.astropy.org/en/stable/development/docguide.html">docstring
standards used by astropy</a>, but this is not a strict requirement as long
as the documentation is of comparable quality.</li>

<li>Make a best-effort to include an easy-to-run test
suite that covers its intended functionality. We realize this is not always
possible, but when it is, a test suite is a crucial element of stable
software and reproducible science.</li>

<li>Use Python 3.x. Packages are allowed to be 2.x compatible, but must support recent versions of Python 3.x.</li>

<li>Be open to contributions from others. While this most straightforwardly
means it follows a Github-based open development model (like the Astropy core
package), alternative approaches are perfectly valid as long as they are
consistent with basic principles of open source. (E.g.,
<a href="https://choosealicense.com/">an OSI-approved license</a>)</li>
consistent with basic principles of open source; e.g.,
<a href="https://choosealicense.com/">an OSI-approved license</a>.</li>

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

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

</ul>
</p>
Expand All @@ -272,7 +241,7 @@ <h1 id="becoming-an-affiliated-package">Becoming an Affiliated Package<a class="
any related affiliated packages. If your package is determined to meet the above
standards, it will be accepted and added to the affiliated package registry.
Note however that if packages become unmaintained or do not meet the standards
anymore, they may be removed from the list of affiliated packages.</p>
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>

<h2 id="package-template">Package Template<a class="paralink" href="#package-template" title="Permalink to this headline"></a></h2>
<p>If you are considering creating a new astronomy package and would like it
Expand All @@ -285,13 +254,52 @@ <h2 id="package-template">Package Template<a class="paralink" href="#package-tem
href="https://packaging-guide.openastronomy.org/en/latest/#using-the-template">usage
instructions for the template</a>.
</p>
<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>


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

<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>

</section>

<section id="affiliated-faqs">

<h1 id="affiliated-package-faqs">Affiliated Package: FAQs<a class="paralink" href="#affiliated-package-faqs" title="Permalink to this headline"></a></h1>

<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>

<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>

<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>

<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>

<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>

<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>

<h2 id="new-affil-editor">I am a new Editor<a class="paralink" href="#new-affil-editor" title="Permalink to this headline"></a></h2>

<p>Welcome and thank you! We usually do not switch out all our Editors at the same time,
so the incumbent co-Editor could help you contact pyOpenSci to add you to
<a href="https://www.pyopensci.org/about-peer-review/#meet-our-editorial-board">pyOpenSci editorial board</a>
with the understanding that we are taking the person you are replacing off that board
and that your role is Astropy- and astronomy-focused.</p>

<p>Your name would also be added to <a href="../team.html">Astropy Team</a> under the same role.</p>

<h2 id="new-affil-reviewer">I am a new reviewer<a class="paralink" href="#new-affil-reviewer" title="Permalink to this headline"></a></h2>

<p>Welcome and thank you! Please submit the sign-up form that can be found under
<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"
when you see them as options.</p>

<p>It is important that you understand your reviews will be done in public. There is no option to remain anonymous.</p>

</section>


<footer>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="../js/jquery.sidr.min.js"></script>
Expand Down
Loading

0 comments on commit 2c844f3

Please sign in to comment.