You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+29-38Lines changed: 29 additions & 38 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ speed!
9
9
</b>
10
10
</p>
11
11
12
-
[](https://github.com/GatorEducator/gatorgrader/actions?query=workflow%3A%22Lint+and+Test%22+branch%3Amaster) [](https://codecov.io/gh/GatorEducator/gatorgrader) [](https://www.codacy.com/app/GatorEducator/gatorgrader?utm_source=github.com&utm_medium=referral&utm_content=GatorEducator/gatorgrader&utm_campaign=Badge_Grade) [](https://github.com/GatorEducator/gatorgrader/graphs/commit-activity) [](https://github.com/GatorEducator/gatorgrader/blob/master/LICENSE.md) [](#contributors)
12
+
[](https://github.com/GatorEducator/gatorgrader/actions?query=workflow%3A%22Lint+and+Test%22+branch%3Amaster)[](https://codecov.io/gh/GatorEducator/gatorgrader)[](https://github.com/GatorEducator/gatorgrader/graphs/commit-activity)[](https://github.com/GatorEducator/gatorgrader/blob/master/LICENSE.md)[](#contributors)
13
13
14
14
## Table of Contents
15
15
@@ -29,12 +29,6 @@ speed!
29
29
*[Contributing](#contributing)
30
30
*[Contributors](#contributors)
31
31
32
-
### Notes for PyPI Users
33
-
34
-
This release (`1.1.0`) of GatorGrader is intended to be a stop-gap solution. It is released from the [`feature/publish-to-pypi`](https://github.com/GatorEducator/gatorgrader/tree/feature/publish-to-pypi) branch on GitHub. In future versions, some changes may be made to the structure and distribution of this package. Additionally, the documentation available in the rest of this document may or may not be fully accurate. For users who just wish to use GatorGrader on the command line, all that is needed is to install this package and run `gatorgrader`. For help on syntax and available options, see `gatorgrader --help`.
35
-
36
-
For users who would like to interact with GatorGrader programmatically, refer to the docstrings available in `gatorgrader.py` and `gator/__init__.py` (or view them in your editor-of-choice with support for a [Python Language Server](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)). In summary, however, GatorGrader can be run by importing the `gator` package and calling `gator.grader(["list", "--of", "command", "--line", "arguments"])`, the syntax of which matches previous versions of GatorGrader. For additional help or guidance, see `gatorgrader --help` or reach out to any of the core maintainers.
37
-
38
32
## Quickstart Guide
39
33
40
34
* Starter Repositories
@@ -68,7 +62,7 @@ and what it looks like when those tasks are completed.
68
62
GatorGrader automatically checks the work of technical writers and programmers.
69
63
It can:
70
64
71
-
*Use its [Gradle plugin](https://github.com/GatorEducator/gatorgradle) to check
65
+
*Enable [GatorGrade](https://github.com/GatorEducator/gatorgrade) to check
72
66
projects implemented and documented in a wide variety of languages (e.g.,
73
67
Java, Python, LaTeX, Markdown, HTML, and CSS).
74
68
@@ -111,13 +105,12 @@ Classroom](https://classroom.github.com/) to effectively handle those tasks.
111
105
112
106
## Installing GatorGrader
113
107
114
-
Installing GatorGrader is not necessary if you intend to use it through its
115
-
[Gradle plugin](https://github.com/GatorEducator/gatorgradle). If you want to
116
-
participate in the development of GatorGrader, the project maintainers suggest
117
-
the use of [Pyenv](https://github.com/pyenv/pyenv) to install Python 3.6 or
118
-
above. In addition to installing [Git](https://git-scm.com/) to access the
119
-
project's GitHub repository, you should also install
120
-
[Pipenv](https://github.com/pypa/pipenv) for its support of package and virtual
108
+
Installing GatorGrader is not necessary if you intend to use it through [GatorGrade](https://github.com/GatorEducator/gatorgrader).
109
+
If you want to participate in the development of GatorGrader, the project
110
+
maintainers suggest the use of [Pyenv](https://github.com/pyenv/pyenv) to
111
+
install Python 3.7 or above. In addition to installing [Git](https://git-scm.com/)
112
+
to access the project's GitHub repository, you should also install
113
+
[Poetry](https://python-poetry.org/) for its support of package and virtual
121
114
environment management. After completing the installation of these tools, you
122
115
can type the following command in your terminal window to clone GatorGrader's
If you plan to develop new features for GatorGrader or if you want to run the
130
123
tool's test suite in [Pytest](https://github.com/pytest-dev/pytest), then you
131
-
will need to install the developer dependencies by typing ``pipenv install --python="$(pyenv which python)" --dev`` in the directory that contains
132
-
GatorGrader. If you want to use GatorGrader, then you can type ``pipenv install --python="$(pyenv which python)"`` instead. Once these commands complete
133
-
successfully, you have officially installed GatorGrader! Note that running these
134
-
commands will ensure that Pipenv creates a virtual environment for GatorGrader
135
-
that is bound to the version of Python that Pyenv set for use.
124
+
will need to install a virtual environment for development by typing `poetry install`
125
+
in the directory that contains GatorGrader. For help with this process, refer to
@@ -146,7 +137,7 @@ in a terminal window will perform testing with the version of Python to which
146
137
Pipenv's virtual environment is currently bound.
147
138
148
139
```
149
-
pipenv run test
140
+
poetry run task test
150
141
```
151
142
152
143
### Test Coverage
@@ -159,16 +150,16 @@ command, this will run the tests in the version of Python to which Pipenv's
159
150
virtual environment is currently bound.
160
151
161
152
```
162
-
pipenv run cover
153
+
poetry run task cover
163
154
```
164
155
165
156
### Testing with Multiple Python Versions
166
157
167
158
The previous two commands are restricted to running the test suite in the
168
-
version of Python to which Pipenv was bound. If you have installed multiple
169
-
versions of Python with Pyenv and you want to iteratively bind Pipenv to each
159
+
version of Python with which Poetry was initialized. If you have installed multiple
160
+
versions of Python with Pyenv and you want to iteratively initialized Poetry with each
170
161
version and then run the test suite, then you should first run the following
171
-
commands to install [Pipx](https://github.com/pipxproject/pipx) and use Pipx to
162
+
commands to install [Pipx](https://pypa.github.io/pipx/) and use Pipx to
172
163
install [Invoke](https://github.com/pyinvoke/invoke). The first of these three
173
164
commands will install `pipx`, a program that supports the execution of Python
174
165
packages in isolated environments. The second command makes the directory
@@ -211,17 +202,17 @@ The developers of GatorGrader use linting and code formatting tools, such as
211
202
[Pylint](https://github.com/PyCQA/pylint),
212
203
[Pydocstyle](https://github.com/PyCQA/pydocstyle), and
213
204
[Black](https://github.com/python/black). After installing GatorGrader's
214
-
development dependencies with Pipenv, you can run all of the linters by typing
205
+
development dependencies with Poetry, you can run all of the linters by typing
215
206
this command in a terminal window.
216
207
217
208
```bash
218
-
pipenv run lint --check
209
+
poetry run task lint --check
219
210
```
220
211
221
212
### Automated Checks
222
213
223
214
Want to learn about our linting checks? Check us out on our website,
224
-
[GatorGrader](https://deploy-preview-1--gatorgrader.netlify.com)! We have detailed
215
+
[GatorGrader](https://www.gatorgrader.org/)! We have detailed
225
216
descriptions of our linting checks and more! To get an idea of the linting checks we
226
217
offer, here is a quick list:
227
218
@@ -251,20 +242,17 @@ If `--help` is tagged along with a check then a help message will be displayed a
251
242
then exited. If further assistance is needed, please contact us on GitHub.
252
243
253
244
Another feature with our automated checks is the **plug-in based approach**. This allows
254
-
users to implement their own check if our initial 15 do not fulfill a check that
245
+
users to implement their own check if our initial checks do not fulfill a check that
255
246
you find necessary.
256
247
257
248
## Running GatorGrader
258
249
259
-
Students and instructors normally use GatorGrader through its [Gradle
260
-
plugin](https://github.com/GatorEducator/gatorgradle), specifying the requested
261
-
checks in a `config/gatorgrader.yml` file. When run through Gradle, GatorGrader
250
+
Students and instructors normally use GatorGrader through [GatorGrade](https://github.com/GatorEducator/gatorgrade),
251
+
specifying the requested checks in a `gatorgrade.yml` file. When run through GatorGrade, GatorGrader
262
252
reports each check that it performed, additionally sharing a diagnostic message
263
253
for each check that did not pass. Individuals who want to run GatorGrader as a
264
-
stand-alone Python application should first install it's application
265
-
dependencies with Pipenv and then learn about the supported checks and their
266
-
defaults by typing `pipenv run python3 gatorgrader.py --help` in a terminal
267
-
window.
254
+
stand-alone Python application can install GatorGrader itself through [Pipx](https://pypa.github.io/pipx/),
255
+
and then run `gatorgrader --help` to get more details on the command-line interface.
268
256
269
257
Instructors often run GatorGrader in conjunction with other tools that check
270
258
source code and technical writing. For instance, in a Java-based introductory
@@ -285,12 +273,15 @@ with a wide variety of other linters, code formatters, and testing tools.
285
273
Instructors may at times need to see a full list of checks to have a better understanding
286
274
and therefore, we feel that it is important to know that there is an easy way for that to happen.
287
275
This action will be completed through command line and therefore, you can type
288
-
`pipenv run python gatorgrader.py ListChecks` into your terminal. This allows for
289
-
all of the checks to be printed out as output. This output will have the necessary
276
+
`gatorgrader ListChecks` into your terminal, if you've installed GatorGrader as detailed above.
277
+
This allows for all of the checks to be printed out as output. This output will have the necessary
290
278
name labeled with the required and optional arguments. If this output does not give enough content,
291
279
we warmly invite you to navigate to our website, where we go into more detail about our Automated Checks.
292
280
293
281
## Using Docker
282
+
283
+
_Note: Docker supports the older GatorGrader execution tool, [GatorGradle](https://github.com/GatorEducator/gatorgradle). It is not needed for GatorGrade!_
284
+
294
285
A vital part of our process for GatorGrader is to implement and use new techniques
295
286
to further our tool to grow. This is why we chose to use Docker! Docker is a container
296
287
platform and therefore, allows students using GatorGrader to just open a container
0 commit comments