Metadata-Version: 2.4
Name: sdss-tree
Version: 4.1.2
Summary: Control and setup of SDSS tree environment and modules
Home-page: https://github.com/sdss/tree
Author: Brian Cherinka
Author-email: bcherinka@stsci.edu
License: BSD 3-Clause License
Project-URL: Repository, https://github.com/sdss/tree
Project-URL: Documentation, https://sdss-tree.readthedocs.org
Keywords: astronomy,software
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Documentation :: Sphinx
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: pygments>=2.6
Requires-Dist: configparser>=3.5.0
Requires-Dist: sdsstools>=0.4.5
Provides-Extra: dev
Requires-Dist: Sphinx<7.3,>=7.2.0; extra == "dev"
Requires-Dist: sphinx_bootstrap_theme>=0.4.12; extra == "dev"
Requires-Dist: recommonmark>=0.6; extra == "dev"
Requires-Dist: sphinx-argparse>=0.2.5; extra == "dev"
Requires-Dist: sphinx-issues>=1.2.0; extra == "dev"
Requires-Dist: importlib_metadata>=1.6.0; extra == "dev"
Requires-Dist: jinja2<3.1; extra == "dev"
Requires-Dist: six>=1.14; extra == "dev"
Requires-Dist: packaging>=26.0; extra == "dev"
Requires-Dist: ipython>=7.9.0; extra == "dev"
Requires-Dist: matplotlib>=3.1.4; extra == "dev"
Requires-Dist: flake8>=3.7.9; extra == "dev"
Requires-Dist: doc8>=0.8.0; extra == "dev"
Requires-Dist: pytest>=5.2.2; extra == "dev"
Requires-Dist: pytest-cov>=2.8.1; extra == "dev"
Requires-Dist: pytest-mock>=1.13.0; extra == "dev"
Requires-Dist: pytest-sugar>=0.9.2; extra == "dev"
Requires-Dist: isort>=4.3.21; extra == "dev"
Requires-Dist: codecov>=2.0.15; extra == "dev"
Requires-Dist: coverage[toml]>=5.0; extra == "dev"
Requires-Dist: coveralls>=1.7; extra == "dev"
Requires-Dist: ipdb>=0.12.3; extra == "dev"
Requires-Dist: sdsstools[dev]>=0.4.0; extra == "dev"
Requires-Dist: invoke>=1.3.0; extra == "dev"
Requires-Dist: twine>=3.1.4; extra == "dev"
Requires-Dist: wheel>=0.33.6; extra == "dev"
Provides-Extra: docs
Requires-Dist: Sphinx<7.3,>=7.2.0; extra == "docs"
Requires-Dist: sphinx_bootstrap_theme>=0.4.12; extra == "docs"
Requires-Dist: recommonmark>=0.6; extra == "docs"
Requires-Dist: sphinx-argparse>=0.2.5; extra == "docs"
Requires-Dist: sphinx-issues>=1.2.0; extra == "docs"
Requires-Dist: importlib_metadata>=1.6.0; extra == "docs"
Requires-Dist: jinja2<3.1; extra == "docs"
Requires-Dist: six>=1.14; extra == "docs"
Requires-Dist: packaging>=26.0; extra == "docs"
Dynamic: license-file

# tree

![Versions](https://img.shields.io/badge/python->3.7-blue)
[![Documentation Status](https://readthedocs.org/projects/sdss-tree/badge/?version=latest)](https://sdss-tree.readthedocs.io/en/latest/?badge=latest)
[![Build Sphinx Documentation](https://github.com/sdss/tree/actions/workflows/sphinxbuild.yml/badge.svg)](https://github.com/sdss/tree/actions/workflows/sphinxbuild.yml)
[![Build and Test](https://github.com/sdss/tree/actions/workflows/build.yml/badge.svg)](https://github.com/sdss/tree/actions/workflows/build.yml)
[![codecov](https://codecov.io/gh/sdss/tree/branch/master/graph/badge.svg)](https://codecov.io/gh/sdss/tree)

This product contains the definition(s) of the SDSS Science Archiver Server (SAS) filesystem environment tree(s).  It
sets up the SDSS environment configuration files for loading either via the [Modules Environment Manager](http://modules.sourceforge.net/) or dynamically with a ``tree.Tree`` python package.  Available environments are a SDSS "working" environment, i.e. ``sdsswork`` or any number of environments for public Data
Releases, i.e. ``dr16.cfg``.  See full documentation at http://sdss-tree.readthedocs.io/en/latest/.


## Developer Install

### Local Install

To install tree for development locally:

```
git clone https://github.com/sdss/tree
cd tree
python bin/copy_data.py
pip install -e ".[dev,docs]"
```

`python bin/copy_data.py` must be run ahead of any package install or builds with `python -m build` to ensure the config files are properly in place.

### Install at Utah

To install at Utah for use with modules,
```
git clone https://github.com/sdss/tree main
cd main
python bin/setup_tree.py -v
```
Replace `main` with the desired branch or tag name as needed. Also, see the instructions on the [Wiki](https://wiki.sdss.org/display/DATA/tree#tree-InstallationofthetreeproductatUtah)

### Install as a Dependency

To install as a Python package dedendency for software use, install the latest tag straight from PyPi:
```
pip install sdss-tree
```

## Build Sphinx Docs

Within the top level repo directory, run the `sdsstools` commands:
```
# build the Sphinx documentation
sdss docs.build

# open the docs locally in a browser
sdss docs.show
```
Documentation is automatically built and pushed to Read The Docs.

## Testing
Tests are created using `pytest`.  Navigate to the `tests` directory from the top level and run with `pytest`.
```
cd tests
pytest
```

## Creating Releases

New releases of `sdss-tree` are created automatically, and pushed to [PyPi](https://pypi.org/project/sdss-tree/), when new tags are pushed to Github.  See the [Create Release](.github/workflows/release.yml) Github Action and [Releases](https://github.com/sdss/tree/releases) for the list.

New tag names follow the Python semantic versioning syntax, i.e. `X.Y.Z`.


## Useful links

- GitHub: https://github.com/sdss/tree
- Documentation: https://sdss-tree.readthedocs.org
- Issues: https://github.com/sdss/tree/issues
