Skip to content

logolink: An Interface for Running NetLogo Simulations from R #741

@danielvartan

Description

@danielvartan

Submitting Author Name: Daniel Vartanian
Submitting Author Github Handle: @danielvartan
Repository: https://github.com/danielvartan/logolink
Version submitted: 1.0.0
Submission type: Standard
Editor: @jhollist
Reviewers: @jmaspons, @bitbacchus

Due date for @jmaspons: 2026-03-04

Due date for @bitbacchus: 2026-03-20
Archive: TBD
Version accepted: TBD
Language: en


  • Paste the full DESCRIPTION file inside a code block below:
Package: logolink
Title: An Interface for Running 'NetLogo' Simulations
Version: 1.0.0
Authors@R: c(
        person(
            given = "Daniel",
            family = "Vartanian",
            role = c("aut", "cre", "ccp", "cph"),
            email = "danielvartan@proton.me",
            comment = c(ORCID = "0000-0001-7782-759X")
        )
    )
Description: An interface for 'NetLogo' <https://www.netlogo.org> that enables
    programmatic setup and execution of simulations. Designed to facilitate
    integrating 'NetLogo' models into reproducible workflows by creating and
    running 'BehaviorSpace' experiments and retrieving their results.
License: GPL (>= 3)
URL: https://danielvartan.github.io/logolink/,
    https://github.com/danielvartan/logolink/
BugReports: https://github.com/danielvartan/logolink/issues/
Depends: R (>= 4.4)
Imports:
    checkmate (>= 2.3.3),
    cli (>= 3.6.5),
    dplyr (>= 1.1.4),
    fs (>= 1.6.6),
    glue (>= 1.8.0),
    janitor (>= 2.2.1),
    magrittr (>= 2.0.4),
    purrr (>= 1.2.0),
    readr (>= 2.0.0),
    tidyr (>= 1.3.1),
    stringr (>= 1.6.0),
    xml2 (>= 1.4.0)
Suggests:
    bslib (>= 0.9.0),
    colorspace (>= 2.1.2),
    covr (>= 3.6.5),
    curl (>= 7.0.0),
    ggplot2 (>= 4.0.1),
    ggimage (>= 0.3.4),
    ggtext (>= 0.1.2),
    here (>= 1.0.2),
    httr2 (>= 1.2.1),
    knitr (>= 1.50),
    lifecycle (>= 1.0.4),
    magick (>= 2.9.0),
    quarto (>= 1.5.1),
    ragg (>= 1.5.0),
    remotes (>= 2.5.0),
    rsvg (>= 2.7.0),
    scales (>= 1.4.0),
    spelling (>= 2.3.2),
    tibble (>= 3.3.0),
    testthat (>= 3.3.0)
VignetteBuilder: quarto
Config/testthat/edition: 3
Encoding: UTF-8
Language: en-US
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.3.3
LazyData: true

Scope

  • Please indicate which category or categories from our package fit policies this package falls under: (Please check an appropriate box below. If you are unsure, we suggest you make a pre-submission inquiry.):

    • 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
  • Explain how and why the package falls under these categories (briefly, 1-2 sentences):

logolink is an R package that simplifies setting up and running NetLogo simulations directly from R (scientific software wrappers). It also includes routines for data tidying and parsing NetLogo data types (data munging).

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

logolink was designed for researchers in complexity science, including ecology, epidemiology, social sciences, and economics, who work with agent-based modeling (ABM) and complex systems simulation. It enables reproducible computational experiments and analysis across any domain where NetLogo models are employed.

While other R packages connect R to NetLogo, logolink is currently the only one that fully supports the latest NetLogo release (Broader in functionality). It is actively maintained, follows tidyverse conventions, and is designed to be simple and straightforward to use (More open in licensing or development practices).

For context, RNetLogo supports only older versions (up to 6.0.0, released in December 2016) and has not been updated since June 2017. nlrx offers a powerful framework for managing experiments and results, but supports only up to NetLogo 6.3.0 (released in September 2022), requires additional system dependencies, uses its own internal conventions that diverge from NetLogo standards, and has many unresolved issues (Actively maintained while alternatives are poorly or no longer actively maintained) (Better in usability and performance).

logolink complements these packages by prioritizing simplicity, offering finer control over output, ensuring full compatibility with NetLogo 7, and integrating seamlessly with modern R workflows.

Not applicable.

  • If you made a pre-submission inquiry, please paste the link to the corresponding issue, forum post, or other discussion, or @tag the editor you contacted.

Not applicable.

  • Explain reasons for any pkgcheck items which your package is unable to pass.
── logolink 1.0.0 ───────────────────────────────────────────────────────────────

✔ Package is already on CRAN.
✔ has a 'codemeta.json' file.
✔ has a 'contributing' file.
✔ uses 'roxygen2'.
✔ 'DESCRIPTION' has a URL field.
✔ 'DESCRIPTION' has a BugReports field.
✔ Package has at least one HTML vignette
✔ All functions have examples.
✔ Package has continuous integration checks.
✔ Package coverage is 100%.
✔ All goodpractice linters passed.
✔ R CMD check found no errors.
✔ R CMD check found no warnings.
ℹ Function names are duplicated in other packages
ℹ Examples should not use `\dontrun` unless really necessary.

ℹ Current status:
✔ A truly lovely set of check results!

[...]

✖ The following 3 function names are duplicated in other packages:
  • - `create_experiment` from previsionio, SigOptR, cometr, SqueakR
  • - `read_experiment` from Rtrack
  • - `run_experiment` from CAISEr, R6causal, banditsCI, calmr

There is minimal overlap in function names. These function names follow the Tidyverse Style Guide, making the package usage more intuitive and user-friendly.

Some examples must use \dontrun because CRAN runners do not have NetLogo installations or allow internet connectivity.

Technical checks

Confirm each of the following by checking the box.

This package:

Publication options

  • Do you intend for this package to go on CRAN?

  • Do you intend for this package to go on Bioconductor?

  • Do you wish to submit an Applications Article about your package to Methods in Ecology and Evolution? If so:

MEE Options
  • The package is novel and will be of interest to the broad readership of the journal.
  • The manuscript describing the package is no longer than 3000 words.
  • You intend to archive the code for the package in a long-term repository which meets the requirements of the journal (see MEE's Policy on Publishing Code)
  • (Scope: Do consider MEE's Aims and Scope for your manuscript. We make no guarantee that your manuscript will be within MEE scope.)
  • (Although not required, we strongly recommend having a full manuscript prepared when you submit here.)
  • (Please do not submit your package separately to Methods in Ecology and Evolution)

Code of conduct

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions