1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
# Setup
## Requirements
* Make:
* macOS: `$ xcode-select --install`
* Linux: [https://www.gnu.org/software/make](https://www.gnu.org/software/make)
* Windows: [https://mingw.org/download/installer](https://mingw.org/download/installer)
* Python: `$ pyenv install`
* Poetry: [https://poetry.eustace.io/docs/#installation](https://poetry.eustace.io/docs/#installation)
* Graphviz:
* macOS: `$ brew install graphviz`
* Linux: [https://graphviz.org/download](https://graphviz.org/download/)
* Windows: [https://graphviz.org/download](https://graphviz.org/download/)
To confirm these system dependencies are configured correctly:
```text
$ make doctor
```
## Installation
Install project dependencies into a virtual environment:
```text
$ make install
```
# Development Tasks
## Manual
Run the tests:
```text
$ make test
```
Run static analysis:
```text
$ make check
```
Build the documentation:
```text
$ make docs
```
## Automatic
Keep all of the above tasks running on change:
```text
$ make watch
```
> In order to have OS X notifications, `brew install terminal-notifier`.
# Continuous Integration
The CI server will report overall build status:
```text
$ make ci
```
# Demo Tasks
Run the program:
```text
$ make run
````
Launch an IPython session:
```text
$ make ipython
```
# Release Tasks
Release to PyPI:
```text
$ make upload
```
|