Skip to content
This repository has been archived by the owner on Feb 20, 2023. It is now read-only.

Commit

Permalink
Improve project structure
Browse files Browse the repository at this point in the history
Renamed the main source code path from ml-conversational-analytic-tool
to mcat in order to make it a package. Long package names are discouraged
and dashes are invalid symbols (see PEP8).

Moved tests out of the mcat package and made it a package too. Updated
import paths.

Updated the auto-generated docs and the README.

Signed-off-by: Teodora Sechkova <[email protected]>
  • Loading branch information
sechkova committed Feb 8, 2022
1 parent 5255f25 commit 798f373
Show file tree
Hide file tree
Showing 24 changed files with 211 additions and 368 deletions.
14 changes: 6 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,12 +75,10 @@ create isolated Python environment is recommended for this project.
#### Testing
6. Run all unit tests
```python
cd ml-conversational-analytic-tool
python -m unittest discover -s tests
```
7. Run an individual unit test
```python
cd ml-conversational-analytic-tool
python -m unittest tests/<file_name>
```

Expand All @@ -107,7 +105,7 @@ export GITACCESS=<YOUR_TOKEN>

Run the script by passing in `organization`
```python
python ./ml-conversational-analytic-tool/githubDataExtraction.py <organization>
python ./mcat/githubDataExtraction.py <organization>
```

- `organization` is the name of the repository owner
Expand All @@ -119,7 +117,7 @@ python ./ml-conversational-analytic-tool/githubDataExtraction.py <organization>
`github_data.py` prepares your data for annotation use. Run the script by passing in path to `rawdatafile`.

```python
python ./ml-conversational-analytic-tool/github_data.py <rawdatafile> --name <output_filename>
python ./mcat/github_data.py <rawdatafile> --name <output_filename>
```

- `rawdatafile` is location of raw data csv
Expand All @@ -137,7 +135,7 @@ include sentiment and code blocks. `Words` file contains words important in meas
constructiveness. This functionality could be used instead of manual annotation.

```python
python ./ml-conversational-analytic-tool/featureVector.py <rawdatafile> --words <words_filename> --name <output_filename>
python ./mcat/featureVector.py <rawdatafile> --words <words_filename> --name <output_filename>
```
- `words` (optional) path to the words file
- `name` (optional) name of the output file.
Expand All @@ -154,7 +152,7 @@ There are two models available for training
To train, run the script with required parameters path to `annotated_filename`, `dataset_filename`, `model`, and `outcome`.

```python
python ./ml-conversational-analytic-tool/run.py <annotated_filename> <dataset_filename> <model> <outcome>
python ./mcat/run.py <annotated_filename> <dataset_filename> <model> <outcome>
```

- `annotated_filename` is the location of the annotated dataset file
Expand All @@ -176,12 +174,12 @@ communication, we welcome your contributions!
## Documentation

Auto-generated API documentation can be found in
[docs/ml-conversational-analytic-tool](./docs/ml-conversational-analytic-tool) directory.
[docs/mcat](./docs/mcat) directory.

Run the following command to update the API documentation

```python
PYTHONPATH=./ml-conversational-analytic-tool pdoc --html --output-dir docs ml-conversational-analytic-tool
PYTHONPATH=./mcat pdoc --html --output-dir docs mcat
```

## Blog Posts
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
<meta name="generator" content="pdoc 0.10.0" />
<title>ml-conversational-analytic-tool.baseCNN API documentation</title>
<title>mcat.baseCNN API documentation</title>
<meta name="description" content="" />
<link rel="preload stylesheet" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/11.0.1/sanitize.min.css" integrity="sha256-PK9q560IAAa6WVRRh76LtCaI8pjTJ2z11v0miyNNjrs=" crossorigin>
<link rel="preload stylesheet" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/11.0.1/typography.min.css" integrity="sha256-7l/o7C8jubJiy74VsKTidCy1yBkRtiUGbVkYBylBqUg=" crossorigin>
Expand All @@ -19,7 +19,7 @@
<main>
<article id="content">
<header>
<h1 class="title">Module <code>ml-conversational-analytic-tool.baseCNN</code></h1>
<h1 class="title">Module <code>mcat.baseCNN</code></h1>
</header>
<section id="section-intro">
<details class="source">
Expand Down Expand Up @@ -129,7 +129,7 @@ <h1 class="title">Module <code>ml-conversational-analytic-tool.baseCNN</code></h
<section>
<h2 class="section-title" id="header-classes">Classes</h2>
<dl>
<dt id="ml-conversational-analytic-tool.baseCNN.BaseCNN"><code class="flex name class">
<dt id="mcat.baseCNN.BaseCNN"><code class="flex name class">
<span>class <span class="ident">BaseCNN</span></span>
</code></dt>
<dd>
Expand Down Expand Up @@ -224,7 +224,7 @@ <h2 class="section-title" id="header-classes">Classes</h2>
</details>
<h3>Methods</h3>
<dl>
<dt id="ml-conversational-analytic-tool.baseCNN.BaseCNN.explain"><code class="name flex">
<dt id="mcat.baseCNN.BaseCNN.explain"><code class="name flex">
<span>def <span class="ident">explain</span></span>(<span>self, obs)</span>
</code></dt>
<dd>
Expand All @@ -241,7 +241,7 @@ <h3>Methods</h3>
return output</code></pre>
</details>
</dd>
<dt id="ml-conversational-analytic-tool.baseCNN.BaseCNN.makeModel"><code class="name flex">
<dt id="mcat.baseCNN.BaseCNN.makeModel"><code class="name flex">
<span>def <span class="ident">makeModel</span></span>(<span>self, input_shape)</span>
</code></dt>
<dd>
Expand All @@ -265,7 +265,7 @@ <h3>Methods</h3>
self.model_ready = True</code></pre>
</details>
</dd>
<dt id="ml-conversational-analytic-tool.baseCNN.BaseCNN.makeModel2D"><code class="name flex">
<dt id="mcat.baseCNN.BaseCNN.makeModel2D"><code class="name flex">
<span>def <span class="ident">makeModel2D</span></span>(<span>self, input_shape)</span>
</code></dt>
<dd>
Expand All @@ -290,7 +290,7 @@ <h3>Methods</h3>
self.model_ready = True</code></pre>
</details>
</dd>
<dt id="ml-conversational-analytic-tool.baseCNN.BaseCNN.predict"><code class="name flex">
<dt id="mcat.baseCNN.BaseCNN.predict"><code class="name flex">
<span>def <span class="ident">predict</span></span>(<span>self, obs, labels=False)</span>
</code></dt>
<dd>
Expand All @@ -309,7 +309,7 @@ <h3>Methods</h3>
return predictions</code></pre>
</details>
</dd>
<dt id="ml-conversational-analytic-tool.baseCNN.BaseCNN.saveModel"><code class="name flex">
<dt id="mcat.baseCNN.BaseCNN.saveModel"><code class="name flex">
<span>def <span class="ident">saveModel</span></span>(<span>self, name, version)</span>
</code></dt>
<dd>
Expand All @@ -322,7 +322,7 @@ <h3>Methods</h3>
self.model.save(&#34;{}/{}&#34;.format(name, version))</code></pre>
</details>
</dd>
<dt id="ml-conversational-analytic-tool.baseCNN.BaseCNN.scoreModel"><code class="name flex">
<dt id="mcat.baseCNN.BaseCNN.scoreModel"><code class="name flex">
<span>def <span class="ident">scoreModel</span></span>(<span>self, obs, res)</span>
</code></dt>
<dd>
Expand All @@ -343,7 +343,7 @@ <h3>Methods</h3>
return evaluation</code></pre>
</details>
</dd>
<dt id="ml-conversational-analytic-tool.baseCNN.BaseCNN.trainModel"><code class="name flex">
<dt id="mcat.baseCNN.BaseCNN.trainModel"><code class="name flex">
<span>def <span class="ident">trainModel</span></span>(<span>self, obs, res, val_split=0.3, val_set=None, epochs=10, batch_size=32)</span>
</code></dt>
<dd>
Expand Down Expand Up @@ -380,21 +380,21 @@ <h1>Index</h1>
<ul id="index">
<li><h3>Super-module</h3>
<ul>
<li><code><a title="ml-conversational-analytic-tool" href="index.html">ml-conversational-analytic-tool</a></code></li>
<li><code><a title="mcat" href="index.html">mcat</a></code></li>
</ul>
</li>
<li><h3><a href="#header-classes">Classes</a></h3>
<ul>
<li>
<h4><code><a title="ml-conversational-analytic-tool.baseCNN.BaseCNN" href="#ml-conversational-analytic-tool.baseCNN.BaseCNN">BaseCNN</a></code></h4>
<h4><code><a title="mcat.baseCNN.BaseCNN" href="#mcat.baseCNN.BaseCNN">BaseCNN</a></code></h4>
<ul class="two-column">
<li><code><a title="ml-conversational-analytic-tool.baseCNN.BaseCNN.explain" href="#ml-conversational-analytic-tool.baseCNN.BaseCNN.explain">explain</a></code></li>
<li><code><a title="ml-conversational-analytic-tool.baseCNN.BaseCNN.makeModel" href="#ml-conversational-analytic-tool.baseCNN.BaseCNN.makeModel">makeModel</a></code></li>
<li><code><a title="ml-conversational-analytic-tool.baseCNN.BaseCNN.makeModel2D" href="#ml-conversational-analytic-tool.baseCNN.BaseCNN.makeModel2D">makeModel2D</a></code></li>
<li><code><a title="ml-conversational-analytic-tool.baseCNN.BaseCNN.predict" href="#ml-conversational-analytic-tool.baseCNN.BaseCNN.predict">predict</a></code></li>
<li><code><a title="ml-conversational-analytic-tool.baseCNN.BaseCNN.saveModel" href="#ml-conversational-analytic-tool.baseCNN.BaseCNN.saveModel">saveModel</a></code></li>
<li><code><a title="ml-conversational-analytic-tool.baseCNN.BaseCNN.scoreModel" href="#ml-conversational-analytic-tool.baseCNN.BaseCNN.scoreModel">scoreModel</a></code></li>
<li><code><a title="ml-conversational-analytic-tool.baseCNN.BaseCNN.trainModel" href="#ml-conversational-analytic-tool.baseCNN.BaseCNN.trainModel">trainModel</a></code></li>
<li><code><a title="mcat.baseCNN.BaseCNN.explain" href="#mcat.baseCNN.BaseCNN.explain">explain</a></code></li>
<li><code><a title="mcat.baseCNN.BaseCNN.makeModel" href="#mcat.baseCNN.BaseCNN.makeModel">makeModel</a></code></li>
<li><code><a title="mcat.baseCNN.BaseCNN.makeModel2D" href="#mcat.baseCNN.BaseCNN.makeModel2D">makeModel2D</a></code></li>
<li><code><a title="mcat.baseCNN.BaseCNN.predict" href="#mcat.baseCNN.BaseCNN.predict">predict</a></code></li>
<li><code><a title="mcat.baseCNN.BaseCNN.saveModel" href="#mcat.baseCNN.BaseCNN.saveModel">saveModel</a></code></li>
<li><code><a title="mcat.baseCNN.BaseCNN.scoreModel" href="#mcat.baseCNN.BaseCNN.scoreModel">scoreModel</a></code></li>
<li><code><a title="mcat.baseCNN.BaseCNN.trainModel" href="#mcat.baseCNN.BaseCNN.trainModel">trainModel</a></code></li>
</ul>
</li>
</ul>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
<meta name="generator" content="pdoc 0.10.0" />
<title>ml-conversational-analytic-tool.baseLSTM API documentation</title>
<title>mcat.baseLSTM API documentation</title>
<meta name="description" content="" />
<link rel="preload stylesheet" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/11.0.1/sanitize.min.css" integrity="sha256-PK9q560IAAa6WVRRh76LtCaI8pjTJ2z11v0miyNNjrs=" crossorigin>
<link rel="preload stylesheet" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/11.0.1/typography.min.css" integrity="sha256-7l/o7C8jubJiy74VsKTidCy1yBkRtiUGbVkYBylBqUg=" crossorigin>
Expand All @@ -19,7 +19,7 @@
<main>
<article id="content">
<header>
<h1 class="title">Module <code>ml-conversational-analytic-tool.baseLSTM</code></h1>
<h1 class="title">Module <code>mcat.baseLSTM</code></h1>
</header>
<section id="section-intro">
<details class="source">
Expand Down Expand Up @@ -153,7 +153,7 @@ <h1 class="title">Module <code>ml-conversational-analytic-tool.baseLSTM</code></
<section>
<h2 class="section-title" id="header-classes">Classes</h2>
<dl>
<dt id="ml-conversational-analytic-tool.baseLSTM.BaseLSTM"><code class="flex name class">
<dt id="mcat.baseLSTM.BaseLSTM"><code class="flex name class">
<span>class <span class="ident">BaseLSTM</span></span>
</code></dt>
<dd>
Expand Down Expand Up @@ -272,7 +272,7 @@ <h2 class="section-title" id="header-classes">Classes</h2>
</details>
<h3>Methods</h3>
<dl>
<dt id="ml-conversational-analytic-tool.baseLSTM.BaseLSTM.explain"><code class="name flex">
<dt id="mcat.baseLSTM.BaseLSTM.explain"><code class="name flex">
<span>def <span class="ident">explain</span></span>(<span>self, obs)</span>
</code></dt>
<dd>
Expand All @@ -290,7 +290,7 @@ <h3>Methods</h3>
return imp</code></pre>
</details>
</dd>
<dt id="ml-conversational-analytic-tool.baseLSTM.BaseLSTM.makeModel"><code class="name flex">
<dt id="mcat.baseLSTM.BaseLSTM.makeModel"><code class="name flex">
<span>def <span class="ident">makeModel</span></span>(<span>self, input_shape)</span>
</code></dt>
<dd>
Expand All @@ -313,7 +313,7 @@ <h3>Methods</h3>
self.model_ready = True</code></pre>
</details>
</dd>
<dt id="ml-conversational-analytic-tool.baseLSTM.BaseLSTM.makeModel2D"><code class="name flex">
<dt id="mcat.baseLSTM.BaseLSTM.makeModel2D"><code class="name flex">
<span>def <span class="ident">makeModel2D</span></span>(<span>self, input_shape)</span>
</code></dt>
<dd>
Expand Down Expand Up @@ -355,7 +355,7 @@ <h3>Methods</h3>
self.model_ready = True</code></pre>
</details>
</dd>
<dt id="ml-conversational-analytic-tool.baseLSTM.BaseLSTM.predict"><code class="name flex">
<dt id="mcat.baseLSTM.BaseLSTM.predict"><code class="name flex">
<span>def <span class="ident">predict</span></span>(<span>self, obs, labels=False)</span>
</code></dt>
<dd>
Expand All @@ -371,7 +371,7 @@ <h3>Methods</h3>
return predictions</code></pre>
</details>
</dd>
<dt id="ml-conversational-analytic-tool.baseLSTM.BaseLSTM.saveModel"><code class="name flex">
<dt id="mcat.baseLSTM.BaseLSTM.saveModel"><code class="name flex">
<span>def <span class="ident">saveModel</span></span>(<span>self, name, version)</span>
</code></dt>
<dd>
Expand All @@ -384,7 +384,7 @@ <h3>Methods</h3>
self.model.save(&#34;{}/{}&#34;.format(name, version))</code></pre>
</details>
</dd>
<dt id="ml-conversational-analytic-tool.baseLSTM.BaseLSTM.scoreModel"><code class="name flex">
<dt id="mcat.baseLSTM.BaseLSTM.scoreModel"><code class="name flex">
<span>def <span class="ident">scoreModel</span></span>(<span>self, obs, res)</span>
</code></dt>
<dd>
Expand All @@ -405,7 +405,7 @@ <h3>Methods</h3>
return evaluation</code></pre>
</details>
</dd>
<dt id="ml-conversational-analytic-tool.baseLSTM.BaseLSTM.trainModel"><code class="name flex">
<dt id="mcat.baseLSTM.BaseLSTM.trainModel"><code class="name flex">
<span>def <span class="ident">trainModel</span></span>(<span>self, obs, res, val_split=0.3, val_set=None, epochs=10, batch_size=32)</span>
</code></dt>
<dd>
Expand Down Expand Up @@ -441,21 +441,21 @@ <h1>Index</h1>
<ul id="index">
<li><h3>Super-module</h3>
<ul>
<li><code><a title="ml-conversational-analytic-tool" href="index.html">ml-conversational-analytic-tool</a></code></li>
<li><code><a title="mcat" href="index.html">mcat</a></code></li>
</ul>
</li>
<li><h3><a href="#header-classes">Classes</a></h3>
<ul>
<li>
<h4><code><a title="ml-conversational-analytic-tool.baseLSTM.BaseLSTM" href="#ml-conversational-analytic-tool.baseLSTM.BaseLSTM">BaseLSTM</a></code></h4>
<h4><code><a title="mcat.baseLSTM.BaseLSTM" href="#mcat.baseLSTM.BaseLSTM">BaseLSTM</a></code></h4>
<ul class="two-column">
<li><code><a title="ml-conversational-analytic-tool.baseLSTM.BaseLSTM.explain" href="#ml-conversational-analytic-tool.baseLSTM.BaseLSTM.explain">explain</a></code></li>
<li><code><a title="ml-conversational-analytic-tool.baseLSTM.BaseLSTM.makeModel" href="#ml-conversational-analytic-tool.baseLSTM.BaseLSTM.makeModel">makeModel</a></code></li>
<li><code><a title="ml-conversational-analytic-tool.baseLSTM.BaseLSTM.makeModel2D" href="#ml-conversational-analytic-tool.baseLSTM.BaseLSTM.makeModel2D">makeModel2D</a></code></li>
<li><code><a title="ml-conversational-analytic-tool.baseLSTM.BaseLSTM.predict" href="#ml-conversational-analytic-tool.baseLSTM.BaseLSTM.predict">predict</a></code></li>
<li><code><a title="ml-conversational-analytic-tool.baseLSTM.BaseLSTM.saveModel" href="#ml-conversational-analytic-tool.baseLSTM.BaseLSTM.saveModel">saveModel</a></code></li>
<li><code><a title="ml-conversational-analytic-tool.baseLSTM.BaseLSTM.scoreModel" href="#ml-conversational-analytic-tool.baseLSTM.BaseLSTM.scoreModel">scoreModel</a></code></li>
<li><code><a title="ml-conversational-analytic-tool.baseLSTM.BaseLSTM.trainModel" href="#ml-conversational-analytic-tool.baseLSTM.BaseLSTM.trainModel">trainModel</a></code></li>
<li><code><a title="mcat.baseLSTM.BaseLSTM.explain" href="#mcat.baseLSTM.BaseLSTM.explain">explain</a></code></li>
<li><code><a title="mcat.baseLSTM.BaseLSTM.makeModel" href="#mcat.baseLSTM.BaseLSTM.makeModel">makeModel</a></code></li>
<li><code><a title="mcat.baseLSTM.BaseLSTM.makeModel2D" href="#mcat.baseLSTM.BaseLSTM.makeModel2D">makeModel2D</a></code></li>
<li><code><a title="mcat.baseLSTM.BaseLSTM.predict" href="#mcat.baseLSTM.BaseLSTM.predict">predict</a></code></li>
<li><code><a title="mcat.baseLSTM.BaseLSTM.saveModel" href="#mcat.baseLSTM.BaseLSTM.saveModel">saveModel</a></code></li>
<li><code><a title="mcat.baseLSTM.BaseLSTM.scoreModel" href="#mcat.baseLSTM.BaseLSTM.scoreModel">scoreModel</a></code></li>
<li><code><a title="mcat.baseLSTM.BaseLSTM.trainModel" href="#mcat.baseLSTM.BaseLSTM.trainModel">trainModel</a></code></li>
</ul>
</li>
</ul>
Expand Down
Loading

0 comments on commit 798f373

Please sign in to comment.