Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V1.3.1 patch #32

Merged
merged 18 commits into from
Oct 24, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
dfda3c4
maint: refactoring non-zero metallicity infall accounting
giganano Jul 26, 2022
7d49675
[ci skip] doc: inflow metallicity bookkeeping, contributors list, min…
giganano Aug 1, 2022
15da1a0
dev: unit tests for sanity checks on the helium abundance in smooth a…
giganano Sep 21, 2022
834946f
patch: subtract remnant mass from initial mass for net yield calculat…
giganano Sep 22, 2022
80c85a9
[ci skip] doc: updated vice.yields.ccsne.fractional docstring to refl…
giganano Sep 22, 2022
05e2806
[ci skip] doc: tweaks to install docs and yield scidocs for patch
giganano Jan 10, 2023
e43e0db
ci: added python 3.11 to CI testing
giganano Jan 10, 2023
ea684a1
ci: python 3.6 removed from CI testing
giganano Jan 11, 2023
0915e63
maint: dataframe inheritance issues fixed for later versions of python
giganano Oct 23, 2023
a7a59ed
maint: minimum python version 3.6 -> 3.8
giganano Oct 23, 2023
f3f0308
ci: macos-10.15 -> macos-latest
giganano Oct 23, 2023
61a0dae
ci: setuptools explicitly installed to appease python 3.12
giganano Oct 23, 2023
c2e1b0e
ci: python setup.py build install -> python -m pip install . -v
giganano Oct 24, 2023
204153c
ci: distribution scaled down to pure source distribution
giganano Oct 24, 2023
25cebc5
[ci skip] doc: version numbers 1.3.0 -> 1.3.1
giganano Oct 24, 2023
f1e6473
[ci skip] doc: contributors list updated
giganano Oct 24, 2023
0d95bdd
[ci skip] doc: additional note on remnant mass models available for y…
giganano Oct 24, 2023
7d8ca71
[ci skip] doc: changelog updates
giganano Oct 24, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 8 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,19 @@ jobs:
strategy:
fail-fast: false
matrix:
os: ["ubuntu-latest", "macos-10.15"]
os: ["ubuntu-latest", "macos-latest"]
compiler: [gcc-10, clang]
python-version:
- "3.6"
- "3.7"
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"

exclude:

# Mac OS builds run with clang only
- os: "macos-10.15"
- os: "macos-latest"
compiler: gcc-10

# Ubuntu builds run with gcc only
Expand All @@ -42,11 +42,13 @@ jobs:
with:
python-version: ${{ matrix.python-version }}

# compile-time dependency versions reflect those in setup.py
- name: Install Dependencies
shell: bash
run: |
python -m pip install --upgrade pip
python -m pip install cython>=0.29.21
python -m pip install setuptools>=18.0
python -m pip install Cython>=3.0

- name: Display Environment Variables
shell: bash
Expand All @@ -63,7 +65,7 @@ jobs:
shell: bash
run: |
make CC=$COMPILER
python setup.py build install --quiet
python -m pip install . -v
make clean

- name: Tests
Expand Down
60 changes: 37 additions & 23 deletions .github/workflows/sdist.yml
Original file line number Diff line number Diff line change
@@ -1,43 +1,59 @@
# This workflow creates a source distribution intended for uploading to PyPI
# and uploads it to GitHub actions as an artifact, where it then gets
# re-downloaded and combined with other wheels created by the wheels.yml
# workflow.
# This workflow creates a source distribution intended for uploading to PyPI,
# uploading the .tar.gz file to GitHub actions as an artifact. We upload the
# source distribution to PyPI manually. In previous versions of VICE, we
# pre-compiled the code and provided the binaries, but we have scaled this down
# for reasons described in the comments in the wheels.yml workflow file.
# Previously, the wheels.yml workflow would download this source distribution
# and combine it with the wheels created by bdist_linux.yml and bdist_macos.yml.

name: Source Distribution

