Skip to content

Py313: Update to Python 3.13, move from Jfrog Artifactory to Pypi, change from CentOS to Ubuntu. - #34

Merged
YeChen-IDM merged 24 commits into
genmoz_metricsfrom
py313
Jun 18, 2026
Merged

Py313: Update to Python 3.13, move from Jfrog Artifactory to Pypi, change from CentOS to Ubuntu.#34
YeChen-IDM merged 24 commits into
genmoz_metricsfrom
py313

Conversation

@YeChen-IDM

Copy link
Copy Markdown
Collaborator

No description provided.

@YeChen-IDM YeChen-IDM changed the title Py313: Update to Python 3.13 and move from Jfrog Artifactory to Pypi Py313: Update to Python 3.13, move from Jfrog Artifactory to Pypi, change from CentOS to Ubuntu. Jun 17, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR modernizes the project’s packaging and runtime environment by upgrading to Python 3.13, switching distribution from the IDM Artifactory index to public PyPI, and updating container + CI tooling accordingly (including moving the base container OS from Rocky/CentOS-style to Ubuntu runtime images).

Changes:

  • Update package metadata and CI to Python 3.13; adjust dependency pins and remove Artifactory index usage.
  • Switch Docker/Singularity builds to ghcr.io/emod-hub/emod-ubuntu-runtime and update COMPS asset workflow to produce ObsModel_ubuntu.id.
  • Replace Artifactory staging/production publish workflows with a manual “publish to PyPI” workflow.

Reviewed changes

Copilot reviewed 18 out of 21 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
requirements.txt Adds upper bounds and replaces tskit/extra index usage with idm-tskit pin.
README.md Updates setup/install instructions and expands COMPS/image/release workflows documentation.
pyproject.toml Bumps version to 1.0.2, requires Python >=3.13, updates deps, removes Artifactory pip config.
fpg_observational_model/unified_sampling.py Removes unused typing.List import.
docker/Singularity.def Switches base image to Ubuntu runtime and installs package from PyPI.
docker/Dockerfile Switches base image to Ubuntu runtime and installs package from PyPI.
docker/readme.md Updates container docs from Rocky → Ubuntu and removes Artifactory install instructions.
docker/push_singularity.py Changes default OS name to ubuntu.
docker/pip.conf Sets global index to PyPI.
docker/ObsModel_ubuntu.id Adds the new COMPS asset id file for the Ubuntu image.
docker/ObsModel_rocky.id Removes the old Rocky asset id file.
.github/workflows/run_tests.yml Runs CI tests on Python 3.13 and removes custom index usage.
.github/workflows/test_and_publish_package_to_pypi.yml Adds a manual workflow to test and publish to PyPI.
.github/workflows/build_publish_package.yml Updates reusable publish workflow to PyPI + Python 3.13.
.github/workflows/push_image_to_comp.yml Updates COMPS image build/push workflow for Ubuntu + Python 3.13 + new id file.
.github/workflows/mkdocs_build.yml Updates docs build to Python 3.13 and PyPI-only installs.
.github/workflows/mkdocs_deploy.yml Updates docs deploy to Python 3.13 and PyPI-only installs.
.github/workflows/test_and_publish_package_to_staging.yml Removes Artifactory staging workflow.
.github/workflows/promote_package_to_production.yml Removes Artifactory production promotion workflow.
Comments suppressed due to low confidence (2)

.github/workflows/run_tests.yml:22

  • In GitHub Actions YAML, unquoted 3.13 can be parsed as a number (and sometimes loses formatting), which can break actions/setup-python version resolution. Quote the Python version string in the matrix.
    .github/workflows/build_publish_package.yml:16
  • This workflow is invoked via workflow_call from a workflow_dispatch workflow; in that context github.event.head_commit.message is typically undefined. The current if: can fail expression evaluation. Guard against a missing commit message by defaulting to an empty string.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread README.md
Comment thread README.md Outdated
Comment thread docker/Dockerfile
epel-release \
wget \
nano
FROM ghcr.io/emod-hub/emod-ubuntu-runtime:latest
Comment thread docker/Singularity.def
Comment on lines 1 to +2
Bootstrap: docker
From: rockylinux:9.2
From: ghcr.io/emod-hub/emod-ubuntu-runtime:latest
Comment thread docker/readme.md
Comment on lines 4 to 6
The containers encapsulate the application environment, in this case, the mpich runtime for EMOD and the
fpg_observational_model is pre-installed with all necessary dependencies(Python 3.9, tskit, etc.).
fpg_observational_model is pre-installed with all necessary dependencies(Python 3.13, idm-tskit, etc.).

(cherry picked from commit 89e9fb0)
@YeChen-IDM
YeChen-IDM merged commit 50e1be4 into genmoz_metrics Jun 18, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants