{"id":17003254,"url":"https://github.com/webyneter/python-humble-utils","last_synced_at":"2025-07-20T00:33:32.391Z","repository":{"id":44863809,"uuid":"94917958","full_name":"webyneter/python-humble-utils","owner":"webyneter","description":"Python utils for everyday use. See the docs at","archived":false,"fork":false,"pushed_at":"2022-12-26T21:30:48.000Z","size":230,"stargazers_count":13,"open_issues_count":9,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-16T10:07:39.370Z","etag":null,"topics":["helper","helpers","humble","python","python-3","util","utilities","utility","utils"],"latest_commit_sha":null,"homepage":"https://python-humble-utils.readthedocs.io/en/stable/installation.html","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/webyneter.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-06-20T17:32:19.000Z","updated_at":"2023-05-27T08:06:14.000Z","dependencies_parsed_at":"2023-01-31T01:45:47.857Z","dependency_job_id":null,"html_url":"https://github.com/webyneter/python-humble-utils","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/webyneter/python-humble-utils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webyneter%2Fpython-humble-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webyneter%2Fpython-humble-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webyneter%2Fpython-humble-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webyneter%2Fpython-humble-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webyneter","download_url":"https://codeload.github.com/webyneter/python-humble-utils/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webyneter%2Fpython-humble-utils/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266048676,"owners_count":23868743,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["helper","helpers","humble","python","python-3","util","utilities","utility","utils"],"created_at":"2024-10-14T04:30:06.233Z","updated_at":"2025-07-20T00:33:32.362Z","avatar_url":"https://github.com/webyneter.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Python Humble Utils\n===================\n\n.. image:: https://travis-ci.org/webyneter/python-humble-utils.svg?branch=master\n    :target: https://travis-ci.org/webyneter/python-humble-utils\n    :alt: Build Status\n\n.. image:: https://badgen.net/dependabot/webyneter/python-humble-utils/?icon=dependabot\n    :target: https://badgen.net/dependabot/webyneter/python-humble-utils/?icon=dependabot\n    :alt: dependabot\n\n.. image:: https://codecov.io/gh/webyneter/python-humble-utils/branch/master/graph/badge.svg\n    :target: https://codecov.io/gh/webyneter/python-humble-utils\n    :alt: Coverage\n\n.. image:: https://codeclimate.com/github/webyneter/python-humble-utils/badges/gpa.svg\n    :target: https://codeclimate.com/github/webyneter/python-humble-utils\n    :alt: Code Climate\n\n.. image:: https://badge.fury.io/py/python-humble-utils.svg\n    :target: https://pypi.python.org/pypi/python-humble-utils\n    :alt: Latest Version\n\n.. image:: https://img.shields.io/pypi/pyversions/python-humble-utils.svg\n    :target: https://pypi.python.org/pypi/python-humble-utils\n    :alt: Supported Python Versions\n\n.. image:: https://readthedocs.org/projects/python-humble-utils/badge/?version=stable\n    :target: http://python-humble-utils.readthedocs.io/en/stable/?badge=stable\n    :alt: Documentation Status\n\n.. image:: https://img.shields.io/badge/License-MIT-green.svg\n    :target: https://opensource.org/licenses/MIT\n    :alt: MIT License\n\n.. image:: https://img.shields.io/gitter/room/webyneter/python-humble-utils.svg\n    :target: https://gitter.im/webyneter/python-humble-utils?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge\n    :alt: Join the chat at https://gitter.im/webyneter/python-humble-utils\n\n\nPython utils for everyday use.\n\n* `Documentation`_.\n* Please, `open issues`_ before sending emails to the maintainers: You will get a much faster response!\n\n.. _`open issues`: https://github.com/webyneter/python-humble-utils/issues/new\n.. _`Documentation`: https://python-humble-utils.readthedocs.io/en/stable/installation.html\n\n\n\nFeature Areas\n-------------\n\n* File operations.\n* File/directory paths extraction.\n* File/directory paths randomization.\n* String case conversions.\n* Python class convenience shortcuts.\n* `py.test`_ fixtures and helpers.\n\n.. _`py.test`: https://docs.pytest.org/en/stable/\n\n\n\nInstallation\n------------\n\n.. code-block:: console\n\n    $ pip install python-humble-utils\n\nor install from sources:\n\n.. code-block:: console\n\n    $ python setup.py install\n\nRefer to `Installation`_ for detailed instructions.\n\n.. _`Installation`: https://python-humble-utils.readthedocs.io/en/stable/installation.html\n\n\nUsage\n-----\n\n.. code-block:: python\n\n    import os\n    from pathlib import Path\n\n    from python_humble_utils.filesystem import yield_file_paths\n    from python_humble_utils.strings import camel_or_pascal_case_to_snake_case\n\n\n    # ...\n\n    file_paths = yield_file_paths(\n        dir_path=Path(\"dir\") / \"with\" / \"scripts\",\n        allowed_file_extensions=(\".sh\", \".bash\"),\n        recursively=True\n    )\n    assert set(file_paths) == set((\"s1.sh\", \"s2.bash\", \"s3.bash\"))\n\n    s = camel_or_pascal_case_to_snake_case(\"camelCasedString\")\n    assert s == \"camel_cased_string\"\n\n    s = camel_or_pascal_case_to_snake_case(\"PascalCasedString\")\n    assert s == \"pascal_cased_string\"\n\n    # ...\n\n\nContributing\n------------\n\nYour contributions are very much welcome! Refer to `Contributing`_ for more details.\n\n.. _`Contributing`: https://python-humble-utils.readthedocs.io/en/stable/contributing.html\n\n\n\nCode of Conduct\n---------------\n\nAll those using ``python-humble-utils``, including its codebase and project management ecosystem are expected to follow the `Python Community Code of Conduct`_.\n\n.. _`Python Community Code of Conduct`: https://www.python.org/psf/codeofconduct/\n\n\n\nAcknowledgements\n----------------\n\nThis package was initially scaffolded via `Cookiecutter`_ with `audreyr/cookiecutter-pypackage`_ template.\n\n.. _`Cookiecutter`: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebyneter%2Fpython-humble-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebyneter%2Fpython-humble-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebyneter%2Fpython-humble-utils/lists"}