{"id":18405770,"url":"https://github.com/pybites-open-source/pybites-faker","last_synced_at":"2025-04-07T08:32:11.950Z","repository":{"id":86406817,"uuid":"369769695","full_name":"PyBites-Open-Source/pybites-faker","owner":"PyBites-Open-Source","description":"A package to get fake PyBites data","archived":false,"fork":false,"pushed_at":"2021-05-25T07:43:38.000Z","size":48,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-22T15:12:13.543Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"","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/PyBites-Open-Source.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-22T09:39:50.000Z","updated_at":"2024-10-03T14:28:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"d9ac94af-3970-4fcf-bbfd-4d88851a5111","html_url":"https://github.com/PyBites-Open-Source/pybites-faker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyBites-Open-Source%2Fpybites-faker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyBites-Open-Source%2Fpybites-faker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyBites-Open-Source%2Fpybites-faker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyBites-Open-Source%2Fpybites-faker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyBites-Open-Source","download_url":"https://codeload.github.com/PyBites-Open-Source/pybites-faker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247620273,"owners_count":20968175,"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":["hacktoberfest"],"created_at":"2024-11-06T03:04:42.689Z","updated_at":"2025-04-07T08:32:11.942Z","avatar_url":"https://github.com/PyBites-Open-Source.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"PyBites Faker\n=============\n\nThis package is an extension of the awesome `Faker package \u003chttps://faker.readthedocs.io/en/stable/index.html\u003e`_. It brings together a bunch of PyBites objects that can be randomly chosen.\n\nWe started with our Bites and articles, but we can add more objects based on our content or personal preferences (think music for example).\n\nSetup\n-----\n\nThe package is not yet on PyPI, so you can play with it doing the following::\n\n    $ git clone git@github.com:bbelderbos/pybites-faker.git\n    $ cd pybites-faker\n    $ poetry install\n    $ poetry run python\n    \u003e\u003e\u003e from faker import Faker\n    \u003e\u003e\u003e from pybites_faker import PyBitesProvider\n    \u003e\u003e\u003e fake = Faker()\n    \u003e\u003e\u003e fake.add_provider(PyBitesProvider)\n    \u003e\u003e\u003e fake.bite()\n    Bite(number=157, title='Filter out accented characters', level='Intermediate')\n    \u003e\u003e\u003e fake.pybites_birthday()\n    datetime.date(2019, 12, 19)\n    \u003e\u003e\u003e fake.pybites_cofounder()\n    'Julian'\n    \u003e\u003e\u003e fake.pybites_tag()\n    ['requests']\n    \u003e\u003e\u003e fake.pybites_tag(n=3)\n    ['flask', 'machine learning', 'opencv']\n    ...\n\nWe cache the data in a pickle file which is stored in `/tmp` by default. To store this file somewhere else set the `PYBITES_FAKER_DIR` environment variable, for example::\n\n    $ export PYBITES_FAKER_DIR=$HOME/Downloads/pybites-faker\n\nIf the `pybites-faker` directory does not exist it creates it (not recursively though).\n\nSome more functionality (continuation previous REPL session)::\n\n    \u003e\u003e\u003e fake.article()\n    Article(author='PyBites', title='Code Challenge 64 - PyCon ES 2019 Marvel Challenge', tags=['code challenge', 'challenges', 'data analysis', 'pycon', 'Marvel', 'data visualization', 'story telling', 'hacktoberfest'])\n    \u003e\u003e\u003e art = fake.article()\n    \u003e\u003e\u003e art.author\n    'PyBites'\n    \u003e\u003e\u003e art.title\n    'Twitter digest 2017 week 27'\n    \u003e\u003e\u003e art.tags[:5]\n    ['twitter', 'news', 'tips', 'python', 'pybites']\n    \u003e\u003e\u003e fake.article(title=\"pandas\")\n    Article(author='Bob', title='Next Time I Will Use Pandas to Parse Html Tables', tags=['BeautifulSoup', 'regex', 'Pandas', 'parsing', 'data', 'data cleaning', 'energy', 'json', 'csv', 'html'])\n    \u003e\u003e\u003e fake.bite(level=\"advanced\")\n    Bite(number=160, title='15-way Rock Paper Scissors', level='Advanced')\n\nExceptions\n----------\n\nIf you filter on the wrong keyword arguments you get a `ValueError`::\n\n    \u003e\u003e\u003e fake.bite(foo='bar')\n    Traceback (most recent call last):\n    File \"\u003cstdin\u003e\", line 1, in \u003cmodule\u003e\n    File \"/Users/bbelderbos/code/pybites-faker/pybites_faker/provider.py\", line 43, in bite\n        return self.get_one(\"bites\", **kwargs)\n    File \"/Users/bbelderbos/code/pybites-faker/pybites_faker/provider.py\", line 25, in get_one\n        raise ValueError(\n    ValueError: One or more invalid kw args: {'foo': 'bar'}, valid filters are: ('number', 'title', 'level')\n\nSame for article::\n\n    \u003e\u003e\u003e fake.article(foo='bar')\n    Traceback (most recent call last):\n    File \"\u003cstdin\u003e\", line 1, in \u003cmodule\u003e\n    File \"/Users/bbelderbos/code/pybites-faker/pybites_faker/provider.py\", line 64, in article\n        return self.get_one(\"articles\", **kwargs)\n    File \"/Users/bbelderbos/code/pybites-faker/pybites_faker/provider.py\", line 25, in get_one\n        raise ValueError(\n    ValueError: One or more invalid kw args: {'foo': 'bar'}, valid filters are: ('author', 'title', 'tags')\n\nIf you specify wrong filer criteria it raises a `NoDataForCriteria` exception::\n\n    \u003e\u003e\u003e fake.bite(level=\"expert\")\n    Traceback (most recent call last):\n    File \"\u003cstdin\u003e\", line 1, in \u003cmodule\u003e\n    File \"/Users/bbelderbos/code/pybites-faker/pybites_faker/provider.py\", line 43, in bite\n        return self.get_one(\"bites\", **kwargs)\n    File \"/Users/bbelderbos/code/pybites-faker/pybites_faker/provider.py\", line 36, in get_one\n        raise NoDataForCriteria(\n    pybites_faker.exceptions.NoDataForCriteria: No results for filter criteria: {'level': 'expert'}\n\n\nTests\n-----\n\nYou can run the tests with::\n\n    poetry run tox\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpybites-open-source%2Fpybites-faker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpybites-open-source%2Fpybites-faker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpybites-open-source%2Fpybites-faker/lists"}