<commit_before>.. Developer Setup for libCellML

=================
Development Setup
=================

This section describes how someone wanting to contribute to the libCellML project should set up their *working copy* for developing libCellML.

.. contents::

Overview
========

The libCellML codebase is hosted on `GitHub <https://github.com/>`_ and therefore `Git <https://git-scm.com/>`_ is used to track changes. Before you begin, you will need to have a few pre-requisites satisfied:

1. `GitHub <https://github.com/>`_ user account (for the rest of this document we will call our user *andre*).
#. `Git <https://git-scm.com/>`_ for tracking changes in code
#. `CMake <https://cmake.org/>`_ to configure the build files
#. Toolchain for building the library (dependent on the operating system).
#. `LibXml2 <http://xmlsoft.org/>`_, an external library used to parse XML
#. `Doxygen <https://doxygen.nl/>`_ to generate documentation

If Python bindings are required, the following packages are also needed:
#. `Python <https://www.python.org/>`_ Version 3.5.2 or later is needed for Sphinx (see below)
#. `SWIG <http://swig.org>`_ to generate the bindings for Python
#. `Sphinx <http://www.sphinx-doc.org/en/master/>`_ to generate documentation for Python bindings

Pre-requisite acquisition
=========================

In this section, we cover the retrieval and installation of pre-requisites.

Git
---

Creating a `GitHub <https://github.com/>`_ user account is straightforward and can be done `here <https://github.com/join>`_.
Installing a `Git <https://git-scm.com/>`_ client is particular to each operating system and some pointers are offered below:

* `Windows <https://en.wikipedia.org/wiki/Microsoft_Windows>`_ `Git <https://git-scm.com/>`_ is available from a variety of vendors.
We commonly use `Git for windows <http://gitforwindows.org/>`_, but other popular `Git <https://git-scm.com/>`_ implementations are:<commit_msg>Update dev_setup.rst<commit_after>.. Developer Setup for libCellML

=================
Development Setup
=================

This section describes how someone wanting to contribute to the libCellML project should set up their *working copy* for developing libCellML.

.. contents::

Overview
========

The libCellML codebase is hosted on `GitHub <https://github.com/>`_ and therefore `Git <https://git-scm.com/>`_ is used to track changes. Before you begin, you will need to have a few pre-requisites satisfied:

1. `GitHub <https://github.com/>`_ user account (for the rest of this document we will call our user *andre*).
#. `Git <https://git-scm.com/>`_ for tracking changes in code
#. `CMake <https://cmake.org/>`_ to configure the build files
#. Toolchain for building the library (dependent on the operating system).
#. `LibXml2 <http://xmlsoft.org/>`_, an external library used to parse XML
#. `Doxygen <https://doxygen.nl/>`_ to generate documentation

If Python bindings are required, the following packages are also needed:

1. `Python <https://www.python.org/>`_ Version 3.5.2 or later is needed for Sphinx (see below)
#. `SWIG <http://swig.org>`_ to generate the bindings for Python
#. `Sphinx <http://www.sphinx-doc.org/en/master/>`_ to generate documentation for Python bindings


Pre-requisite acquisition
=========================

In this section, we cover the retrieval and installation of pre-requisites.

Git
---

Creating a `GitHub <https://github.com/>`_ user account is straightforward and can be done `here <https://github.com/join>`_.
Installing a `Git <https://git-scm.com/>`_ client is particular to each operating system and some pointers are offered below:

* `Windows <https://en.wikipedia.org/wiki/Microsoft_Windows>`_ `Git <https://git-scm.com/>`_ is available from a variety of vendors.
We commonly use `Git for windows <http://gitforwindows.org/>`_, but other popular `Git <https://git-scm.com/>`_ implementations are:
{'fraction_non_alphanumeric': 0.15001284356537375, 'fraction_numerical': 0.0028255843822245054, 'mean_word_length': 4.430962343096234, 'pattern_counts': {'":': 0, '<': 37, '<?xml version=': 0, '>': 37, 'https://': 26, 'lorem ipsum': 0, 'www.': 4, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6494364', 'n_tokens_mistral': 1171, 'n_tokens_neox': 1081, 'n_words': 447}