<commit_before>.. _getting-start/5-minutes:

5 Minute Tutorial
=================
The first thing you need to do is install Armstrong (see :ref:`installation`).
This installs the ``armstrong`` command line tool that we're going to be using
throughout.

The first step is initializing a new Armstrong project.  Armstrong projects are a customized Django project layout.  In addition to creating a base project structure, the ``armstrong`` tool can add demo data as well.  We're going to use that feature for this tutorial so you don't have to worry about creating data.  To create a new project type the following in the command line:

.. code-block:: bash

    $ armstrong init --template=tutorial mysite
    armstrong initialized!
    $

This creates a project in the directory ``mysite`` based on the ``tutorial`` template.  Project templates are basic projects that provide a structure and generally some sort of bootstrapping depending on their environment.  For now, just know that the ``tutorial`` project template is what we're working from.

.. todo:: Add cross-ref to template docs once they are completed

The ``mysite`` part of the command tells Armstrong where to put your project.  Using that, it's in the ``./mysite`` directory.  You can use any name you like, but for the rest of this tutorial, I'm going to assume that you used ``mysite``.


Before you start the server
---------------------------
There are a few steps you need to take before you can run any Armstrong project for the first time.  Before anything else, you need to make sure all of the requirements are installed.  You do this via `pip`_ like this inside your ``mysite`` directory.

.. code-block:: bash

    $ pip install -r requirements/project.txt
    ... output from pip ...

This makes sure that everything is installed.  Armstrong has are a few dependencies that Armstrong has that are not released on PyPI.

Next, you need to configure the database connection.  You can change this by editing the ``settings/development.py`` file and adjusting the ``DATABASE`` settings.  Armstrong uses separate settings modules for different environments (see :ref:`getting-started/anatomy/settings`), but ``settings.development`` is the default one.
<commit_msg>fix grammar (thanks @niran)<commit_after>.. _getting-start/5-minutes:

5 Minute Tutorial
=================
The first thing you need to do is install Armstrong (see :ref:`installation`).
This installs the ``armstrong`` command line tool that we're going to be using
throughout.

The first step is initializing a new Armstrong project.  Armstrong projects are a customized Django project layout.  In addition to creating a base project structure, the ``armstrong`` tool can add demo data as well.  We're going to use that feature for this tutorial so you don't have to worry about creating data.  To create a new project type the following in the command line:

.. code-block:: bash

    $ armstrong init --template=tutorial mysite
    armstrong initialized!
    $

This creates a project in the directory ``mysite`` based on the ``tutorial`` template.  Project templates are basic projects that provide a structure and generally some sort of bootstrapping depending on their environment.  For now, just know that the ``tutorial`` project template is what we're working from.

.. todo:: Add cross-ref to template docs once they are completed

The ``mysite`` part of the command tells Armstrong where to put your project.  Using that, it's in the ``./mysite`` directory.  You can use any name you like, but for the rest of this tutorial, I'm going to assume that you used ``mysite``.


Before you start the server
---------------------------
There are a few steps you need to take before you can run any Armstrong project for the first time.  Before anything else, you need to make sure all of the requirements are installed.  You do this via `pip`_ like this inside your ``mysite`` directory.

.. code-block:: bash

    $ pip install -r requirements/project.txt
    ... output from pip ...

This makes sure that everything is installed.  Armstrong has a few dependencies that are not released on PyPI.

Next, you need to configure the database connection.  You can change this by editing the ``settings/development.py`` file and adjusting the ``DATABASE`` settings.  Armstrong uses separate settings modules for different environments (see :ref:`getting-started/anatomy/settings`), but ``settings.development`` is the default one.

{'fraction_non_alphanumeric': 0.08529214237743452, 'fraction_numerical': 0.0008954555630176853, 'mean_word_length': 3.8991228070175437, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, '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': '6702590', 'n_tokens_mistral': 1124, 'n_tokens_neox': 1057, 'n_words': 639}