Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ nav:
- API Reference:
- API: api/reference.md
- Dev: ref.md
- Contributing: contributing.md

markdown_extensions:
- admonition
Expand Down
12 changes: 9 additions & 3 deletions .github/workflows/chore.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,16 @@ jobs:
uv venv
uv pip install -e .

- name: Run tests
run: uv run pytest --cov --cov-branch --cov-report=xml
- name: Test with pytest
run: |
uv run pytest --cov --junitxml=junit.xml

- name: Upload results to Codecov
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
- name: Upload test results to Codecov
if: ${{ !cancelled() }}
uses: codecov/test-results-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ htmlcov/
.cache
nosetests.xml
coverage.xml
junit.xml
*.cover
*.py.cover
.hypothesis/
Expand Down
12 changes: 12 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,18 @@

The project main language is English.

## Pre-commit hooks

Run the following command to install the pre-commit hook:

```bash
make setup

pre-commit install --config .github/hooks/.pre-commit-config.yaml --hook-type pre-commit --install-hooks --overwrite
```

This will ensure that your code adheres to the project's coding standards before each commit.

## Commit message style

Commit messages should follow the [conventional commit specification](https://www.conventionalcommits.org/en/v1.0.0/).
Expand Down
66 changes: 15 additions & 51 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,76 +15,39 @@ WIP

## Getting started

See the [Documentation][docs] for more details.

### Prerequisites

WIP
- [uv](https://github.com/astral-sh/uv)
- [make](https://www.gnu.org/software/make/)

### Installation

WIP

## Usage

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md) for details on contributing to the project.

### Build

## Build
To build the project, run:

```bash
make
```

### Linter and type checker

Use [Ruff](https://github.com/charliermarsh/ruff) for linting and formatting:

```bash
make lint
```

Use [Ty](https://docs.astral.sh/ty/) for type checking:

```bash
make typecheck
```

Use the `check` target to run both linter and type checker:

```bash
make check
```

### Tests

Use [pytest](https://docs.pytest.org/en/latest/) to run the test suite:

```bash
make test

# Run tests with HTML report
uv run pytest --cov=hyperbench --cov-report=html
```

### Pre-commit hooks
## Usage

Run the following command to install the pre-commit hook:
WIP

```bash
make setup
## Contributing

pre-commit install --config .github/hooks/.pre-commit-config.yaml --hook-type pre-commit --install-hooks --overwrite
```
See [CONTRIBUTING.md](CONTRIBUTING.md) for details on contributing to the project.

## License

WIP

## Contact
## Discussion

WIP
Most development discussions take place on GitHub in this repo, via the [GitHub issue tracker][issues].


![Alt](https://repobeats.axiom.co/api/embed/c168082ecb1f9f843c1b170dcfee93542b576f61.svg "Repobeats analytics image")

<!-- LINKS -->
[contributors-shield]: https://img.shields.io/github/contributors/hypernetwork-research-group/hyperbench.svg?style=for-the-badge
Expand All @@ -98,3 +61,4 @@ WIP
[license-shield]: https://img.shields.io/github/license/hypernetwork-research-group/hyperbench.svg?style=for-the-badge
[license-url]: https://github.com/hypernetwork-research-group/hyperbench/blob/master/LICENSE.txt
[docs]: https://hypernetwork-research-group.github.io/hyperbench/
[issues]: https://github.com/hypernetwork-research-group/hyperbench/issues
41 changes: 31 additions & 10 deletions docs/api/reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@

Complete API documentation for all Hyperbench modules.

## Core Modules

### Data Module
## Data Module

::: hyperbench.data.dataset
options:
Expand All @@ -13,6 +11,29 @@ Complete API documentation for all Hyperbench modules.
members_order: source
show_submodules: true

::: hyperbench.data.loader
options:
show_root_heading: true
show_source: true
members_order: source
show_submodules: true

## Train Module

### Trainer

::: hyperbench.train.trainer
options:
show_root_heading: true
show_source: true

### Negative Sampler

::: hyperbench.train.negative_sampler
options:
show_root_heading: true
show_source: true

## Types Module

### HData
Expand All @@ -29,6 +50,13 @@ Complete API documentation for all Hyperbench modules.
show_root_heading: true
show_source: true

### Model

::: hyperbench.types.model
options:
show_root_heading: true
show_source: true

## Utils Module

### Data Utils
Expand All @@ -44,10 +72,3 @@ Complete API documentation for all Hyperbench modules.
options:
show_root_heading: true
show_source: true

## Data Loader

::: hyperbench.data.loader
options:
show_root_heading: true
show_source: true
42 changes: 40 additions & 2 deletions docs/contributing.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,41 @@
# Contributing to Hyperbench
# How to contribute

Thank you for your interest in contributing to Hyperbench!
The project main language is English.

## Pre-commit hooks

Run the following command to install the pre-commit hook:

```bash
make setup

pre-commit install --config .github/hooks/.pre-commit-config.yaml --hook-type pre-commit --install-hooks --overwrite
```

This will ensure that your code adheres to the project's coding standards before each commit.

## Commit message style

Commit messages should follow the [conventional commit specification](https://www.conventionalcommits.org/en/v1.0.0/).

The allowed structural elements are:
- `feat` for new features.
- `fix` for bug fixes.
- `chore` for changes to the build process or auxiliary tools and libraries such as documentation generation.
- `refactor` for code changes that neither fix a bug nor add a feature.
- `docs` for any documentation/README changes.

Commit messages should be structured in a way that can be read as if they were completing the sentence *"If applied, this commit will..."*. For example:

> feat: add new authentication method to API

Reads as *"If applied, this commit will add new authentication method to API"*.

## Branch naming

Branch names should be descriptive and use hyphens to separate words. They should also follow the same structure as commit messages, using the allowed structural elements. For example:
- `feat/add-user-authentication`
- `fix/issue-with-database-connection`
- `chore/update-dependencies`
- `refactor/improve-code-structure`
- `docs/update-contributing-guidelines`
52 changes: 52 additions & 0 deletions docs/getting-started/installation.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,55 @@
# Installation

## Prerequisites

- [uv](https://github.com/astral-sh/uv)
- [make](https://www.gnu.org/software/make/)

## Build
To build the project, run:
```bash
make
```

### Linter and type checker

Use [Ruff](https://github.com/charliermarsh/ruff) for linting and formatting:

```bash
make lint
```

Use [Ty](https://docs.astral.sh/ty/) for type checking:

```bash
make typecheck
```

Use the `check` target to run both linter and type checker:

```bash
make check
```

### Tests

Use [pytest](https://docs.pytest.org/en/latest/) to run the test suite:

```bash
make test

# Run tests with HTML report
uv run pytest --cov=hyperbench --cov-report=html
```

### Pre-commit hooks

Run the following command to install the pre-commit hook:

```bash
make setup

pre-commit install --config .github/hooks/.pre-commit-config.yaml --hook-type pre-commit --install-hooks --overwrite
```

This will ensure that your code adheres to the project's coding standards before each commit.
4 changes: 4 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,7 @@ Welcome to Hyperbench - A comprehensive benchmarking framework for hypergraph ne
## Overview

Hyperbench provides tools for working with hypergraph data in machine learning contexts. It supports loading datasets in HIF format, transforming them into PyTorch tensors, and preparing them for training hypergraph neural networks.

## Architecture

![Architecture Diagram](design.png)