# babylab-redcap

![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/NeuroDevComp/babylab-redcap/python-package.yml)
![GitHub Issues or Pull Requests](https://img.shields.io/github/issues/NeuroDevComp/babylab-redcap)
![PyPI - License](https://img.shields.io/pypi/l/babylab)
![PyPI - Status](https://img.shields.io/pypi/status/babylab)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/babylab)
![GitHub Tag](https://img.shields.io/github/v/tag/NeuroDevComp/babylab-redcap)
![PyPI - Version](https://img.shields.io/pypi/v/babylab)
<!-- Pytest Coverage Comment:Begin -->
<a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/README.md"><img alt="Coverage" src="https://img.shields.io/badge/Coverage-90%25-brightgreen.svg" /></a><details><summary>Coverage Report </summary><table><tr><th>File</th><th>Stmts</th><th>Miss</th><th>Cover</th><th>Missing</th></tr><tbody><tr><td><a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp__about__.py">babylabpp__about__.py</a></td><td>1</td><td>1</td><td>0%</td><td><a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp__about__.py#L9
">9
</a></td></tr><tr><td><a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp__init__.py">babylabpp__init__.py</a></td><td>18</td><td>1</td><td>90%</td><td><a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp__init__.py#L13
">13
</a></td></tr><tr><td><a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabppnfig.py">babylabppnfig.py</a></td><td>57</td><td>13</td><td>72%</td><td><a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabppnfig.py#L15-L16">15&ndash;16</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabppnfig.py#L23-L24">23&ndash;24</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabppnfig.py#L34-L37">34&ndash;37</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabppnfig.py#L40">40</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabppnfig.py#L90-L91">90&ndash;91</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabppnfig.py#L101-L102
">101&ndash;102
</a></td></tr><tr><td><a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp
outesppointments.py">babylabpp
outesppointments.py</a></td><td>88</td><td>22</td><td>77%</td><td><a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp
outesppointments.py#L81-L94">81&ndash;94</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp
outesppointments.py#L96-L114">96&ndash;114</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp
outesppointments.py#L176">176</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp
outesppointments.py#L179-L197
">179&ndash;197
</a></td></tr><tr><td><a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp
outesgeneral.py">babylabpp
outesgeneral.py</a></td><td>69</td><td>13</td><td>82%</td><td><a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp
outesgeneral.py#L17">17</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp
outesgeneral.py#L22">22</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp
outesgeneral.py#L38-L39">38&ndash;39</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp
outesgeneral.py#L85-L88">85&ndash;88</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp
outesgeneral.py#L100-L103">100&ndash;103</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp
outesgeneral.py#L112-L114
">112&ndash;114
</a></td></tr><tr><td><a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp
outesparticipants.py">babylabpp
outesparticipants.py</a></td><td>64</td><td>6</td><td>89%</td><td><a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp
outesparticipants.py#L25-L>30">25&ndash;>30</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp
outesparticipants.py#L32-L>42">32&ndash;>42</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp
outesparticipants.py#L115-L117">115&ndash;117</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp
outesparticipants.py#L177-L179
">177&ndash;179
</a></td></tr><tr><td><a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp
outesquestionnaires.py">babylabpp
outesquestionnaires.py</a></td><td>61</td><td>8</td><td>88%</td><td><a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp
outesquestionnaires.py#L33-L34">33&ndash;34</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp
outesquestionnaires.py#L97-L99">97&ndash;99</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabpp
outesquestionnaires.py#L152-L154
">152&ndash;154
</a></td></tr><tr><td><a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabsrcpi.py">babylabsrcpi.py</a></td><td>220</td><td>28</td><td>89%</td><td><a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabsrcpi.py#L254-L>256">254&ndash;>256</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabsrcpi.py#L474-L475">474&ndash;475</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabsrcpi.py#L482-L483">482&ndash;483</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabsrcpi.py#L492-L501">492&ndash;501</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabsrcpi.py#L514-L516">514&ndash;516</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabsrcpi.py#L611-L626
">611&ndash;626
</a></td></tr><tr><td><a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabsrcutils.py">babylabsrcutils.py</a></td><td>207</td><td>6</td><td>95%</td><td><a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabsrcutils.py#L67-L>69">67&ndash;>69</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabsrcutils.py#L119">119</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabsrcutils.py#L140">140</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabsrcutils.py#L185">185</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabsrcutils.py#L250">250</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/babylabsrcutils.py#L706-L707
">706&ndash;707
</a></td></tr><tr><td><a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/testsnftest.py">testsnftest.py</a></td><td>125</td><td>3</td><td>96%</td><td><a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/testsnftest.py#L152">152</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/testsnftest.py#L273">273</a>, <a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/testsnftest.py#L316
">316
</a></td></tr><tr><td><a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/testsunit	est_calendar.py">testsunit	est_calendar.py</a></td><td>27</td><td>4</td><td>85%</td><td><a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/testsunit	est_calendar.py#L36-L39
">36&ndash;39
</a></td></tr><tr><td><a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/testsunit	est_email.py">testsunit	est_email.py</a></td><td>22</td><td>8</td><td>64%</td><td><a href="https://github.com/NeuroDevComp/babylab-redcap/blob/main/testsunit	est_email.py#L11-L18
">11&ndash;18
</a></td></tr><tr><td><b>TOTAL</b></td><td><b>1217</b></td><td><b>113</b></td><td><b>90%</b></td><td>&nbsp;</td></tr></tbody></table></details>
<!-- Pytest Coverage Comment:End -->

--------

A GUI for the SJD Babylab REDCap database.

## Table of Contents

- [Installation](#installation)
- [Usage](#usage)
- [Updating](#updating)
- [License](#license)

## Installation

You will need Python, ideally Python [3.12.7](https://www.python.org/downloads/release/python-3127/). If you are using Windows, you can install Python from the [App store](https://apps.microsoft.com/detail/9ncvdn91xzqp?hl=en-us&gl=US) or using the terminal via the `winget` command:

```bash
winget install -e --id Python.Python.3.12
```

Once Python is installed, [open your terminal](https://www.youtube.com/watch?v=8Iyldhkrh7E) and run this command:

```bash
python -m pip install flask babylab
```

## Usage

To run the app in your browser, run the following command in your terminal:

```bash
flask --app babylab.main run
```

Open your browser and go to [http://127.0.0.1:5000](http://127.0.0.1:5000). Log in with your API authentication token, and you should be ready to go!

## Updating

To update the app, run the following line of code in your terminal:

```bash
python -m pip install --upgrade babylab
```

## License

`babylab-redcap` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.

