Skip to content

kindling #784

Description

@AntoineSoetewey

Submitting Author Name: Antoine Soetewey
Submitting Author Github Handle: @AntoineSoetewey
Other Package Authors Github handles: @joshuamarie
Repository: https://github.com/joshuamarie/kindling
Submission type: Pre-submission
Language: en


  • Paste the full DESCRIPTION file inside a code block below:
Package: kindling
Type: Package
Title: Higher-Level Interface of 'torch' Package to Auto-Train Neural Networks
Version: 0.3.1.9000
Authors@R: c(
    person("Joshua", "Marie", 
           email = "joshua.marie.k@gmail.com", 
           role = c("aut", "cre")),
    person("Antoine", "Soetewey", 
           email = "antoine.soetewey@uclouvain.be", 
           role = "aut",
           comment = c(ORCID = "0000-0001-8159-0804"))
  )
Description: Provides a higher-level interface to the 'torch' package for defining,
    training, and fine-tuning neural networks through code generation.
    The package supports several architectures, including feedforward
    (multi-layer perceptron) and recurrent neural networks (RNN, LSTM,
    GRU), while reducing boilerplate 'torch' code. Model training
    methods also bridge to machine learning frameworks in R,
    particularly the 'tidymodels' ecosystem, including 'parsnip' model
    specifications, workflows, recipes, and tuning tools.
License: MIT + file LICENSE
Encoding: UTF-8
LazyData: true
Imports: 
    purrr,
    torch,
    rlang,
    cli,
    glue,
    vctrs,
    parsnip (>= 1.0.0),
    tibble,
    tidyr,
    dplyr,
    stats,
    NeuralNetTools,
    ggplot2,
    tune,
    dials,
    hardhat,
    lifecycle, 
    coro
Suggests:
    testthat (>= 3.0.0),
    magrittr,
    box,
    vip,
    recipes,
    workflows,
    rsample,
    yardstick,
    mlbench,
    modeldata,
    knitr,
    rmarkdown,
    DiceDesign,
    lhs,
    sfd,
    covr
Config/testthat/edition: 3
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.3.3
Depends: 
    R (>= 4.1.0)  
URL: https://kindling.joshuamarie.com, https://github.com/joshuamarie/kindling
BugReports: https://github.com/joshuamarie/kindling/issues
VignetteBuilder: knitr

Scope

  • Please indicate which category or categories from our package fit policies or statistical package categories this package falls under. (Please check one or more appropriate boxes below):

    Data Lifecycle Packages

    • data retrieval
    • data extraction
    • data munging
    • data deposition
    • data validation and testing
    • workflow automation
    • version control
    • citation management and bibliometrics
    • scientific software wrappers
    • field and lab reproducibility tools
    • database software bindings
    • geospatial data
    • translation

    Statistical Packages

    • Bayesian and Monte Carlo Routines
    • Dimensionality Reduction, Clustering, and Unsupervised Learning
    • Machine Learning
    • Regression and Supervised Learning
    • Exploratory Data Analysis (EDA) and Summary Statistics
    • Spatial Analyses
    • Time Series Analyses
    • Probability Distributions
  • Explain how and why the package falls under these categories (briefly, 1-2 sentences). Please note any areas you are unsure of:

kindling trains feedforward and recurrent neural networks (MLP/DNN, RNN/LSTM/GRU) on labeled tabular data for regression and classification, and registers these as tunable parsnip/tidymodels model specifications, mapping directly onto both "Regression and Supervised Learning" (defined input/output mappings, predict()/fit objects) and "Machine Learning" (training/test workflow, hyperparameter tuning via dials/tune). We are unsure whether the fact that kindling is primarily a higher-level interface/code generator over an existing package (torch) and existing framework (tidymodels), rather than a from-scratch algorithm implementation, changes which standards apply or whether it should also be considered under "scientific software wrappers". Happy to be redirected if so.

Not yet. We wanted to confirm category fit first before investing in full srr tagging, and will complete it once the category(ies) above are confirmed.

  • Who is the target audience and what are scientific applications of this package?

R users already working in the tidymodels ecosystem (researchers, applied statisticians, data scientists, students) who want to fit and tune feedforward or recurrent neural networks without hand-writing torch model/training-loop code, while still being able to inspect, modify, or extend the generated torch code directly. Applications include predictive modeling on tabular and sequential data, teaching neural-network fundamentals with inspectable generated code, and research workflows that need tidymodels-standard resampling/tuning/evaluation applied to deep learning models.

Yes: brulee (the official tidymodels/torch package), cito (formula-based inference/explainability for fully-connected and convolutional networks), and luz (a generic torch training-loop abstraction). kindling differs by combining architectural flexibility (FFNN and RNN/LSTM/GRU, with per-layer activations exposed as dials-tunable search dimensions) with inspectable code generation (the underlying torch::nn_module() expression can be printed, copied, and hand-edited rather than hidden behind an opaque wrapper) and full tidymodels integration (parsnip, recipes, workflows, tune/dials); a combination none of the three alternatives provide together. A detailed comparison table is maintained in the package's similar-packages vignette.

Not applicable: kindling is a general-purpose modeling framework that does not collect, store, or process personal, sensitive, or human-subjects data itself; any data privacy considerations depend entirely on what data a user chooses to train on.

  • Any other questions or issues we should be aware of?:

kindling was recently submitted to JOSS (openjournals/joss-reviews#10889) and desk-rejected solely because the public GitHub repository did not yet have six months of history (first public commit 2026-01-16); development itself began privately in November 2025. We mention this only for context on the package's actual maturity (it has been on CRAN since 2026-01-31 with 1,500+ downloads, 27 stars, 5 forks), not because we believe it affects rOpenSci's own eligibility criteria, which we understand differ from JOSS's.

Use of Generative AI

  • Generative AI tools were used to produce some of the material in this submission.

Generative AI (Claude/Claude Code, Anthropic) was used in two ways: (1) to suggest English phrasing and improve clarity while drafting the JOSS paper (paper.md), with all content critically reviewed and finalized by the authors; and (2) to run an automated pre-submission audit of the package (build, tests, documentation, README reproducibility) prior to the JOSS submission, with all findings reviewed and acted on by the authors.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions