astropy-project icon indicating copy to clipboard operation
astropy-project copied to clipboard

Coordination Meeting 2024

Open pllim opened this issue 2 years ago • 35 comments

Like https://github.com/astropy/astropy-project/issues/255 but for 2024 meeting, since I think collecting ideas on an issue had been pretty successful for the 2023 meeting.

2024 meeting wiki

Running notes from 2023 meeting

Project roadmap

pllim avatar Jun 19 '23 16:06 pllim

@WilliamJamieson and @nstarman might propose a topic related to array API, though this depends on how stable the array API is by the time this meeting happens. Also see:

  • https://github.com/astropy/astropy/issues/13460
  • https://github.com/astropy/astropy/issues/15071
  • https://github.com/astropy/astropy/issues/15072
  • https://github.com/astropy/astropy/issues/15073
  • https://data-apis.org/array-api/latest/ (Scipy 2023 talk)

pllim avatar Jul 31 '23 14:07 pllim

Suggestions of SOC meeting, 2023-11-28:

  • Ask new roles (e.g. community manager) to introduce themselves and tell us they have been / will be doing.
  • Reports from funded projects

jdswinbank avatar Nov 28 '23 15:11 jdswinbank

Re: ask new roles -- Also @taldcroft can report on mentoring progress.

pllim avatar Dec 04 '23 17:12 pllim

Suggestion for topic, coming out of the dev-telecon: Discussion of Science platforms (e.g. SciServer, ...) Do we recommend any? Do we want to maintain our own at some point? Do we want to test any? Do we need to do anything to make it work better? Or make it work less (evil_grin)?

hamogu avatar Dec 07 '23 17:12 hamogu

@hamogu can provide a debrief on how that contracting work initiative has worked out. By this meeting, both contracts with Clément and Mridul would have ended. Also see:

  • https://github.com/astropy/astropy-project/blob/main/finance/proposal-calls/cycle3/user-dev-support-rse.md

