{ "info": { "author": "Guanglei Ding", "author_email": "dingguanglei.bupt@qq.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: Implementation", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Scientific/Engineering :: Visualization" ], "description": "![Jdit](https://raw.githubusercontent.com/dingguanglei/jdit/master/resources/logo.png)\n\n---\n\n[![](http://img.shields.io/travis/dingguanglei/jdit.svg)](https://github.com/dingguanglei/jdit)\n[![Documentation Status](https://readthedocs.org/projects/jdit/badge/?version=latest)](https://jdit.readthedocs.io/en/latest/?badge=latest)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/1a5aa0721e2f44ebb61b0b73627bbc90)](https://www.codacy.com/app/dingguanglei/jdit?utm_source=github.com&utm_medium=referral&utm_content=dingguanglei/jdit&utm_campaign=Badge_Grade)\n![Packagist](https://img.shields.io/hexpm/l/plug.svg)\n![pypi download](https://img.shields.io/pypi/dm/jdit.svg)\n\n**Jdit** is a research processing oriented framework based on pytorch.\nOnly care about your ideas. You don't need to build a long boring code\nto run a deep learning project to verify your ideas.\n\nYou only need to implement you ideas and don't do anything with training\nframework, multiply-gpus, checkpoint, process visualization, performance\nevaluation and so on.\n\nGuide: [https://dingguanglei.com/tag/jdit](https://dingguanglei.com/tag/jdit)\n\nDocs: [https://jdit.readthedocs.io/en/latest/index.html](https://jdit.readthedocs.io/en/latest/index.html)\n\nIf you have any problems, or you find bugs you can contact the author.\n\nE-mail: dingguanglei.bupt@qq.com\n\n## Install \nRequires:\n``` {.sourceCode .bash}\ntensorboard >= 1.14.0\npytorch >= 1.1.0\n``` \nInstall requirement.\n``` {.sourceCode .bash}\npip install -r requirements.txt\n```\n### From source\nThis method is recommended, because you can keep the newest version.\n1. Clone from github\n ``` {.sourceCode .bash}\n git clone https://github.com/dingguanglei/jdit\n ```\n\n2. Setup\n By using `setup.py` to install the package.\n ``` {.sourceCode .bash}\n python setup.py bdist_wheel\n ```\n\n3. Install\n You will find packages in `jdit/dist/`. Use pip to install.\n ``` {.sourceCode .bash}\n pip install dist/jdit-0.x.0-py3-none-any.whl\n ```\n\n### From pip\n``` {.sourceCode .bash}\npip install jdit\n```\n\n## Quick start\n\nAfter building and installing jdit package, you can make a new directory\nfor a quick test. Assuming that you get a new directory example. run\nthis code in ipython cmd.(Create a main.py file is also acceptable.)\n\n``` {.sourceCode .python}\nfrom jdit.trainer.instances.fashingClassification import start_fashingClassTrainer\nstart_fashingClassTrainer()\n```\nThe following is the accomplishment of ``start_fashingClassTrainer()``\n\n``` {.sourceCode .python}\n# coding=utf-8\nimport torch\nimport torch.nn as nn\nimport torch.nn.functional as F\nfrom jdit.trainer.classification import ClassificationTrainer\nfrom jdit import Model\nfrom jdit.optimizer import Optimizer\nfrom jdit.dataset import FashionMNIST\n\n# This is your model. Defined by torch.nn.Module\nclass SimpleModel(nn.Module):\n def __init__(self, depth=64, num_class=10):\n super(SimpleModel, self).__init__()\n self.num_class = num_class\n self.layer1 = nn.Conv2d(1, depth, 3, 1, 1)\n self.layer2 = nn.Conv2d(depth, depth * 2, 4, 2, 1)\n self.layer3 = nn.Conv2d(depth * 2, depth * 4, 4, 2, 1)\n self.layer4 = nn.Conv2d(depth * 4, depth * 8, 4, 2, 1)\n self.layer5 = nn.Conv2d(depth * 8, num_class, 4, 1, 0)\n\n def forward(self, input):\n out = F.relu(self.layer1(input))\n out = F.relu(self.layer2(out))\n out = F.relu(self.layer3(out))\n out = F.relu(self.layer4(out))\n out = self.layer5(out)\n out = out.view(-1, self.num_class)\n return out\n\n# A trainer, you need to rewrite the loss and valid function.\nclass FashingClassTrainer(ClassificationTrainer):\n def __init__(self, logdir, nepochs, gpu_ids, net, opt, datasets, num_class):\n super(FashingClassTrainer, self).__init__(logdir, nepochs, gpu_ids, net, opt, datasets, num_class)\n data, label = self.datasets.samples_train\n # plot samples of dataset in tensorboard.\n self.watcher.embedding(data, data, label, 1)\n\n def compute_loss(self):\n var_dic = {}\n var_dic[\"CEP\"] = loss = nn.CrossEntropyLoss()(self.output, self.labels.squeeze().long())\n\n _, predict = torch.max(self.output.detach(), 1) # 0100=>1 0010=>2\n total = predict.size(0) * 1.0\n labels = self.labels.squeeze().long()\n correct = predict.eq(labels).cpu().sum().float()\n acc = correct / total\n var_dic[\"ACC\"] = acc\n return loss, var_dic\n\n def compute_valid(self):\n var_dic = {}\n var_dic[\"CEP\"] = cep = nn.CrossEntropyLoss()(self.output, self.labels.squeeze().long())\n\n _, predict = torch.max(self.output.detach(), 1) # 0100=>1 0010=>2\n total = predict.size(0) * 1.0\n labels = self.labels.squeeze().long()\n correct = predict.eq(labels).cpu().sum().float()\n acc = correct / total\n var_dic[\"ACC\"] = acc\n return var_dic\n\n\ndef start_fashingClassTrainer(gpus=(), nepochs=10, run_type=\"train\"):\n num_class = 10\n depth = 32\n gpus = gpus\n batch_size = 64\n nepochs = nepochs\n logdir = \"log/fashion_classify\"\n opt_hpm = {\"optimizer\": \"Adam\",\n \"lr_decay\": 0.94,\n \"decay_position\": 10,\n \"decay_type\": \"epoch\",\n \"lr\": 1e-3,\n \"weight_decay\": 2e-5,\n \"betas\": (0.9, 0.99)}\n\n print('===> Build dataset')\n mnist = FashionMNIST(batch_size=batch_size)\n torch.backends.cudnn.benchmark = True\n print('===> Building model')\n net = Model(SimpleModel(depth=depth), gpu_ids_abs=gpus, init_method=\"kaiming\", check_point_pos=1)\n print('===> Building optimizer')\n opt = Optimizer(net.parameters(), **opt_hpm)\n print('===> Training')\n print(\"using `tensorboard --logdir=log` to see learning curves and net structure.\"\n \"training and valid_epoch data, configures info and checkpoint were save in `log` directory.\")\n Trainer = FashingClassTrainer(logdir, nepochs, gpus, net, opt, mnist, num_class)\n if run_type == \"train\":\n Trainer.train()\n elif run_type == \"debug\":\n Trainer.debug()\n\nif __name__ == '__main__':\n start_fashingClassTrainer()\n```\n\nThen you will see something like this as following.\n\n``` {.sourceCode .python}\n===> Build dataset\nuse 8 thread\nDownloading http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/train-images-idx3-ubyte.gz\nDownloading http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/train-labels-idx1-ubyte.gz\nDownloading http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/t10k-images-idx3-ubyte.gz\nDownloading http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/t10k-labels-idx1-ubyte.gz\nProcessing...\nDone\n===> Building model\nResNet Total number of parameters: 2776522\nResNet model use CPU\napply kaiming weight init\n===> Building optimizer\n===> Training\nusing `tensorboard --logdir=log` to see learning curves and net structure.\ntraining and valid_epoch data, configures info and checkpoint were save in `log` directory.\n 0%| | 0/10 [00:00=7.352.0)", "imageio" ], "requires_python": "", "summary": "Make it easy to do research on pytorch", "version": "0.1.2" }, "last_serial": 5658102, "releases": { "0.0.10": [ { "comment_text": "", "digests": { "md5": "003784ea725504a0b23dd81f01878eb2", "sha256": "fc7be26cf708662f1cd3628f73f1d8f47fb7a3f0805f2ee62491a8a7328c457c" }, "downloads": -1, "filename": "jdit-0.0.10-py3-none-any.whl", "has_sig": false, "md5_digest": "003784ea725504a0b23dd81f01878eb2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 53222, "upload_time": "2019-03-25T07:05:23", "url": "https://files.pythonhosted.org/packages/4e/0e/2174b2e4ae6be420f9a3f0510653b66843a810c2d6b29c8079865bab5093/jdit-0.0.10-py3-none-any.whl" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "f84fa8045c1a1bdfcb3702cc66ee8e2d", "sha256": "ada81b4e9fa55595d7c6a27921d1d6c88eb2b6ab3fb30591efa5f7ef73c2c75a" }, "downloads": -1, "filename": "jdit-0.0.11-py3-none-any.whl", "has_sig": false, "md5_digest": "f84fa8045c1a1bdfcb3702cc66ee8e2d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 60338, "upload_time": "2019-05-03T18:39:35", "url": "https://files.pythonhosted.org/packages/d7/af/bf76f8c71eb973b58ba95680225d69e62c1e7b0af7c504439d49fcfb01a6/jdit-0.0.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4710b307b37152111c7fae7541441303", "sha256": "9b2afb6b5587f0ccf47340d8f160d4d9c0f1440ffe5fa16db78bd247b9e8bad3" }, "downloads": -1, "filename": "jdit-0.0.11.win-amd64.zip", "has_sig": false, "md5_digest": "4710b307b37152111c7fae7541441303", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 144485, "upload_time": "2019-05-03T18:39:37", "url": "https://files.pythonhosted.org/packages/8f/81/a636575ab85ac88da67a7caec24383c3adc5d6950edb4a711a516aa1733c/jdit-0.0.11.win-amd64.zip" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "d0c816619eff0df26dd3511c17ce2353", "sha256": "777c0ac5c76b311b9f89550b3adb641bf53686015c5f0241f22e8c353297ad97" }, "downloads": -1, "filename": "jdit-0.0.12.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "d0c816619eff0df26dd3511c17ce2353", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95891, "upload_time": "2019-05-09T17:28:03", "url": "https://files.pythonhosted.org/packages/f3/ad/0f67e2d0a816569319b193edaee9396e7f25795eb756f61e4b4e28fc3978/jdit-0.0.12.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "60cf93dada70643de90edbcebb1d7aeb", "sha256": "db79beddd681eb4c94fe77cd6bd9924c73127aa99cf70ac2b434bf85604cf7ca" }, "downloads": -1, "filename": "jdit-0.0.12-py3-none-any.whl", "has_sig": false, "md5_digest": "60cf93dada70643de90edbcebb1d7aeb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 64479, "upload_time": "2019-05-09T17:28:02", "url": "https://files.pythonhosted.org/packages/fb/72/fc06cb833f17e5caacd11472d7cbefcab1a3d5698ef29d4c08401595d746/jdit-0.0.12-py3-none-any.whl" } ], "0.0.13": [ { "comment_text": "", "digests": { "md5": "6718e4a8aaaaaba89ac99e6a15d0dd1b", "sha256": "767ba3e27f239fc172c6c5589aac04cf65ebf08ba2c0569464d68380cd68c5ca" }, "downloads": -1, "filename": "jdit-0.0.13.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "6718e4a8aaaaaba89ac99e6a15d0dd1b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95858, "upload_time": "2019-05-22T01:35:06", "url": "https://files.pythonhosted.org/packages/9a/0e/38060ecd67cde559e63e434ced993cc1f1c5191cca11f765842bbbbad2e0/jdit-0.0.13.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "72773ebc842809599ef07319e93ef637", "sha256": "6c0f304a5f2fa9504998643e93def07e5960d7293501f345b876c1044209d170" }, "downloads": -1, "filename": "jdit-0.0.13-py3-none-any.whl", "has_sig": false, "md5_digest": "72773ebc842809599ef07319e93ef637", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 64474, "upload_time": "2019-05-22T01:35:04", "url": "https://files.pythonhosted.org/packages/57/b7/ef28ffcb10a1eef4ca372ba541152ea77d0c0d0149cd2403c7d4dfe0e44f/jdit-0.0.13-py3-none-any.whl" } ], "0.0.14": [ { "comment_text": "", "digests": { "md5": "b1c0b924c0b5484cc085944d8689e72b", "sha256": "5162f04adec7596edafc7a3e1b615943d06fef5b4ea3d35d745b465e39fcf9a3" }, "downloads": -1, "filename": "jdit-0.0.14.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "b1c0b924c0b5484cc085944d8689e72b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 100298, "upload_time": "2019-06-01T02:06:17", "url": "https://files.pythonhosted.org/packages/5b/d9/16651592d1da7f444046d3360cbc3ff1f5d101ef8fc37a3c120aab3d5419/jdit-0.0.14.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "f442cf69f912269ca013b732627a8609", "sha256": "373416353d3e6c9a93e8e369354974cd7e72c42dff0c978dda6ff01870e65e5d" }, "downloads": -1, "filename": "jdit-0.0.14-py3-none-any.whl", "has_sig": false, "md5_digest": "f442cf69f912269ca013b732627a8609", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 65963, "upload_time": "2019-06-01T02:06:15", "url": "https://files.pythonhosted.org/packages/1a/f6/dac9617785c9fea6f94aa663bac7898f1f2f03de2ee7f73eb741abccbaf4/jdit-0.0.14-py3-none-any.whl" } ], "0.0.15": [ { "comment_text": "", "digests": { "md5": "f3f4c16ad0dde14fca98a991809df994", "sha256": "08c055d36c2cfe997e1d13cf69c32c91080f424b96a88fcecf12278124dc270b" }, "downloads": -1, "filename": "jdit-0.0.15.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "f3f4c16ad0dde14fca98a991809df994", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 100259, "upload_time": "2019-06-01T02:37:40", "url": "https://files.pythonhosted.org/packages/d5/eb/7f01326bb8b139a48f93505bfd86bb17329bf257c0078fd04780a414847f/jdit-0.0.15.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "2264e11b204877a051827b8a7f5d1cf9", "sha256": "fc4798fd60887f89a49c5e46ea370415c55995ec90e48e238f7e32c966bf7570" }, "downloads": -1, "filename": "jdit-0.0.15-py3-none-any.whl", "has_sig": false, "md5_digest": "2264e11b204877a051827b8a7f5d1cf9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 65963, "upload_time": "2019-06-01T02:37:38", "url": "https://files.pythonhosted.org/packages/40/26/a1289d8d69543d04f5abf825cbe82e22a87bf0073c79474e1472fd135f35/jdit-0.0.15-py3-none-any.whl" } ], "0.0.18": [ { "comment_text": "", "digests": { "md5": "e4fc5dc3167ff01511231079ad065cbe", "sha256": "ae89849e70c43cfa7dabc95843a5b46bcd7e78f17e5e9406d8da6ee21ba5d09e" }, "downloads": -1, "filename": "jdit-0.0.18.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "e4fc5dc3167ff01511231079ad065cbe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95895, "upload_time": "2019-08-09T18:15:58", "url": "https://files.pythonhosted.org/packages/d6/76/84ef0e5abbeacbe8a5e26a446685ce0b5f9775acb9e25e552e9709f2d215/jdit-0.0.18.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "5bc822979486211c08b3ccd18987ee03", "sha256": "0abe6c7f660e0c11f0d886faf6610543d2f3f421b60163d8549d2a4534aab46a" }, "downloads": -1, "filename": "jdit-0.0.18-py3-none-any.whl", "has_sig": false, "md5_digest": "5bc822979486211c08b3ccd18987ee03", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 65645, "upload_time": "2019-08-09T18:15:57", "url": "https://files.pythonhosted.org/packages/e5/a8/88dae3fb8088f58485e28cbb4bf06e889f21bb3c1880cafbd41f69accc3c/jdit-0.0.18-py3-none-any.whl" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "7a46e266d4702979f6359bae5aa4d445", "sha256": "4dc78f7c811e10eea7c21e9980f03b8574cd99f8f2a3dd0a6fdc05418b772470" }, "downloads": -1, "filename": "jdit-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "7a46e266d4702979f6359bae5aa4d445", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 56813, "upload_time": "2018-12-26T01:18:13", "url": "https://files.pythonhosted.org/packages/b2/fa/a9d2e92ebf6b30b8761b882cf35cf1871c157ef32269c07741ce68c84f91/jdit-0.0.3-py3-none-any.whl" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "c23422496f5c3fbd4bdff4ac187ec3f0", "sha256": "3bf4355b484acf26f83f34def528109f04a8aeeeb4d815e0294638bf13158a46" }, "downloads": -1, "filename": "jdit-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "c23422496f5c3fbd4bdff4ac187ec3f0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 52799, "upload_time": "2018-12-27T01:00:02", "url": "https://files.pythonhosted.org/packages/9b/17/64cd438de5b786576c36ac478c5c9013ab2a7af6bfa5ac62d12b107f5e50/jdit-0.0.4-py3-none-any.whl" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "1f986d40cb14aa4d024e62cd49249c0d", "sha256": "14cc054eb91fcc494251a70e93086cd0b39f6e3828ba2c062301a9c1eadfdcf3" }, "downloads": -1, "filename": "jdit-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "1f986d40cb14aa4d024e62cd49249c0d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 52841, "upload_time": "2018-12-27T01:17:05", "url": "https://files.pythonhosted.org/packages/3a/f3/2cdbddc24132e1a57961520b7dcd5c75eab2c0ed9936e335adc4419cec69/jdit-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b85d39b4ec30a9f07e9b09199f0f522d", "sha256": "fdadc9ea55d38aba3cdb298a7f40d639beca8aacbdc616ade8e8dc16fe3af22a" }, "downloads": -1, "filename": "jdit-0.0.5.tar.gz", "has_sig": false, "md5_digest": "b85d39b4ec30a9f07e9b09199f0f522d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48928, "upload_time": "2018-12-27T01:17:07", "url": "https://files.pythonhosted.org/packages/37/66/d824d60c4da755b9d5d6f3d37f6689ab6c774df9ca171ef46137c3e71491/jdit-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "0aacf0bbfd42b05dde076dfe89d3b4f5", "sha256": "f9aadc1fb282f0c03e886c1819c2800ff3d8c06afe04d76dfca2c5e95bded5c2" }, "downloads": -1, "filename": "jdit-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "0aacf0bbfd42b05dde076dfe89d3b4f5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 52850, "upload_time": "2018-12-27T01:23:05", "url": "https://files.pythonhosted.org/packages/fb/97/9a979d46be4b0ecf7c0feefee058caa744dd459002e182629479747049f1/jdit-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3a6c134c0932f65f77edd52cd7afbfa4", "sha256": "6c1a454e9d2144548619c39e524c05e1f1614775005cd8492c1b07d60ef03985" }, "downloads": -1, "filename": "jdit-0.0.6.win-amd64.zip", "has_sig": false, "md5_digest": "3a6c134c0932f65f77edd52cd7afbfa4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 125824, "upload_time": "2018-12-27T01:23:07", "url": "https://files.pythonhosted.org/packages/52/00/333d7d98826b276797223abb2256261249714d88ca75325372a983ad5d56/jdit-0.0.6.win-amd64.zip" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "a92091b539d3a0085b82f798bf7fd587", "sha256": "8b1c1a2b345a5dba1907aa2f5a67f727698d6d0a7f0838001698d890f26ba048" }, "downloads": -1, "filename": "jdit-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "a92091b539d3a0085b82f798bf7fd587", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 52865, "upload_time": "2018-12-28T07:12:25", "url": "https://files.pythonhosted.org/packages/40/0f/0d00fd1222f341e92c0d3402fb42bdf73c6804db7e5d7b7761aba79fe330/jdit-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "75e93bda5df592483a6be959fc96ee0c", "sha256": "09531bc6e9c3fb49547acbbf77dd6c0663ae0ff4e3a0e77cadb70130164aa4d6" }, "downloads": -1, "filename": "jdit-0.0.7.win-amd64.zip", "has_sig": false, "md5_digest": "75e93bda5df592483a6be959fc96ee0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 125871, "upload_time": "2018-12-28T07:12:27", "url": "https://files.pythonhosted.org/packages/58/cf/9ee911f2ab6fafe98161a538fe3aaa5e7b80b382543b60d7d42b9516e79b/jdit-0.0.7.win-amd64.zip" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "351a2dfa8a626eed9b8b7554218259de", "sha256": "1bb7951b5d38b0b19f61c24b533aa6975d4b80b3d95b20df677ff89ce4b95276" }, "downloads": -1, "filename": "jdit-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "351a2dfa8a626eed9b8b7554218259de", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 57064, "upload_time": "2019-01-11T03:18:27", "url": "https://files.pythonhosted.org/packages/4b/fe/c079c7702549bb15f6268c3bce6526fa83493a7d3d8e5858a9a04b376f1d/jdit-0.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1a288705180cff8ea6f7d62de300a302", "sha256": "700c438f9210b8c0fb930cf7805dd7827a9f85e188bdaef9b041fb5906644ddf" }, "downloads": -1, "filename": "jdit-0.0.8.win-amd64.zip", "has_sig": false, "md5_digest": "1a288705180cff8ea6f7d62de300a302", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 124524, "upload_time": "2019-01-11T03:18:30", "url": "https://files.pythonhosted.org/packages/b1/f1/2c399584533e1aa0daf381d75cfd275fb663ba49e1e3e708778195045516/jdit-0.0.8.win-amd64.zip" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "466914fbc90383758304ffcfc777427f", "sha256": "da1f11bac93237105cd3fb7b1e15feed561e83132987881357732e4e8954c1c8" }, "downloads": -1, "filename": "jdit-0.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "466914fbc90383758304ffcfc777427f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 53099, "upload_time": "2019-02-21T07:40:23", "url": "https://files.pythonhosted.org/packages/8e/1c/1947dda410cc22063e624301208347c8287c99c79257fc73a52d482124fb/jdit-0.0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c508cd9c3ff5219bf6cc0ee6d8ef9948", "sha256": "b44c69d03cd541722522f41d045611668b10d22b90637071120db0b54d005ed6" }, "downloads": -1, "filename": "jdit-0.0.9.tar.gz", "has_sig": false, "md5_digest": "c508cd9c3ff5219bf6cc0ee6d8ef9948", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46939, "upload_time": "2019-02-21T07:40:25", "url": "https://files.pythonhosted.org/packages/70/a5/7b7897c5dab18ca539302c4391f2f96f553385d4f137855749ce1b06dee3/jdit-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "b16e0f7a0897adb815877ac06ed65ee9", "sha256": "6f631e4289efdc965d9bc77311dd1894fb4849a1d761f095827f07960e38dce0" }, "downloads": -1, "filename": "jdit-0.1.0.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "b16e0f7a0897adb815877ac06ed65ee9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95879, "upload_time": "2019-08-09T21:52:52", "url": "https://files.pythonhosted.org/packages/e4/b9/84d300e8e17fb9f788d50dfcacf83e553b3737f075cfa095431a43ee4eee/jdit-0.1.0.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "3f232d52bbb7fb2c977eac3659acf734", "sha256": "ad46ab8448016fdb7d455bbcb04b31e4b5dfac797f0042a0af91736dd0ee519c" }, "downloads": -1, "filename": "jdit-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3f232d52bbb7fb2c977eac3659acf734", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 65601, "upload_time": "2019-08-09T21:52:51", "url": "https://files.pythonhosted.org/packages/a1/9e/3577ee4b8398cf5f1f3608be20f295e82f43378a38375f3a4b569318ced3/jdit-0.1.0-py3-none-any.whl" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "48ea4bee50f393d9c46ac94070d43a7e", "sha256": "2db27fb1fcf4422331aa76b4b2a45cea076317d187f05c26d8542808945ed35f" }, "downloads": -1, "filename": "jdit-0.1.1.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "48ea4bee50f393d9c46ac94070d43a7e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 96072, "upload_time": "2019-08-09T22:43:35", "url": "https://files.pythonhosted.org/packages/59/db/5a6bd32d3f3ff16a1c24c402881827c60fce747e8ccd081313947d066aef/jdit-0.1.1.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "c407e28a0fff6222a20d1bb95a990795", "sha256": "be0b64bca5a8db9b57c82ab386256b69a20c68952980990433e0b7ae349c369c" }, "downloads": -1, "filename": "jdit-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c407e28a0fff6222a20d1bb95a990795", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 65744, "upload_time": "2019-08-09T22:43:34", "url": "https://files.pythonhosted.org/packages/2e/0f/2890852f5cc8868ccaac4dbe3b3f2a39a518224dc48e16fc4d95bb3a4abf/jdit-0.1.1-py3-none-any.whl" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "b75343b76b58ea5e13d6dcea00ecbdd5", "sha256": "ce42eaa70d5280e61266ba9c13f9a07c5f7307783b37d6037326d81fc95d6b22" }, "downloads": -1, "filename": "jdit-0.1.2.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "b75343b76b58ea5e13d6dcea00ecbdd5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 96130, "upload_time": "2019-08-09T23:18:19", "url": "https://files.pythonhosted.org/packages/3d/c1/6da6282831477da957f8a066875ed21e72a5ca6b96a9d1258e66cdef0ac2/jdit-0.1.2.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "b2e6523d3b816526d5ca04ef2946750a", "sha256": "e813575ee7a72b2b8f63e09aa6ae205011a842ca669c424454733006959d2066" }, "downloads": -1, "filename": "jdit-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b2e6523d3b816526d5ca04ef2946750a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 65752, "upload_time": "2019-08-09T23:18:17", "url": "https://files.pythonhosted.org/packages/01/52/4039973b65ddffe8070e58304d21f9ef2c92f2f8071df8ff72fe379a8ab8/jdit-0.1.2-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b75343b76b58ea5e13d6dcea00ecbdd5", "sha256": "ce42eaa70d5280e61266ba9c13f9a07c5f7307783b37d6037326d81fc95d6b22" }, "downloads": -1, "filename": "jdit-0.1.2.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "b75343b76b58ea5e13d6dcea00ecbdd5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 96130, "upload_time": "2019-08-09T23:18:19", "url": "https://files.pythonhosted.org/packages/3d/c1/6da6282831477da957f8a066875ed21e72a5ca6b96a9d1258e66cdef0ac2/jdit-0.1.2.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "b2e6523d3b816526d5ca04ef2946750a", "sha256": "e813575ee7a72b2b8f63e09aa6ae205011a842ca669c424454733006959d2066" }, "downloads": -1, "filename": "jdit-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b2e6523d3b816526d5ca04ef2946750a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 65752, "upload_time": "2019-08-09T23:18:17", "url": "https://files.pythonhosted.org/packages/01/52/4039973b65ddffe8070e58304d21f9ef2c92f2f8071df8ff72fe379a8ab8/jdit-0.1.2-py3-none-any.whl" } ] }