pydata / pydata/xarray

pydata/xarray as monorepo for Xarray and NamedArray

Open
#8,310 1 comment 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

topic-NamedArray
Dominant language
Python
Stars
4.2k
Forks
1.4k
Avg merge
2d 15h
Merged PRs (30d)
14

Description

What is your issue?

As we work through refactoring for NamedArray, it's pretty clear that Xarray will depend pretty closely on many files in namedarray/. For example various utils.py, pycompat.py, *ops.py, formatting.py, formatting_html.py at least. This promises to be quite painful if we did break NamedArray out in to its own repo (particularly around typing, e.g. https://github.com/pydata/xarray/pull/8309)

I propose we use pydata/xarray as a monorepo that serves two packages: NamedArray and Xarray.

  • We can move as much as is needed to have NamedArray be independent of Xarray, but Xarray will depend quite closely on many utility functions in NamedArray.
  • We can release both at the same time similar to dask and distributed.
  • We can re-evaluate if and when NamedArray grows its own community.

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.

Research direction

Start by reading the NamedArray refactoring context and PR #8309, then inspect the namedarray utility files mentioned, including utils.py, pycompat.py, *ops.py, formatting.py, and formatting_html.py. Done would be an agreed design and implementation plan for the monorepo structure, two packages, and coordinated releases.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, release
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.