pz-rail-astro-tools 0.0.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.

Potentially problematic release.


This version of pz-rail-astro-tools might be problematic. Click here for more details.

Files changed (34) hide show
  1. pz-rail-astro-tools-0.0.1/.copier-answers.yml +8 -0
  2. pz-rail-astro-tools-0.0.1/.github/pull_request_template.md +63 -0
  3. pz-rail-astro-tools-0.0.1/.github/workflows/add-issue-to-project-tracker.yml +18 -0
  4. pz-rail-astro-tools-0.0.1/.github/workflows/linting.yml +36 -0
  5. pz-rail-astro-tools-0.0.1/.github/workflows/publish-to-pypi.yml +39 -0
  6. pz-rail-astro-tools-0.0.1/.github/workflows/smoke-test.yml +33 -0
  7. pz-rail-astro-tools-0.0.1/.github/workflows/testing-and-coverage.yml +38 -0
  8. pz-rail-astro-tools-0.0.1/.gitignore +140 -0
  9. pz-rail-astro-tools-0.0.1/.pre-commit-config.yaml +86 -0
  10. pz-rail-astro-tools-0.0.1/LICENSE +21 -0
  11. pz-rail-astro-tools-0.0.1/PKG-INFO +71 -0
  12. pz-rail-astro-tools-0.0.1/README.md +35 -0
  13. pz-rail-astro-tools-0.0.1/pyproject.toml +77 -0
  14. pz-rail-astro-tools-0.0.1/setup.cfg +4 -0
  15. pz-rail-astro-tools-0.0.1/setup.py +3 -0
  16. pz-rail-astro-tools-0.0.1/src/pz_rail_astro_tools.egg-info/PKG-INFO +71 -0
  17. pz-rail-astro-tools-0.0.1/src/pz_rail_astro_tools.egg-info/SOURCES.txt +32 -0
  18. pz-rail-astro-tools-0.0.1/src/pz_rail_astro_tools.egg-info/dependency_links.txt +1 -0
  19. pz-rail-astro-tools-0.0.1/src/pz_rail_astro_tools.egg-info/requires.txt +14 -0
  20. pz-rail-astro-tools-0.0.1/src/pz_rail_astro_tools.egg-info/top_level.txt +1 -0
  21. pz-rail-astro-tools-0.0.1/src/rail/astro_tools/__init__.py +7 -0
  22. pz-rail-astro-tools-0.0.1/src/rail/astro_tools/_version.py +4 -0
  23. pz-rail-astro-tools-0.0.1/src/rail/creation/degradation/grid_selection.py +212 -0
  24. pz-rail-astro-tools-0.0.1/src/rail/creation/degradation/observing_condition_degrader.py +405 -0
  25. pz-rail-astro-tools-0.0.1/src/rail/creation/degradation/spectroscopic_degraders.py +139 -0
  26. pz-rail-astro-tools-0.0.1/src/rail/creation/degradation/spectroscopic_selections.py +617 -0
  27. pz-rail-astro-tools-0.0.1/src/rail/examples_data/creation_data/data/hsc_ratios_and_specz.hdf5 +0 -0
  28. pz-rail-astro-tools-0.0.1/src/rail/examples_data/creation_data/data/survey_conditions/DC2-dr6-galcounts-i20-i25.3-nside-128.fits +0 -0
  29. pz-rail-astro-tools-0.0.1/src/rail/examples_data/creation_data/data/survey_conditions/DC2-mask-neg-nside-128.fits +0 -0
  30. pz-rail-astro-tools-0.0.1/src/rail/examples_data/creation_data/data/survey_conditions/minion_1016_dc2_Median_airmass_i_and_nightlt1825_HEAL.fits +0 -0
  31. pz-rail-astro-tools-0.0.1/src/rail/examples_data/creation_data/data/survey_conditions/minion_1016_dc2_Median_fiveSigmaDepth_i_and_nightlt1825_HEAL.fits +0 -0
  32. pz-rail-astro-tools-0.0.1/src/rail/tools/utilPhotometry.py +488 -0
  33. pz-rail-astro-tools-0.0.1/tests/astro_tools/test_core.py +211 -0
  34. pz-rail-astro-tools-0.0.1/tests/astro_tools/test_degraders.py +243 -0