(If this counts as "funded projects" in https://github.com/astropy/astropy-project/issues/349#issuecomment-1830033794 , then feel free to resolve this comment as duplicate. I was not sure. Thanks!)

pllim avatar Dec 07 '23 17:12 pllim

Review and discuss @nstarman proposed APE 22 on Public API:

  • https://github.com/astropy/astropy-APEs/pull/85

pllim avatar Dec 08 '23 16:12 pllim

Exploratory implemetation of mypy in typing efforts (maybe it can drive some discussions on how to actually do this for real):

  • https://github.com/astropy/astropy/pull/15794
  • https://github.com/astropy/astropy/pull/15815
  • https://github.com/astropy/astropy/pull/16312

pllim avatar Jan 04 '24 16:01 pllim

Princess Bride screening for the benefit of @dhomeier , as requested by @eteq .

pllim avatar Jan 22 '24 18:01 pllim

Maybe a demo at the meeting?

@nstarman on 2024-01-16

Hi! I've created and am continuing to refine a GPT for Astronomy in Python using the Astropy ecosystem. I've trained it on (in order of priority) Astropy, the coordinated packages, and all affiliate packages. Here's the link if you want to try it out https://chat.openai.com/g/g-oucCOdFuw-astronomy-python-copilot. Let me know if there are any improvements you'd like to see!

Disclaimer (as reported by laurent.michel on that Slack conversation): Testing this API requires to sign-in for ChatGPT+ (20$/month).

pllim avatar Jan 22 '24 18:01 pllim

Quantity 2.0 (led by @nstarman):

  • https://github.com/astropy/astropy-APEs/pull/91

PL edit: Maybe related?

  • https://github.com/astropy/astropy/issues/13460

hamogu avatar Feb 01 '24 16:02 hamogu

If this issue is still open:

  • https://github.com/astropy/astropy/issues/16035

pllim avatar Feb 14 '24 17:02 pllim

Astropy in the age of The Cloud (AWS):

  • https://github.com/astropy/astropy/issues/16152
  • https://github.com/astropy/astropy/pull/16159

pllim avatar Mar 04 '24 18:03 pllim

If anyone wants to work on this and needs support for the ChatGPT+ subscription, please post in #finance-committee on Slack or send an email to [email protected].

kelle avatar Mar 08 '24 16:03 kelle

If there is still no consensus on this APE 0 term limit proposal by the meeting, I say we just put it to a vote at the Coordination Meeting and be done with it. Though I think as per policy, all the 5 current CoCo members are not allowed to ~vote~ accept/reject this.

  • https://github.com/astropy/astropy-APEs/pull/89

pllim avatar Mar 15 '24 14:03 pllim

I don't understand why you think CoCo5 can't vote since they have the ultimate authority. Isn't it up to CoCo5 to decide the method used to decide?

kelle avatar Mar 15 '24 14:03 kelle

APE 0 says that the CoCo doesn't have the authority to accept/reject APE 0 or modify the governance of the project - however it's not clear to me that they can't vote if they are voting members.

astrofrog avatar Mar 15 '24 14:03 astrofrog

Ah, ok... I guess I confused the different ways we can be involved.

pllim avatar Mar 15 '24 18:03 pllim

Session on what, if anything, should be changed/improved in the core astropy classes. For instance,

  • Changes in implementations?
    • coordinates - currently, frames can be with and without data. Wouldn't it be cleaner if they never held data (i.e., the representation is SkyCoords worry)? (arose in discussion with @adrn)
    • coordinates.representations - can we somehow make the linkage of derivatives with their representations less painful/circular? (vaguely recall this came up in talking to @nstarman, but not sure, may have been @adrn).
    • time - the data is almost exclusively dealt with in the Time class, yet stored on the format. Should it be on Time? Alternatively, should TimeFormat be a subclass of ShapedLikeNDArray such that it can deal with reshaping, etc.
    • table - might it be time to merge QTable and Table, allowing float Column with units only if explicitly set?
  • Improvements
    • coordinates - Can we add accelerations?
    • io.fits - native use of Quantity and other classes? (e.g., in headers: (issue, old PR)
    • Support Masked and Distribution for all core classes. How would this work?
    • Support Array API so all big classes can deal with dask, etc.?
    • Any big performance bottlenecks?

More generally, are there any big missing pieces? E.g.,

  • Error propagation?

mhvk avatar Mar 18 '24 20:03 mhvk

coordinates.representations - can we somehow make the linkage of derivatives with their representations less painful/circular? (vaguely recall this came up in talking to @nstarman, but not sure, may have been @adrn).

I was advocating that we make a Space (e.g. phase-space) class that is a dictionary of Representation, Differential, etc objects + representation transformation machinery. This is basically moving the Representation.differentials out of Representation and into a composed class. Combined with a better separation of coordinate frames and data we get something like this:

>>> import astropy.coordinates as coord

# Representation objects
>>> q = coord.CartesianRepresentation(...)
>>> p = coord.CartesianDifferential(...)

# Collection thereof
>>> cart_space = coord.Space(length=q, speed=p)  # parametrized by the physical type
>>> cart_space
Space({PhysicalType("length"): CartesianRepresentation(...), PhysicalType("speed"): CartesianDifferential(...)})

>>> sph_space = cart_space.represent_as(length=coord.SphericalRepresentation)
>>> sph_space
Space({PhysicalType("length"): SphericalRepresentation(...), PhysicalType("speed"): SphericalDifferential(...)})

>>> sph_space = cart_space.represent_as(length=coord.CylindricalRepresentation, speed=coord.SphericalDifferential)
>>> sph_space
Space({PhysicalType("length"): CylindricalRepresentation(...), PhysicalType("speed"): SphericalDifferential(...)})

# With frames
>>> frame = coord.ICRS()
>>> c = SkyCoord(sph_space, frame=frame)

# There are many ways to initialize
>>> c = SkyCoord(length=q, speed=p, frame=frame)
>>> isinstance(c.data, coord.Space)
True

# There are all the same ways to initialize
>>> c = SkyCoord(ra=..., dec=...)
>>> isinstance(c.data, coord.Space)
True

nstarman avatar Mar 21 '24 16:03 nstarman

Thanks! Seems well worth discussing in more detail. The one piece that worries me is the example of cylindrical representation with spherical differential - interpreting the differentials requires one to know about the corresponding representation - but I can see the Space class in principle taking care of that. Adding accelerations would force us to think this through more clearly.

mhvk avatar Mar 21 '24 18:03 mhvk

Discuss what we can do based on report from Astropy Community Survey.

  • https://github.com/astropy/astropy.github.com/pull/581

pllim avatar Apr 04 '24 15:04 pllim

Also related to ruff (https://github.com/astropy/astropy-project/issues/349#issuecomment-1944267950):

@astrofrog -- We should have policy to limit manually adding/enforcing new ruff rules to avoid open PR conflicts.

pllim avatar Apr 11 '24 15:04 pllim

Celebrate the completion of the Moore grant!! 💸🎉

kelle avatar Apr 12 '24 12:04 kelle

Celebrate the completion of the Moore grant!! 💸🎉

Also discuss lessons-learned thus far and big-picture plans for maintaining sustainable funding for Astropy.

taldcroft avatar Apr 12 '24 12:04 taldcroft

I'm not necessarily advocating this, but it might be worth discussing dual anonymous proposal review. Maybe impractical for our small community, but we also cannot pretend that bias is non-existent. Interesting study from NASA's use of DAPR: https://science.nasa.gov/researchers/dual-anonymous-peer-review/

(Single) anonymous reviews is also something to discuss.

taldcroft avatar Apr 12 '24 12:04 taldcroft

Re: Anonymous review -- Wasn't this what we just abandoned for Affiliated Package review in favor of all open review via pyOpenSci? Would it make sense to introduce anon review for one thing but abandon it for another? Also, not sure how feasible it is when we submit proposals etc all in the open.

pllim avatar Apr 12 '24 13:04 pllim

On review: the up/down vote way to do funding seems a bit tricky. Nobody really wants to downvote (most ideas are OK!), so it gives just 2 options, no weights. It is also not clear it really helps for a ranking, which is what is really needed. I'd suggest doing something more along the lines of observing proposals, give a numerical grade. Or allow people some number of points to spread over the various proposals. Anyway, those are just suggestions; would be good to hear if there is actually a problem to solve, and, if so, what the solution might be.

mhvk avatar Apr 12 '24 19:04 mhvk

I believe the dual anonymous reviews won't work for this because in practice we are typically not just funding ideas, but most proposals also identify a qualified hire (typically the person writing the proposal). We don't have anonymized hires either. While there are anonymized CVs in a multi-stage hiring processes in some institutions, at some point you have to select the person doing the work - that's different from observing proposals where a good idea is a good idea. Even if the proposer can't analyze the data, it will still be be in a public archive later. Here, if the money is spend, it's gone.

hamogu avatar Apr 12 '24 20:04 hamogu

However, I'm very much interested in exploring how we can structure this to make it easier for people who are not on the core team. How do they get into the discussion with others what makes sense? Would it make sense to time proposals to be e.g. 8 weeks after a coordination meeting where hopefully a lot of new ideas will be generated?

hamogu avatar Apr 12 '24 20:04 hamogu

I'll assume from the immediate interest and desire to discuss this here that this should be a topic for the coordination meeting, which was my purpose for making a comment. I'll stipulate now that DAPR might not make sense.

taldcroft avatar Apr 12 '24 21:04 taldcroft