galaxia-ananke 0.6.0__tar.gz → 0.6.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. galaxia_ananke-0.6.1/.gitmodules +3 -0
  2. {galaxia_ananke-0.6.0/src/galaxia_ananke.egg-info → galaxia_ananke-0.6.1}/PKG-INFO +26 -17
  3. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/README.md +25 -16
  4. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/_build_utils.py +21 -7
  5. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/_constants.py +1 -1
  6. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/_constants.py +1 -1
  7. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/_version.py +3 -3
  8. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/photometry/SvoFpsDriver.py +6 -1
  9. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1/src/galaxia_ananke.egg-info}/PKG-INFO +26 -17
  10. galaxia_ananke-0.6.0/.gitmodules +0 -3
  11. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/LICENSE +0 -0
  12. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/MANIFEST.in +0 -0
  13. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/setup.cfg +0 -0
  14. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/setup.py +0 -0
  15. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/__init__.py +0 -0
  16. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/__metadata__.py +0 -0
  17. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/_builtin_utils.py +0 -0
  18. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/_name.py +0 -0
  19. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/_version.py +0 -0
  20. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/Input.py +0 -0
  21. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/Output.py +0 -0
  22. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/Survey.py +0 -0
  23. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/__init__.py +0 -0
  24. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/__license__/LICENSE +0 -0
  25. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/__license__/__init__.py +0 -0
  26. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/__metadata__.py +0 -0
  27. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/_builtin_utils.py +0 -0
  28. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/_defaults.py +0 -0
  29. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/_name.py +0 -0
  30. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/_templates.py +0 -0
  31. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/photometry/Formatting.py +0 -0
  32. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/photometry/InterfaceSvoFpsDriver.py +0 -0
  33. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/photometry/Isochrone.py +0 -0
  34. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/photometry/IsochroneFile.py +0 -0
  35. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/photometry/PhotoSystem.py +0 -0
  36. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/photometry/Photometry.py +0 -0
  37. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/photometry/__init__.py +0 -0
  38. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/utils.py +0 -0
  39. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke.egg-info/SOURCES.txt +0 -0
  40. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke.egg-info/dependency_links.txt +0 -0
  41. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke.egg-info/requires.txt +0 -0
  42. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke.egg-info/top_level.txt +0 -0
  43. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/versioneer.py +0 -0
  44. {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/versioneer.py +0 -0
@@ -0,0 +1,3 @@
1
+ [submodule "Galaxia-ananke"]
2
+ path = Galaxia-ananke
3
+ url = ../../athob/Galaxia-ananke.git
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: galaxia_ananke
3
- Version: 0.6.0
3
+ Version: 0.6.1
4
4
  Summary: 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>.
5
5
  Home-page: https://github.com/athob/py-Galaxia-ananke
6
6
  Author: Adrien Thob
@@ -41,48 +41,57 @@ Dynamic: summary
41
41
 
42
42
  # py-Galaxia-ananke
43
43
 
44
- [![Documentation Status](https://readthedocs.org/projects/py-galaxia-ananke/badge/?version=latest)](https://py-galaxia-ananke.readthedocs.io/en/latest/?badge=latest)[![DOI](https://zenodo.org/badge/501369954.svg)](https://zenodo.org/badge/latestdoi/501369954)
44
+ [![PyPI - Version](https://img.shields.io/pypi/v/galaxia_ananke)](https://pypi.org/project/galaxia-ananke/)
45
+ [![Documentation Status](https://readthedocs.org/projects/py-galaxia-ananke/badge/?version=latest)](https://py-galaxia-ananke.readthedocs.io/en/latest/?badge=latest)
46
+ [![DOI](https://zenodo.org/badge/501369954.svg)](https://zenodo.org/badge/latestdoi/501369954)
47
+ [![Slack](https://img.shields.io/badge/slack-chat-green.svg)](https://join.slack.com/t/ananke-users/shared_invite/zt-37wmyn7ki-kmroxUul2W_VdFlEt0qCig)
45
48
 
46
49
  Python wrapper for a modified version of Galaxia ([Sharma et al. 2011](http://ascl.net/1101.007)).
47
50
 
48
51
  ## Getting started
49
52
 
50
- `py-Galaxia-ananke` is compatible with Python versions above 3.7.12 and below 3.11. The project is organized into three branches: [main](https://github.com/athob/py-Galaxia-ananke/tree/main), [stable](https://github.com/athob/py-Galaxia-ananke/tree/stable), and [develop](https://github.com/athob/py-Galaxia-ananke/tree/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`](https://github.com/athob/galaxia-ananke), a modified version of [`Galaxia`](http://ascl.net/1101.007). It is worth noting that [`galaxia-ananke`](https://github.com/athob/galaxia-ananke) incorporates several pre-installed photometric systems, represented by sets of isochrones generated from the [CMD web interface](http://stev.oapd.inaf.it/cgi-bin/cmd) (commonly referred to as Padova isochrones). Among the available options are HST, GAIA, Euclid, Rubin, JWST & Roman.
53
+ `py-Galaxia-ananke` is compatible with Python versions above 3.7.12 and below 3.11. The project is organized into three branches: [main](https://github.com/athob/py-Galaxia-ananke/tree/main), [stable](https://github.com/athob/py-Galaxia-ananke/tree/stable), and [develop](https://github.com/athob/py-Galaxia-ananke/tree/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`](https://github.com/athob/Galaxia-ananke), a modified version of [`Galaxia`](http://ascl.net/1101.007). It is worth noting that [`Galaxia-ananke`](https://github.com/athob/Galaxia-ananke) incorporates several pre-installed photometric systems, represented by sets of isochrones generated from the [CMD web interface](http://stev.oapd.inaf.it/cgi-bin/cmd) (commonly referred to as Padova isochrones). Among the available options are HST, GAIA, Euclid, Rubin, JWST & Roman.
51
54
 
52
55
  ### Installation
53
56
 
54
- To install `py-Galaxia-ananke`, you can use the following pip command, which pulls the latest version directly from the repository's main branch:
57
+ `py-Galaxia-ananke` is available on the PyPI, so it may be installed using the command:
55
58
 
56
- pip install git+https://github.com/athob/py-Galaxia-ananke@main
59
+ ```bash
60
+ pip install galaxia_ananke
61
+ ```
57
62
 
58
- or
63
+ 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:
59
64
 
60
- python -m pip install git+https://github.com/athob/py-Galaxia-ananke@main
65
+ ```bash
66
+ pip install git+https://github.com/athob/py-Galaxia-ananke@main
67
+ ```
61
68
 
62
- Alternatively, 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:
69
+ 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:
63
70
 
64
- git clone https://github.com/athob/py-Galaxia-ananke
65
- cd py-Galaxia-ananke
66
- pip install .
71
+ ```bash
72
+ git clone https://github.com/athob/py-Galaxia-ananke
73
+ cd py-Galaxia-ananke
74
+ pip install .
75
+ ```
67
76
 
68
77
  Please note that the command with flag `pip install . --no-cache-dir` may be necessary due to some dependencies issues.
69
78
 
70
- ***Warning: DO NOT download the repository as a ZIP archive with intention to install it this way, the installation requires the git set up of the repository to propertly install its submodule dependencies.***
79
+ <!-- ***Warning: DO NOT download the repository as a ZIP archive with intention to install it this way, the installation requires the git set up of the repository to propertly install its submodule dependencies.*** -->
71
80
 
72
81
  After installation, the module can be imported in Python under the name `galaxia_ananke` and be ran as such.
73
82
 
74
83
  ### Troubleshooting installation
75
84
 
76
- 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:
85
+ 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:
77
86
 
78
- #### galaxia-ananke submodule didn't pull appropriately
87
+ #### Galaxia-ananke submodule didn't pull appropriately
79
88
 
80
- 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.
89
+ 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.
81
90
 
82
91
  #### build-aux/install-sh: Permission denied
83
92
 
84
- 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.
93
+ 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.
85
94
 
86
95
  #### no writing permission in sys.prefix directory
87
96
 
88
- 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`.
97
+ 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`.
@@ -1,47 +1,56 @@
1
1
  # py-Galaxia-ananke
2
2
 
3
- [![Documentation Status](https://readthedocs.org/projects/py-galaxia-ananke/badge/?version=latest)](https://py-galaxia-ananke.readthedocs.io/en/latest/?badge=latest)[![DOI](https://zenodo.org/badge/501369954.svg)](https://zenodo.org/badge/latestdoi/501369954)
3
+ [![PyPI - Version](https://img.shields.io/pypi/v/galaxia_ananke)](https://pypi.org/project/galaxia-ananke/)
4
+ [![Documentation Status](https://readthedocs.org/projects/py-galaxia-ananke/badge/?version=latest)](https://py-galaxia-ananke.readthedocs.io/en/latest/?badge=latest)
5
+ [![DOI](https://zenodo.org/badge/501369954.svg)](https://zenodo.org/badge/latestdoi/501369954)
6
+ [![Slack](https://img.shields.io/badge/slack-chat-green.svg)](https://join.slack.com/t/ananke-users/shared_invite/zt-37wmyn7ki-kmroxUul2W_VdFlEt0qCig)
4
7
 
5
8
  Python wrapper for a modified version of Galaxia ([Sharma et al. 2011](http://ascl.net/1101.007)).
6
9
 
7
10
  ## Getting started
8
11
 
9
- `py-Galaxia-ananke` is compatible with Python versions above 3.7.12 and below 3.11. The project is organized into three branches: [main](https://github.com/athob/py-Galaxia-ananke/tree/main), [stable](https://github.com/athob/py-Galaxia-ananke/tree/stable), and [develop](https://github.com/athob/py-Galaxia-ananke/tree/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`](https://github.com/athob/galaxia-ananke), a modified version of [`Galaxia`](http://ascl.net/1101.007). It is worth noting that [`galaxia-ananke`](https://github.com/athob/galaxia-ananke) incorporates several pre-installed photometric systems, represented by sets of isochrones generated from the [CMD web interface](http://stev.oapd.inaf.it/cgi-bin/cmd) (commonly referred to as Padova isochrones). Among the available options are HST, GAIA, Euclid, Rubin, JWST & Roman.
12
+ `py-Galaxia-ananke` is compatible with Python versions above 3.7.12 and below 3.11. The project is organized into three branches: [main](https://github.com/athob/py-Galaxia-ananke/tree/main), [stable](https://github.com/athob/py-Galaxia-ananke/tree/stable), and [develop](https://github.com/athob/py-Galaxia-ananke/tree/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`](https://github.com/athob/Galaxia-ananke), a modified version of [`Galaxia`](http://ascl.net/1101.007). It is worth noting that [`Galaxia-ananke`](https://github.com/athob/Galaxia-ananke) incorporates several pre-installed photometric systems, represented by sets of isochrones generated from the [CMD web interface](http://stev.oapd.inaf.it/cgi-bin/cmd) (commonly referred to as Padova isochrones). Among the available options are HST, GAIA, Euclid, Rubin, JWST & Roman.
10
13
 
11
14
  ### Installation
12
15
 
13
- To install `py-Galaxia-ananke`, you can use the following pip command, which pulls the latest version directly from the repository's main branch:
16
+ `py-Galaxia-ananke` is available on the PyPI, so it may be installed using the command:
14
17
 
15
- pip install git+https://github.com/athob/py-Galaxia-ananke@main
18
+ ```bash
19
+ pip install galaxia_ananke
20
+ ```
16
21
 
17
- or
22
+ 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:
18
23
 
19
- python -m pip install git+https://github.com/athob/py-Galaxia-ananke@main
24
+ ```bash
25
+ pip install git+https://github.com/athob/py-Galaxia-ananke@main
26
+ ```
20
27
 
21
- Alternatively, 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:
28
+ 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:
22
29
 
23
- git clone https://github.com/athob/py-Galaxia-ananke
24
- cd py-Galaxia-ananke
25
- pip install .
30
+ ```bash
31
+ git clone https://github.com/athob/py-Galaxia-ananke
32
+ cd py-Galaxia-ananke
33
+ pip install .
34
+ ```
26
35
 
27
36
  Please note that the command with flag `pip install . --no-cache-dir` may be necessary due to some dependencies issues.
28
37
 
29
- ***Warning: DO NOT download the repository as a ZIP archive with intention to install it this way, the installation requires the git set up of the repository to propertly install its submodule dependencies.***
38
+ <!-- ***Warning: DO NOT download the repository as a ZIP archive with intention to install it this way, the installation requires the git set up of the repository to propertly install its submodule dependencies.*** -->
30
39
 
31
40
  After installation, the module can be imported in Python under the name `galaxia_ananke` and be ran as such.
32
41
 
33
42
  ### Troubleshooting installation
34
43
 
35
- 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:
44
+ 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:
36
45
 
37
- #### galaxia-ananke submodule didn't pull appropriately
46
+ #### Galaxia-ananke submodule didn't pull appropriately
38
47
 
39
- 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.
48
+ 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.
40
49
 
41
50
  #### build-aux/install-sh: Permission denied
42
51
 
43
- 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.
52
+ 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.
44
53
 
45
54
  #### no writing permission in sys.prefix directory
46
55
 
47
- 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`.
56
+ 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`.
@@ -3,6 +3,7 @@
3
3
  Contains the galaxia_ananke module building utility tools. Credit to
4
4
  https://github.com/GalacticDynamics-Oxford/Agama/blob/master/setup.py.
5
5
  """
6
+ import platform
6
7
  import os
7
8
  import pathlib
8
9
  import shutil
@@ -26,6 +27,9 @@ from . import _version, versioneer
26
27
 
27
28
  __all__ = ['make_package_data', 'make_cmdclass']
28
29
 
30
+ if platform.system() == "Windows":
31
+ raise OSError(f"Windows compatibility is not currently supported by {NAME}. We apologize for the inconvenience.")
32
+
29
33
  ROOT_DIR = pathlib.Path(__file__).parent.parent
30
34
  MIN_GPP_VERSION = Version("8.5")
31
35
  MIN_MAKE_VERSION = Version("4.2")
@@ -188,7 +192,7 @@ def check_galaxia_submodule(root_dir):
188
192
  raise PermissionError(f"Installation cannot complete: to proceed, please give user-execute permission to file {install_sh_path}")
189
193
 
190
194
 
191
- def remove_existing_galaxia(temp_photocat):
195
+ def remove_existing_galaxia(temp_photocat: pathlib.Path):
192
196
  if CACHE.is_dir():
193
197
  custom_photocat = ISOCHRONES_PATH / CUSTOM_PHOTOCAT
194
198
  if custom_photocat.is_dir():
@@ -196,7 +200,16 @@ def remove_existing_galaxia(temp_photocat):
196
200
  shutil.rmtree(CACHE)
197
201
 
198
202
 
199
- def configure_galaxia(galaxia_dir):
203
+ def touch_autotools_files(galaxia_dir: pathlib.Path):
204
+ (galaxia_dir / 'Makefile.am').touch()
205
+ (galaxia_dir / 'configure.ac').touch()
206
+ (galaxia_dir / 'aclocal.m4').touch()
207
+ (galaxia_dir / 'Makefile.in').touch()
208
+ (galaxia_dir / 'configure').touch()
209
+ (galaxia_dir / 'config.h.in').touch()
210
+
211
+
212
+ def configure_galaxia(galaxia_dir: pathlib.Path):
200
213
  with (GALAXIA_LOG / 'Galaxia-configure.log').open('w') as f:
201
214
  subprocess.call([f"./configure",
202
215
  f"--prefix={CACHE}",
@@ -204,31 +217,31 @@ def configure_galaxia(galaxia_dir):
204
217
  cwd=galaxia_dir, stdout=f, stderr=f)
205
218
 
206
219
 
207
- def make_galaxia(galaxia_dir):
220
+ def make_galaxia(galaxia_dir: pathlib.Path):
208
221
  with (GALAXIA_LOG / 'Galaxia-make.log').open('w') as f:
209
222
  subprocess.call(["make"],
210
223
  cwd=galaxia_dir, stdout=f, stderr=f)
211
224
 
212
225
 
213
- def make_install_galaxia(galaxia_dir):
226
+ def make_install_galaxia(galaxia_dir: pathlib.Path):
214
227
  with (GALAXIA_LOG / 'Galaxia-make-install.log').open('w') as f:
215
228
  subprocess.call(["make", "install"],
216
229
  cwd=galaxia_dir, stdout=f, stderr=f)
217
230
  shutil.copytree(galaxia_dir / GALAXIA_DATA.name, GALAXIA_DATA)
218
231
 
219
232
 
220
- def make_distclean_galaxia(galaxia_dir):
233
+ def make_distclean_galaxia(galaxia_dir: pathlib.Path):
221
234
  with (GALAXIA_LOG / 'Galaxia-make-distclean.log').open('w') as f:
222
235
  subprocess.call(["make", "distclean"],
223
236
  cwd=galaxia_dir, stdout=f, stderr=f)
224
237
 
225
238
 
226
- def clean_up_temporary(temp_photocat):
239
+ def clean_up_temporary(temp_photocat: pathlib.Path):
227
240
  if temp_photocat.is_dir():
228
241
  temp_photocat.rename(ISOCHRONES_PATH / CUSTOM_PHOTOCAT)
229
242
 
230
243
 
231
- def build_and_install_galaxia(galaxia_dir):
244
+ def build_and_install_galaxia(galaxia_dir: pathlib.Path):
232
245
  galaxia_dir = pathlib.Path(galaxia_dir).resolve()
233
246
  temp_dir = tempfile.TemporaryDirectory()
234
247
  temp_photocat = pathlib.Path(temp_dir.name) / CUSTOM_PHOTOCAT
@@ -236,6 +249,7 @@ def build_and_install_galaxia(galaxia_dir):
236
249
  say("\nBuilding Galaxia")
237
250
  GALAXIA.parent.mkdir(parents=True, exist_ok=True)
238
251
  GALAXIA_LOG.mkdir(parents=True, exist_ok=True)
252
+ touch_autotools_files(galaxia_dir)
239
253
  say("\n\tConfiguring")
240
254
  configure_galaxia(galaxia_dir)
241
255
  say("\n\tRunning make")
@@ -10,7 +10,7 @@ from ._name import *
10
10
 
11
11
  __all__ = ['NAME', 'GALAXIA_SUBMODULE_NAME', 'GALAXIA_URL', 'GALAXIA_EXEC', 'SRC_DIR', 'LOG_DIR', 'NBODY1', 'LEGACY_PHOTOCAT', 'CUSTOM_PHOTOCAT', 'HASH_EXT', 'HASH_ENCODING', 'GALAXIA_DATA', 'GALAXIA_NBODY1', 'GALAXIA_FILENAMES', 'GALAXIA_LOG', 'GALAXIA', 'ISOCHRONES_PATH', 'CACHE']
12
12
 
13
- GALAXIA_SUBMODULE_NAME = 'galaxia-ananke'
13
+ GALAXIA_SUBMODULE_NAME = 'Galaxia-ananke'
14
14
  GALAXIA_URL = 'https://sourceforge.net/projects/galaxia/files/galaxia-0.7.2.tar.gz/download'
15
15
  GALAXIA_EXEC = 'galaxia'
16
16
  SRC_DIR = 'src'
@@ -10,7 +10,7 @@ from ._name import *
10
10
 
11
11
  __all__ = ['NAME', 'GALAXIA_SUBMODULE_NAME', 'GALAXIA_URL', 'GALAXIA_EXEC', 'SRC_DIR', 'LOG_DIR', 'NBODY1', 'LEGACY_PHOTOCAT', 'CUSTOM_PHOTOCAT', 'HASH_EXT', 'HASH_ENCODING', 'GALAXIA_DATA', 'GALAXIA_NBODY1', 'GALAXIA_FILENAMES', 'GALAXIA_LOG', 'GALAXIA', 'ISOCHRONES_PATH', 'CACHE']
12
12
 
13
- GALAXIA_SUBMODULE_NAME = 'galaxia-ananke'
13
+ GALAXIA_SUBMODULE_NAME = 'Galaxia-ananke'
14
14
  GALAXIA_URL = 'https://sourceforge.net/projects/galaxia/files/galaxia-0.7.2.tar.gz/download'
15
15
  GALAXIA_EXEC = 'galaxia'
16
16
  SRC_DIR = 'src'
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2025-06-20T11:06:20-0400",
11
+ "date": "2025-06-27T08:08:00-0400",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "d801304b4217abd837fccce62b36267f59b65746",
15
- "version": "0.6.0"
14
+ "full-revisionid": "c66e8bfe71057a7c49fb8b047a4d6198d5727d1d",
15
+ "version": "0.6.1"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -59,8 +59,13 @@ class SvoFpsDriver:
59
59
  _temp = facility_filter_list.to_pandas().filterID.str.split('[/.]')
60
60
  facility_filter_list['Instrument'] = np.ma.array(_temp.str[1], dtype='object')
61
61
  facility_filter_list['Band'] = np.ma.array(_temp.str[2], dtype='object')
62
+ lower_case_bands = [band.lower() for band in facility_filter_list['Band']]
62
63
  for mag_name in set(self._interface.mag_names) - set(facility_filter_list['Band']):
63
- facility_filter_list.add_row(len(facility_filter_list.keys())*[None])
64
+ if mag_name.lower() in lower_case_bands:
65
+ lower_case_bands.index(mag_name.lower())
66
+ facility_filter_list.add_row(facility_filter_list[lower_case_bands.index(mag_name.lower())])
67
+ else:
68
+ facility_filter_list.add_row(len(facility_filter_list.keys())*[None])
64
69
  facility_filter_list[-1][['Instrument','Facility']] = facility_filter_list[0][['Instrument','Facility']]
65
70
  facility_filter_list[-1][['Band']] = [mag_name]
66
71
  facility_filter_list = facility_filter_list[facility_filter_list.to_pandas().Band.reset_index().set_index('Band').loc[self._interface.mag_names].to_numpy().T[0]]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: galaxia_ananke
3
- Version: 0.6.0
3
+ Version: 0.6.1
4
4
  Summary: 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>.
5
5
  Home-page: https://github.com/athob/py-Galaxia-ananke
6
6
  Author: Adrien Thob
@@ -41,48 +41,57 @@ Dynamic: summary
41
41
 
42
42
  # py-Galaxia-ananke
43
43
 
44
- [![Documentation Status](https://readthedocs.org/projects/py-galaxia-ananke/badge/?version=latest)](https://py-galaxia-ananke.readthedocs.io/en/latest/?badge=latest)[![DOI](https://zenodo.org/badge/501369954.svg)](https://zenodo.org/badge/latestdoi/501369954)
44
+ [![PyPI - Version](https://img.shields.io/pypi/v/galaxia_ananke)](https://pypi.org/project/galaxia-ananke/)
45
+ [![Documentation Status](https://readthedocs.org/projects/py-galaxia-ananke/badge/?version=latest)](https://py-galaxia-ananke.readthedocs.io/en/latest/?badge=latest)
46
+ [![DOI](https://zenodo.org/badge/501369954.svg)](https://zenodo.org/badge/latestdoi/501369954)
47
+ [![Slack](https://img.shields.io/badge/slack-chat-green.svg)](https://join.slack.com/t/ananke-users/shared_invite/zt-37wmyn7ki-kmroxUul2W_VdFlEt0qCig)
45
48
 
46
49
  Python wrapper for a modified version of Galaxia ([Sharma et al. 2011](http://ascl.net/1101.007)).
47
50
 
48
51
  ## Getting started
49
52
 
50
- `py-Galaxia-ananke` is compatible with Python versions above 3.7.12 and below 3.11. The project is organized into three branches: [main](https://github.com/athob/py-Galaxia-ananke/tree/main), [stable](https://github.com/athob/py-Galaxia-ananke/tree/stable), and [develop](https://github.com/athob/py-Galaxia-ananke/tree/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`](https://github.com/athob/galaxia-ananke), a modified version of [`Galaxia`](http://ascl.net/1101.007). It is worth noting that [`galaxia-ananke`](https://github.com/athob/galaxia-ananke) incorporates several pre-installed photometric systems, represented by sets of isochrones generated from the [CMD web interface](http://stev.oapd.inaf.it/cgi-bin/cmd) (commonly referred to as Padova isochrones). Among the available options are HST, GAIA, Euclid, Rubin, JWST & Roman.
53
+ `py-Galaxia-ananke` is compatible with Python versions above 3.7.12 and below 3.11. The project is organized into three branches: [main](https://github.com/athob/py-Galaxia-ananke/tree/main), [stable](https://github.com/athob/py-Galaxia-ananke/tree/stable), and [develop](https://github.com/athob/py-Galaxia-ananke/tree/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`](https://github.com/athob/Galaxia-ananke), a modified version of [`Galaxia`](http://ascl.net/1101.007). It is worth noting that [`Galaxia-ananke`](https://github.com/athob/Galaxia-ananke) incorporates several pre-installed photometric systems, represented by sets of isochrones generated from the [CMD web interface](http://stev.oapd.inaf.it/cgi-bin/cmd) (commonly referred to as Padova isochrones). Among the available options are HST, GAIA, Euclid, Rubin, JWST & Roman.
51
54
 
52
55
  ### Installation
53
56
 
54
- To install `py-Galaxia-ananke`, you can use the following pip command, which pulls the latest version directly from the repository's main branch:
57
+ `py-Galaxia-ananke` is available on the PyPI, so it may be installed using the command:
55
58
 
56
- pip install git+https://github.com/athob/py-Galaxia-ananke@main
59
+ ```bash
60
+ pip install galaxia_ananke
61
+ ```
57
62
 
58
- or
63
+ 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:
59
64
 
60
- python -m pip install git+https://github.com/athob/py-Galaxia-ananke@main
65
+ ```bash
66
+ pip install git+https://github.com/athob/py-Galaxia-ananke@main
67
+ ```
61
68
 
62
- Alternatively, 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:
69
+ 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:
63
70
 
64
- git clone https://github.com/athob/py-Galaxia-ananke
65
- cd py-Galaxia-ananke
66
- pip install .
71
+ ```bash
72
+ git clone https://github.com/athob/py-Galaxia-ananke
73
+ cd py-Galaxia-ananke
74
+ pip install .
75
+ ```
67
76
 
68
77
  Please note that the command with flag `pip install . --no-cache-dir` may be necessary due to some dependencies issues.
69
78
 
70
- ***Warning: DO NOT download the repository as a ZIP archive with intention to install it this way, the installation requires the git set up of the repository to propertly install its submodule dependencies.***
79
+ <!-- ***Warning: DO NOT download the repository as a ZIP archive with intention to install it this way, the installation requires the git set up of the repository to propertly install its submodule dependencies.*** -->
71
80
 
72
81
  After installation, the module can be imported in Python under the name `galaxia_ananke` and be ran as such.
73
82
 
74
83
  ### Troubleshooting installation
75
84
 
76
- 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:
85
+ 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:
77
86
 
78
- #### galaxia-ananke submodule didn't pull appropriately
87
+ #### Galaxia-ananke submodule didn't pull appropriately
79
88
 
80
- 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.
89
+ 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.
81
90
 
82
91
  #### build-aux/install-sh: Permission denied
83
92
 
84
- 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.
93
+ 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.
85
94
 
86
95
  #### no writing permission in sys.prefix directory
87
96
 
88
- 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`.
97
+ 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`.
@@ -1,3 +0,0 @@
1
- [submodule "galaxia-ananke"]
2
- path = galaxia-ananke
3
- url = ../../athob/galaxia-ananke.git
File without changes
File without changes
File without changes