All notable changes to SpiceyPy will be documented here
The format is based on Keep a Changelog and this project tries to adhere to Semantic Versioning.
- Pyodide/WebAssembly build support for SpiceyPy (excluding cyice) (#527)
__all__exports for spiceypy and cyice modules- Interactive Pyodide/PyScript-based code examples in Sphinx documentation (#529)
- Custom Sphinx extension for PyScript editor integration
- Standalone Python scripts for all doc lesson examples (binary_pck, event_finding, insitu_sensing, other_stuff, remote_sensing)
- Updated documentation lessons to be interactive via wasm/pyodide (#529)
- Updated Cassini example to use Pyodide (#527)
- Modernized some code examples in docs to use f-strings and other modern Python conventions
- Updated CMakeLists.txt for Emscripten/wasm cross-compilation support
- Missing spice error check for oscltx (#532)
- Fixed cell allocation sizes for union and sdiff (#532)
- Fixed various parameter type annotations from int to float (#532)
- Fixed errors in errprt and ekuced (#531)
- Various bug fixes and typo corrections (#531)
- ci pr builds for 3.10 and 3.11 as excessive (wheels will continue to be published for these versions)
- slightly better test for mequg
- fixed api consistency in cyice to be consistent with spiceypy
- fixed parameter doc strings in spiceypy and cyice
- fixed typo in mequg function
- Adds tests specific to logging
- fixes spiceypy logging initialization
- fixed how spicebools were defined in cyice
- Missing import for no_found_check in spiceypy.py
- Swapped order of spice error check and found flag check decorators to avoid spurious NotFound exceptions.
SpiceyPy with Cyice, Cython accelerated Spice
- Cython extension submodule Cyice for accelerated SpiceyPy
- Cyice includes wrappers for over 90 CSPICE functions, vectorized for majority of functions, shares kernel pool with spiceypy so new functions are drop-in replacements
- Cyice functions tested and benchmarked against spiceypy ctypes wrapper functions
- new Cyice docs
- new required reading docs pages (#489)
- python 3.13 builds (#488) and native aarch64 runners (#490)
- Various issues and typos in docs (#503) (#492) (#350) (#481) (#477)
- Various CI improvements (#484) (#479)
- Switched build system to scikit_build_core/cmake to simplify builds
- Pckcov returns “cover” arg (#504)
- URLs to naif are now versioned (#493)
- Get_spice.py, setup.cfg, setup.py, and related old build system
Backport fix for spice cell functions
- Add assertions that passed-in SpiceCell is correct type for
bltfrm(),ckcov(),ckobj(),kplfrm(),spkobj()
- Corrected bug where bool was used instead of is Null for specifying return SpiceCell in
bltfrm(),ckcov(),ckobj(),kplfrm(),spkobj() - fixed sdist publishing issue in ci publish workflow
Backport fix to avoid numpy version change before v7.0.0 release
- changed numpy version pin to be 'numpy>=1.23.5'
Backport release of various small fixes and typo corrections
- python 3.13 builds
- missing exceptions from cspice #494
- new required readings docs #489
- cirrus ci was removed
- gitter chat info
- Added units to many parameter descriptions in function docstrings to address #350
- updated various aspects of ci builds
- copyright date ranges updated to 2025
- moved naif doc urls to versioned
- various readthedocs and docs issues
- cylsph was fixed as it was calling the wrong cspice function #496
- various typos
Fixed several major typos and fortran array ordering issues in tkfram, zzdynrot as well as failing tests on arm64 macos.
- SpiceNOTENOUGHDATA2 exception #466
- Context manager for SPICE kernels #458
- CITATION.cff file
- DeprecationWarning for zzdynrot
- tkfram_c now used in tkfram wrapper function
- updated setup.cfg
- type hints for sincpt to be more correct
- python 3.6
- python 3.7
- codecov as a dependency in dev
- fixed zzdynrot and tkfram return matrix element ordering
- typo in exceptions.rst #459
- fixed test test_sphlat
- fixed sphlat to use correct libspice function call
- fixed tests for dskx02, dskxsi, gfsntc for arm64 macos floating point issues #470
- fixed typo in test_oscelt and test_oscltx
fix for exception error message toolkit version
- exceptions now use dynamic lookup of toolkit version for error messages
fixes macOS arm64 cross compile
- updated get_spice.py to allow for arch override for macos arm64
adds wrappers for the majority of new function in n67
- azlcpo
- azlrec
- chbigr
- chbint
- chbval
- ckfrot
- ckfxfm
- ckgr02
- ckgr03
- ckmeta
- cknr02
- cknr03
- dafhsf
- dasadc
- dasadd
- dasadi
- dashfs
- daslla
- dasllc
- dasonw
- dasops
- dasrdd
- dasrdi
- dasudd
- dasudi
- daswbr
- dazldr
- dlabns
- dlaens
- dlaopn
- dnearp
- drdazl
- ednmpt
- edpnt
- evsgp4
- getfvn
- hrmesp
- invstm
- lgresp
- lgrint
- qderiv
- recazl
- stlabx
- tagnpt
- tkfram
- tparch
- trgsep
- twovxf
- vprojg
- fixed docstring for frinfo
- fixed freebsd support in getspice
minor update to make ld_library_path update safer
- override of ld_library_path is now temporary
- updated copyrights for 2022
- switched to N67 CSPICE, no new wrapper functions yet
- removed deprecated named args mentioned in 4.0.1 release notes
- deprecation warnings for params of mtxmg, mtxvg, mxm, mxmg, mxmt, mxmtg, mxvg, vtmvg, xposeg, unormg, vaddg, vdistg, vdotg, vequg, vhatg, vminug, vnromg, vrelg, vsclg, vsepg, vsubg, vzerog
- ncol/nrow params for: mtxmg, mtxvg, mxm, mxmg, mxmt, mxmtg, mxvg, vtmvg, xposeg
- ndim param for: unormg, vaddg, vdistg, vdotg, vequg, vhatg, vminug, vnromg, vrelg, vsclg, vsepg, vsubg, vzerog
- changelog now rendered in docs
- runtime override of cspice via env var or ld_library_path
- pyproject.toml and setup.cfg
- CSPICE N66 patches from NAIF/conda-forge feedstock
- builds for aarch64 and macos arm64
- switched to src layout
- switched "cspice.dll/.so" to "libcspice.dll/so"
- updated get_spice.py to build cspice from source
- moved most metadata to setup.cfg
- updated ci workflows to build wheels for major platforms using cibuildwheels
- updated install commands in docs to use pip instead of setup.py
- getfat variables size #420
- safer cleanups in tests
- docs info about ARM support, currently limited to conda-forge spiceypy
- docs citation info/basic intro
- hash checksums for test kernels
- offline install ci tests
- warn_deprecated_args function to aid future deprecations
- added deprecation warnings for ncol/nrow params for: mtxmg, mtxvg, mxm, mxmg, mxmt, mxmtg, mxvg, vtmvg, xposeg pending next major release.
- added deprecation warnings for ndim param for: unormg, vaddg, vdistg, vdotg, vequg, vhatg, vminug, vnromg, vrelg, vsclg, vsepg, vsubg, vzerog pending next major release.
- copyright year
- a number of typehints to accept np.ndarray
- changed test_wrapper to use a pytest autouse fixture to call reset/kclear automatically for most tests
- missing docs for xf2eul
- numpy bool_ deprecation warnings
- numpy float warning
- type hint for appndd
- bodeul
- main branch is now the default branch
- switched to use 'fromisoformat' in datetime2et
- fixed nintvls spelling inconsistency
- missing get_spice.py in manifest
- added irfnam, irfnum, irfrot, irftrn
- added kpsolv, kepleq
- better exceptions, many hundred spice toolkit defined exceptions
- copy button to docs codeblocks
- added CSPICE_SRC_DRI envvar override to specify cspice src directory during install
- added CSPICE_SHARED_LIB envvar override to specify cspice.so/.dll/.dylib during install
- switch to codecov for code coverage
- various support type changes
- renamed getspice.py to get_spice.py
- fixed missing doc strings for callbacks
- coveralls
- test cmd class in setup.py
- direct references to deprecated numpy matrix class
- et2datetime function
- funding.yml
- changed http to https in docs/docstrings
- many small issues with the docs
- author name in joss paper
- fixing SyntaxWarning in python 3.8
- year in docs
- issue with urllib usage in gettestkernels
- removed old logic from getspice for old openssl versions
- import of six in getspice
- Python 3.8 support
- using black for code linting
- now using type hints
- vectorized functions now return numpy arrays instead of lists of arrays
- python 3.5
- python 2.7
- wrapper for ev2lin
- numpy string support
- some equality checks
- updated MANIFEST.in to include test code
- vectorization of et2utc
- vectorization of scencd
- vectroization of sc2e
- updated MANIFEST.in to include test code
- wrapper for tkfram
- wrapper for ckfrot
- wrapper for zzdynrot
- issue with dafgda absolute value problem, see issue #302
- set numpy version to 1.16.4 for python 2
- other dependency changes to setup.py and requirements.txt
- typo in a unit test fixed
- gfevnt wrapper
- easier spice cell inits
- python datetime to et converter
- issue template
- code of conduct
- NAIF python lessons to docs
- functions that modify a results spicecell now optionally create a return spicecell
- convrt now "vectorized"
- prioritized citation info in readme
- removed anaconda build steps from appveyor, conda-fordge replaces it
- newlines in changelog
- python 3.7 builds on travis / appveyor
- numpy to ctypes and back conversions improved
- a few bool related internal things in support_types
- conda builds on appveyor removed in favor of conda-forge distribution of spiceypy
- issues relating to c_bool usage. everything is now c_int
- wrapper functions for gffove and gfocce and associated callbacks
- proxymanager for spice download by B. Seignovert
- simplifications in libspicehelper
- issue with cassini example in doc
- termpt docstring by Marcel Stefko
- various things in ci build configs
- missing dll/so file issue with pip installs
- Completed wrapping of all new N66 DSK functions
- 3.6 classifier
- context manager for turning on/off found flag catches
- contributor guide
- freebsd support
- added tests for dozens of functions, wrapped almost all remaining functions
- added six and numpy to setup_requires setup.py kwargs
- bugs in some tests
- changed naming of vectorToList to cVectorToPython
- Updated getspice module to use urllib3 for OpenSSL library versions older than OpenSSL 1.0.1g.
- getspice module provides now a class that handles the downloading and unpacking of N066 CSPICE distribution.
- Updated setup to pack the CSPICE installation code into a class that extends the setuptools.command.install command.
- made vectorized functions more consistent
- changed tests to point to smaller kernel set hosted on github
- Implemented most of the new functions from N66 SPICE
- IntMatrixType support type
- SpiceDLADescr struct
- now backing N66 CSPICE
- now builds 2.7, 3.4, 3.5, 3.6
- 32 bit builds
- toPythonString now strips whitespace
- added python3.6 builds
- fixed formatting on changelog
- fixed issues with rtd builds
- version updated
- converted all downloads to use https
- wrapper functions and tests for fovray, fovtrg, pxfrm2, occult #158
- wrapper functions and tests for spklef, spkopa, spkpds, spksub, spkuds, spkuef #155
- tests for srxpt and sincpt #154
- a bunch of other tests for CK related functions
- example added to docs
- automated artifact deployments (mostly) to pypi and conda cloud
- improved use of six api to have better spicecells
- Start versioning based on the current English version at 0.3.0 to help
- refactored tests to be cleaner with kernel files
- fixed spice toolkit version to N65 pending new toolkit release.
- DOI citation information
- updated versions for pytest, coverage, coveralls
- README updates
- python wheel builds in appveyor #117
- wrapper for gfilum function
- converted README to rst format
- inconsistencies in doc strings #143
- issue #136
Got to a semi complete api here, lots of commits before things so this version can be considered a bit of a baseline
- many things
- the game
- nothing important
- what had to go
- it