Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Consider a more Gradle-native syntax to specify Python dependencies in the Gradle plugin

Open
#461 1 comment 0 reactions 1 assignee View on GitHub

@steve-s is already working on this.

Since Dec 23, 2024.

Assessment

This issue has not been assessed yet.

Description

Currently, specifying Python dependencies from Gradle seems to work like:

plugins {
    id("org.graalvm.python") version "24.1.1"
}

graalPy {
    packages = setOf("pyfiglet==1.0.2")
}

As a Gradle user, I'd expect a syntax that is more "native" to Gradle, e.g. via a graalPy Gradle configuration:

plugins {
    id("org.graalvm.python") version "24.1.1"
}

dependencies {
    graalPy("pyfiglet:1.0.2")
}

While I haven't tested this, I assume that as the configuration will be resolved by the plugin, the dependency notation can omit the usual group name. If for whatever reason a group name would be syntactically required, a dummy name like "python" could be added.

Background: I'm inspired by how the JRuby Gradle plugin does it (note that this is still Groovy instead of Kotlin DSL syntax):

dependencies {
    /* Using the built-in `jrubyJar` configuration to describe the
     * dependencies our jrubyJar task will need, so the gem is properly
     * included in the resulting .jar file
     */
    jrubyJar "rubygems:colorize:0.7.7+"
    jrubyJar 'org.slf4j:slf4j-simple:1.7.12'
}

Following this approach consistently across all Gradle plugins for GraalVM languages would make a great Gradle user experience IMO, and maybe all Gradle plugins could even share some common code (to create those language-specific configurations etc.).

Dominant language
Python
Stars
1.6k
Forks
155
Avg merge
8h 58m
Merged PRs (30d)
39

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from oracle/graalpython

All issues in oracle/graalpython

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.