Skip to content

Commit

Permalink
#80 Filled the workflow section with useful information
Browse files Browse the repository at this point in the history
  • Loading branch information
roma-glushko committed Nov 9, 2023
1 parent 3f87b3a commit 7807f45
Showing 1 changed file with 40 additions and 4 deletions.
44 changes: 40 additions & 4 deletions docs/development.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,22 +25,58 @@ Our defaults should be reasonable to serve them well until they mature to fine-t

### Predictable


TBU

### Expressive

TBU

## Workflows

The main [Makefile](https://github.com/roma-glushko/hyx/blob/main/Makefile) contains commands useful during development
like linting or full test suite run.

Those checks are being applied on each pull request via Github Actions, so we keep the main branch as stable as possible.

### Installation

Hyx uses [Poetry](https://python-poetry.org/docs/) as a dependency manager, so it should be installed before installing Hyx's dependencies locally.
We recommend to use [Pyenv](https://github.com/pyenv/pyenv) to manage your Python environments, but you could really use any alternative you prefer.

```bash
~/.pyenv/versions/3.11.3/bin/python -m venv .venv
make install
```

### Linting

TBU
Hyx cares about typing as it makes Hyx use easier. Avoid using vague typings (e.g. typing.Any).
Hyx uses mypy, black, ruff to ensure code style and statically analyze the code. All of that could be run via:

```bash
make lint
```

### Tests

TBU
Hyx strives to keep high test coverage of the codebase. We focus on covering usecases rather than "running through each line".
All test suite could be executed via (takes about 8s):

```bash
make tests
```

Additionally, to ensure test coverage, Hyx is integrated with [CodeCov](https://app.codecov.io/github/roma-glushko/hyx).

### Docs

TBU
[Mkdocs](https://squidfunk.github.io/mkdocs-material/getting-started/) and [Readthedocs](https://readthedocs.io) power [the Hyx's documentation](https://hyx.readthedocs.io/en/latest/).
These are the main commands you may need while dealing with the docs:

```bash
make docs-serve # start a local documentation server
make docs-build # build a publishable files out of the documentation
```

Any update to Hyx's API is only considered as done when the corresponding documentation is updated.
So users have a simple way to discover all improvements and adjustments.

0 comments on commit 7807f45

Please sign in to comment.