# only when specifically requested
on:
workflow_call:
inputs:
os:
description: The OS to use for creating the source distribution
required: true
type: string
python-version:
description: The version of python for creating the source distribution
required: true
type: string
workflow_dispatch:
### previous inputs from wheels.yml, which would call this workflow ###
# workflow_call:
# inputs:
# os:
# description: The OS to use for creating the source distribution
# required: true
# type: string
# python-version:
# description: The version of python for creating the source distribution
# required: true
# type: string

jobs:
sdist:
name: Source Distribution
runs-on: ${{ inputs.os }}
env:
COMPILER: gcc
runs-on: ubuntu-latest
### previous inputs from wheels.yml, which would call this workflow ###
# runs-on: ${{ inputs.os }}
# env:
# COMPILER: gcc

steps:
- name: Checkout Repository
uses: actions/checkout@v2

- name: Setup Python ${{ inputs.python-version }}
### previous inputs from wheels.yml, which would call this workflow ###
# - name: Setup Python ${{ inputs.python-version }}
# uses: actions/setup-python@v2
# with:
# python-version: ${{ inputs.python-version }}

- name: Setup Python 3.12
uses: actions/setup-python@v2
with:
python-version: ${{ inputs.python-version }}
python-version: "3.12"

- name: Install Dependencies
shell: bash
run: |
python -m pip install --upgrade pip
python -m pip install Cython>=0.29.21
python -m pip install build
python -m pip install setuptools>=18.0
python -m pip install Cython>=3.0
python -m pip install wheel>=0.33.0

- name: Display Environment Variables
Expand All @@ -54,9 +70,7 @@ jobs:
- name: Create Source Distribution
shell: bash
run: |
make
python setup.py sdist
make clean
python -m build --sdist

- name: Upload Source Distribution
uses: actions/upload-artifact@v2
Expand Down
19 changes: 18 additions & 1 deletion .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
# This workflow is designed to pre-compile VICE for distribution across all
# versions of python supported by the code base. In the current version,
# however, we simply provide a source distribution will be compiled on each
# user's system. Previous versions had provided pre-compiled binaries, and the
# workflow code which produced those wheels is preserved here. The comments
# from the top of this workflow from this previous distribution strategy are
# copied below. As such, this workflow is generally not invoked; instead we
# dispatch the sdist.yml workflow to create the source distribution.
#
# We elect to provide only a source distribution because, with the limited
# architecture available through GitHub actions for Mac OS, it is likely that
# many end user's of VICE will have to compile in place anyway. This will only
# become more the case in the near future when users will compile it to enable
# multithreading, which will require an in-place compilation.
#
# Previous Notes on Distribution Strategy:
# ----------------------------------------
# This workflow pre-compiles VICE for distribution across all versions of
# python supported by the code base. Requiring a 64-bit system architecture,
# we pre-compile for x86_64 hardware on both Mac OS and Linux. As of yet,
Expand All @@ -9,7 +26,7 @@
#
# At present, GitHub actions does not support a build matrix for jobs that
# call a reusable workflow, so the Mac OS and manylinux jobs here implement
# the workaround from the following URL:
# the workaround from the following URL:
#
# https://github.community/t/reusable-workflow-with-strategy-matrix/205676/8

Expand Down
25 changes: 25 additions & 0 deletions changelog.rst.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,29 @@

1.3.1
=====
- ``vice.multizone``
Enforces each zone to run in the same mode (related to the handling of
inflow metallicites; see below).

- ``vice.singlezone`` and ``vice.multizone``
- Handles non-zero inflow metallicities in a more stable way. Unit tests
search for numerical artifacts in "sudden event" evolutionary histories
exhibiting bursts in star formation.

- Includes primordial metallicity component in the reported total abundance
in accreting gas at each timestep.

- ``vice.dataframe``
Fixed issues with inheritance structure affecting recent versions of
python (3.11 and 3.12)

- ``vice.yields.ccsne.fractional``
- Subtracts the remnant mass from the initial mass in computing net yields
from the tables containing gross yields. A small correction for metals,
the difference is significant for helium.

