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

O-13: distarray local API -- elemental and pure procedures (optional)

Open
#193 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
python

Research direction

The issue does not name files or tests. Start by locating the existing odin.local decorator and its runtime handling, then define how users declare local functions as pure or elemental. Done means the API and runtime behavior support these declarations for map-reduce-style work and safe handling of redundant or overlapping data.

Written by the indexing model from the issue text.

Description

SBIR-year-2

Objective: To provide functionality that allows end users to specify that a local function is “elemental” or “pure”. Elemental routines can be applied on an element-by-element basis to the contents of its arguments without modifying those arguments, and pure routines guarantee that they will not modify their arguments.

Relevance: Elemental and pure routines, by guaranteeing not to modify their arguments or the contents of their arguments if container objects, allow for certain patterns that are difficult to accomplish with non-pure routines. This functionality will allow end users to accomplish map-reduce style work flows, for example.

Description: This task will provide either a separate decorator analogous to the odin.local decorator described above, or allow the end user to specify in another manner that a local function is pure or elemental. Once specified, the ODIN runtime is allowed to take these functions and possibly apply them in a manner that has more latitude when working with redundant data that is reproduced for fault tolerance or for overlapping regions in finite differencing style computations.

Dominant language
Python
Stars
5
Forks
1
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

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 enthought/distarray

All issues in enthought/distarray

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.