Metadata-Version: 2.4
Name: esc_mini_tools_lib
Version: 0.1.11
Summary: A reusable library of mini-tools with Pydantic-based APIs, designed for multi-platform deployment in web apps, serverless functions, and AI systems.
Author-email: Sanhe Hu <sanhehu@easyscalecloud.com>
Maintainer-email: Sanhe Hu <sanhehu@easyscalecloud.com>
License-Expression: AGPL-3.0-or-later
Project-URL: Homepage, https://github.com/easyscalecloud/esc_mini_tools_lib-project
Project-URL: Documentation, https://esc-mini-tools-lib.readthedocs.io/en/latest/
Project-URL: Repository, https://github.com/easyscalecloud/esc_mini_tools_lib-project
Project-URL: Issues, https://github.com/easyscalecloud/esc_mini_tools_lib-project/issues
Project-URL: Changelog, https://github.com/easyscalecloud/esc_mini_tools_lib-project/blob/main/release-history.rst
Project-URL: Download, https://pypi.org/pypi/esc-mini-tools-lib#files
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: MacOS
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: <4.0,>=3.10
Description-Content-Type: text/x-rst
License-File: LICENSE.txt
License-File: AUTHORS.rst
Requires-Dist: vislog<1.0.0,>=0.1.3
Requires-Dist: func-args<2.0.0,>=1.0.2
Requires-Dist: soft_deps<1.0.0,>=0.1.1
Requires-Dist: boltons<26.0.0,>=25.0.0
Requires-Dist: boto3<2.0.0,>=1.42.97
Requires-Dist: boto-session-manager<2.0.0,>=1.8.1
Requires-Dist: s3pathlib<3.0.0,>=2.3.6
Requires-Dist: pydantic<3.0.0,>=2.12.0
Requires-Dist: atlas-doc-parser<2.0.0,>=1.0.1
Requires-Dist: docpack-confluence<1.0.0,>=0.1.3
Requires-Dist: tiktoken<1.0.0,>=0.12.0
Provides-Extra: dev
Requires-Dist: rich<14.0.0,>=13.8.1; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest<9.0.0,>=8.2.2; extra == "test"
Requires-Dist: pytest-cov<7.0.0,>=6.0.0; extra == "test"
Provides-Extra: doc
Requires-Dist: Sphinx<8.0.0,>=7.4.7; extra == "doc"
Requires-Dist: sphinx-copybutton<1.0.0,>=0.5.2; extra == "doc"
Requires-Dist: sphinx-design<1.0.0,>=0.6.1; extra == "doc"
Requires-Dist: sphinx-jinja<3.0.0,>=2.0.2; extra == "doc"
Requires-Dist: furo==2024.8.6; extra == "doc"
Requires-Dist: pygments<3.0.0,>=2.18.0; extra == "doc"
Requires-Dist: ipython<8.19.0,>=8.18.1; extra == "doc"
Requires-Dist: nbsphinx<1.0.0,>=0.8.12; extra == "doc"
Requires-Dist: rstobj==2.0.0; extra == "doc"
Requires-Dist: docfly==3.0.3; extra == "doc"
Provides-Extra: mise
Requires-Dist: PyGithub<3.0.0,>=2.8.0; extra == "mise"
Requires-Dist: httpx<1.0.0,>=0.28.0; extra == "mise"
Requires-Dist: tomli<3.0.0,>=2.0.0; python_version < "3.11" and extra == "mise"
Dynamic: license-file


.. image:: https://readthedocs.org/projects/esc-mini-tools-lib/badge/?version=latest
    :target: https://esc-mini-tools-lib.readthedocs.io/en/latest/
    :alt: Documentation Status

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

.. image:: https://codecov.io/gh/easyscalecloud/esc_mini_tools_lib-project/branch/main/graph/badge.svg
    :target: https://codecov.io/gh/easyscalecloud/esc_mini_tools_lib-project

.. image:: https://img.shields.io/pypi/v/esc-mini-tools-lib.svg
    :target: https://pypi.python.org/pypi/esc-mini-tools-lib

.. image:: https://img.shields.io/pypi/l/esc-mini-tools-lib.svg
    :target: https://pypi.python.org/pypi/esc-mini-tools-lib

.. image:: https://img.shields.io/pypi/pyversions/esc-mini-tools-lib.svg
    :target: https://pypi.python.org/pypi/esc-mini-tools-lib

.. image:: https://img.shields.io/badge/✍️_Release_History!--None.svg?style=social&logo=github
    :target: https://github.com/easyscalecloud/esc_mini_tools_lib-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/easyscalecloud/esc_mini_tools_lib-project

------

.. image:: https://img.shields.io/badge/Link-API-blue.svg
    :target: https://esc-mini-tools-lib.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/easyscalecloud/esc_mini_tools_lib-project

.. image:: https://img.shields.io/badge/Link-Submit_Issue-blue.svg
    :target: https://github.com/easyscalecloud/esc_mini_tools_lib-project/issues

.. image:: https://img.shields.io/badge/Link-Request_Feature-blue.svg
    :target: https://github.com/easyscalecloud/esc_mini_tools_lib-project/issues

.. image:: https://img.shields.io/badge/Link-Download-blue.svg
    :target: https://pypi.org/pypi/esc-mini-tools-lib#files


Welcome to ``esc_mini_tools_lib`` Documentation
==============================================================================
.. image:: https://esc-mini-tools-lib.readthedocs.io/en/latest/_static/esc_mini_tools_lib-logo.png
    :target: https://esc-mini-tools-lib.readthedocs.io/en/latest/

``esc_mini_tools_lib`` is a collection of reusable mini-tools that provides core business logic for multi-platform deployment scenarios. Each tool implements the Command Pattern using Pydantic models, enabling built-in validation, type safety, and easy OpenAPI specification generation. The library is designed to be pip-installed and seamlessly integrated into various applications: as web app endpoints, as AWS Lambda functions for remote capabilities, or as MCP (Model Context Protocol) servers for AI assistants. By extracting core logic into this standalone library, you can deploy the same validated functionality across different platforms without code duplication.


.. _install:

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

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

.. code-block:: console

    $ pip install esc-mini-tools-lib

To upgrade to latest version:

.. code-block:: console

    $ pip install --upgrade esc-mini-tools-lib
