kenjyco-libs


Namekenjyco-libs JSON
Version 0.0.11 PyPI version JSON
download
home_pagehttps://github.com/kenjyco/kenjyco-libs
SummaryEasily install kenjyco libs
upload_time2025-07-25 17:40:46
maintainerNone
docs_urlNone
authorKen
requires_pythonNone
licenseMIT
keywords api data libs cli meta-package command-line helper kenjyco
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            A meta-package that orchestrates development workflows across the
kenjyco helper library ecosystem. This library provides sophisticated
ecosystem coordination by grouping related extra dependency sets,
managing editable installations, and cloning repositories without
typical setup friciton.

Every operation interrogates actual system state rather than making
optimistic assumptions, and missing components never break core
functionality. It’s particularly valuable as an example for developers
working with complex package ecosystems who need reliable, transparent,
and composable development workflows.

Install
-------

Use ``pip`` to install
`kenjyco-libs <https://github.com/kenjyco/libs>`__, ideally to a
`virtual environment
(venv) <https://docs.python.org/3/library/venv.html>`__. You can choose
``kenjyco-libs`` (very light weight), ``"kenjyco-libs[full]"``
(everything), or something in between.

-  ``pip install kenjyco-libs``

   -  Includes:
      `bg-helper <https://github.com/kenjyco/bg-helper/blob/master/README.md>`__,
      click,
      `fs-helper <https://github.com/kenjyco/fs-helper/blob/master/README.md>`__,
      `input-helper <https://github.com/kenjyco/input-helper/blob/master/README.md>`__,
      `settings-helper <https://github.com/kenjyco/settings-helper/blob/master/README.md>`__

-  ``pip install "kenjyco-libs[ipython]"``

   -  Includes: ipython, kenjyco-libs

-  ``pip install "kenjyco-libs[xmljson]"``

   -  Includes: kenjyco-libs, xmljson

-  ``pip install "kenjyco-libs[bs4]"``

   -  Includes: beautifulsoup4, kenjyco-libs, lxml
   -  Also requires system requirements for ``lxml``

   ::

      sudo apt-get install -y libxml2 libxslt1.1 libxml2-dev libxslt1-dev

   or

   ::

      brew install libxml2

-  ``pip install "kenjyco-libs[nosql]"``

   -  Includes:
      `chloop <https://github.com/kenjyco/chloop/blob/master/README.md>`__,
      kenjyco-libs,
      `mongo-helper <https://github.com/kenjyco/mongo-helper/blob/master/README.md>`__,
      `redis-helper <https://github.com/kenjyco/redis-helper/blob/master/README.md>`__

-  ``pip install "kenjyco-libs[sql]"``

   -  Includes:
      `expectation-helper <https://github.com/kenjyco/expectation-helper/blob/master/README.md>`__,
      kenjyco-libs,
      `sql-helper <https://github.com/kenjyco/sql-helper/blob/master/README.md>`__
   -  Also requires the ``pg_config`` executable
   -  expectation-helper is only included if using Python 3.8+

   ::

      sudo apt-get install -y libpq-dev

   or

   ::

      brew install postgresql

-  ``pip install "kenjyco-libs[data]"``

   -  Includes:
      `aws-info-helper <https://github.com/kenjyco/aws-info-helper/blob/master/README.md>`__,
      `dt-helper <https://github.com/kenjyco/dt-helper/blob/master/README.md>`__,
      “kenjyco-libs[nosql,sql,xmljson]”,
      `webclient-helper <https://github.com/kenjyco/webclient-helper/blob/master/README.md>`__

-  ``pip install "kenjyco-libs[dev]"``

   -  Includes: kenjyco-libs,
      `readme-helper <https://github.com/kenjyco/readme-helper/blob/master/README.md>`__,
      `testing-helper <https://github.com/kenjyco/testing-helper/blob/master/README.md>`__

-  ``pip install "kenjyco-libs[full]"``

   -  Includes: “kenjyco-libs[bs4,data,dev,ipython]”

Default settings.ini
--------------------

.. code:: ini

   [default]
   package_repos_base_path = ~/repos/personal/packages
   kenjyco_libs_repo_names = aws-info-helper, bg-helper, chloop, dt-helper, expectation-helper, fs-helper, input-helper, libs, mongo-helper, readme-helper, redis-helper, settings-helper, sql-helper, testing-helper, webclient-helper
   dependency_repos_base_path = ~/repos/some-repos

   [dev]
   something =

   [test]
   something =

The first time that ``kenjyco_libs`` is imported, the sample
`settings.ini <https://github.com/kenjyco/libs/blob/master/kenjyco_libs/settings.ini>`__
file will be copied to the ``~/.config/kenjyco-libs`` directory.

