Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
cfde0cd
Infrastructure update: remove sbpy.cfg, remove astropy testrunner
mkelley Oct 17, 2025
904ca21
Only want one copy of our license
mkelley Oct 17, 2025
e035389
Add astropy license
mkelley Oct 17, 2025
148b5eb
Update copyright year
mkelley Oct 17, 2025
17b4f63
Fix github url
mkelley Oct 17, 2025
068350e
Edit description
mkelley Oct 17, 2025
6e2a768
Logo refresh.
mkelley Oct 19, 2025
91fedeb
Update sphinx configuration to use pyproject.toml and compile with cu…
mkelley Oct 19, 2025
3020fc1
Update os and python version in readthedocs config
mkelley Oct 19, 2025
17dd2f2
Disable pyoorb testing for now.
mkelley Dec 23, 2025
2ce780d
Better handling of compile_fieldnames.py
mkelley Dec 24, 2025
a5903e2
Re-add version.py to gitignore
mkelley Dec 24, 2025
5054fce
Remove numpy126 from CI envs and take out more oorb
mkelley Dec 24, 2025
391ddc4
Switch to macos-latest
mkelley Dec 24, 2025
05ba0f9
Comment fixes in CI files
mkelley Dec 24, 2025
330df9a
Remove vestigial remnants of setup.cfg
mkelley Dec 24, 2025
c845a3b
Revert "Re-add version.py to gitignore"
mkelley Dec 24, 2025
36f0dd0
Update handling of version
mkelley Dec 24, 2025
f8293d1
Print values in doctests to avoid np.float64(...)
mkelley Dec 24, 2025
64516be
Straighten out numpy versions
mkelley Dec 24, 2025
d9edf8b
Typing updates: drop Union and clean up use of Self
mkelley Dec 24, 2025
bf86482
Update dev notes
mkelley Dec 24, 2025
33e2400
Also doctest units; order should be stable since astropy 5.3
mkelley Dec 24, 2025
9848889
Mimic astropy's coverage setup
mkelley Dec 24, 2025
4d28874
Fix escape character on Delta
mkelley Dec 24, 2025
3065797
Document **kwargs as dict
mkelley Dec 24, 2025
6d44100
Try to avoid sphinx warning on **kwargs
mkelley Dec 24, 2025
352775b
Tell coverage where the coverage options are defined
mkelley Dec 24, 2025
30bcb93
New 48P syndynes example, and explain how to use ephemeris from Horiz…
mkelley Dec 26, 2025
ffda9ed
Update file location.
mkelley Dec 27, 2025
27ccd7b
New unmasked() function.
mkelley Dec 27, 2025
bba26d3
New syndynes example, plot methods.
mkelley Dec 28, 2025
dd9c7cc
Add missing to_ephem
mkelley Dec 28, 2025
3b02d13
Use relative time in SourceOrbit
mkelley Dec 28, 2025
8a15510
Fix test_orbit
mkelley Dec 28, 2025
0ebadc7
Update examples, show how to do more complex plots
mkelley Dec 28, 2025
46cc1d7
Update change log
mkelley Dec 28, 2025
fa04caf
Debug tests
mkelley Dec 28, 2025
0852cf7
Remove note
mkelley Dec 28, 2025
d4ed99f
unmasked should be a private method.
mkelley Dec 28, 2025
3b5fdf0
Fix usage of _unmasked
mkelley Dec 28, 2025
26ed63b
Add missing lower case version
mkelley Dec 31, 2025
7b31bba
Update to_ephem
mkelley Dec 31, 2025
2280a54
Improve Syndyne(s) Synchrone(s)
mkelley Dec 31, 2025
7cc3bfd
Update syndyne tests for full coverage and more control
mkelley Dec 31, 2025
c334465
to_ephem was in the wrong spot
mkelley Dec 31, 2025
874e4c2
Update change log
mkelley Dec 31, 2025
bd32125
Mark tests with remote-data and require pytest-doctestplus 1.6 to do so.
mkelley Jan 1, 2026
f3b20fa
Age should not be used.
mkelley Jan 1, 2026
e6c4b3e
Mark doctests with REMOTE_DATA
mkelley Jan 2, 2026
4786e0c
Fix copy-paste mistake
mkelley Jan 2, 2026
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
20 changes: 10 additions & 10 deletions .github/workflows/ci_cron_weekly.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# GitHub Actions workflow that runs on a cron schedule.
# Check URLs and run latest deps with remote tests

