Metadata-Version: 2.3
Name: which_env
Version: 0.1.1
Summary: A Python library for intelligent multi-environment deployment strategy management with automatic runtime-based environment detection.
License: MIT
Author: Sanhe Hu
Author-email: husanhe@gmail.com
Maintainer: Sanhe Hu
Maintainer-email: husanhe@gmail.com
Requires-Python: >=3.9,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Provides-Extra: auto
Provides-Extra: dev
Provides-Extra: doc
Provides-Extra: test
Requires-Dist: Sphinx (>=7.4.7,<8.0.0) ; extra == "doc"
Requires-Dist: build (>=1.2.1,<2.0.0) ; extra == "dev"
Requires-Dist: docfly (==3.0.0) ; extra == "doc"
Requires-Dist: enum_mate (>=0.1.1,<1.0.0)
Requires-Dist: furo (==2024.8.6) ; extra == "doc"
Requires-Dist: ipython (>=8.18.1,<8.19.0) ; extra == "doc"
Requires-Dist: nbsphinx (>=0.8.12,<1.0.0) ; extra == "doc"
Requires-Dist: pygments (>=2.18.0,<3.0.0) ; extra == "doc"
Requires-Dist: pytest (>=8.2.2,<9.0.0) ; extra == "test"
Requires-Dist: pytest-cov (>=6.0.0,<7.0.0) ; extra == "test"
Requires-Dist: rich (>=13.8.1,<14.0.0) ; extra == "dev"
Requires-Dist: rstobj (==1.2.1) ; extra == "doc"
Requires-Dist: sphinx-copybutton (>=0.5.2,<1.0.0) ; extra == "doc"
Requires-Dist: sphinx-design (>=0.6.1,<1.0.0) ; extra == "doc"
Requires-Dist: sphinx-jinja (>=2.0.2,<3.0.0) ; extra == "doc"
Requires-Dist: twine (>=6.0.0,<7.0.0) ; extra == "dev"
Requires-Dist: wheel (>=0.45.0,<1.0.0) ; extra == "dev"
Requires-Dist: which_runtime (>=0.1.1,<1.0.0)
Project-URL: Changelog, https://github.com/MacHu-GWU/which_env-project/blob/main/release-history.rst
Project-URL: Documentation, https://which-env.readthedocs.io/en/latest/
Project-URL: Download, https://pypi.org/pypi/which-env#files
Project-URL: Homepage, https://github.com/MacHu-GWU/which_env-project
Project-URL: Issues, https://github.com/MacHu-GWU/which_env-project/issues
Project-URL: Repository, https://github.com/MacHu-GWU/which_env-project
Description-Content-Type: text/x-rst


.. image:: https://readthedocs.org/projects/which-env/badge/?version=latest
    :target: https://which-env.readthedocs.io/en/latest/
    :alt: Documentation Status

.. image:: https://github.com/MacHu-GWU/which_env-project/actions/workflows/main.yml/badge.svg
    :target: https://github.com/MacHu-GWU/which_env-project/actions?query=workflow:CI

.. image:: https://codecov.io/gh/MacHu-GWU/which_env-project/branch/main/graph/badge.svg
    :target: https://codecov.io/gh/MacHu-GWU/which_env-project

.. image:: https://img.shields.io/pypi/v/which-env.svg
    :target: https://pypi.python.org/pypi/which-env

.. image:: https://img.shields.io/pypi/l/which-env.svg
    :target: https://pypi.python.org/pypi/which-env

.. image:: https://img.shields.io/pypi/pyversions/which-env.svg
    :target: https://pypi.python.org/pypi/which-env

.. image:: https://img.shields.io/badge/✍️_Release_History!--None.svg?style=social&logo=github
    :target: https://github.com/MacHu-GWU/which_env-project/blob/main/release-history.rst

.. image:: https://img.shields.io/badge/⭐_Star_me_on_GitHub!--None.svg?style=social&logo=github
    :target: https://github.com/MacHu-GWU/which_env-project

------

.. image:: https://img.shields.io/badge/Link-API-blue.svg
    :target: https://which-env.readthedocs.io/en/latest/py-modindex.html

.. image:: https://img.shields.io/badge/Link-Install-blue.svg
    :target: `install`_

.. image:: https://img.shields.io/badge/Link-GitHub-blue.svg
    :target: https://github.com/MacHu-GWU/which_env-project

.. image:: https://img.shields.io/badge/Link-Submit_Issue-blue.svg
    :target: https://github.com/MacHu-GWU/which_env-project/issues

.. image:: https://img.shields.io/badge/Link-Request_Feature-blue.svg
    :target: https://github.com/MacHu-GWU/which_env-project/issues

.. image:: https://img.shields.io/badge/Link-Download-blue.svg
    :target: https://pypi.org/pypi/which-env#files


Welcome to ``which_env`` Documentation
==============================================================================
.. image:: https://which-env.readthedocs.io/en/latest/_static/which_env-logo.png
    :target: https://which-env.readthedocs.io/en/latest/

Managing multiple deployment environments (dev, staging, production) is essential for safe software delivery, but manually specifying environments leads to configuration errors and inconsistent deployments. ``which_env`` solves this by providing intelligent environment detection that adapts to your runtime context - defaulting to development locally while automatically detecting the correct environment in CI/CD pipelines and production deployments.

The library uses a simple inheritance pattern where you define your project's environments once, then rely on smart detection logic that prioritizes user overrides while maintaining safety through validation. This eliminates environment misconfiguration bugs and streamlines deployment workflows across local development, automated testing, and production systems.


.. _install:

Install
------------------------------------------------------------------------------

``which_env`` is released on PyPI, so all you need is to:

.. code-block:: console

    $ pip install which-env

To upgrade to latest version:

.. code-block:: console

    $ pip install --upgrade which-env

