![](https://github.com/rcfgroup/clinicle/workflows/main/badge.svg) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4890383.svg)](https://doi.org/10.5281/zenodo.4890383)
# Headfake
## What is Headfake?
**Hea**lth **d**ata **fake**r is a Python-based package which allows the user to use a declarative approach to create fake or test data sets.
using either Python code, or a YAML or JSON-based template file.
The package can be embedded directly into Python scripts, or it can be used through a command-line script.
It takes ideas from other declarative packages (e.g. pydbgen), but also adds support for a number of additional features
including statistically distributed random values; dependent fields and custom fields as well as approaches for
transforming generated fields before/after the generation process.
## How do I install and use Headfake?
To get started quickly, you can use pip to install it:
```bash
pip install headfake
```
Then test it out using one of the example YAML templates:
```bash
headfake examples/patients.yaml --no-rows=100
```
You should get 100 rows of generated data.
For further information on using Headfake head over to [Tutorials](https://rcfgroup.github.io/headfake/tutorials/tutorial1) or the [Usage](https://rcfgroup.github.io/headfake/usage) page.
## Why would I use Headfake?
Headfake makes it simple and straightforward to generate fake or test data. It has a number of features which make this easier:
* Support for shareable template-based config or direct Python implementation to setup and perform the data generation.
* Embeddable data generation into projects (either using a YAML or JSON config or using Python data structures/classes).
* Generation of names and contact details through use of the Python package Faker.
* Randomised names can be output based on a gender field.
* More realistic simulated data uses statistical distributions to create date of birth and also probability-based option values. Other approaches to simulate real data are also being investigated.
* Clinical data supported includes random NHS numbers and deceased flags/date of death based on age-based odds of death.
* Dependent fields (e.g. one field's values are dependent on the values from one or more)
* Operation fields (e.g. combine generated values using specific operations such as add or subtract)
* Field data can be looked up from another file using a key field, allowing re-use of patient details in a different field set.
* A selection of fields to handle generation of different types of data.
* Ability to create and use custom fields to generate your own data types and values
* Support for transformers which pre or post-process data once it's been generated
## Is Headfake being actively maintained?
Yes, we are using Headfake is our own projects and as result are keep it maintained and adding new features when we need them.
## Is Headfake suitable for my project?
The library has been released under an MIT license so can be embedded into your own tools with minimal restrictions on use.
## If I use Headfake to generate data in my research project which source should I cite?
We are working on a journal paper, for now please cite the [Zenodo record](https://doi.org/10.5281/zenodo.4890383).
## Where can I get more information?
The documentation for the package can be found on the [documentation site](https://rcfgroup.github.io/headfake)
Raw data
{
"_id": null,
"home_page": "https://github.com/rcfgroup/headfake",
"name": "headfake",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "fake, data, generation, faker, pydbgen",
"author": "Rob Free",
"author_email": "rcfree@pm.me",
"download_url": "https://files.pythonhosted.org/packages/ef/13/6058cba54b0ea81e769496ae557c5f93ef817853c0a97b4ad10d1392aeb5/headfake-1.1.1.tar.gz",
"platform": null,
"description": "![](https://github.com/rcfgroup/clinicle/workflows/main/badge.svg) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4890383.svg)](https://doi.org/10.5281/zenodo.4890383)\n# Headfake\n\n## What is Headfake?\n**Hea**lth **d**ata **fake**r is a Python-based package which allows the user to use a declarative approach to create fake or test data sets.\nusing either Python code, or a YAML or JSON-based template file.\n\nThe package can be embedded directly into Python scripts, or it can be used through a command-line script.\n\nIt takes ideas from other declarative packages (e.g. pydbgen), but also adds support for a number of additional features\nincluding statistically distributed random values; dependent fields and custom fields as well as approaches for\ntransforming generated fields before/after the generation process.\n\n## How do I install and use Headfake?\nTo get started quickly, you can use pip to install it:\n```bash\npip install headfake\n```\n\nThen test it out using one of the example YAML templates:\n```bash\nheadfake examples/patients.yaml --no-rows=100\n```\n\nYou should get 100 rows of generated data.\n\nFor further information on using Headfake head over to [Tutorials](https://rcfgroup.github.io/headfake/tutorials/tutorial1) or the [Usage](https://rcfgroup.github.io/headfake/usage) page.\n\n## Why would I use Headfake?\nHeadfake makes it simple and straightforward to generate fake or test data. It has a number of features which make this easier:\n\n* Support for shareable template-based config or direct Python implementation to setup and perform the data generation.\n\n* Embeddable data generation into projects (either using a YAML or JSON config or using Python data structures/classes).\n\n* Generation of names and contact details through use of the Python package Faker.\n\n* Randomised names can be output based on a gender field.\n\n* More realistic simulated data uses statistical distributions to create date of birth and also probability-based option values. Other approaches to simulate real data are also being investigated.\n\n* Clinical data supported includes random NHS numbers and deceased flags/date of death based on age-based odds of death.\n\n* Dependent fields (e.g. one field's values are dependent on the values from one or more)\n\n* Operation fields (e.g. combine generated values using specific operations such as add or subtract)\n\n* Field data can be looked up from another file using a key field, allowing re-use of patient details in a different field set.\n\n* A selection of fields to handle generation of different types of data.\n\n* Ability to create and use custom fields to generate your own data types and values\n\n* Support for transformers which pre or post-process data once it's been generated\n\n\n## Is Headfake being actively maintained?\nYes, we are using Headfake is our own projects and as result are keep it maintained and adding new features when we need them.\n\n## Is Headfake suitable for my project?\nThe library has been released under an MIT license so can be embedded into your own tools with minimal restrictions on use.\n\n## If I use Headfake to generate data in my research project which source should I cite?\nWe are working on a journal paper, for now please cite the [Zenodo record](https://doi.org/10.5281/zenodo.4890383).\n\n## Where can I get more information?\nThe documentation for the package can be found on the [documentation site](https://rcfgroup.github.io/headfake)\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Health data faker",
"version": "1.1.1",
"project_urls": {
"Homepage": "https://github.com/rcfgroup/headfake"
},
"split_keywords": [
"fake",
" data",
" generation",
" faker",
" pydbgen"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "bed24a0a85757292c92d72544f7b951c12c589f8b24d7daab7aea1f24799ca92",
"md5": "3b095a173dc91c22a0b4fd662847ce8f",
"sha256": "868e51007853d43def82cc6ed5e069fc004d8973ab16d5d26245673b69fd5822"
},
"downloads": -1,
"filename": "headfake-1.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3b095a173dc91c22a0b4fd662847ce8f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 47607,
"upload_time": "2024-08-23T13:30:50",
"upload_time_iso_8601": "2024-08-23T13:30:50.680005Z",
"url": "https://files.pythonhosted.org/packages/be/d2/4a0a85757292c92d72544f7b951c12c589f8b24d7daab7aea1f24799ca92/headfake-1.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ef136058cba54b0ea81e769496ae557c5f93ef817853c0a97b4ad10d1392aeb5",
"md5": "426a53862b198d8d7592cdb34037f661",
"sha256": "30884b29d880187fd7bfe8447f5b46167f7c7d406ba27a2c40cbf5478c4e77f1"
},
"downloads": -1,
"filename": "headfake-1.1.1.tar.gz",
"has_sig": false,
"md5_digest": "426a53862b198d8d7592cdb34037f661",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 56476,
"upload_time": "2024-08-23T13:30:51",
"upload_time_iso_8601": "2024-08-23T13:30:51.981466Z",
"url": "https://files.pythonhosted.org/packages/ef/13/6058cba54b0ea81e769496ae557c5f93ef817853c0a97b4ad10d1392aeb5/headfake-1.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-23 13:30:51",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rcfgroup",
"github_project": "headfake",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "headfake"
}