Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

🛠️ 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

Metadata

Release files for grand-challenge-forge 0.7.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for grand-challenge-forge 0.7.5
File Size Uploaded
grand_challenge_forge-0.7.5.tar.gz 32.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for grand-challenge-forge 0.7.5
File Interpreter ABI Platform
grand_challenge_forge-0.7.5-py3-none-any.whl Python 3 none any Details

Total release size: 80.3 kB

Release files / grand_challenge_forge-0.7.5.tar.gz

Download URL grand_challenge_forge-0.7.5.tar.gz
Size 32.1 kB
Tags Source
SHA-256 checksum
How to use checksums
4bd57201f46ae0965eaa526393055819550a0f9464178724d9645dfd190c667d
BLAKE2b-256 checksum
How to use checksums
b5a991a9793f59dd53947c96b81b4ccaf1ce53aa215fc56621397628e8dcd91a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.3 CPython/3.11.13 Linux/6.11.0-1018-azure

Release files / grand_challenge_forge-0.7.5-py3-none-any.whl

Download URL grand_challenge_forge-0.7.5-py3-none-any.whl
Size 48.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aa7c2f6de8233af92e1f03a5bf13bdc5e7c0265981f5408881c5e9376c0b6bad
BLAKE2b-256 checksum
How to use checksums
708daeb3412e9086ca020e39418fee90715b5fd675884baa3cb3d7066b746762
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.3 CPython/3.11.13 Linux/6.11.0-1018-azure
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page