Closed pllim closed 3 months ago
@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:
Suggestions of SOC meeting, 2023-11-28:
Re: ask new roles -- Also @taldcroft can report on mentoring progress.
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 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:
(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!)
Review and discuss @nstarman proposed APE 22 on Public API:
Exploratory implemetation of mypy in typing efforts (maybe it can drive some discussions on how to actually do this for real):
Princess Bride screening for the benefit of @dhomeier , as requested by @eteq .
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).
Quantity 2.0 (led by @nstarman):
PL edit: Maybe related?
If this issue is still open:
Astropy in the age of The Cloud (AWS):
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 finance@astropy.org.
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.
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?
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.
Ah, ok... I guess I confused the different ways we can be involved.
Session on what, if anything, should be changed/improved in the core astropy classes. For instance,
coordinates
- currently, frames can be with and without data. Wouldn't it be cleaner if they never held data (i.e., the representation is SkyCoord
s 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?More generally, are there any big missing pieces? E.g.,
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
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.
Discuss what we can do based on report from Astropy Community Survey.
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.
Celebrate the completion of the Moore grant!! 💸🎉
Celebrate the completion of the Moore grant!! 💸🎉
Also discuss lessons-learned thus far and big-picture plans for maintaining sustainable funding for Astropy.
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.
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.
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.
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.
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?
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.
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.
I would also highlight the issue of voting without checking on the total. E.g. I would suggest that everyone has as many votes that allocate all the money, or maybe 1.5x times of the money. So one can go for voting for two big proposals or 5 smaller, but not for voting for everything.
And having more topical proposals would help, there were quite a few where I find one task super valuable and must have while the other task is an ok to have but not necessarily high on the list of important enhancements.
This issue is for collecting topics for the meeting. If any one of the ideas are getting a lot of traffic, please open new issue to make it easier for the SOC, and so the discussions won't get lost once this issue is closed when the agenda is made. Thanks for your understanding!
Suggested by @hamogu , discuss Strategic Planning role proposed:
Discuss findings and recommendations from the State of Diversity, Equity, and Inclusion report
Package/code/build security:
It is based on the topics in this issue. To increase participation from the US the schedule is inverted - plenary discussions and reports are in the afternoon and breakout sessions in the morning (local time). The schedule is shifted by one hour 9 am - 6 pm (assuming the building is open until 6, J.S. to check). Please comment below if anything should be added/removed/moved.
Monday
09:00 AM - 12:30 PM : general / break out session TBD 12:30 PM - 02:00 PM: Lunch 2:00 - 2:30: State of Astropy (Derek) 2:30 - 3:00: Roadmap: Annual review (Clara) discussion can continue later if not enough time 3:00 - 3:15: Coffee break 3:15 - 5:30: Finance (Aarya)
5:30 - 6:00: vote on breakout sessions for Tuesday
Tuesday
9:00 - 12:30: breakout sessions 12:30 - 2:00: lunch 2:00 - 2:30: State of APEs
2:30 - 3:00: Community engagement (DEI, and community report) (Erik T) 3:00 - 3:30: Discussion on strategic planning role (Kelle) 3:30 - 4:00 coffee 4:00 - 4:30: infrastructure report (Pey-Lian or someone else on the infrastructure team) 4:30 - 5:00: technical discussion: typing 5:00 - 5:30: technical discussion: array API 5:30: 6:00: vote on breakout sessions for Wednesday
Wednesday
9:00 - 12:30: breakout sessions 12:30 - 2:00: lunch 2:00 - 2:30: Discussion: Are there big missing pieces in the astropy ecosystem? 2:30 - 3:00: Status and plans for spectral work in astropy 3:00 - 3:30: coffee break 3:30 - 4:00: Is ruff working for us (could be a breakout session) 4:00 - 6:00: TBD
Thursday
Hack day/breakout sessions
Friday
Hack day/breakout sessions
@nden - can we swap "community engagement" and "discussion of strategic planning"? The community engagement contractors are not going to be there (since they are no longer funded), so I'll take that, and @kelle will do the strategic planning discussion... But we are thinking it makes sense in the other order because some of the community report items might naturally lead into the strategic planning.
As per CoCo tag-up on 2024-05-13, here are what CoCo agreed on but this is just a suggestion, not a mandate. FYI SOC:
State of Astropy (CoCo)
can be presented by @dhomeier Roadmap: Annual review (CoCo)
can be presented/led by @ceb8
State of APEs
can be presented/led by one of the CoCo members or APE authored of new APEs accepted since Astropy Coordination Meeting 2023 (APE 21 and APE 22) unless SOC already has someone in mind.infrastructure report
can be presented/led by @pllim BUT she would rather her European colleague(s) who also do infrastructure take over if they want to (in-person or remote), e.g., @saimn .3:30 - 4:00: Is ruff working for us (could be a breakout session)
4:00 - 6:00: TBD
I am not sure if everyone in the meeting would be interested in ruff
for it to warrant a dedicated slot. 🤔
When we will know what goes in the last 2 hours of TBD?
Is the "field trip" going to happen?
Thanks @pllim . I updated the agenda.
We left the last two TBD hours for suggestions here or during the meeting. There are other suggestions on this issue that can fill in those slots, including technical topics.
The schedule is shifted by one hour 9 am - 6 pm (assuming the building is open until 6, J.S. to check).
It isn't, sorry; the building will be open 09:00 until 17:00.
The building can provide:
Are we interested in any of these — perhaps lunch?
Lunch for €10.43 per person
What options does that Lunch include? How does this compare to walking-distance options if we go out? I am guessing there are plenty of nearby options and in general it might be nice to get out of the building and walk a bit and get some fresh air.
Personally I don't do soft drinks.
I don't do soft drinks either. Coffee, wine, yes.
Re: https://github.com/astropy/astropy-project/issues/349#issuecomment-2109298195
Oh no, so we just lost an hour from each day on the proposed agenda? ~Should we start earlier (for those in-person)?~ (Nope, nvm... opens at 9)
Is there a place with food and wifi for evening hacking? (Usually I think this is when "plane hacks" happen? 😆 )
What options does that Lunch include?
(They write) We order the SURF lunch as standard. But you can also order one of our other lunches. The different types of lunches are vegetarian/vegan and served with semi-skimmed milk, orange juice and hand fruit as standard. For all lunches, sandwiches with cheese and meat are served separately. Any allergies or dietary requirements? That's no problem either! Just mention it when making your reservation and we will take them into account.
These sandwiches are filled with Dutch cheese and meat. 2 small malt/dough rolls 1 hard roll / assortment of sandwiches milk/buttermilk hand fruit
Tasty richly filled 3-layer sandwiches, brown, corn and white bread (2 per person) topped with a.o: old cheese with pear syrup and fresh pickled lettuce (vega) classic BLT sandwich, toasted with turkey and mild mustard mayonnaise ham on the bone with cheese, tomato, cucumber and egg salad roast beef with basil pesto and pecorino cheese mozzarella, tomato with pesto sauce (vega)
An Italian experience of freshly baked luxury breads and Italian toppings with matching garnishes and dressings: foccacia with various Italian cold meats mini spelt or malt bun with various vegetarian Italian toppings (vega ) mini spelt or malt bun with Italian fish fillings
Our most popular lunch with delicious French products and French viennoiseries: luxury 3-layer sandwich filling freshly baked baguette or cereal roll with toppings and garnish assortment of freshly baked viennioserie: croissants and sultana or cinnamon rolls
3 tasty richly filled wraps (1/3) wrap with farm cheese, egg salad and mixed lettuce wrap with grilled chicken, avocado, lettuce and sweet chilli sauce wrap with smoked salmon, herb cheese, cucumber and lettuce
1/5 wrap with various fillings including farm cheese, avocado, chicken curry salad tramezzini roll with a.o. salmon and carpaccio artisanal breads with a delicious assortment of dressings and local toppings including farm cheese, goat's cheese and cold cuts
How does this compare to walking-distance options if we go out?
We are within walking distance of central Utrecht. There are many, many options. Because most of the nice places are small and old, and because it will be summer, they tend to be cramped; fine for a small group, but it may be challenging to find a spot where ~10 people can sit together, specially if they want space to be able to look at laptops etc.
A note that I will present the finance committee update (and happy to run the session). I see that 3:15 - 5:30 is allocated to finance with a few broad goals. How long should the update be?
Is there a place with food and wifi for evening hacking? (Usually I think this is when "plane hacks" happen? 😆 )
There are many places with food and wifi. And beer. I can't speak to how crowded they'll be on a June evening, but I'm sure we'll find somewhere nice.
https://dutchreview.com/expat/places-to-work-or-study-utrecht/ might be a good place to start.
I don't see any Princess Bride screening scheduled (https://github.com/astropy/astropy-project/issues/349#issuecomment-1904546026). Should we do it over one of the lunches? Is there DVD playing capability in the lunch area?
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