QuickStart
----------

The most powerful workflow is the **complete development environment
setup** for whichever combination of “extras” that were installed via
pip.

Run the provided **``kenjyco-dev-setup``** script to clone kenjyco repos
and their dependencies to the paths specified in settings.ini. The
packages will be reinstalled in “editable mode” (i.e. the packages in
the venv’s site-packages directory will be linked to the cloned kenjyco
repos).

::

   kenjyco-dev-setup

Use **``kenjyco-ipython``** to start ipython with all of the installed
kenjyco packages automatically imported as their preferred 2-character
aliases, keeping your ipython shell history clean from boilerplate
import statements.

::

   kenjyco-ipython

..

   Optionallly pass ``--no-vi`` to disable vi editing mode or
   ``--no-colors`` to not use colors and syntax highlighting.

API Overview
------------

High-Level Workflow Functions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

-  **``dev_setup(py_versions='', show=True)``** - Complete ecosystem
   setup workflow

   -  ``py_versions``: String containing Python versions to make venvs
      for (separated by ``,``, ``;``, or ``|``)
   -  ``show``: If True, show the ``git``/``pip`` commands before
      executing
   -  Internal calls: ``clone_all_missing()``,
      ``install_packages_in_editable_mode()``

-  **``clone_all_missing(show=True)``** - Clone package and dependency
   repositories locally

   -  ``show``: If True, show the ``git`` command before executing
   -  Internal calls: ``_clone_packages()``, ``_clone_dependencies()``

-  **``install_packages_in_editable_mode(show=True)``** - Install cloned
   packages in editable mode

   -  ``show``: If True, show the ``pip`` command before executing
   -  Return: Result of pip install editable operations
   -  Internal calls: ``bh.tools.pip_install_editable()``

Environment State Interrogation Functions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

-  **``_get_clone_status_for_packages()``** - Discover which ecosystem
   packages are cloned locally

   -  Return: Dictionary with keys ``cloned`` (name to path mapping) and
      ``uncloned`` (name to expected_path mapping)
   -  Internal calls: None

-  **``_get_clone_status_for_dependencies()``** - Discover which
   dependency packages are cloned locally

   -  Return: Dictionary with keys ``cloned`` (name→path mapping) and
      ``uncloned`` (name→expected_path mapping)
   -  Internal calls: None

-  **``_get_kenjyco_pkgs_in_venv()``** - Identify which ecosystem
   packages are installed

   -  Return: Set intersection of installed packages and ecosystem
      package names
   -  Internal calls: ``bh.tools.installed_packages()``

-  **``_get_dependencies_in_venv()``** - Identify which dependency
   packages are installed

   -  Return: Set intersection of installed packages and known
      dependency names (lowercased)
   -  Internal calls: ``bh.tools.installed_packages()``

Repository Cloning Functions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

-  **``_clone_packages(show=True)``** - Clone ecosystem package
   repositories locally

   -  ``show``: If True, show the ``git`` command before executing
   -  Internal calls: ``_get_clone_status_for_packages()``,
      ``_get_kenjyco_pkgs_in_venv()``, ``bh.tools.git_clone()``

