{"id":13412141,"url":"https://github.com/nficano/yakutils","last_synced_at":"2025-08-19T14:32:38.678Z","repository":{"id":48309129,"uuid":"234320665","full_name":"nficano/yakutils","owner":"nficano","description":"Yet another toolbox of Python 3 helper functions.","archived":false,"fork":false,"pushed_at":"2022-05-27T23:00:40.000Z","size":193,"stargazers_count":108,"open_issues_count":12,"forks_count":6,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-05-01T14:58:20.981Z","etag":null,"topics":["boilerplate","helpers","pypi","python3","toolbox"],"latest_commit_sha":null,"homepage":"https://yakutils.readthedocs.io","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nficano.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-01-16T13:00:05.000Z","updated_at":"2024-01-04T16:41:23.000Z","dependencies_parsed_at":"2022-08-24T05:31:20.776Z","dependency_job_id":null,"html_url":"https://github.com/nficano/yakutils","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nficano%2Fyakutils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nficano%2Fyakutils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nficano%2Fyakutils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nficano%2Fyakutils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nficano","download_url":"https://codeload.github.com/nficano/yakutils/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230359935,"owners_count":18214157,"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":["boilerplate","helpers","pypi","python3","toolbox"],"created_at":"2024-07-30T20:01:21.433Z","updated_at":"2024-12-19T01:07:03.481Z","avatar_url":"https://github.com/nficano.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cp\u003e\n    \u003cimg src=\"https://assets.nickficano.com/gh-yakutils.min.svg\" width=\"270\" height=\"135\" alt=\"yakutils logo\" /\u003e\n  \u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/pypi/v/yakutils.svg\" alt=\"pypi\"\u003e\n  \u003ca href=\"https://pypi.python.org/pypi/yakutils/\"\u003e\n    \u003cimg src=\"https://img.shields.io/pypi/pyversions/yakutils.svg\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003c/div\u003e\n\n# yakutils\n\nYakutils is yet another toolbox of Python helper functions.\n\nThis package is available on PyPi, but its primary purpose is to allow one (me) to copy these into projects or to prevent one (me as well) from needing to Google how to write them (I'm looking at you ``csv.DictReader`` and ``csv.DictWriter``).\n\nThis project is a continuous work-in-progress, and while its contents are specific to stuff that I use, pull requests are certainly welcome.\n\n## Installation\n\nTo download using pip via PyPi:\n\n```bash\n$ pip install yakutils\n```\n\n## Usage Examples:\n\n```python\n\u003e\u003e\u003e from yakutils import read_csv\n\u003e\u003e\u003e read_csv('/path/to/data.csv')\n[\n  {\n    'name': 'Tomatillo',\n    'age': 27\n  },\n  # ...\n]\n\n\u003e\u003e\u003e import datetime as dt\n\u003e\u003e\u003e from yakutils import date_to_iso8601\n\u003e\u003e\u003e date_to_iso8601(dt.date.today())\n'2020-01-26T00:00:00Z'\n\n\u003e\u003e\u003e from yakutils import datetime_to_iso8601\n\u003e\u003e\u003e datetime_to_iso8601(dt.datetime.utcnow())\n'2020-01-26T19:04:40.219668Z'\n\n\u003e\u003e\u003e from yakutils import datetime_to_unixtimestamp\n\u003e\u003e\u003e datetime_to_unixtimestamp(dt.datetime.utcnow())\n1580065524\n\n\u003e\u003e\u003e from yakutils import iso8601_to_datetime\n\u003e\u003e\u003e iso8601_to_datetime('2020-01-26T19:04:40.219668Z')\ndatetime.datetime(2020, 1, 26, 19, 4, 40, 219668)\n\n\u003e\u003e\u003e import json\n\u003e\u003e\u003e from decimal import Decimal\n\u003e\u003e\u003e from yakutils import json_defaults\n\u003e\u003e\u003e json.dumps({\n...   'now': dt.datetime.utcnow(),\n...   'today': dt.date.today(),\n...   'time': dt.time(1,2,3),\n...   'num': Decimal(2.777),\n...}, default=json_defaults)\n'{\"now\": \"2020-01-28T01:10:37.599281Z\", \"today\": \"2020-01-27\", \"time\": \"01:02:03\", \"num\": 2.777}'\n\n\u003e\u003e\u003e from yakutils import random_string\n\u003e\u003e\u003e random_string(20)\n'k4a9ue7TDjOC3p3oN0dl'\n\n\u003e\u003e\u003e from yakutils import update_qs\n\u003e\u003e\u003e update_qs('https://nickficano.com.com/?q=asdf\u0026pi=3.14', pi=6.28)\n'https://nickficano.com.com/?q=asdf\u0026pi=6.28'\n```\n\nFor complete list of utility functions, see: https://yakutils.readthedocs.io/en/latest/.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnficano%2Fyakutils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnficano%2Fyakutils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnficano%2Fyakutils/lists"}