Metadata-Version: 2.4
Name: sphinxcontrib-chapeldomain
Version: 0.0.40
Summary: Chapel domain for Sphinx
Home-page: https://github.com/chapel-lang/sphinxcontrib-chapeldomain
Download-URL: https://pypi.python.org/pypi/sphinxcontrib-chapeldomain
Author: Chapel Team
Author-email: chapel+developers@discoursemail.com
License: Apache-2.0 AND BSD-2-Clause
Platform: any
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Framework :: Sphinx :: Domain
Classifier: Framework :: Sphinx :: Extension
Classifier: Topic :: Documentation
Classifier: Topic :: Documentation :: Sphinx
Classifier: Topic :: Text Processing
Classifier: Topic :: Utilities
License-File: LICENSE
License-File: sphinxcontrib/chapeldomain/LICENSE
Requires-Dist: docutils
Requires-Dist: Sphinx
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: download-url
Dynamic: home-page
Dynamic: license
Dynamic: license-file
Dynamic: platform
Dynamic: requires-dist
Dynamic: summary

Chapel Domain for Sphinx
========================

Chapel_ domain for Sphinx_.

.. _Chapel: http://chapel-lang.org/
.. _Sphinx: http://sphinx-doc.org/

.. image:: https://github.com/chapel-lang/sphinxcontrib-chapeldomain/actions/workflows/CI.yml/badge.svg
    :target: https://github.com/chapel-lang/sphinxcontrib-chapeldomain/actions/workflows/CI.yml

.. image:: https://codecov.io/gh/chapel-lang/sphinxcontrib-chapeldomain/branch/main/graph/badge.svg
    :target: https://codecov.io/gh/chapel-lang/sphinxcontrib-chapeldomain

`Package documentation`_ is available on readthedocs.org.

.. _Package documentation: //sphinxcontrib-chapeldomain.readthedocs.org/

Installation
------------

To install::

    python3 -m pip install sphinxcontrib-chapeldomain

To install from source on github_::

    git clone https://github.com/chapel-lang/sphinxcontrib-chapeldomain
    cd sphinxcontrib-chapeldomain
    python setup.py install

.. _github: https://github.com/chapel-lang/sphinxcontrib-chapeldomain

Making Changes
--------------

#. Test and commit changes
#. Merge your changes
#. Generate a new PyPI release

Making a Release
----------------

#. Go to main page for repo
#. Click “Releases” on right side of screen
#. Click “Draft a new release” button on top of screen
#. For the tag, make a new tag with the new version number
#. You can generate the release notes via the “generate release notes” button,
   comparing against the most recent release. This will autofill in the details
   for you
#. Click "Publish release"
    - This will trigger the workflow to push a new release to PyPI, assuming no
      problems have snuck into our release procedure since the last time it was
      run
#. Open a PR bumping the version to the next version number so that we're ready
   for the next change. This should always be the first PR in a new release
   (otherwise we'll have build issues). This can be done by running the
   'bump-version' GitHub Action, which will create the PR for you.

In case of issues, the release pushing job is in
.github/workflows/python-publish.yml

You can modify it to try and get things to work. If the issue has something to
do with what was pushed to PyPI, you can adjust it to send to
https://test.pypi.org/ instead and download from there. You’ll want to remove
the bad version from PyPI in that case, which will require access to a user
account associated with the repository on PyPI.

Getting Started
---------------

This is an example that covers several features of the Chapel domain::

    .. chpl:module:: GMP
        :synopsis: multiple precision integer library

    .. chpl:record:: BigNum

        multiple precision instances

        .. chpl:method:: proc add(a:BigNum, b:BigNum)

            Add two big ints, ``a`` and ``b``, and store the result in ``this``
            instance.

            :arg a: BigNum to be added
            :type a: BigNum

            :arg BigNum b: BigNum to be added

            :returns: nothing, result is stored in current instance

        .. chpl:itermethod:: iter these() ref

            Arbitrary iterator that returns individual digits of this instance.

            :ytype: reference
            :yields: reference to each individual digit of BigNum