- Fixed callback objects to be compatible with Cython>=3.0.

1.3.0
=====
- ``vice.mlr``
Expand Down
2 changes: 1 addition & 1 deletion docs/src/cover.tex
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
\end{figure}
\underline{\LARGE \textbf{Versatile Integrator for Chemical Evolution}}
\par
{\Large \textbf{Version 1.3.0}}
{\Large \textbf{Version 1.3.1}}
\end{center}
63 changes: 35 additions & 28 deletions docs/src/developers/contributors.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,51 +7,58 @@ Contributors
James W. Johnson
----------------
| **Lead Developer** and **License Owner** (Spring 2018 - Present)
| Email: giganano9@gmail.com johnson.7419@buckeyemail.osu.edu
| Webiste: https://sites.google.com/view/jameswjohnson/
| Email: jjohnson10@carnegiescience.edu giganano9@gmail.com
| Webiste: https://jamesjohnson.space
| The Observatories of the Carnegie Institution for Science
| 813 Santa Barbara St., Pasadena, CA, 91101, USA

Liam Dubay
----------
| **Contributing Developer** (Fall 2021 - Present)
| Email: dubay.11@buckeyemail.osu.edu
| Website: https://www.liamdubay.com/
| The Ohio State University Department of Astronomy
| 140 W. 18th Ave., Columbus, OH, 43204
| 140 W. 18th Ave., Columbus, OH, 43204, USA

Emily J. Griffith
-----------------
| **Contributing Developer** (Summer 2020 - Present)
| Email: griffith.802@buckeyemail.osu.edu
| Email: Emily.Griffith-1@colorado.edu
| Website: https://www.emilyjgriffith.com
| The Ohio State University Department of Astronomy
| 140 W. 18th Ave., Columbus, OH, 43204
| University of Colorado Boulder Department of Astrophysical and Planetary Sciences
| 389 UCB, Boulder, CO, 80309, USA

John W. Bredall
---------------
| **Contributing Developer** (Fall 2021 - Present)
| Email: bredall.1@buckeyemail.osu.edu
| Website: https://u.osu.edu/jbredall/
Ari Bredall
-----------
| **Contributing Developer** (Fall 2021 - Summer 2023)
| Website: https://abredall.github.io/
| The Ohio State University Department of Astronomy
| 140 W. 18th Ave., Columbus, OH, 43204
| 140 W. 18th Ave., Columbus, OH, 43204, USA

David H. Weinberg
-----------------
| **Advising Developer** (Spring 2018 - Present)
| **Advising Developer** (Spring 2018 - Summer 2023)
| Website: http://www.astronomy.ohio-state.edu/~dhw/
| The Ohio State University Department of Astronomy
| 140 W. 18th Ave., Columbus, OH, 43204
| 140 W. 18th Ave., Columbus, OH, 43204, USA

Fiorenzo Vincenzo
-----------------
| **Advising Developer** (Spring 2019 - Present)
| Website: https://ccapp.osu.edu/people/vincenzo.3
| The Ohio State University Center for Cosmology and Astroparticle Physics
| 191 West Woodruff Ave., Columbus, OH, 43210
Jennifer A. Johnson
-------------------
| **Advising Developer** (Summer 2020 - Summer 2023)
| Website: http://www.astronomy.ohio-state.edu/~jaj/
| The Ohio State University Department of Astronomy
| 140 W. 18th Ave., Columbus, OH, 43204, USA

Jonathan C. Bird
----------------
| **Advising Developer** (Spring 2019 - Present)
| **Advising Developer** (Spring 2019 - Spring 2022)
| Website: http://vpac00.phy.vanderbilt.edu/~birdjc1/
| Vanderbilt University Department of Physics & Astronomy
| 6301 Stevenson Center, 2301 Vanderbilt Place, Nasvhille, TN 37235
| 6301 Stevenson Center, 2301 Vanderbilt Place, Nasvhille, TN 37235, USA

