- Ease dependency requirements
- Add support for delta_v dynamical parameter
- Fixed behaviour which lead to wrong identification of packed designations
- Fix capitalisations of Yarkovsky parameter names
- Fix printing of taxonomic class on command line
- Check that cache directory exists on author-lookup
- Correct link for SsODNet metadata file (#36)
- Drop support for python3.7
- 'sso_number' column in BFT is now of type Int64
- Fix metadata name conversion bug
- Update ssoBFT URL
- Update 'perihelion' -> 'periapsis' in BFT Lite scheme
- Many minor updates to align with upstream changes - SsODNet now supports natural satellites
- Add new
filename
attribute toRock
class
- Bugfix in quaero index parsing routine
- Add shortcut for source_regions
- Add custom output for source_regions
- Fix yarkovsky metadata lookup
- Do not fail silently when quaero connection times out
- Fix display of empty datacloud catalogues
- Sort mpcatobs by date_obs when printing
- Fix types of datacloud colors properties
- Make cache directory configurable using the
ROCKS_CACHE_DIR
environment variable - Add cache-less mode (
ROCKS_CACHE_DIR='no-cache'
) where all queries are done via SsODNet and no result is stored - Add more reasonable timeouts for asynchronous queries
- Add more readable output for spin queries (#25)
- Remove upper python version limit
- Remove documentation dependencies from pip install
- load_bft now passes kwargs to read_parquet
- rocks no longer exits if the index is malformed (#27)
- Fix bug in datacloud table display (#28)
- Add work-around for invalid period_flag type (#28)
- rocks no longer exits if a number look-up fails
- Load a smaller version of BFT by default by using a column subset
- Update the BFT when selecting 'Update data' option in
$ rocks status
- Get list of recently named asteroids from WGSBN instead of comparing indices
- Store citations in cache to increase look-up speed
- Fix types of Spins datacloud catalogue
- Move to pydantic v2
- Fix bug which prevented updating phase_function datacloud catalogues
- Add BFT support:
rocks.load_bft()
and more, see documentation
- Add bibref and method to pair
- Fix bibref type of tisserand_parameter
- Fix access of tisserand_parameter and pair
- Fix bibref type in yarkovsky and proper_elements
- Fix output of pairs datacloud table
- Catch failed alias look-up in
$ rocks ids
call
- Add '$ rocks recent' command to echo recently named asteroids after updating index
- Fix bug in inventory function
-
Add 'Rock.get_parameter' method which accepts string values to look up parameters: rocks.Rock(1).get_parameter('taxonomy.class_.value') Good for iterating over many parameters.
-
Fix parameter shortcut and unit look-up for MOIDs
- Rename min/max error levels from min_/max_ to min/max. These terms are not python keywords.
- Alias query is now done remotely via quaero. Removing the alias index, it's slow and heavy.
- Speed up index creation using multiprocessing
- Fix install bug by providing numpy version markers
- Support python3.11
- Make all ssoCard bibref properties ListWithAttributes
- Add Johnson R filter to phase functions entries
- No longer storing invalid datacloud responses
- Name resolution strip leading/trailing whitespace from identfier
- Promote mal-formed ssoCard error message
- Update ssoCard format for ssoCard version 1.1.0
- Update the metadata and dataset JSONs when choosing 'update' in '$ rocks status'
- Strip diacritics from author search when running '$ rocks author'
- Catch invalid datacloud response when querying catalogues
- Catch malformed index when running rocks status
- Change type of spins.period_flag to reflect upstream change
- Move index check from init to into name resolution module as proposed in #21
- Fix column name in diameters echo (#20)
- Add boolean property for families: bool(rocks.Rock(1).family) is True if family.name is not ""
- Update rich dependency requirement to make rocks compatible with classy
- Inform about malformed ssoCard at debug rather than warning level
- Remove lines where albedo|diameter are NaN when querying albedos|diameters on command line
- Differentiate between malformed index and request for asteroid number larger than the maximum number of all asteroids
-
Improve compatibility with Mac, add compatibility with Windows. Use appdirs package to use system-dependent cache directory:
Windows: ':\Users\$USER\AppData\Local\rocks\Cache' Mac: '/Users/$USER/Library/Caches/rocks' Linux: '$HOME/.cache/rocks'
Mac users of previous rocks versions can remove the '$HOME/.cache/rocks' directory.
- Remove deprecated suppress_errors argument from CLI call (#19)
- Make albedo.bibref a list of Bibref rather than a list of dict
- Expose the logging-level of rocks with the rocks.set_log_level function
- Remove the suppress_errors argument of rocks.Rock and rocks.rocks -> use rocks.set_log_level instead
- Make rocks behave well in multithreaded applications (#18)
- Bugfix in outdated-rocks message
- Fix bug in mpcatobs datacloud catalogue
- More robust detection of malformed datacloud catalogues
- rocks.id and rocks.rocks support pd.Series input again
- Faster index creation (4min -> 1min, YMMV)
- Add "on_404" argument to rocks.Rock and rocks.rocks (#16)
- Fix retrieval of ssoCards
- Fixed empty lines spam in jupyter notebook
- rocks logger format is only applied to rocks logger, not to all modules
- YA bug in datacloud entry ingestion (#15)
- Fixed bug in datacloud entry ingestion (#14)
- Fixed bug in index-existence check on startup
- Fixed missing imports in index creation routine
- Code refactored to optimize performance of CLI, e.g. $ rocks id is now 2x faster
- identify() no longer accepts pd.Series to avoid heavy pandas import
- Adding '--clear' and '--update' flags to $ rocks status
- $ rocks author output now includes bibcode
- Switching from warnings to logging module
- Fix bug in datacloud families ingestion
- Add 'author' command to quickly check the presence of data from peer-reviewed article: '$ rocks author bowell'
- bool(rocks.Rock().color.) is True if color..value is finite
- Add nicer representation of colors '$ rocks color tina', '$ rocks color.g_i tina'
- Fix bug in case ssoCard query returns null
- Fix bug in bibref implementation
- Parameters of different spin solutions / bibref entries are now accessible via the common dot notation, see version 1.6.2 https://rocks.readthedocs.io/en/latest/cli.html#bibliography-management-with-rocks or '$ rocks diameter.bibref.shortbib pallas'
- Added shortcuts for equation-of-state vector
- Fix in lru_cache call to work with python3.7
- New access model for metadata attributes (format, description, symbol, label, and unit): accessed dynamically and hidden in output (except for unit)
- Fix phase_function output once again
- Fix datacloud spin catalogue ingestion
- Fix output of phase_functions, yarkovskys, and binaries datacloud catalogues
- Change parameter echo method to regular 'print' as rich outputs 'repr' instead of 'str'
- Documentation now even better looking. Also more up-to-date.
- Add alias 'rocks.id' for 'rocks.identify' in python interface
- Datacloud phase_functions no longer hide ssoCard phase_function
- Added shortcuts for phase_function filters:
- phase_function.generic_johnson_V -> phase_function.V
- phase_function.misc_atlas_cyan -> phase_function.cyan
- phase_function.misc_atlas_orange -> phase_function.orange
- Added summary output for phase_function ('$ rocks phase_function eos')
- Added summary output for phase_function.filter ('$ rocks phase_function.cyan eos')
- Added boolean properties to phase_function and phase_function.filter ('if rock.phase_function' is True if an absolute magnitude is present in any filter)
- Bugfix in aliases look-up in case of None
- Bugfix in selection of preferred observations in weighted average
- Bugfix in datacloud and selection echo
- Rename 'aliases' to 'ids'
- Add shortcut P for orbit
- SpinList is never empty, it gets populated with an empty Spin object in case of missing spin information in ssoCard
- SpinList is False if all period entries in the list are NaN
- Fix verbose parameter output
- Remove description and label entries from 'links' parameters
- Parameter echo to console now respects the -v|--verbose flag
- Fix implementation of dynamical parameters
- Get preferred entries from the ssoCard instead of hardcoded decision trees
- Remove definitions module
- Fix printing of astorb, mpcorb catalogues
- Fix in ssoCard ingestion in case of missing spins
- Implement metadata attributes like .unit and .description
- Added catch for missing index files
- Added "who" CLI command to look up citation associated to named asteroid
- Added interactive search using optional fzf tool
- Simplified "rocks status" output
- Updated SsoCard attributes following upstream changes
- Removed CLASS_TO_COMPLEX dictionary: complex is given in SsODNet
- Fix highlighting of best-estimate parameters in datacloud queries
- Fix bug in datacloud catalogue update
- Added bibcode and doi to datacloud entries
- Fixed bug in preferred-attribute-highlighting
- Updated Pair implementation
- Bugfix in ssoCard spin implementation
- Fixed implementation of thermal inertia, absolute magnitude, spins, and proper elements
- Fixed implementation of thermal inertias and spins (ie the datacloud attributes)
- Update the metadata json url
- Pretty-print tracebacks with rich
- Fix bug in cache inventory function
- Update implementation of absolute magnitude in ssoCard following upstream change
- Fixed implementation of parameter unit
- Implemented boolean property of Value: "bool(rocks.Rock(1).albedo)" is True if the albedo.value is not NaN, else False
- Updated Rock class to reflect upstream changes in ssoCard structure
- Updated datacloud classes to reflect upstream changes in datacloud catalogue structures
- Improved rocks version comparison
- Add catch for 594913 'Aylo'chaxnim in index lookup
- Added shortcut "D" for diameter
- Removed the "units" argument from "rocks parameters", units are now printed by default
- Add catch for malformed datacloud catalogues
- Fix implementation of diamalbedo catalogue
- Fixed incorrect display of double-letter taxonomic classes on command line
- Index for asteroids with designation 2022 is now correctly compiled
- Updated taxonomy implementation to reflect change in ssoCard
- Set all colour values to "grayish" and shapes to "roughly potato-like"
- Bugfix in datacloud catalogue retrieval
- Properly catch empty JSON responses stored as ssocards or datacloud catalogues
- Updated color entries in ssoCard and datacloud. datacloud 'colors' no longer shadows the ssoCard 'colors' as the latter has been renamed to 'color'
- Implement upstream change to fix storing of ssocards and datacloud catalogues
- Add -v|--verbose flag to parameter queries on the command line. Errors in the ssoCard structure are suppressed unless the verbose flag is set.
- Add "suppress_errors" argument to rocks.rocks and rocks.Rock. If True, errors in the ssoCard JSON are not printed when creating the Rock instances. Default is False, errors are printed.
- Updated structure of Pairs datacloud catalogue
- Add "complex" keyword to taxonomy
- Change "complex_" to "complex" in the taxonomies datacloud catalogue as it is not a protected python keyword
- Fix in name resolution which caused degeneracy with packed permanent designation format
- Updated implementation of asteroid pair to reflect change in ssoCard
- Added the error_ attributes to Values. It contains the mean of the absolute values of the min and max error.
- Added 'aliases' command in CLI to echo asteroid aliases
- Cached ssoCards are now dereferenced to the actual level of the ssoCard
- Added the -u/--units argument to the "parameters" CLI command to echo the units
- Bugfix in index creation, designation file was showing number
- Bugfix in datacloud masses catalogue
- Added a failsafe for broken Spin entries which pydantic cannot handle
- Decreased execution time on command line by splitting index file and lazy-loading the plots module
- The previous index.pkl is now split into many smaller files living in $HOME/.cache/rocks/index
- Added the short index containing only asteroids with number up to 10,000. Command line queries will first check this index, which saves about 0.5s in case of a successful resolution and carries a negligible time penalty on an unsuccessful one.
- Multiple parameters can now be queried via the CLI by chaining them with commas: $ rocks ap,ep pallas
- Added alias for sine of proper inclination: sinip
- Reduced startup time by 50% by reducing the size of the asteroid name-number index
- Added the Tisserand parameter to the ssoCard
- Rock.parameters.physical.spin is now a list of Spin instances, rather than a Spin instance with lists. This is consistent with the Rock.parameters.physical.taxonomy parameter.
- If multiple taxonomic classifications exist, rocks will now print the class and the shortbib
- Datacloud properties are now sorted by year of publication when echoed on the command line
- Rocks can now be created even if part of the ssoCard is invalid. An erroneous albedo entry does not prevent retrieving the diameter anymore.
- If the query of a named asteroid via the CLI fails, rocks proposes some matches
- Reduced verbosity of output if name resolution fails during parameter query
- Added timeout to rocks version check
- Updated diamalbedo catalogue structure
- Bugfix in ssodnet module
- Empty datacloud catalogues are now cached as well to reduce redundant queries
- More fixes for the Spin parameter
- Added command alias: update -> status
- The phase-function parameter is now correctly called phase_function
- The phase-function datacloud catalogue parameter is now correctly called phase_functions
- Aligned implementation of Spin parameter with ssoCard changes
- Adapted GREETING to supervisor's liking
- Improved "missing ssoCard" error message
- Do not cache empty ssoCards
- Fixed bug which prevented usage of cached ssoCards
- Bugfix in confirm_identity
- Bugfix in core
- The asteroid name-number index file is now compiled on SsODNet side. It is removed from the GitHub repo.
- Added Density parameter to Rock
- Added greeting which is displayed when index.pkl is missing
- Added aliases for commands id (identify) and parameters (parameter)
- Fixed bug in units display
- Fixed bugs in rocks parameters
- Fixed bugs in rocks status
- Fixed issue with rocks.rocks looking for ssoCards which do not exist
- Bugfix in index retrieval function
- Better display of index modification time in rocks status command
- Ensuring that method and bibref are always lists in albedo
- Updated datacloud catalogue implementations
- Catching the 502 server error with rocks identify
- Stripping surrounding whitespace from passed asteroid identifiers
- Added "reduced" identifier to index for more reliable local name resolution (e.g. "riodejaneiro")
- Reformatted the resolver module
- rocks update now offers to clear the cache
- rocks update now correctly checks both the ssocard.version and ssocard.datetime to find outdated cards
- rocks update now echos the last-modified date of the index and the cached metadata files
- Added clear_cache function to utils module
- More accurate estimation of remaining name resolution time
- Unknown commands on the CLI are now recognized.
- Renamed rocks update to rocks status
- Made rocks status output more consistent
- Removed tqdm dependency
- Made rocks.rocks asynchronous
- Renamed 'no_cache' keyword to 'local' for consistency
- datacloud catalogues and ssoCards are now updated asynchronously
- identify now correctly checks the 'id' column of the returned json response
- User has to confirm update of ssoCards
- Overall nicer rocks update dialogue
- datacloud catalogues are now DataCloudDataFrame objects: a pd.DataFrame subclass with added .plot() and .weighted_average()
- Readded the --plot flag for datacloud CLI queries
- Merged the 'rocks status' command into the 'rocks update' command
- The 'rocks update' command now updates all cached data if requested
- Switched the local index from a pandas dataframe to dictionaries
- Included the absolute magnitude into the ssoCard following upstream development
- Local name resolution is now lightning fast
- Removed outdated code and reformatted the utils module
- Lots of documentation edits
- The diamalbedo catalogue once again has the preferred attribute
- Bugfix in the weighted_average calculation
- Made the wording more consistent: asteroid "property" -> asteroid "parameter"
- Added no_cache keyword to datacloud catalogue queries
- Fail gracefully if no ssoCard is present for asteroid when querying datacloud catalogue
- Added weighted average output to some datacloud catalogue queries from the command line
- Added weigthed_average method to Datacloud catalogue class
- Print warning when no ssoCard could be retrieved for an asteroid.
- Added 'no_cache' keyword to 'rocks.ssodnet.get_ssocard'. If True, it forces the remote query of the ssoCard
- Improved 'rocks status' command to echo the number of cached ssoCards and offer to update the out-of-date ones
- Fixed typo in ssodnet name of astorb catalogue
- Fixed output of datacloud parameters with CLI
- rocks.rocks now supports passing a single id (though you should use rocks.Rock instead)
- Correct handling of all-zero numerical properties in datacloud catalogues
- Fixed unit lookup file
- Merge taxonomy entries in ssoCard if there are more than one
- Fixed missing dependencies and requirements
- Added compatibility with python3.7 by dropping the metalib dependency
- Fixed bug in output of diamalbedos
- Updated the pydantic model to reflect the new ssoCard structure
- The 'datacloud' argument of the Rock class now accepts the property name aliases of the catalogue names, eg: "albedos", "diameters" instead of "diamalbedo"
- Added new shortcuts: a,e,i/ap,ep,ip for the orbital/proper elements: "$ rocks ap Ceres"
- Querying asteroid properties from the command line which coincide with python keywords no longer results in an error (e.g. "rocks class Hebe")
- Added --version command
- The 'albedos' and 'diameters' subsets of the 'diamalbedo' catalogue now have their own attributes in the Rock class
- Added return_id argument to 'identify'. By default, it now only returns name and number. To get the SsODNet ID, set return_id=True.
- Added a prompt to download the index from the GitHub repo to the cache if not found at startup
- Updated pydantic model to reflect new ssoCard structure
- The "Rock" class now takes a new "ssocard" parameter which can be passed ssoCards in form of dictionaries
- Added nested async support for jupyter notebooks
- Added cache clearing function
- Made ssoCard queries asynchronous
- Switched to pydantic implementation of ssoCard
- Added progressbar to rocks.identify
- Bugfix in cli module
- rocks docs now points to the online documentation
- Bugfixes in the core module
- Speed-up of local name resolution by refactoring the resolution logic
- Index file is no longer checked for date of last modification to reduce startup time
- Initial release on PyPI