# Remove -numpy126 when we support testing with numpy 2.0
# Restore testing with pyoorb when it supports Python 3.12+

name: Weekly CI Tests

Expand All @@ -19,10 +19,10 @@ env:
IS_CRON: "true"

jobs:
oorb-data:
uses: ./.github/workflows/oorb_data.yml
# oorb-data:
# uses: ./.github/workflows/oorb_data.yml
tests:
needs: [oorb-data]
# needs: [oorb-data]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v1
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
Expand All @@ -31,23 +31,23 @@ jobs:
ARCH_ON_CI: "normal"
IS_CRON: "true"
OORB_DATA: "$GITHUB_WORKSPACE/oorb-data/"
cache-path: oorb-data/
cache-key: oorb-data
# cache-path: oorb-data/
# cache-key: oorb-data
submodules: false
coverage: ""
envs: |
- name: Link check
linux: linkcheck

- name: Python 3.13 with dev versions of key dependencies
linux: py313-test-devdeps-cov
- name: Python 3.14 with dev versions of key dependencies
linux: py314-test-devdeps-cov
posargs: --verbose

allowed_failures:
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v1
with:
submodules: false
envs: |
- name: Python 3.11 with all optional dependencies and remote data
linux: py311-test-numpy126-alldeps
- name: Python 3.14 with all optional dependencies and remote data
linux: py314-test-alldeps
posargs: --remote-data --verbose
51 changes: 25 additions & 26 deletions .github/workflows/ci_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
#
# This file performs testing using tox and tox.ini to define and configure the test environments.

# Remove -numpy126 when we support testing with numpy 2.0
# Allow testing of optional dependencies on Python 3.12+ when pyoorb is updated.
# Restore testing with pyoorb when it supports Python 3.12+

name: CI Tests

Expand All @@ -26,10 +25,10 @@ env:
IS_CRON: "false"

jobs:
oorb-data:
uses: ./.github/workflows/oorb_data.yml
# oorb-data:
# uses: ./.github/workflows/oorb_data.yml
tests:
needs: [oorb-data]
# needs: [oorb-data]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v1
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
Expand All @@ -38,47 +37,47 @@ jobs:
ARCH_ON_CI: "normal"
IS_CRON: "false"
OORB_DATA: "$GITHUB_WORKSPACE/oorb-data/"
cache-path: oorb-data/
cache-key: oorb-data
# cache-path: oorb-data/
# cache-key: oorb-data
submodules: false
coverage: ""
envs: |
- name: Code style checks
linux: codestyle

- name: Python 3.13 with minimal dependencies, measuring coverage
linux: py313-test-cov
- name: Python 3.14 with minimal dependencies, measuring coverage
linux: py314-test-cov
coverage: codecov

- name: Python 3.11 with all optional dependencies, measuring coverage
linux: py311-test-numpy126-alldeps-cov
- name: Python 3.14 with all optional dependencies, measuring coverage
linux: py314-test-alldeps-cov
coverage: codecov

