{ "info": { "author": "Thomas V. Wiecki, Imri Sofer", "author_email": "thomas.wiecki@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "************\nIntroduction\n************\n\n:Author: Thomas Wiecki, Imri Sofer\n:Contact: thomas_wiecki@brown.edu, imri_sofer@brown.edu\n:Web site: http://github.com/hddm-dev/kabuki\n:Copyright: This document has been placed in the public domain.\n:License: Simplified BSD (see LICENSE)\n:Version: 0.6.1\n\nPurpose\n=======\n\nKabuki is a Python library intended to make hierarchical PyMC models\nreusable, portable and more flexible. Once a model has been formulated\nin kabuki it is trivial to apply it to new datasets in various\nways. Currently, it is geared towards hierarchical Bayesian models\nthat are common in the cognitive sciences but it might be easily\nadapted to other domains.\n\nIn essence, kabuki allows easy creation of model-factories. After\nspecifiyng the model structure, models tailored to new data sets and\nnew configurations can be instantiated easily.\n\nTo see it in action, check out HDDM_ which uses kabuki for the heavy\nlifting. Especially the How-to_ should give a comprehensive overview\nof kabuki's features.\n\nFeatures\n========\n\n* Easy model specification: It is quite trivial to convert an existing\n PyMC model to kabuki.\n* Models are classes: The resulting kabuki model is one class with\n methods for setting the nodes to their MAP, sampling from the\n posterior, saving and loading models, plotting output statistics\n etc.\n* Easy interface: New model variations can be constructed and\n estimated automatically either.\n* Statistical analysis: Automatically create nicely formatted summary\n output statistics, posterior plots and run posterior predictive checks.\n* Data generation: By providing a function to generate data from your\n model given paramters you can create new, simulated data sets with\n multiple groups and multiple conditions (e.g. for testing parameter\n recovery).\n* Batteries included: Over time we will add more standard models to\n kabuki such as a model to perform Bayesian ANOVA or regression\n analysis.\n\nMotivation\n==========\n\nHierarchical Bayesian models are gaining popularity in many scientific\ndisciplines such as cognitive and health sciences, but also\neconomics. While quite a few useful models have been developed\n(e.g. hierarchical Bayesian regression, hierarchical estimation of\ndrift-diffusion parameters) in the literature, often with reference\nimplementations in WinBUGS (and sometimes PyMC), applying them to new\ndata sets requires changing the model code to your specific needs.\n\nIf you build your model in kabuki, using it on a new data set with\ndifferent conditions and different structure will come for free. All a\nuser has to do is instantiate the model class and kabuki will\nautomatically create a new PyMC model tailored to the data in a\nuser-specified way.\n\nUsage\n=====\n\nSince kabuki builds on top of PyMC you have to know the basic model\ncreation process there. Check out the `PyMC documentation`_ first if\nyou are not familiar.\n\nTo create your own model you have to inherit from the\n`kabuki.Hierarchical` base class which provides all of the\nfunctionality. Instead of directly instantiating PyMC nodes you have\nto wrap them in a kabuki.Knode object. This provides the information\nof how to create PyMC nodes once the model is instantiated.\n\nExample model\n-------------\n\nHere is a very simple example model where we assume that multiple\nsubjects provided normal distributed data and we want to infer the\nmean of each subject but also assume that subject means themselves are\ndistributed according to a normal group distribution for which we\nwant to estimate the mean and variance:\n\n::\n\n from kabuki import Hierarchical, Knode\n import pymc\n\n class MyModel(Hierarchical):\n # We have to overload the create_knodes() method. It is\n # expected to return a list of knodes.\n def create_knodes(self):\n\n\t mu_g = Knode(pymc.Uniform, 'mu_g', lower=-5, upper=5, depends=self.depends['mu'])\n\n mu_subj = Knode(pymc.Normal, 'mu_subj', mu=mu_g, tau=1, depends=('subj_idx',), subj=True)\n\n like = Knode(pymc.Normal, 'like', mu=mu_subj, tau=1, col_name='data', observed=True)\n\n return [mu_g, mu_subj, like]\n\nOK, what's going on here?\n\nCreation of group mu node\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\nThe first line of create_knodes() creates the group mean knode.\n\n* The first argument is the pymc distribution of the parameter.\n\n* The second argument is the name you want to give to this knode\n 'lower' and 'upper' in this case are keyword arguments that get\n passed to PyMC during node creation.\n\n* The `depends` keyword argument means that seperate PyMC nodes can be\n created for user-supplied conditions (this will become clear later).\n\n* `self.depends` is a user-supplied dictionary that maps a parameter\n name to a column in the data specifying the different\n conditions. Kabuki will then create different group mean nodes\n depending on the conditions found in this data column.\n\nCreation of subject node\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\nIn the second line we create the subject knode with `mu` being\ndistributed according to the parent distribution we just created.\nLinking the hierarchical structure works in the same way as with PyMC\nnodes, however, note that here we pass in our newly create Knode to `mu`.\n\nNote moreover that while we say that this node depends on the data\ncolumn 'subj_idx' (this column is supposed to have all the subject\nindices), we don't have to specify again that this child node also\ndepends on the user-specified column. Kabuki knows that since the\nparent (mu_group) depends on a user-defined column name, the child\n(mu_subj) also has to depend on the same conditions in the data.\n\nThe subj keyword specifies that this is a subject knode (this is\nrequired for internal purposes).\n\nCreation of observed node\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\nFinally, we have to create the likelihood or observed node. The only\ndifference to before is the observed=True keyword and col_name which\nspecifies on which data column the likelihood depends on. As we will\nsee later, kabuki will parcel the data column appropriately so that\neach subject observed node is linked to the data belonging to that\nsubject (and that condition).\n\nRunning the example model\n-------------------------\n\nAfter we specified our model in this way we can construct new models\nvery easily. Say we had an experiment where we tested each subject on\ntwo conditions, 'low' and 'high', and we suspect that this will result\nin different means of their normal distributed responses.\n\nAn example data file in csv might looks this:\n\n::\n\n subj_idx, data, condition\n 1, 0.3, 'low'\n 1, -0.25,'low'\n 1, 1.3, 'high'\n 1, 0.5.1.dev, 'high'\n [...]\n 24, 0.8, 'low'\n 24, 0.1, 'high'\n\nHere is how you would create a model tailored around this data set,\nset the parameters to their MAP, sample and print some output statistics:\n\n::\n\n data = kabuki.load_csv('data.csv')\n # create the model. depends_on tells it that the parameter\n # 'mu' (this links to depends=self.depends['mu'] we specified above\n # when we created the group knode) depends on the data column\n # 'condition'\n model = MyModel(data, depends_on={'mu': 'condition})\n\n model.map()\n model.sample(5000, burn=1000)\n\n # Print the stats to the console\n model.print_stats()\n # Plot posterior distributions\n model.plot_posteriors()\n # Plot the posterior predictive on top of the subject data\n model.plot_posterior_predictive()\n\nConclusion\n----------\n\nThe resulting model will have 2 group-mean distributions ('mu_low' and\n'mu_high', one for each condition), 2 subject-mean distributions per\nsubject (so 48 in total, assuming we had 24 subjects, which are linked\nto their appropriate group-mean) and 2 likelihoods (i.e. observeds)\nper subject which are linked to the appropriate subject's data.\n\nAs you can see, kabuki takes care of creating multiple nodes where\nappropriate (i.e. for different conditions), provides meaningful names\nand parcels the data so that the likelihoods are linked correctly.\n\nThere are many more features for more complex models and advanced\ndiagnostics (like posterior predictive checks).\n\n.. _PyMC documentation: http://pymc-devs.github.com/pymc/\n.. _HDDM: https://github.com/hddm-devs/hddm/\n.. _How-to: http://ski.clps.brown.edu/hddm_docs/howto.html\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/hddm-devs/kabuki", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "kabuki", "package_url": "https://pypi.org/project/kabuki/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/kabuki/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/hddm-devs/kabuki" }, "release_url": "https://pypi.org/project/kabuki/0.6.2/", "requires_dist": null, "requires_python": null, "summary": "kabuki is a python toolbox that allows easy creation of hierarchical bayesian models for the cognitive sciences.", "version": "0.6.2" }, "last_serial": 2640462, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "bcdfc1fea1a3dfa8aaea374b1de2d69f", "sha256": "01408b8081e584e536a22768b740383a21b85efaf42c476a79d0d0565ce6c9f1" }, "downloads": -1, "filename": "kabuki-0.1.1.tar.gz", "has_sig": false, "md5_digest": "bcdfc1fea1a3dfa8aaea374b1de2d69f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15681, "upload_time": "2011-07-20T00:32:44", "url": "https://files.pythonhosted.org/packages/dd/c9/c8a903e0b521f7417ed91dcffd40d43146b584914a4bd3554e3294b35022/kabuki-0.1.1.tar.gz" }, { "comment_text": "", "digests": { "md5": "50d86bd232350b2d314a3f5cbf540046", "sha256": "aa218c0a45a5349ee0d2f24221bb014d3377b8dc834df495ef45d29e3505ba02" }, "downloads": -1, "filename": "kabuki-0.1.1.win32.exe", "has_sig": false, "md5_digest": "50d86bd232350b2d314a3f5cbf540046", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 209991, "upload_time": "2011-07-20T15:36:13", "url": "https://files.pythonhosted.org/packages/2f/90/e4ef9e87d0c0ef743ba7cac7c77f7d13d0eba8c512f60016fb33afe90ff2/kabuki-0.1.1.win32.exe" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "c9aa55f1c195943d11ce5b7c79fc7e85", "sha256": "fc7ad895764b091237fa870a211ea53b8ada4f178791c1e958c255de61aabcc5" }, "downloads": -1, "filename": "kabuki-0.2.tar.gz", "has_sig": false, "md5_digest": "c9aa55f1c195943d11ce5b7c79fc7e85", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31917, "upload_time": "2012-03-12T21:23:02", "url": "https://files.pythonhosted.org/packages/70/8f/7285df91d8da04373091fab8dede428bbe6c6bd10d20604c234debd96b9a/kabuki-0.2.tar.gz" } ], "0.2RC1": [ { "comment_text": "", "digests": { "md5": "6e8901e32f7dc48b4f2f30453e86dbdf", "sha256": "574bf8d3d529a0d9483c4d8c453402366350109ef5935d7e8d50969f70669642" }, "downloads": -1, "filename": "kabuki-0.2RC1.tar.gz", "has_sig": false, "md5_digest": "6e8901e32f7dc48b4f2f30453e86dbdf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23438, "upload_time": "2012-03-07T20:39:25", "url": "https://files.pythonhosted.org/packages/2c/d1/4d89cd7ed01b5022025845aeafa1022407ad59d959da9652e71465eff897/kabuki-0.2RC1.tar.gz" } ], "0.2RC2": [ { "comment_text": "built for Darwin-10.8.0", "digests": { "md5": "e2a891a067207c334d3ab9d5a937c178", "sha256": "c6863a554003d4f3e5c77827c09e2cb848a53bd52624612120e01d92f839d7f2" }, "downloads": -1, "filename": "kabuki-0.2RC2.macosx-10.5-x86_64.tar.gz", "has_sig": false, "md5_digest": "e2a891a067207c334d3ab9d5a937c178", "packagetype": "bdist_dumb", "python_version": "any", "requires_python": null, "size": 51643, "upload_time": "2012-03-11T03:31:34", "url": "https://files.pythonhosted.org/packages/5a/fc/6112e6a23da59e1a226e422fb3f3468636f39ef2b41660ba9dc4f0584210/kabuki-0.2RC2.macosx-10.5-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "218e64669a2bc6e240fae8e71811921a", "sha256": "2b94af340486bb0a1d8c7adb614576b660125d1239b5657f2cd72958e7800366" }, "downloads": -1, "filename": "kabuki-0.2RC2.tar.gz", "has_sig": false, "md5_digest": "218e64669a2bc6e240fae8e71811921a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32382, "upload_time": "2012-03-08T19:36:57", "url": "https://files.pythonhosted.org/packages/0e/b8/6879d98f454a3d9a05058a44a3f64ba319e923dba46c49435bb61c96ae97/kabuki-0.2RC2.tar.gz" } ], "0.2RC3": [ { "comment_text": "", "digests": { "md5": "8a4f9e122bb617257f84d5fc2040e630", "sha256": "bf586c844d432d7863ca9187a3db1a37889ecc0bbd28e541454c6ca9d997443b" }, "downloads": -1, "filename": "kabuki-0.2RC3.tar.gz", "has_sig": false, "md5_digest": "8a4f9e122bb617257f84d5fc2040e630", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31988, "upload_time": "2012-03-08T20:46:57", "url": "https://files.pythonhosted.org/packages/87/b8/8576f1a554ad2616da50e3c8bd4001f60f298a08e8c14cfaa25f20b37fd4/kabuki-0.2RC3.tar.gz" } ], "0.2RC4": [ { "comment_text": "", "digests": { "md5": "9bffc9e749d4ef956f48d948d74dfad3", "sha256": "2d1a556e1e4b69a186ba163aed466071763b6d765c397d82d9faac12443bd524" }, "downloads": -1, "filename": "kabuki-0.2RC4.tar.gz", "has_sig": false, "md5_digest": "9bffc9e749d4ef956f48d948d74dfad3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31995, "upload_time": "2012-03-10T15:30:31", "url": "https://files.pythonhosted.org/packages/e7/ef/a915050b6ddd5fab2739956b4df4db644cd51724d55b2baa3284dc89de23/kabuki-0.2RC4.tar.gz" } ], "0.2a": [ { "comment_text": "built for Darwin-10.8.0", "digests": { "md5": "7f557e0a34658a74650e9dc15d1c373b", "sha256": "998a24ff808a338184978f9fc80bba42db74ee0730cffef3a7d38af7fe415774" }, "downloads": -1, "filename": "kabuki-0.2a.macosx-10.5-x86_64.tar.gz", "has_sig": false, "md5_digest": "7f557e0a34658a74650e9dc15d1c373b", "packagetype": "bdist_dumb", "python_version": "any", "requires_python": null, "size": 48543, "upload_time": "2012-03-08T15:00:46", "url": "https://files.pythonhosted.org/packages/11/dd/a64ff0c44430fda5da16a65ba642ffb47e84f8425d5be6e5d079e31a0d69/kabuki-0.2a.macosx-10.5-x86_64.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "d0ac869f04e4155c0a197006eb490305", "sha256": "dc41793442d911b8daa62ac8843a5a3566457154319536b9954e03928c911d60" }, "downloads": -1, "filename": "kabuki-0.3.tar.gz", "has_sig": false, "md5_digest": "d0ac869f04e4155c0a197006eb490305", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37376, "upload_time": "2012-09-06T20:46:15", "url": "https://files.pythonhosted.org/packages/c6/99/65feea2b8ea320dac3fe86fbd37227dda9f60817bdf76f093f46bc0e7c35/kabuki-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "5cb6b949725f0c2bcdb46970cada4759", "sha256": "cd6f03ea5eb19012d9a54eaa429e26f3fbd5c215ec126c7d25842aae517bbab5" }, "downloads": -1, "filename": "kabuki-0.3.1.tar.gz", "has_sig": false, "md5_digest": "5cb6b949725f0c2bcdb46970cada4759", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37490, "upload_time": "2012-09-07T18:31:23", "url": "https://files.pythonhosted.org/packages/b7/c2/fc649039b1ec46be4009219dda979ce0dedbafaddcc183513b3dff700e13/kabuki-0.3.1.tar.gz" } ], "0.3RC1": [ { "comment_text": "", "digests": { "md5": "4c09b96f47305b97a0564fb06cbd104e", "sha256": "a74e8d3a968a1e93f18d612a802ad4ae75eb594802a478ee2658612d01db3c80" }, "downloads": -1, "filename": "kabuki-0.3RC1.tar.gz", "has_sig": false, "md5_digest": "4c09b96f47305b97a0564fb06cbd104e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42488, "upload_time": "2012-08-24T13:19:18", "url": "https://files.pythonhosted.org/packages/cd/dd/09d6cb1a59838b8bb1192d71a43571c713834964b1ef99b0ff3ea26268d5/kabuki-0.3RC1.tar.gz" } ], "0.3RC2": [ { "comment_text": "", "digests": { "md5": "a67fc9479f92450792cc85d8932c131f", "sha256": "d87796ac6f3fe86ac5d507061db50e4d6077d5bc82c6e9859b50f5d6e59fbefc" }, "downloads": -1, "filename": "kabuki-0.3RC2.tar.gz", "has_sig": false, "md5_digest": "a67fc9479f92450792cc85d8932c131f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42494, "upload_time": "2012-09-02T23:47:36", "url": "https://files.pythonhosted.org/packages/26/43/5793689208c60f184be94a4294bca081a74727305fa302cf07efedb1b773/kabuki-0.3RC2.tar.gz" } ], "0.3RC3": [ { "comment_text": "", "digests": { "md5": "8d6a5bfc7291b1a8a3f1d9bf8b3ace65", "sha256": "5c1dd027e6f8c2c4925a24b05735d6232c38008624cee0aeeeb62fa8c9b56686" }, "downloads": -1, "filename": "kabuki-0.3RC3.tar.gz", "has_sig": false, "md5_digest": "8d6a5bfc7291b1a8a3f1d9bf8b3ace65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42204, "upload_time": "2012-09-05T12:20:10", "url": "https://files.pythonhosted.org/packages/42/e0/1e1abd211b5f1a787e1671453c821cbcda8129201fd7575a616e81a05c04/kabuki-0.3RC3.tar.gz" } ], "0.3RC4": [ { "comment_text": "", "digests": { "md5": "3544262d6b9fdb6c95f0b7d447b50b35", "sha256": "5e78bb549409dfa0a64c13bbe64df56b3cdea5bf4da9ffddacb9a0242dc2e561" }, "downloads": -1, "filename": "kabuki-0.3RC4.tar.gz", "has_sig": false, "md5_digest": "3544262d6b9fdb6c95f0b7d447b50b35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42190, "upload_time": "2012-09-06T16:33:16", "url": "https://files.pythonhosted.org/packages/c5/4b/0468665703364950033c9cdc5cce742e39f073d6e60099ffb0d8b4d75965/kabuki-0.3RC4.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "7b149de262a7b45ac690500d50c87211", "sha256": "4eb56314069a0bb23689327efb58032654eae5200d7c2b6d745475fcfba514ed" }, "downloads": -1, "filename": "kabuki-0.4.tar.gz", "has_sig": false, "md5_digest": "7b149de262a7b45ac690500d50c87211", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43314, "upload_time": "2012-11-26T15:00:23", "url": "https://files.pythonhosted.org/packages/46/c5/e27f6fb89bd48bc839b34c44defd1bbccffe938b4dbcefff7fc2a97c7062/kabuki-0.4.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "677b553598cec2ca7cdbb570f5af5598", "sha256": "b7a102724833672f34960c3204d349ac51c1ccd66ab8ffb637ada6f2bd12e1ef" }, "downloads": -1, "filename": "kabuki-0.4.1.tar.gz", "has_sig": false, "md5_digest": "677b553598cec2ca7cdbb570f5af5598", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43830, "upload_time": "2012-12-06T02:35:35", "url": "https://files.pythonhosted.org/packages/ce/ed/b15d682d6284ae345a5853d017e1ef142c1df88ad7ccaa5afb312fce1fbe/kabuki-0.4.1.tar.gz" } ], "0.4RC1": [ { "comment_text": "", "digests": { "md5": "f8f43f3b81fc91f974626e987013f876", "sha256": "bcaa4687d549dc97fa8133be0696ef6310926200c4aeb9ff99e0d5ade194f8f8" }, "downloads": -1, "filename": "kabuki-0.4RC1.tar.gz", "has_sig": false, "md5_digest": "f8f43f3b81fc91f974626e987013f876", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39256, "upload_time": "2012-10-30T13:49:13", "url": "https://files.pythonhosted.org/packages/50/5d/4b175e2e02a1746e05c4787e60c3fb36395031f65effebe8addf11096e39/kabuki-0.4RC1.tar.gz" } ], "0.4RC2": [ { "comment_text": "", "digests": { "md5": "2157cfe81c9fb509233b63315bbc0f54", "sha256": "0fb8c46fec21e5b8c8447f7f51d8a1f827994f9a914047f6bebd754b7b8e47fc" }, "downloads": -1, "filename": "kabuki-0.4RC2.tar.gz", "has_sig": false, "md5_digest": "2157cfe81c9fb509233b63315bbc0f54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36381, "upload_time": "2012-11-17T21:41:34", "url": "https://files.pythonhosted.org/packages/64/a5/17509c5316de8098ac23bd7e9571741bed6e773d778af55ed49adb515616/kabuki-0.4RC2.tar.gz" } ], "0.4RC3": [ { "comment_text": "", "digests": { "md5": "1289b883427d2c913dad6874c12a5f52", "sha256": "7341e6c8e3d211c5ade8c46c0faf45ae3c097ace70e44425038a1809d45e9f7d" }, "downloads": -1, "filename": "kabuki-0.4RC3.tar.gz", "has_sig": false, "md5_digest": "1289b883427d2c913dad6874c12a5f52", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36385, "upload_time": "2012-11-20T14:17:23", "url": "https://files.pythonhosted.org/packages/64/f5/588ce9fc1e59a5b7d385796065cb8c01958a012825b8c7759fbcc213f38b/kabuki-0.4RC3.tar.gz" } ], "0.4RC4": [ { "comment_text": "", "digests": { "md5": "af9c7ed63a641a1836ba0a8b41fa6c36", "sha256": "1a1c3a6519fb3c598e02e828931918d15d98d210cca86417ca4e3b1c6754c64d" }, "downloads": -1, "filename": "kabuki-0.4RC4.tar.gz", "has_sig": false, "md5_digest": "af9c7ed63a641a1836ba0a8b41fa6c36", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43331, "upload_time": "2012-11-23T23:17:46", "url": "https://files.pythonhosted.org/packages/fb/a1/098be0e85fd873d44c456b3d1f0d80483e659d75b433423a01c355a3ab04/kabuki-0.4RC4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "d4201826c01d44abb8a369af1715ccae", "sha256": "c06b39ec1e36271ae6b916ddac03bb0ae82ad5613c8d3bf86e0ea36ff8a72370" }, "downloads": -1, "filename": "kabuki-0.5.tar.gz", "has_sig": false, "md5_digest": "d4201826c01d44abb8a369af1715ccae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41181, "upload_time": "2013-04-20T22:44:57", "url": "https://files.pythonhosted.org/packages/21/ef/6bf41dccc931d553689c84f5e639e5b70725aad03dcc67d81b0480452faf/kabuki-0.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "ea90b0b2f48ee6934048c02a39dec8b2", "sha256": "36103c8e9ff40e7bcbd4559e42b8301fbbf14f3f89db96fc2f292015862dac41" }, "downloads": -1, "filename": "kabuki-0.5.1.tar.gz", "has_sig": false, "md5_digest": "ea90b0b2f48ee6934048c02a39dec8b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41184, "upload_time": "2013-05-21T15:07:56", "url": "https://files.pythonhosted.org/packages/cc/da/4306952f088570643d6c16eb72128ce1be015e8cdb57bab983978d5a4786/kabuki-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "4414948bd3e8c80503d549ef293ecb5f", "sha256": "567c8604c8d56fa471e6fbc684652b1be46bf1c83a45728a6d7a0c96fe4f9ab9" }, "downloads": -1, "filename": "kabuki-0.5.2.tar.gz", "has_sig": false, "md5_digest": "4414948bd3e8c80503d549ef293ecb5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43527, "upload_time": "2013-11-12T15:07:20", "url": "https://files.pythonhosted.org/packages/51/00/2f5bb2c2189eb05b9a534c3914a345446b8281f24ca7d3a8a57040240e0a/kabuki-0.5.2.tar.gz" } ], "0.5.2.beta": [ { "comment_text": "", "digests": { "md5": "854c9286689a112c48c642104fff82a1", "sha256": "6f415b8b05f5db27b6c350884ab856ac538de6459c7bd4a2775e630086339467" }, "downloads": -1, "filename": "kabuki-0.5.2.beta.tar.gz", "has_sig": false, "md5_digest": "854c9286689a112c48c642104fff82a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38773, "upload_time": "2013-09-17T11:24:15", "url": "https://files.pythonhosted.org/packages/3c/66/732f53f7c868d3e6db4d6057f3c504aefecbaea71effbf3c7546e05f8475/kabuki-0.5.2.beta.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "88601fe8e4981273aaf73b6dc2d7f9d5", "sha256": "5f7885f38447dfaadc3c595d34ddc4778594d686ea17f65b907d4911b378b183" }, "downloads": -1, "filename": "kabuki-0.5.3.tar.gz", "has_sig": false, "md5_digest": "88601fe8e4981273aaf73b6dc2d7f9d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44667, "upload_time": "2014-02-14T15:45:04", "url": "https://files.pythonhosted.org/packages/75/0d/7b264269bab7848f6341179698cb37f1889dc0aee6cefefe8815b2230f02/kabuki-0.5.3.tar.gz" } ], "0.5.4": [ { "comment_text": "", "digests": { "md5": "31e044218c83de6bbb46628e0dbcdcfc", "sha256": "f7c38ec2800320ba5eedc8e30e7d54d392c20ed1f5a3d22f1ea1cad97b5df536" }, "downloads": -1, "filename": "kabuki-0.5.4.tar.gz", "has_sig": false, "md5_digest": "31e044218c83de6bbb46628e0dbcdcfc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44698, "upload_time": "2014-03-26T01:51:12", "url": "https://files.pythonhosted.org/packages/23/de/c6d40ff511c1a89ef7cda9fd572f06639a8f60795893636f3ad094475aeb/kabuki-0.5.4.tar.gz" } ], "0.5.5": [ { "comment_text": "", "digests": { "md5": "144e1bdd8789cab22c5fa06faa2da28e", "sha256": "ebb2680057c3c60efbb981a0ff46a6dd6287524ec26291316a2c380c989789ef" }, "downloads": -1, "filename": "kabuki-0.5.5.tar.gz", "has_sig": false, "md5_digest": "144e1bdd8789cab22c5fa06faa2da28e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44689, "upload_time": "2014-08-06T08:09:59", "url": "https://files.pythonhosted.org/packages/2a/0e/a26f13971008230f638743aa8ee90f54b43086655e961a8a9739d3324452/kabuki-0.5.5.tar.gz" } ], "0.5beta": [ { "comment_text": "", "digests": { "md5": "c025132b9165e66e90cb1d05b78802b9", "sha256": "e120f3107a4bc0a598542d91413e26cb35f2e0fb9c8659c1b8cfcf0fbb6dadfc" }, "downloads": -1, "filename": "kabuki-0.5beta.tar.gz", "has_sig": false, "md5_digest": "c025132b9165e66e90cb1d05b78802b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41079, "upload_time": "2013-04-12T11:47:42", "url": "https://files.pythonhosted.org/packages/e0/78/3fb95c55ada3f8552e7810f0e4fd2d76a572c195db36f69f276676eb92b9/kabuki-0.5beta.tar.gz" } ], "0.6.0": [], "0.6.1": [ { "comment_text": "", "digests": { "md5": "bb4ff01ed1d14e28b47bf8b020375604", "sha256": "fc610663569779dabdce170f1a0e53147347b930cd9c83ce745880f6f1663a87" }, "downloads": -1, "filename": "kabuki-0.6.1.tar.gz", "has_sig": false, "md5_digest": "bb4ff01ed1d14e28b47bf8b020375604", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44925, "upload_time": "2015-12-04T10:51:56", "url": "https://files.pythonhosted.org/packages/de/73/18e3880ee2d0125522fbf9a527e733fcb299de462a5e9faa03cc5eb23d2c/kabuki-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "9033c373ddc52980c5cae6b2aaa219f3", "sha256": "3d5e727529b323b3f12ec583c05702e863e7d4b1f31a7ba6077058115eb066b1" }, "downloads": -1, "filename": "kabuki-0.6.2.tar.gz", "has_sig": false, "md5_digest": "9033c373ddc52980c5cae6b2aaa219f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44792, "upload_time": "2017-02-14T08:39:10", "url": "https://files.pythonhosted.org/packages/fd/70/66b7733e54ece4f4c602517cf9f3f3c0df7395d7697a8d83d727d2b73271/kabuki-0.6.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9033c373ddc52980c5cae6b2aaa219f3", "sha256": "3d5e727529b323b3f12ec583c05702e863e7d4b1f31a7ba6077058115eb066b1" }, "downloads": -1, "filename": "kabuki-0.6.2.tar.gz", "has_sig": false, "md5_digest": "9033c373ddc52980c5cae6b2aaa219f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44792, "upload_time": "2017-02-14T08:39:10", "url": "https://files.pythonhosted.org/packages/fd/70/66b7733e54ece4f4c602517cf9f3f3c0df7395d7697a8d83d727d2b73271/kabuki-0.6.2.tar.gz" } ] }