Skip to main content

py-Galaxia-ananke: Python wrapper for a modified version of Galaxia (Sharma et al. 2011 <http://ascl.net/1101.007>) for py-ananke <https://github.com/athob/py-ananke>.

Project description

py-Galaxia-ananke

PyPI - Version Documentation Status DOI Slack

Python wrapper for a modified version of Galaxia (Sharma et al. 2011).

Getting started

py-Galaxia-ananke is compatible with Python versions above 3.7.12 and below 3.11. The project is organized into three branches: main, stable, and develop. The main branch contains the latest released version, while the stable and develop branches host versions currently in development, with stable being the most recent stable version. py-Galaxia-ananke is linked to a separate repository hosting the C++ backend software, Galaxia-ananke, a modified version of Galaxia. It is worth noting that Galaxia-ananke incorporates several pre-installed photometric systems, represented by sets of isochrones generated from the CMD web interface (commonly referred to as Padova isochrones). Among the available options are HST, GAIA, Euclid, Rubin, JWST & Roman.

Installation

py-Galaxia-ananke is available on the PyPI, so it may be installed using the command:

pip install galaxia_ananke

Alternatively, if you wish to run the latest version on the repository, you can use the following pip command, which pulls it directly from the repository's main branch:

pip install git+https://github.com/athob/py-Galaxia-ananke@main

You may also change the branch to use in the above command by replacing the main that follows the @ symbol. If you prefer, you may clone the repository to your local machine and then install py-Galaxia-ananke using the following pip command, which installs it from your local copy of the repository:

git clone https://github.com/athob/py-Galaxia-ananke
cd py-Galaxia-ananke
pip install .

Please note that the command with flag pip install . --no-cache-dir may be necessary due to some dependencies issues.

After installation, the module can be imported in Python under the name galaxia_ananke and be ran as such.

Troubleshooting installation

You may find yourself in a situation after installation where importing the package module errors out in an AssertionError. The installation compiles and installs the backend C++ submodule Galaxia-ananke which is required, this AssertionError means that process failed in some way at installation. When installing the Galaxia-ananke submodule, galaxia_ananke's setup write log files in a cache location. The AssertionError at import that calls for the missing Galaxia executable gives the bin path where that executable should be located. The parent directory for that bin path should contain also a log directory, where those log files can be found and can help troubleshooting the missing executable. Below are some potential situations:

Galaxia-ananke submodule didn't pull appropriately

The installation of galaxia_ananke is supposed to automatically pull the Galaxia-ananke git submodule. However, if the directory of that submodule is empty, it means that the pull failed. Try to manually run git submodule update --init from the root of this repository before installing.

build-aux/install-sh: Permission denied

In the log files, check if Galaxia-make-install.log contains a mention regarding a file named build-aux/install-sh with permission denied. This file is an executable ran by the installer, and it may need executable permission to be ran. It is located in the Galaxia-ananke submodule.

no writing permission in sys.prefix directory

When you run in a python terminal the following import sys; sys.prefix, the resulting path is the path of the directory where the Galaxia-ananke cached data is meant to be stored. If this directory doesn't have write permission, the installation will not complete. It is ideal to let the installation use that directory, so troubleshooting that missing write permission should be the priority. That said in last resort, it is possible to set a custom prefix directory by exporting its full path in the environment variable ANANKE_SYSTEM_PREFIX.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

galaxia_ananke-0.7.0.tar.gz (117.7 kB view details)

Uploaded Source

File details

Details for the file galaxia_ananke-0.7.0.tar.gz.

File metadata

  • Download URL: galaxia_ananke-0.7.0.tar.gz
  • Upload date:
  • Size: 117.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for galaxia_ananke-0.7.0.tar.gz
Algorithm Hash digest
SHA256 3aaed920801c041de04919eeed5546a9b54b5bd2bc89c01eb4342897e8bad281
MD5 2d82e174ffbf4c9380c623aab2fe1f01
BLAKE2b-256 6ae3103b6d2d2d8963101cf3ba527e98e270ef615236f02816b478c476e2f35b

See more details on using hashes here.

Provenance

The following attestation bundles were made for galaxia_ananke-0.7.0.tar.gz:

Publisher: pypi.yml on athob/py-Galaxia-ananke

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page