{"id":37558406,"url":"https://github.com/jrog612/pend","last_synced_at":"2026-01-16T09:03:31.031Z","repository":{"id":57451760,"uuid":"163843129","full_name":"jrog612/pend","owner":"jrog612","description":"Pendulum wrapper for short name","archived":false,"fork":false,"pushed_at":"2019-09-28T11:22:09.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-12-08T16:35:07.258Z","etag":null,"topics":["pendulum","python","short-name"],"latest_commit_sha":null,"homepage":"https://github.com/sdispater/pendulum","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jrog612.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-01-02T13:15:41.000Z","updated_at":"2019-09-28T11:22:11.000Z","dependencies_parsed_at":"2022-09-14T07:22:01.797Z","dependency_job_id":null,"html_url":"https://github.com/jrog612/pend","commit_stats":null,"previous_names":["joyongjin/pend"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jrog612/pend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrog612%2Fpend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrog612%2Fpend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrog612%2Fpend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrog612%2Fpend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jrog612","download_url":"https://codeload.github.com/jrog612/pend/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrog612%2Fpend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T06:30:42.265Z","status":"ssl_error","status_checked_at":"2026-01-16T06:30:16.248Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["pendulum","python","short-name"],"created_at":"2026-01-16T09:03:30.953Z","updated_at":"2026-01-16T09:03:31.023Z","avatar_url":"https://github.com/jrog612.png","language":"Python","readme":"pend\n--------------------------------\n\n.. image:: https://badge.fury.io/py/pend.svg\n    :target: https://badge.fury.io/py/pend\n\nThis is wrapper of pendulum.\n\n:code:`Pendulum` is too long and a hassle to type. But :code:`pend` is easy. That's just it.\n\n* `pendulum repository`_\n* `pendulum site`_\n\n.. _pendulum repository: https://github.com/sdispater/pendulum\n.. _pendulum site: https://pendulum.eustace.io/\n\nInstall\n=========\n\n.. code::\n\n    pip install pend\n\nUse\n======\n\n.. code-block:: python\n\n    \u003e\u003e\u003e import pend\n\n    \u003e\u003e\u003e now_in_paris = pend.now('Europe/Paris')\n    \u003e\u003e\u003e now_in_paris\n    '2016-07-04T00:49:58.502116+02:00'\n\n    # Seamless timezone switching\n    \u003e\u003e\u003e now_in_paris.in_timezone('UTC')\n    '2016-07-03T22:49:58.502116+00:00'\n\n    \u003e\u003e\u003e tomorrow = pend.now().add(days=1)\n    \u003e\u003e\u003e last_week = pend.now().subtract(weeks=1)\n\n    \u003e\u003e\u003e past = pend.now().subtract(minutes=2)\n    \u003e\u003e\u003e past.diff_for_humans()\n    \u003e\u003e\u003e '2 minutes ago'\n\n    \u003e\u003e\u003e delta = past - last_week\n    \u003e\u003e\u003e delta.hours\n    23\n    \u003e\u003e\u003e delta.in_words(locale='en')\n    '6 days 23 hours 58 minutes'\n\n    # Proper handling of datetime normalization\n    \u003e\u003e\u003e pend.datetime(2013, 3, 31, 2, 30, tz='Europe/Paris')\n    '2013-03-31T03:30:00+02:00' # 2:30 does not exist (Skipped time)\n\n    # Proper handling of dst transitions\n    \u003e\u003e\u003e just_before = pend.datetime(2013, 3, 31, 1, 59, 59, 999999, tz='Europe/Paris')\n    '2013-03-31T01:59:59.999999+01:00'\n    \u003e\u003e\u003e just_before.add(microseconds=1)\n    '2013-03-31T03:00:00+02:00'\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjrog612%2Fpend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjrog612%2Fpend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjrog612%2Fpend/lists"}