Jennifer A. Johnson
-------------------
| **Advising Developer** (Summer 2020 - Present)
| Website: http://www.astronomy.ohio-state.edu/~jaj/
| The Ohio State University Department of Astronomy
| 140 W. 18th Ave., Columbus, OH, 43204
Fiorenzo Vincenzo
-----------------
| **Advising Developer** (Spring 2019 - Summer 2021)
| Website: https://www.hull.ac.uk/staff-directory/fiorenzo-vincenzo
| E.A. Milne Centre for Astrophysics, University of Hull
| Cottingham Road, Kingston upon Hull, HU6 7RX, United Kingdom
2 changes: 1 addition & 1 deletion docs/src/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
VICE: Versatile Integrator for Chemical Evolution
=================================================
Welcome!
This is the documentation for **VICE version 1.3.0**.
This is the documentation for **VICE version 1.3.1**.
First time users should familiarize themselves with VICE's API by going
through our `tutorial`__, which can be launched automatically by running
``python -m vice --tutorial`` from a Unix terminal after
Expand Down
29 changes: 18 additions & 11 deletions docs/src/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ do not want to use the binary using the ``--no-binary`` flag:

$ python -m pip install vice [--user] --no-binary :all:


The option ``:all:`` above tells ``pip`` to install all of the packages in the
current call to ``pip install`` without binaries; when installing multiple
packages, this value can be specified as a comma-separated list.
Expand All @@ -46,21 +45,25 @@ specifying the version number:

$ python -m pip install vice==<version number> [...]

.. _windows_note:

Designed for systems with a Unix kernel, VICE does not function within a
windows environment.
Windows users should therefore install VICE within the
`Windows Subsystem for Linux (WSL)`__.
Provided that the call to ``pip`` is ran from within WSL, the pre-compiled
binary installer from PyPI_ should install VICE properly.
We emphasize that the Anaconda prompt provided for Windows is **not** a true
Unix kernel, and therefore will fail to install and run VICE properly.
As long as the call to ``pip`` is ran from within WSL, the proper pre-compiled
binary for Linux systems provided on PyPI_ should install successfully.
A `manual installation`__ on a windows machine must also be ran within
WSL.
WSL and cannot be conducted with the Anaconda prompt.

__ WSL_
__ `Manual Installation`_
.. _WSL: https://docs.microsoft.com/en-us/windows/wsl/install-win10

For the current version, we provide pre-compiled binaries for Python_ versions
3.6-3.10 on computers with an x86_64 CPU architecture running Mac OS and Linux
3.7-3.10 on computers with an x86_64 CPU architecture running Mac OS and Linux
operating systems.
We do not provide pre-compiled binaries for CPU architectures other than x86_64.
This includes Linux computers with Aarch64 hardware as well as the new ARM64
Expand Down Expand Up @@ -159,13 +162,13 @@ While VICE does not have any primary run-time dependencies, there are a few
common compile-time dependencies that must be satisfied to install from source.
They are as follows:

1. Python_ >= 3.6
1. Python_ >= 3.7

2. setuptools_ >= 18.0

3. Make_ >= 3.81

4. gcc_ >= 4.6 or clang_ >= 3.6.0
4. gcc_ >= 4.6 or clang_ >= 3.6

On Mac OS X and Linux architectures, it is likely that Make_ and one of gcc_
or clang_ come pre-installed. Users may install with alternative C compilers
Expand Down Expand Up @@ -323,11 +326,15 @@ __ issues_

Running the setup.py File Failed
--------------------------------
`Did you run it for multiple versions of python simultaneously?`__
Alternatively,
`did you run a parallelized installation using the gcc C compiler?`__
If neither is the case, please open an issue `here`__.

`Did you attempt your installation on Windows without using WSL?`__
If not, `did you attempt the installation for multiple versions of python
simultaneously?`__
Alternatively, `did you run a parallelized installation using the gcc C
compiler?`__
If none of these solutions apply to your case, please open an issue `here`__.

__ windows_note_
__ gcc_parallel_note_
__ simultaneous_note_
__ issues_
Expand Down
Loading