<commit_before>====================
Infrastructure Guide
====================

This guide serves as an advanced version of the contributing documentation and contains the
information on how we manage MetPy and the infrastructure behind it.

----------
Versioning
----------

To manage identifying the version of the code, MetPy relies upon `setuptools_scm
<https://github.com/pypa/setuptools_scm>`_. ``setuptools_scm`` takes the current version of the
source from git tags and any additional commits. For development, the version will have a
string like ``0.10.0.post209+gff2e549f.d20190918``, which comes from ``git describe``. This
version means that the current code is 209 commits past the 0.10.0 tag, on git hash
``ff2e549f``, with local changes on top, last made on a date (indicated by ``d20190918``). For
a release, or non-git repo source dir, the version will just come from the most recent tag
(i.e. ``v0.10.0``). Our main versioning scheme matches ``vMajor.Minor.Bugfix``.

-------------
Documentation
-------------

MetPy's documentation is built using sphinx >= 2.1. API documentation is automatically
generated from docstrings, written using the
`NumPy docstring standard <https://github.com/numpy/numpy/blob/main/doc/HOWTO_DOCUMENT.rst.txt>`_.
There are also example scripts in the ``examples`` directory, as well as our
:doc:`/userguide/index` tutorials in the ``tutorials``. Using the ``sphinx-gallery``
extension, these scripts are executed and turned into a gallery of thumbnails. The
extension also makes these scripts available as Jupyter notebooks.

The documentation is hosted on `GitHub Pages <https://unidata.github.io/MetPy>`_. The docs are
built automatically and uploaded upon pushes or merges to GitHub. Commits to ``main`` end up
in our development version docs, while commits to versioned branches will update the<commit_msg>Update numpydoc docstring link<commit_after>====================
Infrastructure Guide
====================

This guide serves as an advanced version of the contributing documentation and contains the
information on how we manage MetPy and the infrastructure behind it.

----------
Versioning
----------

To manage identifying the version of the code, MetPy relies upon `setuptools_scm
<https://github.com/pypa/setuptools_scm>`_. ``setuptools_scm`` takes the current version of the
source from git tags and any additional commits. For development, the version will have a
string like ``0.10.0.post209+gff2e549f.d20190918``, which comes from ``git describe``. This
version means that the current code is 209 commits past the 0.10.0 tag, on git hash
``ff2e549f``, with local changes on top, last made on a date (indicated by ``d20190918``). For
a release, or non-git repo source dir, the version will just come from the most recent tag
(i.e. ``v0.10.0``). Our main versioning scheme matches ``vMajor.Minor.Bugfix``.

-------------
Documentation
-------------

MetPy's documentation is built using sphinx >= 2.1. API documentation is automatically
generated from docstrings, written using the
`NumPy docstring standard <https://numpydoc.readthedocs.io/en/latest/format.html#docstring-standard>`_.
There are also example scripts in the ``examples`` directory, as well as our
:doc:`/userguide/index` tutorials in the ``tutorials``. Using the ``sphinx-gallery``
extension, these scripts are executed and turned into a gallery of thumbnails. The
extension also makes these scripts available as Jupyter notebooks.

The documentation is hosted on `GitHub Pages <https://unidata.github.io/MetPy>`_. The docs are
built automatically and uploaded upon pushes or merges to GitHub. Commits to ``main`` end up
in our development version docs, while commits to versioned branches will update the
{'fraction_non_alphanumeric': 0.11971076593465453, 'fraction_numerical': 0.023567220139260846, 'mean_word_length': 4.444606413994169, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 11, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '227911', 'n_tokens_mistral': 1084, 'n_tokens_neox': 981, 'n_words': 468}