-  **``_clone_dependencies(show=True)``** - Clone external dependency
   repositories locally

   -  ``show``: If True, show the ``git`` command before executing
   -  Internal calls: ``_get_clone_status_for_dependencies()``,
      ``_get_dependencies_in_venv()``, ``bh.tools.git_clone()``

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/kenjyco/kenjyco-libs",
    "name": "kenjyco-libs",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "api, data, libs, cli, meta-package, command-line, helper, kenjyco",
    "author": "Ken",
    "author_email": "kenjyco@gmail.com",
    "download_url": "https://github.com/kenjyco/kenjyco-libs/tarball/v0.0.11",
    "platform": null,
    "description": "A meta-package that orchestrates development workflows across the\nkenjyco helper library ecosystem. This library provides sophisticated\necosystem coordination by grouping related extra dependency sets,\nmanaging editable installations, and cloning repositories without\ntypical setup friciton.\n\nEvery operation interrogates actual system state rather than making\noptimistic assumptions, and missing components never break core\nfunctionality. It\u2019s particularly valuable as an example for developers\nworking with complex package ecosystems who need reliable, transparent,\nand composable development workflows.\n\nInstall\n-------\n\nUse ``pip`` to install\n`kenjyco-libs <https://github.com/kenjyco/libs>`__, ideally to a\n`virtual environment\n(venv) <https://docs.python.org/3/library/venv.html>`__. You can choose\n``kenjyco-libs`` (very light weight), ``\"kenjyco-libs[full]\"``\n(everything), or something in between.\n\n-  ``pip install kenjyco-libs``\n\n   -  Includes:\n      `bg-helper <https://github.com/kenjyco/bg-helper/blob/master/README.md>`__,\n      click,\n      `fs-helper <https://github.com/kenjyco/fs-helper/blob/master/README.md>`__,\n      `input-helper <https://github.com/kenjyco/input-helper/blob/master/README.md>`__,\n      `settings-helper <https://github.com/kenjyco/settings-helper/blob/master/README.md>`__\n\n-  ``pip install \"kenjyco-libs[ipython]\"``\n\n   -  Includes: ipython, kenjyco-libs\n\n-  ``pip install \"kenjyco-libs[xmljson]\"``\n\n   -  Includes: kenjyco-libs, xmljson\n\n-  ``pip install \"kenjyco-libs[bs4]\"``\n\n   -  Includes: beautifulsoup4, kenjyco-libs, lxml\n   -  Also requires system requirements for ``lxml``\n\n   ::\n\n      sudo apt-get install -y libxml2 libxslt1.1 libxml2-dev libxslt1-dev\n\n   or\n\n   ::\n\n      brew install libxml2\n\n-  ``pip install \"kenjyco-libs[nosql]\"``\n\n   -  Includes:\n      `chloop <https://github.com/kenjyco/chloop/blob/master/README.md>`__,\n      kenjyco-libs,\n      `mongo-helper <https://github.com/kenjyco/mongo-helper/blob/master/README.md>`__,\n      `redis-helper <https://github.com/kenjyco/redis-helper/blob/master/README.md>`__\n\n-  ``pip install \"kenjyco-libs[sql]\"``\n\n   -  Includes:\n      `expectation-helper <https://github.com/kenjyco/expectation-helper/blob/master/README.md>`__,\n      kenjyco-libs,\n      `sql-helper <https://github.com/kenjyco/sql-helper/blob/master/README.md>`__\n   -  Also requires the ``pg_config`` executable\n   -  expectation-helper is only included if using Python 3.8+\n\n   ::\n\n      sudo apt-get install -y libpq-dev\n\n   or\n\n   ::\n\n      brew install postgresql\n\n-  ``pip install \"kenjyco-libs[data]\"``\n\n   -  Includes:\n      `aws-info-helper <https://github.com/kenjyco/aws-info-helper/blob/master/README.md>`__,\n      `dt-helper <https://github.com/kenjyco/dt-helper/blob/master/README.md>`__,\n      \u201ckenjyco-libs[nosql,sql,xmljson]\u201d,\n      `webclient-helper <https://github.com/kenjyco/webclient-helper/blob/master/README.md>`__\n\n-  ``pip install \"kenjyco-libs[dev]\"``\n\n   -  Includes: kenjyco-libs,\n      `readme-helper <https://github.com/kenjyco/readme-helper/blob/master/README.md>`__,\n      `testing-helper <https://github.com/kenjyco/testing-helper/blob/master/README.md>`__\n\n-  ``pip install \"kenjyco-libs[full]\"``\n\n   -  Includes: \u201ckenjyco-libs[bs4,data,dev,ipython]\u201d\n\nDefault settings.ini\n--------------------\n\n.. code:: ini\n\n   [default]\n   package_repos_base_path = ~/repos/personal/packages\n   kenjyco_libs_repo_names = aws-info-helper, bg-helper, chloop, dt-helper, expectation-helper, fs-helper, input-helper, libs, mongo-helper, readme-helper, redis-helper, settings-helper, sql-helper, testing-helper, webclient-helper\n   dependency_repos_base_path = ~/repos/some-repos\n\n   [dev]\n   something =\n\n   [test]\n   something =\n\nThe first time that ``kenjyco_libs`` is imported, the sample\n`settings.ini <https://github.com/kenjyco/libs/blob/master/kenjyco_libs/settings.ini>`__\nfile will be copied to the ``~/.config/kenjyco-libs`` directory.\n\nQuickStart\n----------\n\nThe most powerful workflow is the **complete development environment\nsetup** for whichever combination of \u201cextras\u201d that were installed via\npip.\n\nRun the provided **``kenjyco-dev-setup``** script to clone kenjyco repos\nand their dependencies to the paths specified in settings.ini. The\npackages will be reinstalled in \u201ceditable mode\u201d (i.e.\u00a0the packages in\nthe venv\u2019s site-packages directory will be linked to the cloned kenjyco\nrepos).\n\n::\n\n   kenjyco-dev-setup\n\nUse **``kenjyco-ipython``** to start ipython with all of the installed\nkenjyco packages automatically imported as their preferred 2-character\naliases, keeping your ipython shell history clean from boilerplate\nimport statements.\n\n::\n\n   kenjyco-ipython\n\n..\n\n   Optionallly pass ``--no-vi`` to disable vi editing mode or\n   ``--no-colors`` to not use colors and syntax highlighting.\n\nAPI Overview\n------------\n\nHigh-Level Workflow Functions\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n-  **``dev_setup(py_versions='', show=True)``** - Complete ecosystem\n   setup workflow\n\n   -  ``py_versions``: String containing Python versions to make venvs\n      for (separated by ``,``, ``;``, or ``|``)\n   -  ``show``: If True, show the ``git``/``pip`` commands before\n      executing\n   -  Internal calls: ``clone_all_missing()``,\n      ``install_packages_in_editable_mode()``\n\n-  **``clone_all_missing(show=True)``** - Clone package and dependency\n   repositories locally\n\n   -  ``show``: If True, show the ``git`` command before executing\n   -  Internal calls: ``_clone_packages()``, ``_clone_dependencies()``\n\n-  **``install_packages_in_editable_mode(show=True)``** - Install cloned\n   packages in editable mode\n\n   -  ``show``: If True, show the ``pip`` command before executing\n   -  Return: Result of pip install editable operations\n   -  Internal calls: ``bh.tools.pip_install_editable()``\n\nEnvironment State Interrogation Functions\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n-  **``_get_clone_status_for_packages()``** - Discover which ecosystem\n   packages are cloned locally\n\n   -  Return: Dictionary with keys ``cloned`` (name to path mapping) and\n      ``uncloned`` (name to expected_path mapping)\n   -  Internal calls: None\n\n-  **``_get_clone_status_for_dependencies()``** - Discover which\n   dependency packages are cloned locally\n\n   -  Return: Dictionary with keys ``cloned`` (name\u2192path mapping) and\n      ``uncloned`` (name\u2192expected_path mapping)\n   -  Internal calls: None\n\n-  **``_get_kenjyco_pkgs_in_venv()``** - Identify which ecosystem\n   packages are installed\n\n   -  Return: Set intersection of installed packages and ecosystem\n      package names\n   -  Internal calls: ``bh.tools.installed_packages()``\n\n-  **``_get_dependencies_in_venv()``** - Identify which dependency\n   packages are installed\n\n   -  Return: Set intersection of installed packages and known\n      dependency names (lowercased)\n   -  Internal calls: ``bh.tools.installed_packages()``\n\nRepository Cloning Functions\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n-  **``_clone_packages(show=True)``** - Clone ecosystem package\n   repositories locally\n\n   -  ``show``: If True, show the ``git`` command before executing\n   -  Internal calls: ``_get_clone_status_for_packages()``,\n      ``_get_kenjyco_pkgs_in_venv()``, ``bh.tools.git_clone()``\n\n-  **``_clone_dependencies(show=True)``** - Clone external dependency\n   repositories locally\n\n   -  ``show``: If True, show the ``git`` command before executing\n   -  Internal calls: ``_get_clone_status_for_dependencies()``,\n      ``_get_dependencies_in_venv()``, ``bh.tools.git_clone()``\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Easily install kenjyco libs",
    "version": "0.0.11",
    "project_urls": {
        "Download": "https://github.com/kenjyco/kenjyco-libs/tarball/v0.0.11",
        "Homepage": "https://github.com/kenjyco/kenjyco-libs"
    },
    "split_keywords": [
        "api",
        " data",
        " libs",
        " cli",
        " meta-package",
        " command-line",
        " helper",
        " kenjyco"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c9ef14df0fcc7d4867c074ac7b18668db4b6d399abdb815f9e39e347e8d70ea4",
                "md5": "6ea8a7c696984bedf903ab7b5d7e6138",
                "sha256": "1de1d9d5ec86acaeb04d67db79562c2aedf585a6c33c76b2cbf0d6e081aee26a"
            },
            "downloads": -1,
            "filename": "kenjyco_libs-0.0.11-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6ea8a7c696984bedf903ab7b5d7e6138",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 8458,
            "upload_time": "2025-07-25T17:40:46",
            "upload_time_iso_8601": "2025-07-25T17:40:46.443544Z",
            "url": "https://files.pythonhosted.org/packages/c9/ef/14df0fcc7d4867c074ac7b18668db4b6d399abdb815f9e39e347e8d70ea4/kenjyco_libs-0.0.11-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-25 17:40:46",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "kenjyco",
    "github_project": "kenjyco-libs",
    "github_not_found": true,
    "lcname": "kenjyco-libs"
}
        
Ken
Elapsed time: 0.83006s