Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Modernizes FRB’s packaging and documentation to improve the “install-and-run survey searches” experience by moving dependency metadata into pyproject.toml and expanding Sphinx API docs, alongside a few script/UX cleanups.
Changes:
- Migrates packaging metadata from
setup.py/setup.cfgtopyproject.tomland updates tox configuration accordingly. - Adds/standardizes
cli()entrypoints for multiplefrb.scripts.*modules and updates progress reporting (switch totqdm). - Revamps Sphinx docs structure and adds many API reference stub pages via autodoc/automodule.
Reviewed changes
Copilot reviewed 130 out of 130 changed files in this pull request and generated 14 comments.
Show a summary per file
| File | Description |
|---|---|
tox.ini |
Updates env matrix/extras and adds “lightweight” numpy test envs. |
setup.py |
Removes legacy setuptools installer script. |
setup.cfg |
Removes legacy extras configuration. |
pyproject.toml |
Adds PEP 621 project metadata, deps, and console scripts. |
frb/surveys/dlsurvey.py |
Updates missing-dependency warning string for Data Lab client. |
frb/scripts/tns.py |
Docstring cleanup and adds cli() entrypoint + __main__ call. |
frb/scripts/sightline.py |
Adds cli() entrypoint wrapper. |
frb/scripts/search_for_halos.py |
Adds cli() entrypoint wrapper. |
frb/scripts/random_assoc.py |
Replaces progressbar2 with tqdm; removes seaborn usage; adds __main__ guard. |
frb/scripts/pzdm_mag.py |
Adds cli() entrypoint wrapper. |
frb/scripts/image.py |
Adds cli() entrypoint wrapper. |
frb/scripts/galaxies.py |
Adds cli() entrypoint wrapper. |
frb/scripts/frb_summary.py |
Adds cli() entrypoint wrapper. |
frb/scripts/build.py |
Adds cli() entrypoint wrapper. |
frb/requirements.txt |
Marks requirements file as deprecated; adds a few deps. |
frb/optional_requirements.txt |
Adds optional-deps reference list. |
frb/mw.py |
Removes __future__ import; adds docstring for haloDM(). |
frb/halos/photoz.py |
Switches progress reporting to tqdm; uses local frb.galaxies.eazy wrapper. |
frb/halos/models.py |
Changes missing hmf_emulator handling behavior/message. |
frb/halos/hmf.py |
Changes missing hmf_emulator handling behavior/message. |
frb/galaxies/hosts.py |
Improves docstrings and Sphinx directives formatting. |
frb/galaxies/galfit.py |
Removes duplicated docstring lines. |
frb/galaxies/cigale.py |
Improves install hint message for pcigale. |
frb/dm/igm.py |
Removes __future__ import. |
frb/associate/frbassociate.py |
Improves __init__ docstring. |
frb/analysis/kcwi.py |
Changes missing optional dependency handling from raising to printing. |
docs/installing.rst |
Updates installation guidance to pip install -e . and lists deps/extras. |
docs/halos/utils.rst |
Adds new autodoc page for frb.halos.utils. |
docs/halos/photoz.rst |
Replaces long hand-written docs with automodule-based API rendering. |
docs/halos/models.rst |
Reworks halo docs to use automodule/autoclass structure. |
docs/halos/index.rst |
Expands halos docs TOC; updates progress-bar dependency mention. |
docs/halos/hmf.rst |
Simplifies and adds migration guide; uses automodule docs. |
docs/frbhost_class.rst |
Replaces embedded API blocks with links/short refs. |
docs/frb_class.rst |
Replaces embedded API blocks with links/short refs. |
docs/conf.py |
Adds autodoc_mock_imports and stub env vars for doc builds. |
docs/api/utils.rst |
New automodule stub for frb.utils. |
docs/api/io.rst |
New automodule stub for frb.io. |
docs/api/defs.rst |
New automodule stub for frb.defs. |
docs/api/analysis.rst |
New automodule stub for frb.analysis + TOC. |
docs/api/analysis.kcwi.rst |
New automodule stub for frb.analysis.kcwi. |
docs/api/dm.rst |
Restructures DM API docs and adds submodule toctree. |
docs/api/dm.cosmic.rst |
New automodule stub for frb.dm.cosmic. |
docs/api/dm.dm_ism_healpix_map.rst |
New automodule stub for frb.dm.dm_ism_healpix_map. |
docs/api/dm.host.rst |
New automodule stub for frb.dm.host. |
docs/api/dm.igm.rst |
New automodule stub for frb.dm.igm. |
docs/api/dm.mcmc.rst |
New automodule stub for frb.dm.mcmc. |
docs/api/dm.prob_dmz.rst |
New automodule stub for frb.dm.prob_dmz. |
docs/api/dm_kde.rst |
Adds dm_kde landing page and submodule TOC notes. |
docs/api/dm_kde.dm_frb_sim.rst |
Adds note about import-time simulation behavior. |
docs/api/dm_kde.pdf_fns.rst |
New automodule stub for frb.dm_kde.pdf_fns. |
docs/api/dm_kde.sort_transient_data.rst |
New automodule stub for frb.dm_kde.sort_transient_data. |
docs/api/dm_kde.transient_kdes.rst |
New automodule stub for frb.dm_kde.transient_kdes. |
docs/api/associate.rst |
Converts associate docs to a toctree layout. |
docs/api/associate.frbassociate.rst |
New automodule stub for frb.associate.frbassociate. |
docs/api/associate.frbs.rst |
New automodule stub for frb.associate.frbs. |
docs/api/associate.gen_pox_table.rst |
New automodule stub for frb.associate.gen_pox_table. |
docs/api/builds.rst |
New builds landing page with toctree. |
docs/api/builds.utils.rst |
New automodule stub for frb.builds.utils. |
docs/api/builds.build_fg.rst |
New automodule stub for frb.builds.build_fg. |
docs/api/builds.build_frbs.rst |
New automodule stub for frb.builds.build_frbs. |
docs/api/builds.build_hosts.rst |
New automodule stub for frb.builds.build_hosts. |
docs/api/builds.build_path.rst |
New automodule stub for frb.builds.build_path. |
docs/api/builds.build_specdb.rst |
New automodule stub for frb.builds.build_specdb. |
docs/api/builds.old_build_frbs.rst |
New automodule stub for legacy builds module. |
docs/api/builds.old_build_hosts.rst |
New automodule stub for legacy builds module. |
docs/api/figures.rst |
New figures landing page with toctree. |
docs/api/figures.dm.rst |
New automodule stub for frb.figures.dm. |
docs/api/figures.finder.rst |
New automodule stub for frb.figures.finder. |
docs/api/figures.galaxies.rst |
New automodule stub for frb.figures.galaxies. |
docs/api/figures.utils.rst |
New automodule stub for frb.figures.utils. |
docs/api/galaxies.rst |
Expands galaxies toctree with additional modules. |
docs/api/galaxies.cigale.rst |
Simplifies page + notes optional dependency. |
docs/api/galaxies.convert_tables.rst |
New automodule stub for frb.galaxies.convert_tables. |
docs/api/galaxies.eazy.rst |
Simplifies page + notes required env var. |
docs/api/galaxies.extra_data.rst |
New automodule stub for frb.galaxies.extra_data. |
docs/api/galaxies.frbgalaxy.rst |
Removes long narrative; keeps API focus. |
docs/api/galaxies.galfit.rst |
New automodule stub for frb.galaxies.galfit. |
docs/api/galaxies.hosts.rst |
Removes long narrative; keeps API focus. |
docs/api/galaxies.mag_dm.rst |
New automodule stub for frb.galaxies.mag_dm. |
docs/api/galaxies.nebular.rst |
Removes long narrative; keeps API focus. |
docs/api/galaxies.offsets.rst |
Removes long narrative; keeps API focus. |
docs/api/galaxies.photom.rst |
Fixes heading spacing; reduces narrative content. |
docs/api/galaxies.ppxf.rst |
Simplifies page + notes optional dependency. |
docs/api/galaxies.utils.rst |
Simplifies page + notes optional dependency. |
docs/api/halos.rst |
Reworks halos landing page; points to full docs section. |
docs/api/frb_surveys.rst |
Converts to a toctree layout. |
docs/api/frb_surveys.chime.rst |
New automodule stub for CHIME surveys module. |
docs/api/scripts.rst |
New scripts landing page with toctree. |
docs/api/scripts.build.rst |
New automodule stub for frb.scripts.build. |
docs/api/scripts.dm_ism_hp_map.rst |
New automodule stub for frb.scripts.dm_ism_hp_map. |
docs/api/scripts.frb_summary.rst |
New automodule stub for frb.scripts.frb_summary. |
docs/api/scripts.galaxies.rst |
New automodule stub for frb.scripts.galaxies. |
docs/api/scripts.image.rst |
New automodule stub for frb.scripts.image. |
docs/api/scripts.iteration.rst |
New automodule stub for frb.scripts.iteration. |
docs/api/scripts.pz_given_dm.rst |
New automodule stub for frb.scripts.pz_given_dm. |
docs/api/scripts.pzdm_mag.rst |
New automodule stub for frb.scripts.pzdm_mag. |
docs/api/scripts.pzdm_mag_crossmatch.rst |
New automodule stub for frb.scripts.pzdm_mag_crossmatch. |
docs/api/scripts.r_vs_dm.rst |
New automodule stub for frb.scripts.r_vs_dm. |
docs/api/scripts.random_assoc.rst |
New automodule stub for frb.scripts.random_assoc. |
docs/api/scripts.search_for_halos.rst |
New automodule stub for frb.scripts.search_for_halos. |
docs/api/scripts.sightline.rst |
New automodule stub for frb.scripts.sightline. |
docs/api/scripts.tns.rst |
New automodule stub for frb.scripts.tns. |
docs/api/surveys.rst |
Replaces inline sections with a large toctree of survey modules. |
docs/api/surveys.catalog_utils.rst |
New automodule stub for frb.surveys.catalog_utils. |
docs/api/surveys.cluster_search.rst |
New automodule stub for frb.surveys.cluster_search. |
docs/api/surveys.decals.rst |
New automodule stub for frb.surveys.decals. |
docs/api/surveys.defs.rst |
New automodule stub for frb.surveys.defs. |
docs/api/surveys.desi.rst |
New automodule stub for frb.surveys.desi. |
docs/api/surveys.des.rst |
New automodule stub for frb.surveys.des. |
docs/api/surveys.delve.rst |
New automodule stub for frb.surveys.delve. |
docs/api/surveys.dlsurvey.rst |
New automodule stub for frb.surveys.dlsurvey. |
docs/api/surveys.galex.rst |
New automodule stub for frb.surveys.galex. |
docs/api/surveys.heasarc.rst |
New automodule stub for frb.surveys.heasarc. |
docs/api/surveys.hsc.rst |
New automodule stub for frb.surveys.hsc. |
docs/api/surveys.images.rst |
New automodule stub for frb.surveys.images. |
docs/api/surveys.nedlvs.rst |
New automodule stub for frb.surveys.nedlvs. |
docs/api/surveys.nsc.rst |
New automodule stub for frb.surveys.nsc. |
docs/api/surveys.panstarrs.rst |
New automodule stub for frb.surveys.panstarrs. |
docs/api/surveys.psrcat.rst |
New automodule stub for frb.surveys.psrcat. |
docs/api/surveys.sdss.rst |
New automodule stub for frb.surveys.sdss. |
docs/api/surveys.survey_io.rst |
New automodule stub for frb.surveys.survey_io. |
docs/api/surveys.survey_utils.rst |
New automodule stub for frb.surveys.survey_utils. |
docs/api/surveys.surveycoord.rst |
New automodule stub for frb.surveys.surveycoord. |
docs/api/surveys.tns_util.rst |
New automodule stub for frb.surveys.tns_util. |
docs/api/surveys.twomass.rst |
New automodule stub for frb.surveys.twomass. |
docs/api/surveys.utils_crossmatching.rst |
New automodule stub for frb.surveys.utils_crossmatching. |
docs/api/surveys.vista.rst |
New automodule stub for frb.surveys.vista. |
docs/api/surveys.wise.rst |
New automodule stub for frb.surveys.wise. |
.github/workflows/ci_tests.yml |
Switches CI trigger branch from master to main. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Agent-Logs-Url: https://github.com/FRBs/FRB/sessions/268509e3-9a84-4e88-a6a9-a803dee9a929 Co-authored-by: SunilSimha <9286108+SunilSimha@users.noreply.github.com>
Agent-Logs-Url: https://github.com/FRBs/FRB/sessions/268509e3-9a84-4e88-a6a9-a803dee9a929 Co-authored-by: SunilSimha <9286108+SunilSimha@users.noreply.github.com>
SunilSimha
commented
Apr 21, 2026
Agent-Logs-Url: https://github.com/FRBs/FRB/sessions/4f873d12-434a-4326-9e32-78f5cbedce95 Co-authored-by: SunilSimha <9286108+SunilSimha@users.noreply.github.com>
This reverts commit 7d04fde. Undoing whatever copilot did.
Collaborator
Author
|
@profxj , this is a huge diff, so I will appreciate it if you take a careful look at just |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I found the current installation experience of just pip installing the bare-minimum FRB-repo-only and then installing dependencies as they come to be cumbersome on a new machine. I've therefore migrated the existing
setup.pyinfrastructure to a more modernpyproject.tomlbased approach and made it so that the most commonly used dependencies are installed when installing the FRB repo.This still leaves packages such as
pcigaleandeazyto the user's whims to install manually, but one can run survey searches out of the box.Additionally, I have now revamped the docs with CoPilot with emphasis on making them more complete and to add a usable API reference. There might still be issues, so feel free to
create an issueon this repo and tag me if you find an error.