Skip to content
Closed

v0.6 #120

Show file tree
Hide file tree
Changes from all commits
Commits
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
32 changes: 0 additions & 32 deletions .github/workflows/codacy-analysis.yaml

This file was deleted.

54 changes: 45 additions & 9 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,25 @@ name: Python package

on:
push:
branches: [main, dev-0.5.X, dev-0.4.X]
branches: [main, dev-0.6.X, dev-0.5.X, dev-0.4.X]
pull_request:
branches: [main, dev-0.5.X, dev-0.4.X]
branches: [main, dev-0.6.X, dev-0.5.X, dev-0.4.X]
schedule:
- cron: '0 0 * * 0'

jobs:
build:

runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]
os: [macos-14, macos-15, macos-26, ubuntu-22.04, ubuntu-24.04, windows-2022, windows-2025]
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]

steps:
- uses: actions/checkout@v2
- uses: s-weigand/setup-conda@v1
- uses: actions/checkout@v5
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
Expand All @@ -37,15 +38,50 @@ jobs:
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
continue-on-error: ${{ startsWith(matrix.os, 'windows') &&
(matrix.python-version == '3.13' || matrix.python-version == '3.14')}}
run: |
coverage run -m pytest --disable-warnings -p no:warnings test
- name: Coveralls
if: startsWith(matrix.os, 'ubuntu')
uses: AndreMiras/coveralls-python-action@develop
if: startsWith(matrix.os, 'ubuntu') && endsWith(matrix.python-version, '3.14')
uses: coverallsapp/github-action@v2
with:
parallel: true
flag-name: Unit Test

upload_pypi:
if: github.event_name == 'push'
runs-on: ubuntu-latest
permissions:
id-token: write
# or, alternatively, upload to PyPI on every tag starting with 'v' (remove on: release above to use this)
# if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
steps:
- uses: actions/checkout@v5
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.x'

- name: build wheel
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine
pip install -r requirements.txt
pip install -e .
python setup.py sdist bdist_wheel

- uses: actions/download-artifact@v4
with:
# unpacks all CIBW artifacts into dist/
path: dist
merge-multiple: true

- uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/
skip-existing: true

coveralls_finish:
needs: build
runs-on: ubuntu-latest
Expand Down
49 changes: 28 additions & 21 deletions .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,33 @@ on:
types: [published]

jobs:
build:

upload_pypi:
runs-on: ubuntu-latest

permissions:
id-token: write
# or, alternatively, upload to PyPI on every tag starting with 'v' (remove on: release above to use this)
# if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.8'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine
pip install -r requirements.txt
pip install -e .
- name: Build and publish
env:
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
run: |
python setup.py sdist bdist_wheel
twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
- uses: actions/checkout@v5
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.x'

- name: build wheel
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine
pip install -r requirements.txt
pip install -e .
python setup.py sdist bdist_wheel

- uses: actions/download-artifact@v4
with:
# unpacks all CIBW artifacts into dist/
path: dist
merge-multiple: true

- uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://upload.pypi.org/legacy/
6 changes: 3 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
repos:
- repo: https://github.com/psf/black
rev: 23.1.0
rev: 25.12.0
hooks:
- id: black
language_version: python3.10
Expand All @@ -13,14 +13,14 @@ repos:
- id: seed-isort-config

- repo: https://github.com/pycqa/isort
rev: 5.11.4
rev: 7.0.0
hooks:
- id: isort
name: isort (python)
args: ["--profile", "black", "--line-length", "79"]

- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.0.1
rev: v4.3.0
hooks:
# Identify invalid files
- id: check-ast
Expand Down
2 changes: 1 addition & 1 deletion .zenodo.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"upload_type": "software",
"creators": [
{
"affiliation": "Tel Aviv University",
"affiliation": "University of Edinburgh",
"name": "Lam, Marco C",
"orcid": "0000-0002-9347-2298"
},
Expand Down
10 changes: 8 additions & 2 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
We aim to track and report as many changes as possible, but this is not an exhaustive list of all the changes.

Version 0.5.2
-------------

:Date X-X-2026


Version 0.5.1
-----------------
-------------

:Date 24-7-2022

Expand All @@ -12,7 +18,7 @@ Version 0.5.1


Version 0.5.0
-----------------
-------------

:Date 13-6-2022

Expand Down
2 changes: 1 addition & 1 deletion CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ type: software
authors:
- given-names: Marco C
family-names: Lam
email: lam@mail.tau.ac.il
email: mlam@roe.ac.uk
affiliation: Tel Aviv University
orcid: 'https://orcid.org/0000-0002-9347-2298'
- given-names: Robert J
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

We aim to provide a suite of publicly available spectral data reduction software to facilitate rapid scientific outcomes from time-domain observations. For time resolved observations, an automated pipeline frees astronomers from performance of the routine data analysis tasks to concentrate on interpretation, planning future observations and communication with international collaborators. Part of the OPTICON project coordinates the operation of a network of largely self-funded European robotic and conventional telescopes, coordinating common science goals and providing the tools to deliver science-ready photometric and spectroscopic data. As part of this activity is [SPRAT](https://ui.adsabs.harvard.edu/abs/2014SPIE.9147E..8HP/abstract), a compact, reliable, low-cost and high-throughput spectrograph and appropriate for deployment on a wide range of 1-4m class telescopes. Installed on the Liverpool Telescope since 2014, the deployable slit and grating mechanism and optical fibre based calibration system make the instrument self-contained.

ASPIRED is written for use with python 3.7, 3.8, 3.9, 3.10 and 3.11, and is intentionally developed as a self-consistent reduction pipeline with its own diagnostics and error handling. The pipeline should be able to reduce 2D spectral data from raw image to wavelength and flux calibrated 1D spectrum automatically without any user input (quicklook quality). However, the real goal is to provide a set of easily configurable routines to build pipelines for long slit spectrographs on different telescopes (science quality). We use SPRAT as a test case for this development, but our aim is to support a much wider range of instruments. By delivering near real-time data reduction we will facilitate automated or interactive decision making, allowing "on-the-fly" modification of observing strategies and rapid triggering of other facilities.
ASPIRED is written for use with python 3.10, 3.11, 3.12, 3.13 and 3.14, and is intentionally developed as a self-consistent reduction pipeline with its own diagnostics and error handling. The pipeline should be able to reduce 2D spectral data from raw image to wavelength and flux calibrated 1D spectrum automatically without any user input (quicklook quality). However, the real goal is to provide a set of easily configurable routines to build pipelines for long slit spectrographs on different telescopes (science quality). We use SPRAT as a test case for this development, but our aim is to support a much wider range of instruments. By delivering near real-time data reduction we will facilitate automated or interactive decision making, allowing "on-the-fly" modification of observing strategies and rapid triggering of other facilities.

Further information can be referred to this [AJ article](https://iopscience.iop.org/article/10.3847/1538-3881/acd75c).

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "aspired",
"description": "",
"version": "0.5.0",
"version": "0.6.1",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[build-system]
requires = ["poetry>=1.1", "setuptools>=59.6.0", "wheel"]
requires = ["poetry>=2.0", "setuptools>=59.6.0", "wheel"]
build-backend = "setuptools.build_meta"

[tool.coverage.run]
Expand Down
2 changes: 1 addition & 1 deletion requirements-dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ coverage>=0.38.4
flake8>=5.0.4
isort>=5.11
kaleido>=0.2
numpy>=1.18
numpy>=1.26
plotly>=5.6
psutil>=5.9.4
pytest>=5.3
Expand Down
6 changes: 3 additions & 3 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
astropy>=4.3
astroscrappy>=1.1
ccdproc>= 2.3
kaleido>=0.2
numpy>=1.18
kaleido>=1.2
numpy>=1.26
plotly>=5.6
rascal<0.4
scipy>=1.7
scipy>=1.9
spectresc>=1.0.1
specutils>=1.8
statsmodels>=0.13
18 changes: 9 additions & 9 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
[metadata]
name = aspired
version = 0.5.1
version = 0.6.1
license = BSD-3-Clause
license_files = LICENSE
description = The iraf-free spectral data reduction toolkit.
long_description = file: README.md
long_description_content_type = text/markdown
readme = README.md
author = Marco C Lam, Robert J Smith
author_email = lam@mail.tau.ac.il, r.j.smith@ljmu.ac.uk
author_email = mlam@roe.ac.uk, r.j.smith@ljmu.ac.uk
maintainer = Marco C Lam
maintainer_email = lam@mail.tau.ac.il
maintainer_email = mlam@roe.ac.uk
url = https://aspired.readthedocs.io/en/latest/?badge=latest
download_url = https://github.com/cylammarco/aspired
classifiers =
License :: OSI Approved :: BSD License
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
Programming Language :: Python :: 3.12
Programming Language :: Python :: 3.13
Programming Language :: Python :: 3.14
Operating System :: OS Independent

[options]
Expand All @@ -31,11 +31,11 @@ packages = find:
include_package_data = True
python_requires = >=3.6
install_requires =
astropy>=4.3
numpy>=1.18
astropy>=5.3
numpy>=1.26
scipy>=1.7
plotly>=5.6
kaleido>=0.2
kaleido>=1.2
astroscrappy>=1.1
ccdproc>=2.3,!=2.4.0
statsmodels>=0.13
Expand Down
Loading
Loading