Skip to content

Releases: emilyhunt/ocelot

Remove Python version upper bound

14 Nov 12:53

Choose a tag to compare

Removes an erroneous upper bound limit on Python version (was previously <3.13, which is super restrictive.)

v0.4.7: Relax numba version constraints

14 Nov 12:47

Choose a tag to compare

Maintenance release that allows for higher numba versions that previously, thanks to a bugfix now in numba.

v0.4.6: Relax version constraints

17 Mar 09:09

Choose a tag to compare

Bugfix release that relaxes some version constraints, including allowing for support of e.g. astropy 7.0.

v0.4.5: Bugfix to cluster simulation

05 Feb 13:47

Choose a tag to compare

Fixes a regression added in a previous release that prevented simulation of clusters observed with Gaia.

... remember: always run your unit tests! 🥴

v0.4.4: Bugfix for cluster simulation when zero stars simulated

05 Feb 13:38

Choose a tag to compare

Two changes to how simulated clusters handle having zero stars were made.

  • When zero stars are simulated, ocelot.simulate.SimulatedCluster now raises a NotEnoughStarsError (defined in ocelot.simulate.errors), making it easier to catch when no stars were simulated.
  • When cluster pre-pruning causes zero stars to be simulated, ocelot.simulate.SimulatedCluster now also raises a NotEnoughStarsError (previously, this behaviour was undefined.)

v0.4.3: Improvements to (Gaia) cluster simulation

31 Jan 08:24

Choose a tag to compare

A couple of improvements were made to cluster simulation:

  • ocelot.model.observation.BaseObservation now has two additional default methods for applying photometric and astrometric errors. These can be overwritten for observation types that require additional functionality beyond simple Gaussian errors.
  • The GaiaDR3ObservationModel class now uses this photometric data overwrite to model underestimated BP and RP fluxes in Gaia DR3, slightly improving the realism of cluster CMDs further.

v0.4.2: limit Python version

30 Jan 19:36
e0eda80

Choose a tag to compare

This is a quick release to limit our Python version to below 3.13, as it seems some of our dependencies don't support it yet.

v0.4.1: Fix installation on PyPI

21 Jan 07:40

Choose a tag to compare

The imf dependency is now on PyPI, meaning that ocelot can be uploaded there again too. Thanks, @keflavich!

v0.4.0 - Addition of cluster simulation code and models

20 Jan 15:30
3844ec3

Choose a tag to compare

⚠️ This version of ocelot currently cannot be installed via PyPI. This issue is being debugged.

This release brings a brand new, sophisticated API for cluster simulation, in addition to optimized models covering a number of different aspects of star cluster science. Additions include:

  • The new ocelot.simulate submodule for simulating clusters, including:
    • The flexible and hackable SimulatedCluster class. Extensive code optimizations allow for most open clusters to have full simulations (even randomly sampling the orbits of their binary stars to see if they would or wouldn't be resolved!) in less than a second
    • New SimulatedClusterParamters, SimulatedClusterModels, and SimulatedClusterFeatures dataclasses for controlling SimulatedCluster functionality
    • Ability to simulate observations of simulated clusters, allowing the same simulated cluster to be 'observed' by many different telescopes
  • The new ocelot.models submodule for star cluster models, including:
    • A model of King 1962 empirical star clusters. Currently limited to sampling clusters in 3D
    • A bespoke model of differential extinction that approximates dust structure with fractal noise
    • A heavily optimized implementation of the Moe & DiStefano 2017 binary star models
    • Models for selection functions due to observations, such as an optimized implementation of the Castro-Ginard 2023 subsample selection function that can be used to model any generic subsample of stars
    • A model for star cluster observations with Gaia
  • Extensive unit tests to assure the reliability and accuracy of simulated clusters and their models
  • Documentation improvements, including the first tutorial in the module
  • Refactoring of some old aspects of the module

The APIs of ocelot.simulate and ocelot.models are now the first stable APIs of ocelot, and are ready to use in production code.

ocelot 0.3.1-alpha

06 May 06:42
7efabd1

Choose a tag to compare

ocelot 0.3.1-alpha Pre-release
Pre-release

This is an interim development release that formally makes the package installable via Pip. In addition, it includes a number of breaking API changes. These API changes will not be listed in full until 0.4.0 (as pretty much everything is being rewritten).

In addition, the default branch was renamed from master to main. You can update your local version of ocelot to have the correct branch name with:

git branch -m master main
git fetch origin
git branch -u origin/main main
git remote set-head origin -a