Skip to main content

Generation of challenge packs

Project description

🛠️ grand-challenge-forge

A utility that generates distributable items that help challenge organizers set up their challenge more easily on Grand-Challenge.org.


CI PyPI PyPI - Python Version Code style: black

Install

Install via PyPi:

pip install grand-challenge-forge
grand-challenge-forge --help

📦 Challenge packs

A challenge pack consists of challenge-tailored examples for the following:

  • A script to automate uploading data to an archive
  • A submission algorithm that can be submitted to a challenge phase
  • An evaluation method that evaluates algorithm submissions and generates performance metrics for ranking

Usage

PACK generation

grand-challenge-forge pack pack-context.json

Will use the context found in pack-context.json and generate a pack at the current working directory in a directory dist/ (default).

Alternatively, you generate a pack by providing a JSON string directly:

grand-challenge-forge pack --output-dir /tmp '{ "challenge": { "slug": "a-slug"...'

This will output a pack directory in the /tmp directory.

Via API pack generation can be done via:

from grand_challenge_forge.forge import generate_challenge_pack
from Pathlib import Path

generate_challenge_pack(
    context={"challenge": {...}}
    output_path=Path("dist/"),
    delete_existing=False,
)

ALGORITHM-TEMPLATE generation

grand-challenge-forge algorithm algorithm-context.json

Will use the context found in algorithm-context.json and generate a algorith-template directory at the current working directory in a directory dist/ (default).

Alternatively, you generate an algorithm template by providing a JSON string directly:

grand-challenge-forge algorithm --output-dir /tmp '{ "algorithm": { ... } }'

This will output an algorithm-template directory in the /tmp directory.

Via API the algorithm-template generation can be done via:

from grand_challenge_forge.forge import generate_algorithm_template
from Pathlib import Path

generate_algorithm_template(
    context={"algorithm": { ... }}
    output_path=Path("dist/"),
    delete_existing=False,
)

🏗️ Development

Install locally

Install grand-challenge-forge locally (requires poetry):

git clone https://github.com/DIAGNijmegen/rse-grand-challenge-forge.git
cd rse-grand-challenge-forge
poetry install
poetry run grand-challenge-forge --help

Pre-commit hooks

Several linters and stylers run to check the formatting during continuous integration. Ensure they are run before committing by installing pre-commit.

Running Tests

use tox to run all tests across all supported python versions:

pip install tox
tox

Dependencies

Under the hood grand-challenge-forge uses:

  • Click
    • a composable command line interface toolkit
  • Jinja2
    • a utility that renders templates

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

grand_challenge_forge-0.7.2.tar.gz (32.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

grand_challenge_forge-0.7.2-py3-none-any.whl (48.2 kB view details)

Uploaded Python 3

File details

Details for the file grand_challenge_forge-0.7.2.tar.gz.

File metadata

  • Download URL: grand_challenge_forge-0.7.2.tar.gz
  • Upload date:
  • Size: 32.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.11.12 Linux/6.11.0-1012-azure

File hashes

Hashes for grand_challenge_forge-0.7.2.tar.gz
Algorithm Hash digest
SHA256 d7f8fa20cd67a396d5b319575c27079754a6f81924909599e34d91a064f8ef88
MD5 303b43ae9e056086e79338a4ca8c5829
BLAKE2b-256 a87ad2538e350f9b7e4805a44d6e07b8334116ed1042243418fd2ed5d58618af

See more details on using hashes here.

File details

Details for the file grand_challenge_forge-0.7.2-py3-none-any.whl.

File metadata

  • Download URL: grand_challenge_forge-0.7.2-py3-none-any.whl
  • Upload date:
  • Size: 48.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.11.12 Linux/6.11.0-1012-azure

File hashes

Hashes for grand_challenge_forge-0.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8c99541cf281d2da3a1186adb41d50bc39574482fea21027a9751e08336fbb3e
MD5 f160a933f772c7899c951722f4b715de
BLAKE2b-256 5b29eb5d40fa52dafed837105a5fbbda706c4a2e77c2366e0e093ecf6c475240

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page