{ "info": { "author": "Chris Moffitt", "author_email": "chris@moffitts.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License (GPL)", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Build Tools" ], "description": "What is Barnum?\n===============\n\nBarnum is a python-based application for quickly and easily creating\npseudo-random data typically used for application testing.\n\nWhy did you create Barnum?\n==========================\n\nI am developing a shopping cart application in Django and realized that I\nneeded a bunch of data to simulate the store's behavior under somewhat normal\nproduction usage.\n\nI got tired of always trying to think of names and addresses for customers and\nso decided to automate the process a little bit. Such was born Barnum.\n\nThis looks kind of old, what's the deal?\n========================================\n\nI created this in 2007 and hosted it on Google Code. After a while I forgot\nabout it. The code sat in obscurity until I received an email from Google\nabout the eventually closing of Google Code. I decided I would migrate it\nto github to see if it is useful to anyone else.\n\nWhy is Barnum unique?\n=====================\n\nI was able to find some online systems for generating large amounts of test\ndata. I could not find any application that had the breadth of data generation\ncapabilities nor the ability to easily interface with Django in the way I\nwanted to.\n\nOne of the most unique aspects of Barnum is that the data is what I'll call\n\"plausible.\" For example, here's an example \"identity\" randomly generated\nfrom Barnum:\n\n Sid Seymour\n 10 Kimbrough Grove Drive\n Arthur ND, 58006\n (701)642-6471\n\n Who works at:\n Network Hardware Co as a Personnel Clerk Senior\n\nYou should notice a couple of things about this data.\n - There's a realistic first and last name\n - The street names are also plausible\n - Arthur, ND is a real city and the zip code is 58006\n - 701 is an area code used for North Dakota\n - The fictional company is somewhat reasonable.\n - The job position also makes sense.\n\nWhy not just use Random to create strings of letters?\n=====================================================\n\nWell, I find that when testing applications, if it's just a random string\nof numbers of letters, it gets hard to tell if something is out of place\nor \"looks wrong.\" If you'd like to just generate totally random information,\nthen you probably don't need Barnum!\n\nWhat other alternatives are there?\n==================================\n\nI originally created this in 2007 and it sat idle for a while. In that\ntime there have been some other python solutions.\n\nI think `fake factory `_ is one of\nthe best out there and provides a lot more options than barnum.\n\nHowever, Barnum still has some unique aspects, specifically having some\n\"intelligence\" as to how the data is related and the flexibility you have\nto easily customize the data by adding or subtracting to the data in the\n**source-data** directory.\n\n\nWhat type of information does Barnum generate?\n==============================================\n\nHere's a list of types of dummy data Barnum can create:\n - First name and/or last name in either gender\n - Job title\n - Phone number\n - Street number and name\n - Zip code plus city & state\n - Company name\n - Credit card number and type (with valid checksum)\n - Dates\n - Email addresses\n - Sample password\n - Words (latin)\n - Sentences and/or paragraphs of random latin words\n\nWhat version of python do I need?\n=================================\nBarnum should work on python 2.7.x and python 3.x\n\nHow do I install it?\n====================\n\npip install barnum\n\nHow do I use it?\n================\nThere has been a change in the most recent version of barnum to make the\ncode more pythonic.\n\nThe recommended method is to import barnum and call the functions from your\nown script.\n\nIf you'd like to call it from another script, here's an example or two from the\ninterpreter::\n\n Python 3.5.1 |Continuum Analytics, Inc.| (default, Dec 7 2015, 11:16:01)\n [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux\n Type \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n >>> import barnum\n >>> barnum.create_name()\n ('Isabel', 'Madigan')\n >>> barnum.create_name()\n ('Jesica', 'Loveless')\n >>> barnum.create_city_state_zip()\n ('54666', 'Warrens', 'WI')\n >>> barnum.create_city_state_zip()\n ('55113', 'Saint Paul', 'MN')\n >>> barnum.create_phone()\n '(716)248-1703'\n >>> barnum.create_phone()\n '(603)502-8450'\n >>> barnum.create_phone('38138')\n '(615)564-2637'\n >>> barnum.create_sentence()\n 'In lobortis ut te at et feugiat ipsum vel ex feugiat eros.'\n >>> barnum.create_sentence()\n 'In erat hendrerit at odio eu tincidunt exerci.'\n >>> barnum.create_cc_number()\n ('mastercard', ['5231056277792200'])\n >>> barnum.create_cc_number()\n ('visa', ['4929064950922570'])\n >>> barnum.create_nouns()\n 'place blue'\n >>> barnum.create_nouns()\n 'Steven clarinet'\n >>> barnum.create_date()\n datetime.datetime(2024, 2, 4, 9, 51, 38, 971944)\n >>> barnum.create_date(past=True)\n datetime.datetime(2006, 9, 23, 9, 51, 46, 927690)\n >>> barnum.create_email()\n 'Dalton.Segal@luptatumdelenitaugue.org'\n >>> barnum.create_pw()\n 'naPTg67M'\n\n\nYou can see that it should be trivial to incorporate this data into any python script.\nThe possibilities of creating CSV's, raw SQL, Python Objects, etc are practically\nendless!\n\nWhere does the data come from?\n==============================\n\nI pulled sample data and existing scripts from a bunch of different sources. It looks like a lot\nof the sources are now dead links.\n\n - The names are from 1990 US Census data\n - The street names are from real us streets in a few locales.\n - Company names are randomly generated by me.\n - Job Titles were taken from another census site that I can't seem to find now.\n - Zip Codes from another dead site.\n - Random latin text came from http://www.4guysfromrolla.com/webtech/052800-1.shtml\n - Credit Card generator is from Graham King - http://www.darkcoding.net/index.php/credit-card-numbers/\n - Password generator is from Pradeep Kishore Gowda via the Python Cookbook\n\nHow can I add more data?\n========================\n\nIf all you'd like to do is add some more seed data to an existing source, edit the appropriate\nfile in the source-data directory and execute the convert_data.py script to create a new\npickle file.\n\nHow can I contribute?\n=====================\n\nI've moved the code to github to make it easier for others to contribute. Feel\nfree to send pull requests or submit tickets.\n\nWhy is this so US focused?\n==========================\n\nI needed info for the US only. I had access to this data and knew what I wanted. If you\nwould like to add other countries or info, feel free to contribute!\n\n\nCan this be used for evil?\n==========================\n\nUmmm. Probably not. All of the data is random. The credit card numbers conform to the\nLuhn 10 checksum formula but are not necessarily valid numbers. Even if they were, you would\nneed to know the real name, address and phone number before you could do anything illegal\nwith the data. I think we're all pretty safe.\n\nWhere did this name come from?\n==============================\n\nChoosing names for projects is kind of fun but kind of a hassle. There needs to be a name\nbut it can't be anything too stupid. I started off thinking of an acronym and ended up with\nPT (\"Python Testing\") and immediately thought of P.T. Barnum. I really liked the name\nbecause I was using this for Satchmo and project made in Django. Single word names seemed\ncool. Also, I like the fact that P.T. Barnum was really a master at making people think\nsomething was real that wasn't. Which is exactly what this little script does.\n\n\nWhy is it licensed under the GPL?\n=================================\n\nI use a couple of other python scripts that were licensed under the GPL. So, I figured it\nwas best to just release under the GPL. If you would like another license arrangement,\nlet me know and I'll see if there's something we can do.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/chris1610/barnum-proj", "keywords": "data", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "barnum", "package_url": "https://pypi.org/project/barnum/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/barnum/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/chris1610/barnum-proj" }, "release_url": "https://pypi.org/project/barnum/0.5.1/", "requires_dist": null, "requires_python": null, "summary": "Create random data for your applications", "version": "0.5.1" }, "last_serial": 1954606, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "b599b2267d2df37ddb8908fdf323d712", "sha256": "2944f96edc7da2560bc10dd70d34c9ef1d1e5fe1425c815954b8150491a1fad4" }, "downloads": -1, "filename": "barnum-0.1.tar.gz", "has_sig": false, "md5_digest": "b599b2267d2df37ddb8908fdf323d712", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1709663, "upload_time": "2015-03-28T19:56:02", "url": "https://files.pythonhosted.org/packages/0f/02/2451761c6fade131ce5860815d3c07fc353f5f603a9b683518a06c751197/barnum-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "529eb75e1d2f3b0d86d26a0b52359fb3", "sha256": "19916bb6d929874bf1893367c5130c512c1c80f7df9f95bedcd1e8827da41fd9" }, "downloads": -1, "filename": "barnum-0.2.tar.gz", "has_sig": false, "md5_digest": "529eb75e1d2f3b0d86d26a0b52359fb3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1709663, "upload_time": "2015-03-28T20:10:59", "url": "https://files.pythonhosted.org/packages/d9/e0/1d823f57eae8a966f6fbf4e28f26734b610cb1fe24b944b698cd219bde44/barnum-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "1a83d434c719bc853e2c196d2c24aa2e", "sha256": "89ef5af1ae8a18ce32433b24656f9d6092560a342ae2fdf5fb91b4aa00dfad01" }, "downloads": -1, "filename": "barnum-0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1a83d434c719bc853e2c196d2c24aa2e", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 1727647, "upload_time": "2015-11-06T02:20:18", "url": "https://files.pythonhosted.org/packages/31/8d/382115b77e0d618e8ce3b25df6edf536fe80502890734d5b606dde0ab797/barnum-0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01801b8b7f926b0008db19ea8a1c0f71", "sha256": "871ad520983726a498f87870fff96d2ef8c94dc292d7b5b360ea34e1b45f902c" }, "downloads": -1, "filename": "barnum-0.3.tar.gz", "has_sig": false, "md5_digest": "01801b8b7f926b0008db19ea8a1c0f71", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1709693, "upload_time": "2015-11-06T02:20:08", "url": "https://files.pythonhosted.org/packages/9b/e8/19885d49df7fcbd83eab8df39fc2d6a0a8c983600aa397f07c548f4dfabb/barnum-0.3.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "11dfa019e903f925919a3380ee121cdc", "sha256": "1db1af72729d2cfd2171eea65248e34b867d07af08d3028ab6814517cec3fa08" }, "downloads": -1, "filename": "barnum-0.5.tar.gz", "has_sig": false, "md5_digest": "11dfa019e903f925919a3380ee121cdc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1709950, "upload_time": "2016-02-13T16:24:50", "url": "https://files.pythonhosted.org/packages/e9/22/beec4f859ce1f736e58490f4445228e0275a3269d7c391949fe1db3bd206/barnum-0.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "f2ee7f30fc3c6dac3ab52d6d813ea875", "sha256": "9fe2bb59cdd4f2a4d65a2b5d0a8f12766e85a71c487c0a41125dd212719b8c74" }, "downloads": -1, "filename": "barnum-0.5.1.tar.gz", "has_sig": false, "md5_digest": "f2ee7f30fc3c6dac3ab52d6d813ea875", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1709981, "upload_time": "2016-02-13T16:48:08", "url": "https://files.pythonhosted.org/packages/94/88/33b0e61868dfeae433663cf0b1a259c405f7e666d8c5440f864d8fbf85dd/barnum-0.5.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f2ee7f30fc3c6dac3ab52d6d813ea875", "sha256": "9fe2bb59cdd4f2a4d65a2b5d0a8f12766e85a71c487c0a41125dd212719b8c74" }, "downloads": -1, "filename": "barnum-0.5.1.tar.gz", "has_sig": false, "md5_digest": "f2ee7f30fc3c6dac3ab52d6d813ea875", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1709981, "upload_time": "2016-02-13T16:48:08", "url": "https://files.pythonhosted.org/packages/94/88/33b0e61868dfeae433663cf0b1a259c405f7e666d8c5440f864d8fbf85dd/barnum-0.5.1.tar.gz" } ] }