{"id":16878933,"url":"https://github.com/dabacon/pymore","last_synced_at":"2025-07-08T04:07:50.870Z","repository":{"id":62581848,"uuid":"338659239","full_name":"dabacon/pymore","owner":"dabacon","description":"Mo python, less problems. Helpers for python.","archived":false,"fork":false,"pushed_at":"2022-11-09T23:12:01.000Z","size":51,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T08:01:44.572Z","etag":null,"topics":["python-testing"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dabacon.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":"2021-02-13T20:04:27.000Z","updated_at":"2022-12-08T23:54:14.000Z","dependencies_parsed_at":"2023-01-23T10:01:14.601Z","dependency_job_id":null,"html_url":"https://github.com/dabacon/pymore","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dabacon%2Fpymore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dabacon%2Fpymore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dabacon%2Fpymore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dabacon%2Fpymore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dabacon","download_url":"https://codeload.github.com/dabacon/pymore/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247934805,"owners_count":21020723,"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":["python-testing"],"created_at":"2024-10-13T15:52:11.313Z","updated_at":"2025-04-11T11:41:10.663Z","avatar_url":"https://github.com/dabacon.png","language":"Python","readme":"# pymore\n\n`pymore` is a collection of useful utilities for Python.\n\n![Test all the code](https://github.com/dabacon/pymore/workflows/Continuous%20Integration/badge.svg)\n[![PyPI version](https://badge.fury.io/py/pymore.svg)](https://badge.fury.io/py/pymore)\n\nThis includes\n\n* EqualsTester: a helper for testing the equality contract in Python (originally developed\nfor [Cirq](https://github.com/quantumlib/cirq))\n\n```python\nimport pymore\n\ntester = pymore.EqualsTester()\n\n# This tests that the added elements all satisfy the equals contract\n# between themselves.\ntester.add_equality_group(MyObject(\"a\"), MyObject(\"a\"))\n\n# Each new addition of an equality group also tests that the elements\n# in this new group are not equal to those in the previously added group.\n# So, for example, this would raise an `AssertionError` if it was\n# true that `MyObject(\"a\")` was equal to `MyObject(\"b\")`.\ntester.add_equality_group(MyObject(\"b\"), MyObject(\"b\"))\n```\n\n* first: Return the first element that matches a predicate, or a default.\n\n```python\nimport pymore\n\nis_even = lambda x: x % 2 == 0\n# Returns the first element that is even.\nfirst = pymore.first([1, 3, 6, 7], is_even)\nassert first == 6\n```\n\n# License\n\nThis package is licensed under an Apache 2.0 license. This code is derived from work in\nother frameworks.  See [LICENSE](https://github.com/dabacon/pymore/blob/main/LICENSE)\nand [NOTICES](https://github.com/dabacon/pymore/blob/main/NOTICES) for details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdabacon%2Fpymore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdabacon%2Fpymore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdabacon%2Fpymore/lists"}