Skip to content

Commit ed7f646

Browse files
authored
Merge branch 'main' into eht-polarization-flip
2 parents 51ed640 + 2a81a01 commit ed7f646

13 files changed

Lines changed: 1261 additions & 133 deletions

File tree

.github/workflows/CI.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Test JuliaAstro packages
1+
name: Test JuliaAstro
22

33
on:
44
push:
@@ -14,8 +14,8 @@ jobs:
1414
fail-fast: false
1515
matrix:
1616
version:
17-
- '1' # Leave this line unchanged. '1' will automatically expand to the latest stable 1.x release of Julia.
18-
- 'nightly'
17+
- "1" # Leave this line unchanged. '1' will automatically expand to the latest stable 1.x release of Julia.
18+
- "pre"
1919
os:
2020
- ubuntu-latest
2121
arch:

.github/workflows/Documentation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
- cron: '15 2 * * *' # 2:15 AM UTC every day
88
jobs:
99
docs:
10-
name: MultiDocumentation
10+
name: build
1111
runs-on: ubuntu-latest
1212
steps:
1313
- uses: actions/checkout@v5

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
JuliaAstro.github.io
22
====================
33

4-
[![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://juliaastro.org/)
5-
[![Build website](https://github.com/JuliaAstro/JuliaAstro.github.io/actions/workflows/Documentation.yml/badge.svg)](https://github.com/JuliaAstro/JuliaAstro.github.io/actions/workflows/Documentation.yml)
6-
[![pages-build-deployment](https://github.com/JuliaAstro/JuliaAstro.github.io/actions/workflows/pages/pages-build-deployment/badge.svg?branch=gh-pages)](https://github.com/JuliaAstro/JuliaAstro.github.io/actions/workflows/pages/pages-build-deployment)
7-
[![Test JuliaAstro packages](https://github.com/JuliaAstro/JuliaAstro.github.io/actions/workflows/CI.yml/badge.svg)](https://github.com/JuliaAstro/JuliaAstro.github.io/actions/workflows/CI.yml)
4+
[![docs](https://img.shields.io/badge/docs-stable-blue.svg)](https://juliaastro.org/)
5+
[![Build](https://github.com/JuliaAstro/JuliaAstro.github.io/actions/workflows/Documentation.yml/badge.svg)](https://github.com/JuliaAstro/JuliaAstro.github.io/actions/workflows/Documentation.yml)
6+
[![Deploy](https://github.com/JuliaAstro/JuliaAstro.github.io/actions/workflows/pages/pages-build-deployment/badge.svg?branch=gh-pages)](https://github.com/JuliaAstro/JuliaAstro.github.io/actions/workflows/pages/pages-build-deployment)
7+
[![Test JuliaAstro](https://github.com/JuliaAstro/JuliaAstro.github.io/actions/workflows/CI.yml/badge.svg)](https://github.com/JuliaAstro/JuliaAstro.github.io/actions/workflows/CI.yml)
88

99
## Description
1010

docs/case_studies/cosmology/marcobonici-effort.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
title: "Effort.jl: a fast and differentiable emulator for the Effective Field Theory of the Large Scale Structure of the Universe"
33
id: "marcobonici-effort"
44
description: "See how this team uses Julia to emulate cosmological observables at the largest scales."
5-
author: "[William Thompson](https://github.com/sefffal)"
5+
author: "[CosmologicalEmulators/Effort.jl](https://github.com/marcobonici)"
66
date: "2025-09-16"
77
---
88

99
This team has developed a novel and efficient emulator designed for the Effective Field Theory of Large-Scale Structure (EFTofLSS).
1010

11-
**Package: [CosmologicalEmulators/Effort.jl](https://github.com/sefffal/Octofitter.jl)**
11+
**Package: [CosmologicalEmulators/Effort.jl](https://github.com/CosmologicalEmulators/Effort.jl)**
1212

1313
![image](https://raw.githubusercontent.com/CosmologicalEmulators/Effort.jl/refs/heads/main/docs/src/assets/logo.svg)
1414

docs/make.jl

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,11 @@ makedocs(
9090
"Package Ecosystem" => "ecosystem.md",
9191
case_studies,
9292
"Comparison with Astropy" => "comparison.md",
93-
"Community" => "community.md",
93+
"Community" => [
94+
"community/juliaastro_community.md",
95+
"community/governance.md",
96+
"community/roadmap.md",
97+
],
9498
],
9599
warnonly = [:missing_docs],
96100
plugins = [links],
@@ -185,7 +189,7 @@ MultiDocumenter.make(
185189

186190
# Remove dev/latest docs from JuliaAstro site
187191
rm.(glob(joinpath("*", "dev"), outpath); recursive=true)
188-
rm.(glob(joinpath("*", "latest"), outpath); recursive=true)
192+
rm.(glob(joinpath("*", "latest*"), outpath); recursive=true)
189193

190194
# Download logo
191195
# assets_dir = joinpath(outpath, "assets")

docs/src/community/governance.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# JuliaAstro Governance
2+
3+
!!! note
4+
This document is still a work in progress.
5+
6+
The following contains the formal governance structure of the JuliaAstro project. This document clarifies how decisions are made with respect to community interactions, including the relationship between open source development and work that may be funded by for-profit and non-profit entities.
7+
8+
## Code of Conduct
9+
The JuliaAstro community is committed to maintaining a welcoming, civil and constructive environment. All members are expected to adhere to the [Julia Community Standards](https://julialang.org/community/standards/).
10+
11+
## Current Steering Council
12+
13+
* tbd
14+
15+
## Governing Rules and Duties
16+
17+
### Steering Council
18+
19+
The Project has a Steering Council that consists of Project Contributors who have produced contributions that are substantial in quality and quantity, and sustained over at least one year. The role of the Council is to provide active leadership for the Project in making everyday decisions on technical and administrative issues, through working with and taking input from the Community.
20+
21+
During the everyday project activities, Council Members participate in all discussions, code review and other project activities as peers with all other Contributors and the Community. In these everyday activities, Council Members do not have any special power or privilege through their membership on the Council. However, it is expected that because of the quality and quantity of their contributions and their expert knowledge of the Project Software and Services that Council Members will provide useful guidance, both technical and in terms of project direction, to potentially less experienced Contributors.
22+
23+
The Steering Council and its Members play a special role in certain situations. In particular, the Council may:
24+
25+
* Make decisions about the overall scope, vision and direction of the project.
26+
* Make decisions about strategic collaborations with other organizations or individuals.
27+
* Make decisions about specific technical issues, features, bugs and pull requests. They are the primary mechanism of guiding the code review process and merging pull requests.
28+
* Make decisions about the Services that are run by the Project and manage those Services for the benefit of the Project and Community.
29+
* Make decisions when regular community discussion does not produce consensus on an issue in a reasonable time frame.
30+
31+
Steering Council decisions are taken by simple majority.
32+
33+
### Steering Council membership
34+
35+
To become eligible for being a Steering Council Member, an individual must be a Project Contributor who has produced contributions that are substantial in quality and quantity, and sustained over at least one year. Potential Council Members are nominated by existing Council Members or by the Community and voted upon by the existing Council after asking if the potential Member is interested and willing to serve in that capacity.
36+
37+
When considering potential Members, the Council will look at candidates with a comprehensive view of their contributions. This will include but is not limited to code, code review, infrastructure work, mailing list and chat participation, community help/building, education and outreach, design work, etc. We deliberately do not set arbitrary quantitative metrics to avoid encouraging behavior that plays to the metrics rather than the project's overall well-being. We want to encourage a diverse array of backgrounds, viewpoints and talents in our team, which is why we explicitly do not define code as the sole metric on which Council membership will be evaluated.
38+
39+
If a Council Member becomes inactive in the project for a period of one year, they will be considered for removal from the Council. Before removal, the inactive Member will be approached by another Council member to ask if they plan on returning to active participation. If not they will be removed immediately upon a Council vote. If they plan on returning to active participation soon, they will be given a grace period of one year. If they do not return to active participation within that time period they will be removed by vote of the Council without further grace period. All former Council members can be considered for membership again at any time in the future, like any other Project Contributor. Retired Council members will be listed on the project website, acknowledging the period during which they were active in the Council.
40+
41+
The Council reserves the right to eject current Members if they are deemed to be actively harmful to the Project's well-being, and attempts at communication and conflict resolution have failed.
42+
43+
## Fiscal Decisions
44+
45+
All fiscal decisions are made by the steering council to ensure any funds are spent in a manner that furthers the mission of the Project. Fiscal decisions require majority approval by acting steering council members.
46+
47+
## Advisory Committee
48+
49+
The Project has an Advisory Committee that works to ensure the long-term well-being of the Project. The Committee advises the Steering Council and may be called upon to break deadlocks or serious disagreements in the Council. The Community can ask the Committee to review actions taken by the Council, and the Committee will meet annually to review Project activities. Committee decisions are taken in consensus. Members of the Advisory Committee are appointed by the Steering Council.
50+
51+
## Conflict of Interest
52+
53+
It is expected that Steering Council and Advisory Committee Members will be employed at a wide range of companies, universities and non-profit organizations. Because of this, it is possible that Members will have conflicts of interest. Such conflicts of interest include, but are not limited to:
54+
55+
* Financial interests, such as investments, employment or contracting work, outside of the Project that may influence their work on the Project.
56+
* Access to proprietary information of their employer that could potentially leak into their work with the Project.
57+
58+
All members of the Council and Committee shall disclose any conflict of interest they may have. Members with a conflict of interest in a particular issue may participate in Council discussions on that issue, but must recuse themselves from voting on the issue.

docs/src/community.md renamed to docs/src/community/juliaastro_community.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Community
1+
# JuliaAstro Community
22

33
## Platforms
44

docs/src/community/roadmap.md

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
# JuliaAstro Roadmap
2+
3+
**Last revised: September 2025**
4+
5+
* [Introduction](#Introduction)
6+
* [Status Legend](#Status-Legend)i
7+
* [Functionality](#Functionality)
8+
* [Infrastructure, Documentation](#Infrastructure-Documentation)
9+
* [Interoperability and compatibility](#Interoperability-and-Compatibility)
10+
* [Hardware and Performance](#Hardware-and-Performance)
11+
* [Learn and User Support](#Learn-and-User-Support)
12+
* [Community Building and Sustainability](#Community-Building-and-Sustainability)
13+
* [Governance, Management, and Personnel](#Governance-Management-and-Personnel)
14+
* [Fundraising](#Fundraising)
15+
16+
## Introduction
17+
18+
This Roadmap captures high level actionable items that we as an organization aim to undertake to improve the health and stability of JuliaAstro, and to help prioritize the allocation of JuliaAstro resources. The Roadmap itself is a static, however it will be revisited regularly at JuliaAstro community meetings or via pull requests, to keep track of progress and write new versions as needed. The structure of The Roadmap is inspired by [The Astropy Project's Roadmap](https://github.com/astropy/astropy-project/blob/main/roadmap/roadmap.md).
19+
20+
## Status Legend
21+
22+
### Green 🟢
23+
24+
- Group or person leading effort is identified and sufficiently supported.
25+
- Effort is already underway and/or expected to be implemented in the “near term.”
26+
27+
### Orange 🔶
28+
29+
- Item is already defined (e.g., issue or draft PR exists), but not sufficiently underway.
30+
- Attempts to secure the necessary resources are underway.
31+
- *For example, funding applied for, but not awarded.*
32+
33+
### Red 🟥
34+
35+
- Consensus of the community is that the item is a priority.
36+
- Attempts to secure the necessary resources have not yet been started.
37+
- *For example, there’s no one available to write a funding proposal or lead recruitment efforts.*
38+
39+
## Functionality
40+
41+
The core product of JuliaAstro is high quality astronomical software, including both the core library and coordinated packages in the wider Julia ecosystem. This category encompasses goals having to do with this core JuliaAstro functionality.
42+
43+
🟢 Determine a plan for [long-term support of FITS](https://github.com/JuliaAstro/FITSIO.jl), while also improving performance and making contributions easier.
44+
45+
🔶 Determine a plan for long-term support of a [pure Julia implementation of FITS](https://github.com/barrettp/FITSFiles.jl) and [ASDF](https://github.com/JuliaAstro/ASDF2.jl), while also improving performance and making contribution easier.
46+
47+
🟥 Provide next-generation radio analysis tools usable by individual researchers and larger surveys with [EHTJulia coordinated packages](https://github.com/EHTJulia) and formation of a Radio Astronomy Group (RAG).
48+
49+
🟥 Provide next-generation spectroscopic analysis tools usable by individual researchers and larger surveys (e.g., coordinated packages).
50+
51+
## Infrastructure, Documentation
52+
53+
Underlying all JuliaAstro packages is critical infrastructure that ensures high quality, well-documented software is released. This category encompasses goals having to do with such infrastructure and documentation.
54+
55+
🟢 Improve integration of core package and coordinated package documentation from a user perspective (e.g., joint search functionality with [MultiDocumenter.jl](https://github.com/JuliaComputing/MultiDocumenter.jl)).
56+
57+
🟥 Maintain and improve robust performance benchmark reporting.
58+
59+
## Interoperability and Compatibility
60+
61+
One of the core principles of JuliaAstro is to "foster an ecosystem of interoperable astronomy packages." This category encompasses goals related to that principle of interoperability and compatibility.
62+
63+
🟢 Encourage usage of the core and coordinated package ecosystem
64+
65+
🟢 Leverage language interopability with Python packages via [PyCall.jl](https://github.com/JuliaPy/PyCall.jl)/[pyjulia](https://github.com/JuliaPy/pyjulia) and the more modern [PythonCall.jl/juliacall](https://github.com/JuliaPy/PythonCall.jl) packages.
66+
67+
## Hardware and Performance
68+
69+
Astronomers perform their work in a variety of computing environments with a variety of requirements. This category encompasses goals related to supporting the performance and hardware needs of JuliaAstro users, as well as anticipating future needs and requirements.
70+
71+
🟢 Improve and/or maintain interoperability with performant I/O file formats and libraries such as HDF5 and Dask.
72+
73+
🔶 Improve support for using JuliaAstro tools in heterogeneous computing environments such as cloud environments or GPU systems.
74+
75+
🟥 Add basic WebAssembly support. Relevant community discussion [can be found here](https://discourse.julialang.org/t/julia-and-wasm/108482).
76+
77+
## Learn and User Support
78+
79+
JuliaAstro cannot succeed in its core objectives without a robust user onboarding and support system. This category is for items related to our ecosystem and other user support related improvements.
80+
81+
🟢 Update JuliaAstro website to reflect the organization as a whole, not just the core packages.
82+
83+
🟥 Generate and ingest guides and/or a series of tutorials that demonstrate JuliaAstro functionality in the context of astronomical research.
84+
85+
🟥 Develop tutorials that demonstrate the use of JuliaAstro for spectroscopy tasks.
86+
87+
🟥 Expand and build on workshop offerings, including online and increased geographic coverage.
88+
89+
🟥 Develop, host, and index tutorials suitable for use in university astronomy courses.
90+
91+
## Community Building and Sustainability
92+
93+
As a community-driven project, the long term health and development of the JuliaAstro community is an intrinsic part of our organization. This category encompasses goals related to growing and maintaining that community, and ensuring that it adheres to the core principles of inclusion and consensus-building.
94+
95+
🟥 Better understand JuliaAstro user community through user and developer surveys (e.g., JuliaAstro User Survey on functionality and Community views on diversity, equity, and inclusion in JuliaAstro).
96+
97+
🟥 Increase the learning and mentoring opportunities for people interested in becoming contributors and helping to develop existing contributors into maintainers.
98+
99+
🟥 Increase inclusion, diversity, and empowerment efforts within JuliaAstro communities, and improve our understanding of the demographics of our communities in order to measure the effectiveness of these efforts.
100+
101+
🟥 Ensure people who contribute are from a broad experience base, including typical astronomers.
102+
103+
## Governance, Management, and Personnel
104+
105+
This category encompasses goals related to governing and managing JuliaAstro to facilitate reaching the goals described elsewhere in this document.
106+
107+
🟢 Adopt the [Julia Code of Conduct (CoC)](https://julialang.org/community/standards/)
108+
109+
🟥 Build a community ombuds/CoC team to curate the guidelines and enforce them.
110+
111+
## Fundraising
112+
113+
To ensure project sustainability, JuliaAstro needs funding sources that can be maintained over the long term.
114+
115+
🟥 Raise funds from governmental sources outside of the US.
116+
117+
🔶 Raise funds from private foundations.
118+
119+
🟢 Maintain existing funding sources (e.g., NASA, JuliaLang).

docs/src/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88
* Want to see a curated list of different packages available? Check out our [Package Ecosystem](@ref eco) page.
99
* Want to see real world applications of JuliaAstro? Check out our [Case Studies](@ref) page.
1010
* Coming from astropy? Check out our [Comparison with Astropy](@ref) page.
11-
* Want to learn more about getting involved? Check out our [Community](@ref) page.
11+
* Want to learn more about getting involved? Check out our [Community](@ref "JuliaAstro Community") page.
1212

1313
Further documentation for curated packages in the JuliaAstro and larger Julia ecosystem can be viewed directly via the navbar above. Pure Julia packages are marked with a closed circle ⬤, while wrapper packages for other languages are marked with an open circle ◯.
1414

1515
## Talks and Presentations
1616

17-
Below is a growing list of JuliaAstro and other related aero/astro presentations in Julia. If you have a presentation that you think would be a good addition, [please get in touch](@ref Community)!
17+
Below is a growing list of JuliaAstro and other related aero/astro presentations in Julia. If you have a presentation that you think would be a good addition, [please get in touch](@ref "JuliaAstro Community")!
1818

1919
!!! details "JuliaCon 2021"
2020
- A Short History of AstroTime.jl [[pretalx]](https://pretalx.com/juliacon2021/talk/TJ3FNS/) [[video]](https://www.youtube.com/watch?v=HGlsRoy1JxU)

0 commit comments

Comments
 (0)