@@ -0,0 +1,8 @@
1
+ # Changes here will be overwritten by Copier
2
+ _commit: 2dae20a
3
+ _src_path: gh:LSSTDESC/RAIL-project-template
4
+ author_email: later@later.com
5
+ author_name: LSST Dark Energy Science Collaboration (DESC)
6
+ create_example_module: false
7
+ package_name: astro_tools
8
+ project_name: pz-rail-astro-tools
@@ -0,0 +1,63 @@
1
+ <!--
2
+ Thank you for your contribution to the repo :)
3
+
4
+ Pull Request (PR) Instructions:
5
+ Provide a general summary of your changes in the Title above. Fill out each section of the template, and replace the space with an `x` in all the boxes that apply. If you're unsure about any of these, don't hesitate to ask. We're here to help! Once you are satisfied with the pull request, click the "Create pull request" button to submit it for review.
6
+
7
+ Before submitting this PR, please ensure that your input and responses are entered in the designated space provided below each section to keep all project-related information organized and easily accessible.
8
+
9
+ How to link to a PR:
10
+ https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue
11
+ -->
12
+
13
+ ## Change Description
14
+ <!---
15
+ Describe your changes in detail. In your description, you should answer questions like "Why is this change required? What problem does it solve?".
16
+
17
+ If it fixes an open issue, please link to the issue here. If this PR closes an issue, put the word 'closes' before the issue link to auto-close the issue when the PR is merged.
18
+ -->
19
+ - [ ] My PR includes a link to the issue that I am addressing
20
+
21
+
22
+
23
+ ## Solution Description
24
+ <!-- Please explain the technical solution that I have provided and how it addresses the issue or feature being implemented -->
25
+
26
+
27
+
28
+ ## Code Quality
29
+ - [ ] I have read the Contribution Guide
30
+ - [ ] My code follows the code style of this project
31
+ - [ ] My code builds (or compiles) cleanly without any errors or warnings
32
+ - [ ] My code contains relevant comments and necessary documentation
33
+
34
+ ## Project-Specific Pull Request Checklists
35
+ <!--- Please only use the checklist that apply to your change type(s) -->
36
+
37
+ ### Bug Fix Checklist
38
+ - [ ] My fix includes a new test that breaks as a result of the bug (if possible)
39
+ - [ ] My change includes a breaking change
40
+ - [ ] My change includes backwards compatibility and deprecation warnings (if possible)
41
+
42
+ ### New Feature Checklist
43
+ - [ ] I have added or updated the docstrings associated with my feature using the [NumPy docstring format](https://numpydoc.readthedocs.io/en/latest/format.html)
44
+ - [ ] I have updated the tutorial to highlight my new feature (if appropriate)
45
+ - [ ] I have added unit/End-to-End (E2E) test cases to cover my new feature
46
+ - [ ] My change includes a breaking change
47
+ - [ ] My change includes backwards compatibility and deprecation warnings (if possible)
48
+
49
+ ### Documentation Change Checklist
50
+ - [ ] Any updated docstrings use the [NumPy docstring format](https://numpydoc.readthedocs.io/en/latest/format.html)
51
+
52
+ ### Build/CI Change Checklist
53
+ - [ ] If required or optional dependencies have changed (including version numbers), I have updated the README to reflect this
54
+ - [ ] If this is a new CI setup, I have added the associated badge to the README
55
+
56
+ <!-- ### Version Change Checklist [For Future Use] -->
57
+
58
+ ### Other Change Checklist
59
+ - [ ] Any new or updated docstrings use the [NumPy docstring format](https://numpydoc.readthedocs.io/en/latest/format.html).
60
+ - [ ] I have updated the tutorial to highlight my new feature (if appropriate)
61
+ - [ ] I have added unit/End-to-End (E2E) test cases to cover any changes
62
+ - [ ] My change includes a breaking change
63
+ - [ ] My change includes backwards compatibility and deprecation warnings (if possible)
@@ -0,0 +1,18 @@
1
+ name: Add bugs to bugs project
2
+
3
+ on:
4
+ issues:
5
+ types:
6
+ - opened
7
+
8
+ jobs:
9
+ add-to-project:
10
+ name: Add issue to project
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/add-to-project@v0.4.0
14
+ with:
15
+ # You can target a repository in a different organization
16
+ # to the issue
17
+ project-url: https://github.com/orgs/LSSTDESC/projects/6
18
+ github-token: ${{ secrets.ADD_TO_PROJECT_PAT }}
@@ -0,0 +1,36 @@
1
+ # This workflow will install Python dependencies, then perform static linting analysis.
2
+ # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
3
+
4
+ name: Lint
5
+
6
+ on:
7
+ push:
8
+ branches: [ main ]
9
+ pull_request:
10
+ branches: [ main ]
11
+
12
+ jobs:
13
+ build:
14
+ runs-on: ubuntu-latest
15
+ strategy:
16
+ matrix:
17
+ python-version: ['3.8', '3.9', '3.10']
18
+
19
+ steps:
20
+ - uses: actions/checkout@v3
21
+ - name: Set up Python ${{ matrix.python-version }}
22
+ uses: actions/setup-python@v4
23
+ with:
24
+ python-version: ${{ matrix.python-version }}
25
+ - name: Install dependencies
26
+ run: |
27
+ sudo apt-get update
28
+ python -m pip install --upgrade pip
29
+ pip install wheel numpy
30
+ pip install .
31
+ pip install .[dev]
32
+ if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
33
+ - name: Analyze code with linter
34
+ run: |
35
+ pylint -rn -sn --recursive=y ./src
36
+ continue-on-error: true
@@ -0,0 +1,39 @@
1
+ # This workflow will upload a Python Package using Twine when a release is created
2
+ # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries
3
+
4
+ # This workflow uses actions that are not certified by GitHub.
5
+ # They are provided by a third-party and are governed by
6
+ # separate terms of service, privacy policy, and support
7
+ # documentation.
8
+
9
+ name: Upload Python Package
10
+
11
+ on:
12
+ release:
13
+ types: [published]
14
+
15
+ permissions:
16
+ contents: read
17
+
18
+ jobs:
19
+ deploy:
20
+
21
+ runs-on: ubuntu-latest
22
+
23
+ steps:
24
+ - uses: actions/checkout@v3
25
+ - name: Set up Python
26
+ uses: actions/setup-python@v4
27
+ with:
28
+ python-version: '3.10'
29
+ - name: Install dependencies
30
+ run: |
31
+ python -m pip install --upgrade pip
32
+ pip install build
33
+ - name: Build package
34
+ run: python -m build
35
+ - name: Publish package
36
+ uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29
37
+ with:
38
+ user: __token__
39
+ password: ${{ secrets.PYPI_API_TOKEN }}
@@ -0,0 +1,33 @@
1
+ # This workflow will run daily at 06:45.
2
+ # It will install Python dependencies and run tests with a variety of Python versions.
3
+
4
+ name: Unit test smoke test
5
+
6
+ on:
7
+ schedule:
8
+ - cron: 45 6 * * *
9
+
10
+ jobs:
11
+ build:
12
+
13
+ runs-on: ubuntu-latest
14
+ strategy:
15
+ matrix:
16
+ python-version: ['3.8', '3.9', '3.10']
17
+
18
+ steps:
19
+ - uses: actions/checkout@v3
20
+ - name: Set up Python ${{ matrix.python-version }}
21
+ uses: actions/setup-python@v4
22
+ with:
23
+ python-version: ${{ matrix.python-version }}
24
+ - name: Install dependencies
25
+ run: |
26
+ sudo apt-get update
27
+ python -m pip install --upgrade pip
28
+ pip install .
29
+ pip install .[dev]
30
+ if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
31
+ - name: Run unit tests with pytest
32
+ run: |
33
+ python -m pytest tests
@@ -0,0 +1,38 @@
1
+ # This workflow will install Python dependencies, run tests and report code coverage with a variety of Python versions
2
+ # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
3
+
4
+ name: Unit test and code coverage
5
+
6
+ on:
7
+ push:
8
+ branches: [ main ]
9
+ pull_request:
10
+ branches: [ main ]
11
+
12
+ jobs:
13
+ build:
14
+
15
+ runs-on: ubuntu-latest
16
+ strategy:
17
+ matrix:
18
+ python-version: ['3.8', '3.9', '3.10']
19
+
20
+ steps:
21
+ - uses: actions/checkout@v3
22
+ - name: Set up Python ${{ matrix.python-version }}
23
+ uses: actions/setup-python@v4
24
+ with:
25
+ python-version: ${{ matrix.python-version }}
26
+ - name: Install dependencies
27
+ run: |
28
+ sudo apt-get update
29
+ python -m pip install --upgrade pip
30
+ pip install wheel numpy
31
+ pip install .
32
+ pip install .[dev]
33
+ if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
34
+ - name: Run unit tests with pytest
35
+ run: |
36
+ python -m pytest tests --cov=astro_tools --cov-report=xml
37
+ - name: Upload coverage report to codecov
38
+ uses: codecov/codecov-action@v3
@@ -0,0 +1,140 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ pip-wheel-metadata/
24
+ share/python-wheels/
25
+ *.egg-info/
26
+ .installed.cfg
27
+ *.egg
28
+ MANIFEST
29
+ _version.py
30
+
31
+ # PyInstaller
32
+ # Usually these files are written by a python script from a template
33
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
34
+ *.manifest
35
+ *.spec
36
+
37
+ # Installer logs
38
+ pip-log.txt
39
+ pip-delete-this-directory.txt
40
+
41
+ # Unit test / coverage reports
42
+ htmlcov/
43
+ .tox/
44
+ .nox/
45
+ .coverage
46
+ .coverage.*
47
+ .cache
48
+ nosetests.xml
49
+ coverage.xml
50
+ *.cover
51
+ *.py,cover
52
+ .hypothesis/
53
+ .pytest_cache/
54
+
55
+ # Translations
56
+ *.mo
57
+ *.pot
58
+
59
+ # Django stuff:
60
+ *.log
61
+ local_settings.py
62
+ db.sqlite3
63
+ db.sqlite3-journal
64
+
65
+ # Flask stuff:
66
+ instance/
67
+ .webassets-cache
68
+
69
+ # Scrapy stuff:
70
+ .scrapy
71
+
72
+ # Sphinx documentation
73
+ docs/_build/
74
+ _readthedocs/
75
+
76
+ # PyBuilder
77
+ target/
78
+
79
+ # Jupyter Notebook
80
+ .ipynb_checkpoints
81
+
82
+ # IPython
83
+ profile_default/
84
+ ipython_config.py
85
+
86
+ # pyenv
87
+ .python-version
88
+
89
+ # pipenv
90
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
91
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
92
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
93
+ # install all needed dependencies.
94
+ #Pipfile.lock
95
+
96
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
97
+ __pypackages__/
98
+
99
+ # Celery stuff
100
+ celerybeat-schedule
101
+ celerybeat.pid
102
+
103
+ # SageMath parsed files
104
+ *.sage.py
105
+
106
+ # Environments
107
+ .env
108
+ .venv
109
+ env/
110
+ venv/
111
+ ENV/
112
+ env.bak/
113
+ venv.bak/
114
+
115
+ # Spyder project settings
116
+ .spyderproject
117
+ .spyproject
118
+
119
+ # Rope project settings
120
+ .ropeproject
121
+
122
+ # mkdocs documentation
123
+ /site
124
+
125
+ # mypy
126
+ .mypy_cache/
127
+ .dmypy.json
128
+ dmypy.json
129
+
130
+ # Pyre type checker
131
+ .pyre/
132
+
133
+ # vscode
134
+ .vscode/
135
+
136
+ # dask
137
+ dask-worker-space/
138
+
139
+ # tmp directory
140
+ tmp/
@@ -0,0 +1,86 @@
1
+ repos:
2
+
3
+ # Compare the local template version to the latest remote template version
4
+ # This hook should always pass. It will print a message if the local version
5
+ # is out of date.
6
+ - repo: https://github.com/lincc-frameworks/pre-commit-hooks
7
+ rev: v0.1
8
+ hooks:
9
+ - id: check-lincc-frameworks-template-version
10
+ name: Check template version
11
+ description: Compare current template version against latest
12
+ verbose: true
13
+
14
+ # Clear output from jupyter notebooks so that only the input cells are committed.
15
+ - repo: local
16
+ hooks:
17
+ - id: jupyter-nb-clear-output
18
+ name: Clear output from Jupyter notebooks
19
+ description: Clear output from Jupyter notebooks.
20
+ files: \.ipynb$
21
+ stages: [commit]
22
+ language: system
23
+ entry: jupyter nbconvert --clear-output
24
+
25
+ # Run unit tests, verify that they pass. Note that coverage is run against
26
+ # the ./src directory here because that is what will be committed. In the
27
+ # github workflow script, the coverage is run against the installed package
28
+ # and uploaded to Codecov by calling pytest like so:
29
+ # `python -m pytest --cov=<package_name> --cov-report=xml`
30
+ - repo: local
31
+ hooks:
32
+ - id: pytest-check
33
+ name: Run unit tests
34
+ description: Run unit tests with pytest.
35
+ entry: bash -c "if python -m pytest --co -qq; then python -m pytest --cov=./src --cov-report=html; fi"
36
+ language: system
37
+ pass_filenames: false
38
+ always_run: true
39
+
40
+ # prevents committing directly branches named 'main' and 'master'.
41
+ - repo: https://github.com/pre-commit/pre-commit-hooks
42
+ rev: v4.4.0
43
+ hooks:
44
+ - id: no-commit-to-branch
45
+ name: Prevent main branch commits
46
+ description: Prevent the user from committing directly to the primary branch.
47
+ - id: check-added-large-files
48
+ name: Check for large files
49
+ description: Prevent the user from committing very large files.
50
+ args: ['--maxkb=500']
51
+
52
+ # verify that pyproject.toml is well formed
53
+ - repo: https://github.com/abravalheri/validate-pyproject
54
+ rev: v0.12.1
55
+ hooks:
56
+ - id: validate-pyproject
57
+ name: Validate pyproject.toml
58
+ description: Verify that pyproject.toml adheres to the established schema.
59
+ # Analyze the src code style and report code that doesn't adhere.
60
+ - repo: local
61
+ hooks:
62
+ - id: pylint
63
+ name: pylint (python files in src/)
64
+ entry: pylint
65
+ language: system
66
+ types: [python]
67
+ files: ^src/
68
+ args:
69
+ [
70
+ "-rn", # Only display messages
71
+ "-sn", # Don't display the score
72
+ ]
73
+ # Analyze the tests code style and report code that doesn't adhere.
74
+ - repo: local
75
+ hooks:
76
+ - id: pylint
77
+ name: pylint (python files in tests/)
78
+ entry: pylint
79
+ language: system
80
+ types: [python]
81
+ files: ^tests/
82
+ args:
83
+ [
84
+ "-rn", # Only display messages
85
+ "-sn", # Don't display the score
86
+ ]
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 LSST Dark Energy Science Collaboration (DESC)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,71 @@
1
+ Metadata-Version: 2.1
2
+ Name: pz-rail-astro-tools
3
+ Version: 0.0.1
4
+ Author-email: "LSST Dark Energy Science Collaboration (DESC)" <later@later.com>
5
+ License: MIT License
6
+
7
+ Copyright (c) 2023 LSST Dark Energy Science Collaboration (DESC)
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in all
17
+ copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25
+ SOFTWARE.
26
+
27
+ Classifier: Development Status :: 4 - Beta
28
+ Classifier: License :: OSI Approved :: MIT License
29
+ Classifier: Intended Audience :: Developers
30
+ Classifier: Intended Audience :: Science/Research
31
+ Classifier: Operating System :: OS Independent
32
+ Classifier: Programming Language :: Python
33
+ Description-Content-Type: text/markdown
34
+ Provides-Extra: dev
35
+ License-File: LICENSE
36
+
37
+ # pz-rail-astro-tools
38
+
39
+ [![Template](https://img.shields.io/badge/Template-LINCC%20Frameworks%20Python%20Project%20Template-brightgreen)](https://lincc-ppt.readthedocs.io/en/latest/)
40
+ [![codecov](https://codecov.io/gh/LSSTDESC/pz-rail-astro-tools/branch/main/graph/badge.svg)](https://codecov.io/gh/LSSTDESC/pz-rail-astro-tools)
41
+ [![PyPI](https://img.shields.io/pypi/v/astro_tools?color=blue&logo=pypi&logoColor=white)](https://pypi.org/project/astro_tools/)
42
+
43
+ TODO - add more about your project here.
44
+
45
+ ## RAIL: Redshift Assessment Infrastructure Layers
46
+
47
+ This package is part of the larger ecosystem of Photometric Redshifts
48
+ in [RAIL](https://github.com/LSSTDESC/RAIL).
49
+
50
+ ### Citing RAIL
51
+
52
+ This code, while public on GitHub, has not yet been released by DESC and is
53
+ still under active development. Our release of v1.0 will be accompanied by a
54
+ journal paper describing the development and validation of RAIL.
55
+
56
+ If you make use of the ideas or software in RAIL, please cite the repository
57
+ <https://github.com/LSSTDESC/RAIL>. You are welcome to re-use the code, which
58
+ is open source and available under terms consistent with the MIT license.
59
+
60
+ External contributors and DESC members wishing to use RAIL for non-DESC projects
61
+ should consult with the Photometric Redshifts (PZ) Working Group conveners,
62
+ ideally before the work has started, but definitely before any publication or
63
+ posting of the work to the arXiv.
64
+
65
+ ### Citing this package
66
+
67
+ If you use this package, you should also cite the appropriate papers for each
68
+ code used. A list of such codes is included in the
69
+ [Citing RAIL](https://lsstdescrail.readthedocs.io/en/stable/source/citing.html)
70
+ section of the main RAIL Read The Docs page.
71
+
@@ -0,0 +1,35 @@
1
+ # pz-rail-astro-tools
2
+
3
+ [![Template](https://img.shields.io/badge/Template-LINCC%20Frameworks%20Python%20Project%20Template-brightgreen)](https://lincc-ppt.readthedocs.io/en/latest/)
4
+ [![codecov](https://codecov.io/gh/LSSTDESC/pz-rail-astro-tools/branch/main/graph/badge.svg)](https://codecov.io/gh/LSSTDESC/pz-rail-astro-tools)
5
+ [![PyPI](https://img.shields.io/pypi/v/astro_tools?color=blue&logo=pypi&logoColor=white)](https://pypi.org/project/astro_tools/)
6
+
7
+ TODO - add more about your project here.
8
+
9
+ ## RAIL: Redshift Assessment Infrastructure Layers
10
+
11
+ This package is part of the larger ecosystem of Photometric Redshifts
12
+ in [RAIL](https://github.com/LSSTDESC/RAIL).
13
+
14
+ ### Citing RAIL
15
+
16
+ This code, while public on GitHub, has not yet been released by DESC and is
17
+ still under active development. Our release of v1.0 will be accompanied by a
18
+ journal paper describing the development and validation of RAIL.
19
+
20
+ If you make use of the ideas or software in RAIL, please cite the repository
21
+ <https://github.com/LSSTDESC/RAIL>. You are welcome to re-use the code, which
22
+ is open source and available under terms consistent with the MIT license.
23
+
24
+ External contributors and DESC members wishing to use RAIL for non-DESC projects
25
+ should consult with the Photometric Redshifts (PZ) Working Group conveners,
26
+ ideally before the work has started, but definitely before any publication or
27
+ posting of the work to the arXiv.
28
+
29
+ ### Citing this package
30
+
31
+ If you use this package, you should also cite the appropriate papers for each
32
+ code used. A list of such codes is included in the
33
+ [Citing RAIL](https://lsstdescrail.readthedocs.io/en/stable/source/citing.html)
34
+ section of the main RAIL Read The Docs page.
35
+
@@ -0,0 +1,77 @@
1
+ [project]
2
+ name = "pz-rail-astro-tools"
3
+ license = {file = "LICENSE"}
4
+ readme = "README.md"
5
+ authors = [
6
+ { name = "LSST Dark Energy Science Collaboration (DESC)", email = "later@later.com" }
7
+ ]
8
+ classifiers = [
9
+ "Development Status :: 4 - Beta",
10
+ "License :: OSI Approved :: MIT License",
11
+ "Intended Audience :: Developers",
12
+ "Intended Audience :: Science/Research",
13
+ "Operating System :: OS Independent",
14
+ "Programming Language :: Python",
15
+ ]
16
+ dynamic = ["version"]
17
+ dependencies = [
18
+ "deprecated",
19
+ "pz-rail-base",
20
+ "astropy",
21
+ "healpy",
22
+ "photerr",
23
+ "dustmaps",
24
+ "pz-hyperbolic-temp",
25
+ ]
26
+
27
+ # On a mac, install optional dependencies with `pip install '.[dev]'` (include the single quotes)
28
+ [project.optional-dependencies]
29
+ dev = [
30
+ "tables-io[full]",
31
+ "pytest",
32
+ "pytest-cov", # Used to report total code coverage
33
+ "pre-commit", # Used to run checks before finalizing a git commit
34
+ "pylint", # Used for static linting of files
35
+ ]
36
+
37
+ [build-system]
38
+ requires = [
39
+ "setuptools>=62", # Used to build and package the Python project
40
+ "setuptools_scm>=6.2", # Gets release version from git. Makes it available programmatically
41
+ ]
42
+ build-backend = "setuptools.build_meta"
43
+
44
+ [tool.setuptools_scm]
45
+ write_to = "src/rail/astro_tools/_version.py"
46
+
47
+ [tools.setuptools.packages.find]
48
+ where = ["."]
49
+ include = ["rail"]
50
+ namespaces = true
51
+
52
+ [tool.pytest.ini_options]
53
+ testpaths = [
54
+ "tests",
55
+ ]
56
+ addopts = [
57
+ "--cov=rail",
58
+ "--cov-report=html"
59
+ ]
60
+
61
+ [tool.pylint]
62
+ disable = [
63
+ "abstract-method",
64
+ "invalid-name",
65
+ "too-many-statements",
66
+ "missing-module-docstring",
67
+ "missing-class-docstring",
68
+ "missing-function-docstring",
69
+ "too-few-public-methods",
70
+ "duplicate-code",
71
+ "use-dict-literal",
72
+ "broad-exception-caught",
73
+ ]
74
+ max-line-length = 110
75
+ max-locals = 50
76
+ max-branches = 25
77
+ max-public-methods = 50
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,3 @@
1
+ from setuptools import setup
2
+
3
+ setup(setup_requires=['setuptools_scm'])