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.
- galaxia_ananke-0.6.1/.gitmodules +3 -0
- {galaxia_ananke-0.6.0/src/galaxia_ananke.egg-info → galaxia_ananke-0.6.1}/PKG-INFO +26 -17
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/README.md +25 -16
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/_build_utils.py +21 -7
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/_constants.py +1 -1
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/_constants.py +1 -1
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/_version.py +3 -3
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/photometry/SvoFpsDriver.py +6 -1
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1/src/galaxia_ananke.egg-info}/PKG-INFO +26 -17
- galaxia_ananke-0.6.0/.gitmodules +0 -3
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/LICENSE +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/MANIFEST.in +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/setup.cfg +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/setup.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/__init__.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/__metadata__.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/_builtin_utils.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/_name.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/_version.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/Input.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/Output.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/Survey.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/__init__.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/__license__/LICENSE +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/__license__/__init__.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/__metadata__.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/_builtin_utils.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/_defaults.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/_name.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/_templates.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/photometry/Formatting.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/photometry/InterfaceSvoFpsDriver.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/photometry/Isochrone.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/photometry/IsochroneFile.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/photometry/PhotoSystem.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/photometry/Photometry.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/photometry/__init__.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/utils.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke.egg-info/SOURCES.txt +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke.egg-info/dependency_links.txt +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke.egg-info/requires.txt +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke.egg-info/top_level.txt +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/versioneer.py +0 -0
- {galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/versioneer.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: galaxia_ananke
|
3
|
-
Version: 0.6.
|
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
|
-
[](https://pypi.org/project/galaxia-ananke/)
|
45
|
+
[](https://py-galaxia-ananke.readthedocs.io/en/latest/?badge=latest)
|
46
|
+
[](https://zenodo.org/badge/latestdoi/501369954)
|
47
|
+
[](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, [`
|
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
|
-
|
57
|
+
`py-Galaxia-ananke` is available on the PyPI, so it may be installed using the command:
|
55
58
|
|
56
|
-
|
59
|
+
```bash
|
60
|
+
pip install galaxia_ananke
|
61
|
+
```
|
57
62
|
|
58
|
-
|
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
|
-
|
65
|
+
```bash
|
66
|
+
pip install git+https://github.com/athob/py-Galaxia-ananke@main
|
67
|
+
```
|
61
68
|
|
62
|
-
|
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
|
-
|
65
|
-
|
66
|
-
|
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
|
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
|
-
####
|
87
|
+
#### Galaxia-ananke submodule didn't pull appropriately
|
79
88
|
|
80
|
-
The installation of `galaxia_ananke` is supposed to automatically pull the
|
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 `
|
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
|
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
|
-
[](https://pypi.org/project/galaxia-ananke/)
|
4
|
+
[](https://py-galaxia-ananke.readthedocs.io/en/latest/?badge=latest)
|
5
|
+
[](https://zenodo.org/badge/latestdoi/501369954)
|
6
|
+
[](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, [`
|
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
|
-
|
16
|
+
`py-Galaxia-ananke` is available on the PyPI, so it may be installed using the command:
|
14
17
|
|
15
|
-
|
18
|
+
```bash
|
19
|
+
pip install galaxia_ananke
|
20
|
+
```
|
16
21
|
|
17
|
-
|
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
|
-
|
24
|
+
```bash
|
25
|
+
pip install git+https://github.com/athob/py-Galaxia-ananke@main
|
26
|
+
```
|
20
27
|
|
21
|
-
|
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
|
-
|
24
|
-
|
25
|
-
|
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
|
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
|
-
####
|
46
|
+
#### Galaxia-ananke submodule didn't pull appropriately
|
38
47
|
|
39
|
-
The installation of `galaxia_ananke` is supposed to automatically pull the
|
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 `
|
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
|
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
|
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 = '
|
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 = '
|
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-
|
11
|
+
"date": "2025-06-27T08:08:00-0400",
|
12
12
|
"dirty": false,
|
13
13
|
"error": null,
|
14
|
-
"full-revisionid": "
|
15
|
-
"version": "0.6.
|
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
|
-
|
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.
|
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
|
-
[](https://pypi.org/project/galaxia-ananke/)
|
45
|
+
[](https://py-galaxia-ananke.readthedocs.io/en/latest/?badge=latest)
|
46
|
+
[](https://zenodo.org/badge/latestdoi/501369954)
|
47
|
+
[](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, [`
|
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
|
-
|
57
|
+
`py-Galaxia-ananke` is available on the PyPI, so it may be installed using the command:
|
55
58
|
|
56
|
-
|
59
|
+
```bash
|
60
|
+
pip install galaxia_ananke
|
61
|
+
```
|
57
62
|
|
58
|
-
|
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
|
-
|
65
|
+
```bash
|
66
|
+
pip install git+https://github.com/athob/py-Galaxia-ananke@main
|
67
|
+
```
|
61
68
|
|
62
|
-
|
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
|
-
|
65
|
-
|
66
|
-
|
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
|
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
|
-
####
|
87
|
+
#### Galaxia-ananke submodule didn't pull appropriately
|
79
88
|
|
80
|
-
The installation of `galaxia_ananke` is supposed to automatically pull the
|
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 `
|
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
|
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`.
|
galaxia_ananke-0.6.0/.gitmodules
DELETED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/photometry/InterfaceSvoFpsDriver.py
RENAMED
File without changes
|
File without changes
|
{galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke/photometry/IsochroneFile.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{galaxia_ananke-0.6.0 → galaxia_ananke-0.6.1}/src/galaxia_ananke.egg-info/dependency_links.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|