Metadata-Version: 2.3
Name: pywf_internal_proprietary
Version: 0.1.2
Summary: Python Workflow for internal proprietary project.
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: all
Provides-Extra: auto
Provides-Extra: dev
Provides-Extra: doc
Provides-Extra: test
Requires-Dist: PyGithub (>=2.5.0,<3.0.0) ; extra == "all"
Requires-Dist: Sphinx (>=7.4.7,<8.0.0) ; extra == "doc"
Requires-Dist: boto3 (>=1.35.99,<2.0.0)
Requires-Dist: build (>=1.2.1,<2.0.0) ; extra == "dev"
Requires-Dist: docfly (==2.0.3) ; extra == "doc"
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: requests (>=2.23.3,<3.0.0) ; extra == "all"
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: toml (>=0.10.2,<1.0.0) ; python_version < "3.11"
Requires-Dist: twine (>=6.0.0,<7.0.0) ; extra == "dev"
Requires-Dist: wheel (>=0.45.0,<1.0.0) ; extra == "dev"
Project-URL: Changelog, https://github.com/MacHu-GWU/pywf_internal_proprietary-project/blob/main/release-history.rst
Project-URL: Documentation, https://pywf-internal-proprietary.readthedocs.io/en/latest/
Project-URL: Download, https://pypi.org/pypi/pywf-internal-proprietary#files
Project-URL: Homepage, https://github.com/MacHu-GWU/pywf_internal_proprietary-project
Project-URL: Issues, https://github.com/MacHu-GWU/pywf_internal_proprietary-project/issues
Project-URL: Repository, https://github.com/MacHu-GWU/pywf_internal_proprietary-project
Description-Content-Type: text/x-rst


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

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

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

.. image:: https://img.shields.io/pypi/v/pywf-internal-proprietary.svg
    :target: https://pypi.python.org/pypi/pywf-internal-proprietary

.. image:: https://img.shields.io/pypi/l/pywf-internal-proprietary.svg
    :target: https://pypi.python.org/pypi/pywf-internal-proprietary

.. image:: https://img.shields.io/pypi/pyversions/pywf-internal-proprietary.svg
    :target: https://pypi.python.org/pypi/pywf-internal-proprietary

.. image:: https://img.shields.io/badge/Release_History!--None.svg?style=social
    :target: https://github.com/MacHu-GWU/pywf_internal_proprietary-project/blob/main/release-history.rst

.. image:: https://img.shields.io/badge/STAR_Me_on_GitHub!--None.svg?style=social
    :target: https://github.com/MacHu-GWU/pywf_internal_proprietary-project

------

.. image:: https://img.shields.io/badge/Link-Document-blue.svg
    :target: https://pywf-internal-proprietary.readthedocs.io/en/latest/

.. image:: https://img.shields.io/badge/Link-API-blue.svg
    :target: https://pywf-internal-proprietary.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/pywf_internal_proprietary-project

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

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

.. image:: https://img.shields.io/badge/Link-Download-blue.svg
    :target: https://pypi.org/pypi/pywf-internal-proprietary#files


Welcome to ``pywf_internal_proprietary`` Documentation
==============================================================================
.. image:: https://pywf-internal-proprietary.readthedocs.io/en/latest/_static/pywf_internal_proprietary-logo.png
    :target: https://pywf-internal-proprietary.readthedocs.io/en/latest/

``pywf_open_source`` streamlines open source Python project development by providing a unified workflow automation framework. It eliminates the cognitive overhead of switching between projects by normalizing common development tasks through a consistent interface.

The library automates common operations for projects using:

- A public `GitHub repo <https://github.com/>`_ to host your project.
- Use `poetry <https://python-poetry.org/>`_ to manage your project dependencies and build distribution package.
- Use `pytest <https://docs.pytest.org/>`_ unit test framework for testing.
- Use `GitHub Actions <https://github.com/features/actions>`_ to run your test.
- Use `Codecov.io <https://about.codecov.io/>`_ to publish your test coverage result.
- Use `sphinx-doc <https://www.sphinx-doc.org/>`_ to build your documentation website.
- A private `CloudFlare Pages <https://developers.cloudflare.com/pages/>`_ project that requires email login to host your documentation website.
- A private `AWS S3 Bucket <https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteHosting.html>`_ to store your historical versioned document site as a record.
- Use `twine <https://twine.readthedocs.io/>`_ to publish your package to AWS CodeArtifact.
- Use `AWS CodeArtifact <https://docs.aws.amazon.com/codeartifact/latest/ug/using-python.html>`_ to publish your package.
- Use `GitHub Release <https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases>`_ to track your historical assets.

It assumes the following code folder structure::

    .github/workflows/main.yml # GitHub Actions CI/CD configuration file
    ${package_name}/
    ${package_name}/__init__.py
    ${package_name}/*.py
    docs/
    docs/source # documentation source folder
    docs/source/conf.py # sphinx doc configuration file
    tests/ # unit test folder
    bin/ # development workflow automation scripts
    bin/pywf.py
    bin/s01_....py
    bin/s02_....py
    bin/...
    Makefile # makefile for automation
    .coveragerc # code coverage test configuration file
    codecov.yml # code coverage CI rules configuration file
    pyproject.toml # Python project configuration file, no setup.py


Project Maintainer Note
------------------------------------------------------------------------------
This project follows the best practice mentioned in `THIS DOCUMENT <https://dev-exp-share.readthedocs.io/en/latest/search.html?q=Creating+Reusable+Project+Templates%3A+From+Concept+to+Implementation&check_keywords=yes&area=default>`_.

- **Seed Repository** (Private Git Repo to simulate internal proprietary project): `cookiecutter_pywf_internal_proprietary_demo-project <https://github.com/MacHu-GWU/cookiecutter_pywf_internal_proprietary_demo-project>`_
- **Automation Library**: `pywf_internal_proprietary-project <https://github.com/MacHu-GWU/pywf_internal_proprietary-project>`_
- **Cookiecutter Template**: `cookiecutter-pywf_internal_proprietary <https://github.com/MacHu-GWU/cookiecutter-pywf_internal_proprietary>`_


.. _install:

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

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

.. code-block:: console

    $ pip install pywf-internal-proprietary

To upgrade to latest version:

.. code-block:: console

    $ pip install --upgrade pywf-internal-proprietary