- name: Python 3.9 with oldest supported versions, measuring coverage
linux: py39-test-oldestdeps-cov
- name: Python 3.10 with oldest supported versions, measuring coverage
linux: py310-test-oldestdeps-cov
coverage: codecov
macos-test:
name: Python 3.11 with all optional dependencies (MacOS)
needs: [oorb-data]
runs-on: macos-13
name: Python 3.14 with all optional dependencies (MacOS)
# needs: [oorb-data]
runs-on: macos-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Restore cached files
uses: actions/cache/restore@v4
with:
path: oorb-data/
key: oorb-data
- name: Set environment
run: |
echo "OORB_DATA=$GITHUB_WORKSPACE/oorb-data" >> "$GITHUB_ENV"
# - name: Restore cached files
# uses: actions/cache/restore@v4
# with:
# path: oorb-data/
# key: oorb-data
# - name: Set environment
# run: |
# echo "OORB_DATA=$GITHUB_WORKSPACE/oorb-data" >> "$GITHUB_ENV"
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.11
python-version: 3.14
- name: Install tox
run: |
pip install tox
- name: Run tests
run: |
tox -e py311-test-numpy126-alldeps
tox -e py314-test-alldeps
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ __pycache__
*.c

# Other generated files
sbpy/version.py
sbpy/_version.py
*/cython_version.py
htmlcov
Expand Down
4 changes: 2 additions & 2 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
version: 2

build:
os: ubuntu-20.04
os: ubuntu-24.04
tools:
python: "3.10"
python: "3.13"
apt_packages:
- graphviz
jobs:
Expand Down
50 changes: 50 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,53 @@
v0.7.0 (unreleased)
===================

New Features
------------

sbpy.dynamics
^^^^^^^^^^^^^

- Plot syndynes and synchrones with the new ``plot()`` methods on
`sbpy.dynamics.syndynes.Syndyne`, `sbpy.dynamics.syndynes.Syndynes`,
`sbpy.dynamics.syndynes.Synchrone`, and `sbpy.dynamics.syndynes.Synchrones`.
[#434]

- New `sbpy.dynamics.syndynes.SourceOrbit` class to encapsulate a collection of
points along an object's orbit. [#434]


API Changes
-----------

sbpy.dynamics
^^^^^^^^^^^^^

- Indexing `sbpy.dynamics.syndynes.Syndynes` or
`sbpy.dynamics.syndynes.Synchrones` with an integer, e.g., ``syndynes[0]``,
will return a single `sbpy.dynamics.syndynes.Syndyne` or
`sbpy.dynamics.syndynes.Synchrone`. Indexing with a tuple or slice, e.g.,
``syndynes[:2]`` will return `sbpy.dynamics.syndynes.Syndynes` or
`sbpy.dynamics.syndynes.Synchrones`. Previously a list was returned. [#434]

- `sbpy.dynamics.syndynes.SynGenerator.source_orbit` now returns a
`sbpy.dynamics.syndynes.SourceOrbit` object. Previously the states and
projected coordinates were returned as separate objects. [#434]

- Converting `sbpy.dynamics.syndynes.Syndynes` and
`sbpy.dynamics.syndynes.Synchrones` to ``Ephem`` objects no longer include the
``SkyCoord`` column "coords", but all the data (RA, Dec, etc.) should still be
present as separate columns. [#434]


Bug Fixes
---------

sbpy.dynamics
^^^^^^^^^^^^^

- Added missing `sbpy.dynamics.state.State.to_ephem`. [#434]


v0.6.0 (2025-12-02)
===================

Expand Down
2 changes: 1 addition & 1 deletion LICENSE.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2017-2024, sbpy team
Copyright (c) 2017-2025, sbpy team
All rights reserved.

sbpy uses a 3-Clause BSD License:
Expand Down
2 changes: 1 addition & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
include README.rst
include CHANGES.rst
include setup.cfg
include LICENSE.rst
include pyproject.toml

Expand All @@ -12,6 +11,7 @@ recursive-include docs *
recursive-include licenses *
recursive-include scripts *

prune sbpy/_dev
prune build
prune docs/_build
prune docs/api
Expand Down
1 change: 1 addition & 0 deletions docs/_static/sbpy_banner_96.png
1 change: 1 addition & 0 deletions docs/_static/sbpy_banner_dark_96.png
1 change: 1 addition & 0 deletions docs/_static/sbpy_logo.ico
1 change: 1 addition & 0 deletions docs/_static/sbpy_logo.png
Loading