{ "info": { "author": "Petrochenko Pavel", "author_email": "petrochenko.pavel.a@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "\n# You have just found Musket\n\n![Build status](https://api.travis-ci.com/musket-ml/musket_core.svg?branch=master)\n\nMusket is a family of high-level frameworks written in Python and capable of running on top of [Keras](https://keras.io/).\n\nIt was developed with a focus of enabling to make fast and simply-declared experiments, which can be easily stored, reproduced and compared to each other.\n\nUse Musket if you need a deep learning framework that:\n\n* Allows to describe experiments in a compact and expressive way\n* Provides a way to store and compare experiments in order to methodically find the best deap learning solution\n* Easy to share experiments and their results to work in a team\n* Provides IDE and visual tooling to make experimentation faster\n\nThere are some videos to check [here](https://www.youtube.com/playlist?list=PLyV40LHl22j5VOv2DgHoNDkpxkfueIQmn).\n\nHere is the [Framework Documentation](https://musket-ml.github.io/webdocs/).\n\nMain framework website: [musket-ml.com](https://musket-ml.com/)\n\n# Goals and principles\n\n### Compactness and declarative description\n\nDeclarative description is always more compact and human-readable\nthan imperative description.\n\nAll experiments are declared in YAML dialect with lots of defaults, allowing to describe an initial experiment in several lines and then set more details if needed.\n\nThis is a simple classification experiment, and half of these instructions can be actually omitted:\n\n```yaml\n#%Musket Classification 1.0\narchitecture: Xception\nclasses: 101\nactivation: softmax\nweights: imagenet\nshape: [512, 512, 4]\noptimizer: Adam\nbatch: 8\nlr: 0.001\nprimary_metric: val_macro_f1\nprimary_metric_mode: max\ndataset:\n combinations_train: []\n```\n\n### Reproducibility and ease of sharing\n\nAs each experiment is simply a folder with YAML file inside, it is easy to store and run experiment.\n\nPutting YAML files into git or sharing them in other way provides other team members with an easy way to reproduce the same experiments locally.\nAnyone can check your experiments, and add their own to the storage as the storage is simply a folder.\n\n### Established way to store and compare results\n\nMusket is lazy by its nature. Each experiment starts with a simple YAML description. There may be many stages in training and prediction, starting with calculating datasets, preprocessing and finishing with inferring and calculating statistics, but for each stage Musket saves results in the sub-folders of experiment folder.\n\nWhen the experiment is launched, Musket checks, which result files are already in place and only runs what is needed. It is up to team members, what to share: pure YAML desciptions, YAML and final metrics (to compare experiment effectiveness), or also, potentially more heavy intermediate results so other team members can run experiments faster locally.\n\nIt is easy to compare two experiments with each other by running any text compare tooling, experiments are just YAML text:\n\n![YAML comparison](https://musket-ml.github.io/webdocs/images/compare.png)\n\nAs all experiment statistics is also saved as files, it is easy to compare experiment results and find the best ones by the same text files comparison tooling.\n\nIDE helps here, too, by adding results visualisation tooling.\n\n### Flexibility and extensibility\n\nDeclarative approach is good and compact, but sometimes we want to define some custom functionality.\n\nMusket supports lots of custom substances: dataset definitions, preprocessors, custom network layers, visualizers etc etc.\n\nMost of the time to define a custom thing, it is enough to put a python file into a top-level folder and define a function with an appropriate annotation, like this:\n\n```python\n@preprocessing.dataset_preprocessor\ndef splitInput(input, parts:int):\n result = np.array_split(input,parts,axis=0)\n return result\n```\n\nor this:\n\n```python\n@dataset_visualizer\ndef visualize(val:PredictionItem):\n cache_path=context().path\n path = cache_path + \"/\" + str(val.id) + \".png\"\n if os.path.exists(path):\n return path\n ma = val.x/128 - preprocessors.moving_average(val.x/128, 8000)\n std = np.std(ma)\n\n ma[np.where(np.abs(ma) - 2 * std < 0)] = 0\n v = ma\n fig, axs = plt.subplots(1, 1, constrained_layout=True, figsize=(15, 10))\n\n v[:, 0] += 1\n v[:, 2] -= 1\n\n plt.ylim(-2, 2)\n axs.plot(v[:, 0], label='Phase 0')\n axs.plot(v[:, 1], label='Phase 1')\n axs.plot(v[:, 2], label='Phase 2')\n axs.legend()\n if sum(val.y) > 0:\n axs.set_title('bad wire:' + str(val.id))\n\n plt.savefig(path)\n else:\n axs.set_title('normal wire:' + str(val.id))\n plt.savefig(path)\n try: \n plt.close()\n except:\n pass \n return path\n\n```\n\n# Pipelines and IDE\n\nMusket is family of frameworks, not a single framework for a reason.\n\nThere is a core part, a pipeline called [Generic Pipeline](https://musket-ml.github.io/webdocs/generic/), which is quite universal and can handle any type of tasks.\n\nBesides it, there are also specialized pipelines with YAML domain syntax better suited for a particular task like\n[Segmentation Pipeline](https://musket-ml.github.io/webdocs/segmentation/) or [Classification Pipeline](https://musket-ml.github.io/webdocs/classification/). Such specialized frameworks has reduced flexibility, but more rapid prototyping and a whole set of useful built-ins.\n\nAll of those pipelines are supported by musket IDE, which simplifies experiment running and result analysis.\n\n![Architecture](https://musket-ml.github.io/webdocs/images/architecture.png)\n\n## [Generic pipeline](https://musket-ml.github.io/webdocs/generic/)\n\n[Generic pipeline](https://musket-ml.github.io/webdocs/generic/) has the most universal YAML-based domain-specific syntax of all pipelines.\nIts main feature is an ability to define custom neural networks in a declarative manner by declaring blocks basing on built-in blocks, and then referring custom blocks from other custom blocks.\n\nThere is also a rich set of declarative instructions that control dataflow inside the network.\nMost elements like datasets, preprocessors, network blocks, loss functions, metrics etc can be customly defined in python code and later reused from YAML.\n\n\n```yaml\nimports: [ layers, preprocessors ]\ndeclarations:\n collapseConv:\n parameters: [ filters,size, pool]\n body:\n - conv1d: [filters,size,relu ]\n - conv1d: [filters,size,relu ]\n - batchNormalization: {}\n - collapse: pool\n net:\n #- gaussianNoise: 0.0001\n - repeat(2):\n - collapseConv: [ 20, 7, 10 ]\n\n - cudnnlstm: [40, true ]\n - cudnnlstm: [40, true ]\n - attention: 718\n - dense: [3, sigmoid]\n preprocess:\n - rescale: 10\n - get_delta_from_average\n - cache\npreprocessing: preprocess\ntestSplit: 0.4\narchitecture: net\noptimizer: Adam #Adam optimizer is a good default choice\nbatch: 12 #Our batch size will be 16\nmetrics: #We would like to track some metrics\n - binary_accuracy\n - matthews_correlation\nprimary_metric: val_binary_accuracy #and the most interesting metric is val_binary_accuracy\ncallbacks: #Let's configure some minimal callbacks\n EarlyStopping:\n patience: 100\n monitor: val_binary_accuracy\n verbose: 1\n ReduceLROnPlateau:\n patience: 8\n factor: 0.5\n monitor: val_binary_accuracy\n mode: auto\n cooldown: 5\n verbose: 1\nloss: binary_crossentropy #We use simple binary_crossentropy loss\nstages:\n - epochs: 100 #Let's go for 100 epochs\n - epochs: 100 #Let's go for 100 epochs\n - epochs: 100 #Let's go for 100 epochs\n```\n## [Segmentation Pipeline](https://musket-ml.github.io/webdocs/segmentation/) \n\n[Segmentation Pipeline](https://musket-ml.github.io/webdocs/segmentation/) has a lot of common parts with [Generic pipeline](https://musket-ml.github.io/webdocs/generic/), but it is much easier to define an architecture of the network, just name it:\n\n```yaml\nbackbone: mobilenetv2 #let's select classifier backbone for our network \narchitecture: DeepLabV3 #let's select segmentation architecture that we would like to use\naugmentation:\n Fliplr: 0.5 #let's define some minimal augmentations on images\n Flipud: 0.5 \nclasses: 1 #we have just one class (mask or no mask)\nactivation: sigmoid #one class means that our last layer should use sigmoid activation\nencoder_weights: pascal_voc #we would like to start from network pretrained on pascal_voc dataset\nshape: [320, 320, 3] #This is our desired input image and mask size, everything will be resized to fit.\noptimizer: Adam #Adam optimizer is a good default choice\nbatch: 16 #Our batch size will be 16\nmetrics: #We would like to track some metrics\n - binary_accuracy \n - iou\nprimary_metric: val_binary_accuracy #and the most interesting metric is val_binary_accuracy\ncallbacks: #Let's configure some minimal callbacks\n EarlyStopping:\n patience: 15\n monitor: val_binary_accuracy\n verbose: 1\n ReduceLROnPlateau:\n patience: 4\n factor: 0.5\n monitor: val_binary_accuracy\n mode: auto\n cooldown: 5\n verbose: 1\nloss: binary_crossentropy #We use simple binary_crossentropy loss\nstages:\n - epochs: 100 #Let's go for 100 epochs\n```\n\n## [Classification Pipeline](https://musket-ml.github.io/webdocs/classification/)\n\n[Classification Pipeline](https://musket-ml.github.io/webdocs/classification/) has a lot of common parts with [Generic pipeline](https://musket-ml.github.io/webdocs/generic/) too, and as in [Segmentation Pipeline](https://musket-ml.github.io/webdocs/segmentation/) it is easy to define an architecture of the network, just name it and set the number of output classes:\n\n```yaml\narchitecture: DenseNet201 #pre-trained model we are going to use\npooling: avg\naugmentation: #define some minimal augmentations on images\n Fliplr: 0.5\n Flipud: 0.5\nclasses: 28 #define the number of classes\nactivation: sigmoid #as we have multilabel classification, the activation for last layer is sigmoid\nweights: imagenet #we would like to start from network pretrained on imagenet dataset\nshape: [224, 224, 3] #our desired input image size, everything will be resized to fit\noptimizer: Adam #Adam optimizer is a good default choice\nbatch: 16 #our batch size will be 16\nlr: 0.005\ncopyWeights: true\nmetrics: #we would like to track some metrics\n - binary_accuracy\n - macro_f1\nprimary_metric: val_binary_accuracy #the most interesting metric is val_binary_accuracy\nprimary_metric_mode: max\ncallbacks: #configure some minimal callbacks\n EarlyStopping:\n patience: 3\n monitor: val_macro_f1\n mode: max\n verbose: 1\n ReduceLROnPlateau:\n patience: 2\n factor: 0.3\n monitor: val_binary_accuracy\n mode: max\n cooldown: 1\n verbose: 1\nloss: binary_crossentropy #we use binary_crossentropy loss\nstages:\n - epochs: 10 #let's go for 100 epochs\n```\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/musket-ml/musket_core", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "musket-core", "package_url": "https://pypi.org/project/musket-core/", "platform": "", "project_url": "https://pypi.org/project/musket-core/", "project_urls": { "Homepage": "https://github.com/musket-ml/musket_core" }, "release_url": "https://pypi.org/project/musket-core/0.498/", "requires_dist": [ "hyperopt (<=0.2.1,>=0.1.2)", "PyYAML (<=5.1.2,>=3.13)", "numpy (<=1.17.3,>=1.15.4)", "Keras (<=2.3.1,>=2.2.4)", "tqdm (<=4.36.1,>=4.28.1)", "pandas (<=0.25.2,>=0.23.4)", "scikit-learn (<=0.21.3,>=0.20.2)", "scikit-image (==0.15.0)", "Pillow (<=6.2.1,>=5.4.0)", "scikit-image (>=0.14.2)", "Shapely (<=1.6.4.post2,>=1.6.4.post1)", "imgaug (==0.3.0)", "lightgbm (<=2.3.0,>=2.2.3)", "py4j (==0.10.8.1)", "async-promises (==1.1.1)", "scipy (<=1.3.1,>=1.2.0)", "matplotlib (<=3.1.1,>=3.0.2)", "imageio (<=2.6.1,>=2.4.1)", "h5py (<=2.10.0,>=2.9.0)", "opencv-python (<=4.1.1.26,>=3.4.5.20)", "Cython (<=0.29.13,>=0.29.2)", "segmentation-models (<=0.2.1,<=0.2.1image-classifiers>=0.2.0,>=0.2.0)" ], "requires_python": "", "summary": "The core of Musket ML", "version": "0.498", "yanked": false, "yanked_reason": null }, "last_serial": 6172707, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "2364678796991027c1511d081ed38f92", "sha256": "d9de929005182248494a4c5847f97cbe09fecdabb81726f4eb0f6a04b4554159" }, "downloads": -1, "filename": "musket_core-0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2364678796991027c1511d081ed38f92", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24821, "upload_time": "2018-11-29T20:49:28", "upload_time_iso_8601": "2018-11-29T20:49:28.427179Z", "url": "https://files.pythonhosted.org/packages/58/49/62472eb3d0d0ffbe9906ea6e205f6f07bc8bf8458684db1e14c9643db27a/musket_core-0.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "374e6b47385a6fd71372da450ff1f41c", "sha256": "7bf00428c9f3b62809b6a78d61c8e12f71da98a5f7400d10a4445a3ce3329336" }, "downloads": -1, "filename": "musket_core-0.1.tar.gz", "has_sig": false, "md5_digest": "374e6b47385a6fd71372da450ff1f41c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19533, "upload_time": "2018-11-29T20:49:30", "upload_time_iso_8601": "2018-11-29T20:49:30.945195Z", "url": "https://files.pythonhosted.org/packages/93/a6/d45a29c922e0de48cf833482fe57906147a070b3996520ca324920bece4c/musket_core-0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.21": [ { "comment_text": "", "digests": { "md5": "7cbf43e03f9598bcfb983d952c339c55", "sha256": "a6f3cbff869605388201783ef210e1f273af8925e0d69185b9f9f55d57380bb9" }, "downloads": -1, "filename": "musket_core-0.21-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7cbf43e03f9598bcfb983d952c339c55", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 25456, "upload_time": "2018-12-04T13:22:36", "upload_time_iso_8601": "2018-12-04T13:22:36.901483Z", "url": "https://files.pythonhosted.org/packages/78/96/f6f6be07b4b4891913e9786759a5bccf27fdbc0b4bd61a5f2bf7c3e533ce/musket_core-0.21-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e25710fb19e0fe30822a76cf69f0cfe9", "sha256": "6ab97233153a2cad6ca316c166a835eb73e413e6e09fe4192deb215b6d7eaa07" }, "downloads": -1, "filename": "musket_core-0.21.tar.gz", "has_sig": false, "md5_digest": "e25710fb19e0fe30822a76cf69f0cfe9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20151, "upload_time": "2018-12-04T13:22:38", "upload_time_iso_8601": "2018-12-04T13:22:38.794249Z", "url": "https://files.pythonhosted.org/packages/1d/76/ce80a50c0589a1b8b265b11b79ec098570690cb957f21173a0f85a9540de/musket_core-0.21.tar.gz", "yanked": false, "yanked_reason": null } ], "0.23": [ { "comment_text": "", "digests": { "md5": "02dcfbaa13477c8ba47caaccae9c0f45", "sha256": "9ae77deeae25dbdbc1ea2bc2bbae44302d9a9a325f2dd7191b4bc1cf27fbbea8" }, "downloads": -1, "filename": "musket_core-0.23-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "02dcfbaa13477c8ba47caaccae9c0f45", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30187, "upload_time": "2018-12-04T13:52:44", "upload_time_iso_8601": "2018-12-04T13:52:44.105497Z", "url": "https://files.pythonhosted.org/packages/d9/d7/a5c73f6b091571e34547908f2f7a1ccff9793eb9df416b4cec40f89d2c98/musket_core-0.23-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b91dc903cd8c92baa383790a874d6278", "sha256": "c4f413ddf40daaa8237a92410badc5b00e55c7ce17e64c3327a1a3226658deaf" }, "downloads": -1, "filename": "musket_core-0.23.tar.gz", "has_sig": false, "md5_digest": "b91dc903cd8c92baa383790a874d6278", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22917, "upload_time": "2018-12-04T13:52:46", "upload_time_iso_8601": "2018-12-04T13:52:46.233741Z", "url": "https://files.pythonhosted.org/packages/f8/c3/73416c11c87333360d9c19d793481a55ab3a70ffada08361a705eb556397/musket_core-0.23.tar.gz", "yanked": false, "yanked_reason": null } ], "0.24": [ { "comment_text": "", "digests": { "md5": "e732a647a0b879b059cac7d4ba07f1fb", "sha256": "b951ae515f3091f802138af206bdb67b3bf19e1a34b9ba26dc85809478712963" }, "downloads": -1, "filename": "musket_core-0.24-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e732a647a0b879b059cac7d4ba07f1fb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30317, "upload_time": "2018-12-04T14:19:33", "upload_time_iso_8601": "2018-12-04T14:19:33.309552Z", "url": "https://files.pythonhosted.org/packages/9f/46/7f424aaada5a6f8855340f6978052a67bf2cb4038c70ac481b3e1d33c8b8/musket_core-0.24-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f56471659f6cca074e1a53454a24ab39", "sha256": "7176404196fa6ec2f7514d1f7b6b98dfb0c023f4cb8a6904c7e92f1dd407c509" }, "downloads": -1, "filename": "musket_core-0.24.tar.gz", "has_sig": false, "md5_digest": "f56471659f6cca074e1a53454a24ab39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23018, "upload_time": "2018-12-04T14:19:36", "upload_time_iso_8601": "2018-12-04T14:19:36.379686Z", "url": "https://files.pythonhosted.org/packages/5d/67/859b5a26147d4e9dfbc3b09b14c3c7935f63f297c6c7917869a4cb274bf3/musket_core-0.24.tar.gz", "yanked": false, "yanked_reason": null } ], "0.25": [ { "comment_text": "", "digests": { "md5": "6cd6c941a926de3042cc0d16908b3387", "sha256": "0bfd1a49fec05fab7a15a36bbccef235c4a182aeb1358805650c2ee711721d4f" }, "downloads": -1, "filename": "musket_core-0.25-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6cd6c941a926de3042cc0d16908b3387", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30485, "upload_time": "2018-12-04T22:23:43", "upload_time_iso_8601": "2018-12-04T22:23:43.380598Z", "url": "https://files.pythonhosted.org/packages/1b/24/9e13600960f774fa189bb2a8dfe703504b8aeb41640f90571210bdb268c5/musket_core-0.25-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "2be6876f5d9f84daae4b763ba5700b21", "sha256": "2042362dd164cd7163f0a57f4ee0e40d15f43d61e213dbaceddecdf9f27349ee" }, "downloads": -1, "filename": "musket_core-0.25.tar.gz", "has_sig": false, "md5_digest": "2be6876f5d9f84daae4b763ba5700b21", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23277, "upload_time": "2018-12-04T22:23:44", "upload_time_iso_8601": "2018-12-04T22:23:44.947717Z", "url": "https://files.pythonhosted.org/packages/2c/6d/70af9f2be2c4ff4349d2a4f38f842f5f50a790169147cd8fab38c8a5f089/musket_core-0.25.tar.gz", "yanked": false, "yanked_reason": null } ], "0.26": [ { "comment_text": "", "digests": { "md5": "c9fc4bd213f95630b321f11ee8038f47", "sha256": "4291824ffe4882bf2c69b9cd281da14b966e601c7e6e59b3a5abf974b35b19f0" }, "downloads": -1, "filename": "musket_core-0.26-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c9fc4bd213f95630b321f11ee8038f47", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30479, "upload_time": "2018-12-04T22:33:43", "upload_time_iso_8601": "2018-12-04T22:33:43.982338Z", "url": "https://files.pythonhosted.org/packages/a8/65/429887ce5d8323d94e55656ed0d4c08ccd53658eeb95927bf270798fa0fc/musket_core-0.26-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5501dba452bca4d66db09a2bff5742dc", "sha256": "880d4f585688cabd14db339b3321c44806b675d009bd47b71e90b1239108abc0" }, "downloads": -1, "filename": "musket_core-0.26.tar.gz", "has_sig": false, "md5_digest": "5501dba452bca4d66db09a2bff5742dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23289, "upload_time": "2018-12-04T22:33:46", "upload_time_iso_8601": "2018-12-04T22:33:46.401346Z", "url": "https://files.pythonhosted.org/packages/db/1b/93979a9495ad2cdd49b71fd07bcb79b84663d5a943550d25d3ee84436383/musket_core-0.26.tar.gz", "yanked": false, "yanked_reason": null } ], "0.27": [ { "comment_text": "", "digests": { "md5": "5a8cc4fb1d6daf0a3b15f18b36482dbb", "sha256": "ea55dfdf75105d7ccc01edfc466ae57950e1d35359a131e9381635b494c85a06" }, "downloads": -1, "filename": "musket_core-0.27-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5a8cc4fb1d6daf0a3b15f18b36482dbb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30508, "upload_time": "2018-12-05T19:07:59", "upload_time_iso_8601": "2018-12-05T19:07:59.638777Z", "url": "https://files.pythonhosted.org/packages/20/72/b1091cd132e42ccc83d95e457f369e7a2f007199244358d0d274f7234dcf/musket_core-0.27-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "13cb44fe3e3282dc7bfe9fce9efd3804", "sha256": "7a7e4d5eca5b86d5f35410eeeca708d398b45e536708d53881b8fe188b7ac05b" }, "downloads": -1, "filename": "musket_core-0.27.tar.gz", "has_sig": false, "md5_digest": "13cb44fe3e3282dc7bfe9fce9efd3804", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23314, "upload_time": "2018-12-05T19:08:01", "upload_time_iso_8601": "2018-12-05T19:08:01.319403Z", "url": "https://files.pythonhosted.org/packages/31/f0/d4667ab13ffe3cab5b2ac11e87466fe25cafe92c95cb0ff6dea7d170531a/musket_core-0.27.tar.gz", "yanked": false, "yanked_reason": null } ], "0.28": [ { "comment_text": "", "digests": { "md5": "e90da4a383fee0454e9a68fcca2c0728", "sha256": "96cd03f4c7357c55c639f88834161a9984255855b45c1bad588b28d490fdcde5" }, "downloads": -1, "filename": "musket_core-0.28-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e90da4a383fee0454e9a68fcca2c0728", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30505, "upload_time": "2018-12-06T01:43:42", "upload_time_iso_8601": "2018-12-06T01:43:42.275553Z", "url": "https://files.pythonhosted.org/packages/63/99/615630e5bb19502306b2a0c2f59243f9bb333d67f003ab036bc7b6053b08/musket_core-0.28-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "fb2d6c3bc0bb501fce17488b8ab28bf7", "sha256": "c7a16771e638d5c7561f6297600e1d6a33b54f6a866bcc942703c3676292068f" }, "downloads": -1, "filename": "musket_core-0.28.tar.gz", "has_sig": false, "md5_digest": "fb2d6c3bc0bb501fce17488b8ab28bf7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23314, "upload_time": "2018-12-06T01:43:44", "upload_time_iso_8601": "2018-12-06T01:43:44.700883Z", "url": "https://files.pythonhosted.org/packages/97/fe/a766d14bb2d133eef9bd75bbe6392ca4e2e0474f284f84d2e23e7bc48f90/musket_core-0.28.tar.gz", "yanked": false, "yanked_reason": null } ], "0.30": [ { "comment_text": "", "digests": { "md5": "3a1fdd8723d16e54674cb4cdabe70624", "sha256": "a465649be4ecd5d136ce3968506f30b46742abb62302b40460461d3ba85bb3d6" }, "downloads": -1, "filename": "musket_core-0.30-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3a1fdd8723d16e54674cb4cdabe70624", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30655, "upload_time": "2018-12-10T08:08:17", "upload_time_iso_8601": "2018-12-10T08:08:17.236708Z", "url": "https://files.pythonhosted.org/packages/62/54/917eb5385be605fcac4aff19c8b49fe330c65d8dcc8c1ca5ec71bb0d2db0/musket_core-0.30-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "df15a55629265ead634ec156a75492b5", "sha256": "e2d9d8648a4cf7d2b09c59ffeaa90c5d3b97de989ee11ee3c4c920125c41635d" }, "downloads": -1, "filename": "musket_core-0.30.tar.gz", "has_sig": false, "md5_digest": "df15a55629265ead634ec156a75492b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23449, "upload_time": "2018-12-10T08:08:19", "upload_time_iso_8601": "2018-12-10T08:08:19.061584Z", "url": "https://files.pythonhosted.org/packages/dd/75/e85a5452f5e268684c5a75479e76a80adadf2ca2d0da05e8f60a10ae2ccb/musket_core-0.30.tar.gz", "yanked": false, "yanked_reason": null } ], "0.31": [ { "comment_text": "", "digests": { "md5": "3ca5a97a932019f2f726b9b71d7bdc00", "sha256": "b4d6cb6f34e17f07c5789064e40908f2c52f8cf38f822821dd4bb335334334d2" }, "downloads": -1, "filename": "musket_core-0.31-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3ca5a97a932019f2f726b9b71d7bdc00", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30898, "upload_time": "2018-12-15T10:49:00", "upload_time_iso_8601": "2018-12-15T10:49:00.950857Z", "url": "https://files.pythonhosted.org/packages/68/8f/6fd0040ae0c85189e4b2ab5b6c2feda1e98c5818d1c166f7e80b42803a79/musket_core-0.31-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "1ead6e473a4829b6718e7cdbfbf91210", "sha256": "5f5a1df8e33d89d53a04c77b2003f92a47f8f2237a24167423d220821ef0e26a" }, "downloads": -1, "filename": "musket_core-0.31.tar.gz", "has_sig": false, "md5_digest": "1ead6e473a4829b6718e7cdbfbf91210", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23659, "upload_time": "2018-12-15T10:49:02", "upload_time_iso_8601": "2018-12-15T10:49:02.748204Z", "url": "https://files.pythonhosted.org/packages/31/70/73ba6bfe13f3f50299baedee47c8d936d643efe118fc30aca5237538ad91/musket_core-0.31.tar.gz", "yanked": false, "yanked_reason": null } ], "0.32": [ { "comment_text": "", "digests": { "md5": "4c62068a2cb299ac9572ff5c8132579e", "sha256": "0dc48dcac32864be07a0a84710ed3ef0838077f2924e532e2ed09c73e9e0c329" }, "downloads": -1, "filename": "musket_core-0.32-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4c62068a2cb299ac9572ff5c8132579e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 31735, "upload_time": "2019-01-02T19:13:09", "upload_time_iso_8601": "2019-01-02T19:13:09.261701Z", "url": "https://files.pythonhosted.org/packages/08/44/471db4366fb148cc31af674c6a9b63987e2e9cef9dc099a2c1eaac0a49f5/musket_core-0.32-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b3d0e9d06340017c3b8d855c28965630", "sha256": "152a24b8c0138ad65fde42699cdcc49b23ef54339c04394c37fe238db4b9d21a" }, "downloads": -1, "filename": "musket_core-0.32.tar.gz", "has_sig": false, "md5_digest": "b3d0e9d06340017c3b8d855c28965630", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24488, "upload_time": "2019-01-02T19:13:10", "upload_time_iso_8601": "2019-01-02T19:13:10.691681Z", "url": "https://files.pythonhosted.org/packages/40/7b/43c0c9f92672e628f7ff4462657e8e4dcc0882a3cd95a44f3b2d8c694735/musket_core-0.32.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33": [ { "comment_text": "", "digests": { "md5": "777ba4229f8d8143dc430038547817c1", "sha256": "b424c9de5498e41652fdd241e1a26a9eed9668960e9b1a5ade71504b02e305be" }, "downloads": -1, "filename": "musket_core-0.33-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "777ba4229f8d8143dc430038547817c1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 31762, "upload_time": "2019-01-04T09:09:31", "upload_time_iso_8601": "2019-01-04T09:09:31.614902Z", "url": "https://files.pythonhosted.org/packages/65/97/5818b133dbc4fa1016d538fae18cba51b76c0d262b29853e88777a536a5d/musket_core-0.33-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "bfe4b78f1b1a34eaac6a26f65922292b", "sha256": "f756f261b88e40352269dba207b88a905f8dc9f59abf8321ec64fe84d33ec218" }, "downloads": -1, "filename": "musket_core-0.33.tar.gz", "has_sig": false, "md5_digest": "bfe4b78f1b1a34eaac6a26f65922292b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24366, "upload_time": "2019-01-04T09:09:35", "upload_time_iso_8601": "2019-01-04T09:09:35.231387Z", "url": "https://files.pythonhosted.org/packages/6c/5e/927369a933b09f36084cb35f31ef98f7241112407cf05d3380642b379830/musket_core-0.33.tar.gz", "yanked": false, "yanked_reason": null } ], "0.34": [ { "comment_text": "", "digests": { "md5": "375ee688760106ef9b810e66b4fa6c2e", "sha256": "8caa6f469ce21cd378b0f00e596c26cb86fbed53126020967250c63be21b198d" }, "downloads": -1, "filename": "musket_core-0.34-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "375ee688760106ef9b810e66b4fa6c2e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 31817, "upload_time": "2019-01-04T09:09:33", "upload_time_iso_8601": "2019-01-04T09:09:33.434588Z", "url": "https://files.pythonhosted.org/packages/aa/fc/1d9330b315ff5bbc2fcefa5d37751413679b2c417e482512eead4365c606/musket_core-0.34-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f0e5539cd5756f29857f1abc46f708b0", "sha256": "fc953140846519595d7799fbe04328f5ed7521656c4ef95f8876663c4bcb00cc" }, "downloads": -1, "filename": "musket_core-0.34.tar.gz", "has_sig": false, "md5_digest": "f0e5539cd5756f29857f1abc46f708b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24434, "upload_time": "2019-01-04T09:09:36", "upload_time_iso_8601": "2019-01-04T09:09:36.892512Z", "url": "https://files.pythonhosted.org/packages/f1/21/8e60085fbacf1ff0330bacdfa15ed1a7a14a3f908f3a85d16bdb1410b5a7/musket_core-0.34.tar.gz", "yanked": false, "yanked_reason": null } ], "0.35": [ { "comment_text": "", "digests": { "md5": "a127dec5b963848edfd59e77de274696", "sha256": "01e0981f510520174a7ed2b711d7ecbee14b5db464b077d3546ac6991a6ee38e" }, "downloads": -1, "filename": "musket_core-0.35-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a127dec5b963848edfd59e77de274696", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 31857, "upload_time": "2019-01-04T09:32:42", "upload_time_iso_8601": "2019-01-04T09:32:42.018567Z", "url": "https://files.pythonhosted.org/packages/e4/88/1549d790d50d77327aa05deeaa0d9571cfe6b3bab838e385ae26bac10f96/musket_core-0.35-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c6f0d9555213b92c0d73e271bcdc3405", "sha256": "2f8b1e23fbd41edd9b5aad0f9cfdf23d54e05337e9106ce997593adde0910bbd" }, "downloads": -1, "filename": "musket_core-0.35.tar.gz", "has_sig": false, "md5_digest": "c6f0d9555213b92c0d73e271bcdc3405", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24472, "upload_time": "2019-01-04T09:32:44", "upload_time_iso_8601": "2019-01-04T09:32:44.994945Z", "url": "https://files.pythonhosted.org/packages/e4/ea/0572e5a5b423a1d7122b454b199b7485a095d9fe8ba00988976a7f35a238/musket_core-0.35.tar.gz", "yanked": false, "yanked_reason": null } ], "0.36": [ { "comment_text": "", "digests": { "md5": "67cf123a74fccc1a9e1c8f48c1d02d39", "sha256": "1f969e434a7c09e9e50ba62602646e36b4f4df7b67b041081be45d3dd9d59ab7" }, "downloads": -1, "filename": "musket_core-0.36-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "67cf123a74fccc1a9e1c8f48c1d02d39", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 31888, "upload_time": "2019-01-04T12:57:21", "upload_time_iso_8601": "2019-01-04T12:57:21.006661Z", "url": "https://files.pythonhosted.org/packages/4b/43/14a151ebc117981e6bb19af63cba1106e7b8f05039efcea1a4b6bbeffa28/musket_core-0.36-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3b5a2fb5c8dd92182bfc0184e16b634e", "sha256": "c59e8e558d21639cb5a4fc3c5e0990a539a3328199ef7c98ada2be67f004f37f" }, "downloads": -1, "filename": "musket_core-0.36.tar.gz", "has_sig": false, "md5_digest": "3b5a2fb5c8dd92182bfc0184e16b634e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24500, "upload_time": "2019-01-04T12:57:25", "upload_time_iso_8601": "2019-01-04T12:57:25.107702Z", "url": "https://files.pythonhosted.org/packages/3f/72/b3047c3e27249dae68e3055217aabb8e1d97ad930256d41792fdf3c8f8fd/musket_core-0.36.tar.gz", "yanked": false, "yanked_reason": null } ], "0.37": [ { "comment_text": "", "digests": { "md5": "6214b58e6a6e1b425f0344ba6f59e151", "sha256": "9c8db8b25a5f39cd227d3c6d821530e5b8e11b5606d54e5d3c2c0165892e0f57" }, "downloads": -1, "filename": "musket_core-0.37-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6214b58e6a6e1b425f0344ba6f59e151", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 32059, "upload_time": "2019-01-04T16:29:32", "upload_time_iso_8601": "2019-01-04T16:29:32.820909Z", "url": "https://files.pythonhosted.org/packages/1e/3a/98909950f48abdc35e6fac6dbf96ddd2373f8e4d95c63fd50fb0768c061c/musket_core-0.37-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3c2330b04e27d4511a777f534f57c29a", "sha256": "d9bdbd1aefe5ba0bba1f44da0e909832ac7fe367d2507cd98fededf5a3a4a89f" }, "downloads": -1, "filename": "musket_core-0.37.tar.gz", "has_sig": false, "md5_digest": "3c2330b04e27d4511a777f534f57c29a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24731, "upload_time": "2019-01-04T16:29:34", "upload_time_iso_8601": "2019-01-04T16:29:34.724014Z", "url": "https://files.pythonhosted.org/packages/47/fa/db7dafa1844ce3c59c6d2b2ba06e153ba88d8ca7889c70f8c42cb76d3787/musket_core-0.37.tar.gz", "yanked": false, "yanked_reason": null } ], "0.38": [ { "comment_text": "", "digests": { "md5": "c14b544f15441d23f3fe79eefc53347f", "sha256": "c30e715e8dd7ac023ed5391deabc96fe528cba01590038943e759c38913977d4" }, "downloads": -1, "filename": "musket_core-0.38-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c14b544f15441d23f3fe79eefc53347f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 32113, "upload_time": "2019-01-05T08:40:50", "upload_time_iso_8601": "2019-01-05T08:40:50.477069Z", "url": "https://files.pythonhosted.org/packages/ac/7d/cf78bac623beb3909403e159a5bc408c2be242769c92faa4956f02788bbb/musket_core-0.38-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5873f2d20d8fbc1bb54f43e3f1bf7b12", "sha256": "514f6462d166b81e47cc2388d94169044421cadf0aad84eef5621d14a1f1a9d3" }, "downloads": -1, "filename": "musket_core-0.38.tar.gz", "has_sig": false, "md5_digest": "5873f2d20d8fbc1bb54f43e3f1bf7b12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24788, "upload_time": "2019-01-05T08:40:53", "upload_time_iso_8601": "2019-01-05T08:40:53.664600Z", "url": "https://files.pythonhosted.org/packages/d9/24/6f91b904516fbdd5047c91ff3c5f107e7261ee68197570af1ed8a13013fd/musket_core-0.38.tar.gz", "yanked": false, "yanked_reason": null } ], "0.42": [ { "comment_text": "", "digests": { "md5": "f710c3f4cb76a8620a994fc93621f284", "sha256": "a22a99d33602b2b69aef9d81221d895bbca76669f2542958b02d8f63dd99e801" }, "downloads": -1, "filename": "musket_core-0.42-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f710c3f4cb76a8620a994fc93621f284", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 131551, "upload_time": "2019-09-26T17:49:09", "upload_time_iso_8601": "2019-09-26T17:49:09.203078Z", "url": "https://files.pythonhosted.org/packages/02/c4/2b89f92b66e48062a5e7e231ed37d2058f6344ff0f9ae35b0abc78aaf1b0/musket_core-0.42-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "799c02107f6b9f3fb1231751b849a945", "sha256": "235a03c97d08668321301ee2fdf078f55bdf99ef9aed6e318d15fd59c33f120c" }, "downloads": -1, "filename": "musket_core-0.42.tar.gz", "has_sig": false, "md5_digest": "799c02107f6b9f3fb1231751b849a945", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 112016, "upload_time": "2019-09-26T17:49:11", "upload_time_iso_8601": "2019-09-26T17:49:11.906600Z", "url": "https://files.pythonhosted.org/packages/b6/ce/9fb7641dc4d76e353d219641f4c31a349ca3c05f5e78ee64d8f8423b03ab/musket_core-0.42.tar.gz", "yanked": false, "yanked_reason": null } ], "0.43": [ { "comment_text": "", "digests": { "md5": "686ef8ff04f745e7fad91653823619fb", "sha256": "f05c36618e4ccb43db61ee1cd1383a3c336cc6fc7736105eb8dccd1838965e36" }, "downloads": -1, "filename": "musket_core-0.43-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "686ef8ff04f745e7fad91653823619fb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 149222, "upload_time": "2019-10-24T05:20:54", "upload_time_iso_8601": "2019-10-24T05:20:54.836566Z", "url": "https://files.pythonhosted.org/packages/9d/ac/414f5bb4862417fdd6dcbc9b16ff89a3892690a5671260ff0c742d9d86d1/musket_core-0.43-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b350ee01ecd35f659d9c9b06a0da3c3a", "sha256": "2ecf33c28d7d4a01c603207a3c72b2a88a6847cb1cbe63f421ee2dcf18870c1a" }, "downloads": -1, "filename": "musket_core-0.43.tar.gz", "has_sig": false, "md5_digest": "b350ee01ecd35f659d9c9b06a0da3c3a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 121838, "upload_time": "2019-10-24T05:20:56", "upload_time_iso_8601": "2019-10-24T05:20:56.725104Z", "url": "https://files.pythonhosted.org/packages/93/07/c3881a5e26f9df4b9b0bb16411e49eb1b84f6b8baafe3333678a029d14c2/musket_core-0.43.tar.gz", "yanked": false, "yanked_reason": null } ], "0.44": [ { "comment_text": "", "digests": { "md5": "ab12c9974067186330e22510beb8c4f4", "sha256": "7c00ee0192edc8e67a83bdd2dede636aaccb0e2e7b023764dd5caf444070a906" }, "downloads": -1, "filename": "musket_core-0.44-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ab12c9974067186330e22510beb8c4f4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 149238, "upload_time": "2019-10-24T05:49:33", "upload_time_iso_8601": "2019-10-24T05:49:33.218233Z", "url": "https://files.pythonhosted.org/packages/5c/49/885aee168de085bd59eafc9a6fc61553f08ff346a36bd084f2e9bbe4e595/musket_core-0.44-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ebb6e10f8add3774f621b71e6eff6e3e", "sha256": "2e58c0194d44dc4ef0a1168d0a5cfd178d72f6f482212ca675509b17eacc175f" }, "downloads": -1, "filename": "musket_core-0.44.tar.gz", "has_sig": false, "md5_digest": "ebb6e10f8add3774f621b71e6eff6e3e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 121836, "upload_time": "2019-10-24T05:49:36", "upload_time_iso_8601": "2019-10-24T05:49:36.180104Z", "url": "https://files.pythonhosted.org/packages/95/3a/c82d9c0f1546d950814f1e14bf32b10babf723a700bcdde343f0c2899ee7/musket_core-0.44.tar.gz", "yanked": false, "yanked_reason": null } ], "0.45": [ { "comment_text": "", "digests": { "md5": "49ae3a8bc934ebcc9b1c538754048fbb", "sha256": "62111d0503d54150746dd8ef4a613891056e417bf76d571ae6f56c50a51e7176" }, "downloads": -1, "filename": "musket_core-0.45-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "49ae3a8bc934ebcc9b1c538754048fbb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 149256, "upload_time": "2019-10-24T06:00:55", "upload_time_iso_8601": "2019-10-24T06:00:55.660754Z", "url": "https://files.pythonhosted.org/packages/8a/92/edac4bda4c5c9877a3f3d4d4ee3ec5b12f9861bf39a62001b22c2b580fd2/musket_core-0.45-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9f91c19029fb7b3372b7dd3f719599d0", "sha256": "ed063a857b0f0e7bd28f62da50d919de3b168ad35fc12eb5c4a8edb7c9567234" }, "downloads": -1, "filename": "musket_core-0.45.tar.gz", "has_sig": false, "md5_digest": "9f91c19029fb7b3372b7dd3f719599d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 121870, "upload_time": "2019-10-24T06:01:00", "upload_time_iso_8601": "2019-10-24T06:01:00.268194Z", "url": "https://files.pythonhosted.org/packages/5b/5c/36109161c80f50067b15f8d4c56feff8ed6650176c20208e7d5b43a7b2ab/musket_core-0.45.tar.gz", "yanked": false, "yanked_reason": null } ], "0.46": [ { "comment_text": "", "digests": { "md5": "7aecbee03b7481f5b26c3116b6567661", "sha256": "f0683e90d947097bfed79f22976418ccc36d1b3afe17e3d75adf6caac238d960" }, "downloads": -1, "filename": "musket_core-0.46-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7aecbee03b7481f5b26c3116b6567661", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 149208, "upload_time": "2019-10-24T07:09:49", "upload_time_iso_8601": "2019-10-24T07:09:49.003432Z", "url": "https://files.pythonhosted.org/packages/6b/d4/f8476153f0ed978362cfe3d6a8278755f467e13d806d2fae1ec6f83511b5/musket_core-0.46-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "4e459361e2820ee9af6ffff6160f3c20", "sha256": "6ec0e0d8899ec558a0738735d9bf3fc06334bbfc04d3bd457d9ef3308a0f27b0" }, "downloads": -1, "filename": "musket_core-0.46.tar.gz", "has_sig": false, "md5_digest": "4e459361e2820ee9af6ffff6160f3c20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 121804, "upload_time": "2019-10-24T07:09:53", "upload_time_iso_8601": "2019-10-24T07:09:53.466851Z", "url": "https://files.pythonhosted.org/packages/73/81/581a420672ac17d0570dfb7114ba354be5d9c0b746086cfcca148642b14c/musket_core-0.46.tar.gz", "yanked": false, "yanked_reason": null } ], "0.48": [ { "comment_text": "", "digests": { "md5": "02b8d0c6c0ebd4d0c8349bd87474513b", "sha256": "50726d08b06225fa4fa1c6436b9c49a9ff4b6866a14abd5b28d7705958f73ff4" }, "downloads": -1, "filename": "musket_core-0.48-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "02b8d0c6c0ebd4d0c8349bd87474513b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 149211, "upload_time": "2019-10-24T09:41:53", "upload_time_iso_8601": "2019-10-24T09:41:53.111930Z", "url": "https://files.pythonhosted.org/packages/e8/9a/885bed270ea75149f50b948abd79b1f02c188ab62b01f8a630b11b11f463/musket_core-0.48-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "86b11fcfe1e61654c69c77ad42f10d5f", "sha256": "19a73e5ba7f6ac4d9d6516a6bff3847ebead0e7c164fcfdae238b073a75d18c7" }, "downloads": -1, "filename": "musket_core-0.48.tar.gz", "has_sig": false, "md5_digest": "86b11fcfe1e61654c69c77ad42f10d5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 121827, "upload_time": "2019-10-24T09:41:58", "upload_time_iso_8601": "2019-10-24T09:41:58.794782Z", "url": "https://files.pythonhosted.org/packages/b6/f9/67f8c00590133a51d5b247d44b67f218bc37f4ac669bb8d9b6e3b8335732/musket_core-0.48.tar.gz", "yanked": false, "yanked_reason": null } ], "0.49": [ { "comment_text": "", "digests": { "md5": "3556d96cbdf2fbf662354ac95105225f", "sha256": "c2d62aa413a425099b7ce13407b04bc3e52224d9ba211f295ceb98580d3d0917" }, "downloads": -1, "filename": "musket_core-0.49-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3556d96cbdf2fbf662354ac95105225f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 149732, "upload_time": "2019-10-25T11:36:57", "upload_time_iso_8601": "2019-10-25T11:36:57.827671Z", "url": "https://files.pythonhosted.org/packages/d0/52/621a64cc5aa2a5da70d30e7fa5d1f250a27c4c3db31e392b03aac717d05d/musket_core-0.49-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "7134bbc42c4f92aca9dab6c286e925bd", "sha256": "06c96f26de2e788b3a270398c98ddf663b518c3504cc07b03f6769b47d802802" }, "downloads": -1, "filename": "musket_core-0.49.tar.gz", "has_sig": false, "md5_digest": "7134bbc42c4f92aca9dab6c286e925bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 122541, "upload_time": "2019-10-25T11:36:59", "upload_time_iso_8601": "2019-10-25T11:36:59.895869Z", "url": "https://files.pythonhosted.org/packages/8b/81/5043c8f3d6dd8a28b64b5f203d386e140db2359a7b27e23430ab4e3d0075/musket_core-0.49.tar.gz", "yanked": false, "yanked_reason": null } ], "0.492": [ { "comment_text": "", "digests": { "md5": "40a486351f69cc49d1dfa1bc2b4ae18e", "sha256": "371868838626337bf24f97ba5530686924d55bf2af0f3ee0a4258b5149df463d" }, "downloads": -1, "filename": "musket_core-0.492-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "40a486351f69cc49d1dfa1bc2b4ae18e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 157575, "upload_time": "2019-11-10T09:20:18", "upload_time_iso_8601": "2019-11-10T09:20:18.058732Z", "url": "https://files.pythonhosted.org/packages/df/fa/5d91d622252db3fd4c6e69b606d342ab293dcf48c4f84b459aeadfea74da/musket_core-0.492-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "4bf7966b626f8ca9eb1493e448d634d7", "sha256": "32e49450951533a92cb5a5acc719c09327f36206223b783a5116e59e4040b657" }, "downloads": -1, "filename": "musket_core-0.492.tar.gz", "has_sig": false, "md5_digest": "4bf7966b626f8ca9eb1493e448d634d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 132912, "upload_time": "2019-11-10T09:20:21", "upload_time_iso_8601": "2019-11-10T09:20:21.103678Z", "url": "https://files.pythonhosted.org/packages/bb/dc/94ed9d95d5b87d93f034ffcfcc1563e9a6d798dbe6183a244f32759c82f1/musket_core-0.492.tar.gz", "yanked": false, "yanked_reason": null } ], "0.493": [ { "comment_text": "", "digests": { "md5": "ac1b4dfa0a6aa2cd099fdd36d0689af0", "sha256": "bafda91c0de8a11bb16d0d7f9259d0b1c4630f03339b0f0605eaeccf1e35a9d6" }, "downloads": -1, "filename": "musket_core-0.493-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ac1b4dfa0a6aa2cd099fdd36d0689af0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 157607, "upload_time": "2019-11-10T09:21:45", "upload_time_iso_8601": "2019-11-10T09:21:45.382426Z", "url": "https://files.pythonhosted.org/packages/7e/49/82ac8189bbd175678d845bdc4878efdb398ed9d9d9c345d457a7a4c6736f/musket_core-0.493-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "7271e2acd52aad86ba1b671b4f501e75", "sha256": "d8d4cebdfd2b5353642fa85299b676b8ec589eba56792cb632fb2c2b0c819e2a" }, "downloads": -1, "filename": "musket_core-0.493.tar.gz", "has_sig": false, "md5_digest": "7271e2acd52aad86ba1b671b4f501e75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 132918, "upload_time": "2019-11-10T09:21:48", "upload_time_iso_8601": "2019-11-10T09:21:48.759662Z", "url": "https://files.pythonhosted.org/packages/e4/9d/07b443ba0142761814052587af5e2fa679a9a6371df832fb400a5dec09ce/musket_core-0.493.tar.gz", "yanked": false, "yanked_reason": null } ], "0.494": [ { "comment_text": "", "digests": { "md5": "58e114fd41c30a4f35bf53f6c7d6aee8", "sha256": "86948c915ff16b4d14400b3a898d6c07d156cf71912abd796439e8ca20519c3a" }, "downloads": -1, "filename": "musket_core-0.494-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "58e114fd41c30a4f35bf53f6c7d6aee8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 157614, "upload_time": "2019-11-11T07:13:26", "upload_time_iso_8601": "2019-11-11T07:13:26.957986Z", "url": "https://files.pythonhosted.org/packages/90/3f/5db2e193dd957660d1e46c5d95686f100821fb48788c8f3e92be40263ee3/musket_core-0.494-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "8b15bf792ee75da3381e527873fa61b3", "sha256": "d95f48b5df30f5aa83df4918e5e7bef4b59b193c1e2ff393047e725e451b6310" }, "downloads": -1, "filename": "musket_core-0.494.tar.gz", "has_sig": false, "md5_digest": "8b15bf792ee75da3381e527873fa61b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 132919, "upload_time": "2019-11-11T07:13:31", "upload_time_iso_8601": "2019-11-11T07:13:31.915639Z", "url": "https://files.pythonhosted.org/packages/3f/67/a84c35e1a6642c2f4e2080aa4c9e50bdd74d99abd1af0b8f0f7a14fcb94e/musket_core-0.494.tar.gz", "yanked": false, "yanked_reason": null } ], "0.495": [ { "comment_text": "", "digests": { "md5": "6fbd174bee06703a971fd40b0d034bde", "sha256": "533cc3e0992340277b552de47216d906644e54b0a00abd4e5137d4a42a0d2cd5" }, "downloads": -1, "filename": "musket_core-0.495-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6fbd174bee06703a971fd40b0d034bde", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 157622, "upload_time": "2019-11-11T07:54:32", "upload_time_iso_8601": "2019-11-11T07:54:32.059500Z", "url": "https://files.pythonhosted.org/packages/16/19/f9da117a3d7b83c3ecc0cb6f70a73fc6e95921ea1c25eb24ea1f6cec0400/musket_core-0.495-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a2eaf3879cfe53fa58176cc877b248e3", "sha256": "cb7251110d560021851699f157041fd9c585d907e3266009875b2be7346f100e" }, "downloads": -1, "filename": "musket_core-0.495.tar.gz", "has_sig": false, "md5_digest": "a2eaf3879cfe53fa58176cc877b248e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 132938, "upload_time": "2019-11-11T07:54:38", "upload_time_iso_8601": "2019-11-11T07:54:38.222952Z", "url": "https://files.pythonhosted.org/packages/c8/38/4519635dfadaca23b7b914161623fd45dd5cf3359913833236676b84bf94/musket_core-0.495.tar.gz", "yanked": false, "yanked_reason": null } ], "0.496": [ { "comment_text": "", "digests": { "md5": "cfc7ace629ae94e91b67ed98ef79406e", "sha256": "c8f00a249a6378d11782f0d86fd3ae3e694b07553a4cf94701716105f9372b0f" }, "downloads": -1, "filename": "musket_core-0.496-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cfc7ace629ae94e91b67ed98ef79406e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 159082, "upload_time": "2019-11-13T18:41:35", "upload_time_iso_8601": "2019-11-13T18:41:35.536930Z", "url": "https://files.pythonhosted.org/packages/0a/28/c7990500db2260ef24e72402616caf73c2e9d8c9698b04aae320e259012d/musket_core-0.496-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a55410b0e8bd79131e0e2d29c4217a6c", "sha256": "f461d0450287978aafebae165a5aacfdf7a4705da67eeec84a8b085603b82e52" }, "downloads": -1, "filename": "musket_core-0.496.tar.gz", "has_sig": false, "md5_digest": "a55410b0e8bd79131e0e2d29c4217a6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 134197, "upload_time": "2019-11-13T18:41:38", "upload_time_iso_8601": "2019-11-13T18:41:38.374779Z", "url": "https://files.pythonhosted.org/packages/42/8a/0b55be2874a0ba1f5519748ae756e629d826457fc3101aeb03f4975ea25d/musket_core-0.496.tar.gz", "yanked": false, "yanked_reason": null } ], "0.497": [ { "comment_text": "", "digests": { "md5": "4c4ccbf159304dff2ce1fe0554f07f02", "sha256": "b824047e1b9a2bde234f64cee4512e86a096e58acda25a15b9016a9a7e584d67" }, "downloads": -1, "filename": "musket_core-0.497-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4c4ccbf159304dff2ce1fe0554f07f02", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 159402, "upload_time": "2019-11-15T01:41:43", "upload_time_iso_8601": "2019-11-15T01:41:43.179460Z", "url": "https://files.pythonhosted.org/packages/16/25/e472ea9a70569a65b120563bd9c6b3ed78a56b679b8e19c783044ec201df/musket_core-0.497-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5a3d8ae48fca67df0beb2e78451f871f", "sha256": "ba91057d49b8580ffe0891c5e9e7528a5acee5ef230380ebfa5d6a1da39eab35" }, "downloads": -1, "filename": "musket_core-0.497.tar.gz", "has_sig": false, "md5_digest": "5a3d8ae48fca67df0beb2e78451f871f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 134350, "upload_time": "2019-11-15T01:41:46", "upload_time_iso_8601": "2019-11-15T01:41:46.518057Z", "url": "https://files.pythonhosted.org/packages/45/f4/261bc26a055d25ba45700d65179e31a2e576ef0c101bbe570e9163fee128/musket_core-0.497.tar.gz", "yanked": false, "yanked_reason": null } ], "0.498": [ { "comment_text": "", "digests": { "md5": "f08c31f9b9aab7eb4591bc59e54fad6c", "sha256": "d2abfc36489b0e166e7c2279b77f2aada2fdececb830290d545ce1478c8dc34e" }, "downloads": -1, "filename": "musket_core-0.498-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f08c31f9b9aab7eb4591bc59e54fad6c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 165797, "upload_time": "2019-11-21T02:53:35", "upload_time_iso_8601": "2019-11-21T02:53:35.022555Z", "url": "https://files.pythonhosted.org/packages/a0/3d/32afb31f5346fb9cd900aaea8779cb4da38b81320c96f8bbec3f2f59d458/musket_core-0.498-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "83ea09e62ecd66e161ede904a90ded9a", "sha256": "66b8abc51003f8b47a9bc757aad2c15b3f7058b22bf0eb5ad041d53113a3bda5" }, "downloads": -1, "filename": "musket_core-0.498.tar.gz", "has_sig": false, "md5_digest": "83ea09e62ecd66e161ede904a90ded9a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 138214, "upload_time": "2019-11-21T02:53:38", "upload_time_iso_8601": "2019-11-21T02:53:38.935336Z", "url": "https://files.pythonhosted.org/packages/ab/03/a67517a7aa0861c632bdaf1a470582556f42e0c62fe11de5ed1f23caab35/musket_core-0.498.tar.gz", "yanked": false, "yanked_reason": null } ], "0.5": [ { "comment_text": "", "digests": { "md5": "5d47100293168f11e32a24509621bd92", "sha256": "1e7dbe5a120974c35a7ae8d34375cdeffccad23f394dbed23194af3ba31d8f5a" }, "downloads": -1, "filename": "musket_core-0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5d47100293168f11e32a24509621bd92", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 131538, "upload_time": "2019-09-26T17:38:55", "upload_time_iso_8601": "2019-09-26T17:38:55.410050Z", "url": "https://files.pythonhosted.org/packages/33/0f/d9149152756eee91c10471c475fcccf1963bb95b02a99bc1bc1a45718356/musket_core-0.5-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "4d0bc1fe394734f6a87d03e1acf42ca9", "sha256": "ea8fcf2f213d81ff6d6c1efe8ce1d614aee41db139eabf60d2e3dc7194244951" }, "downloads": -1, "filename": "musket_core-0.5.tar.gz", "has_sig": false, "md5_digest": "4d0bc1fe394734f6a87d03e1acf42ca9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 111995, "upload_time": "2019-09-26T17:40:09", "upload_time_iso_8601": "2019-09-26T17:40:09.450689Z", "url": "https://files.pythonhosted.org/packages/59/62/d460432454b8e2ffc6d3a4f4ede095b6c755c58100dfd6973bb6f8a867e0/musket_core-0.5.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f08c31f9b9aab7eb4591bc59e54fad6c", "sha256": "d2abfc36489b0e166e7c2279b77f2aada2fdececb830290d545ce1478c8dc34e" }, "downloads": -1, "filename": "musket_core-0.498-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f08c31f9b9aab7eb4591bc59e54fad6c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 165797, "upload_time": "2019-11-21T02:53:35", "upload_time_iso_8601": "2019-11-21T02:53:35.022555Z", "url": "https://files.pythonhosted.org/packages/a0/3d/32afb31f5346fb9cd900aaea8779cb4da38b81320c96f8bbec3f2f59d458/musket_core-0.498-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "83ea09e62ecd66e161ede904a90ded9a", "sha256": "66b8abc51003f8b47a9bc757aad2c15b3f7058b22bf0eb5ad041d53113a3bda5" }, "downloads": -1, "filename": "musket_core-0.498.tar.gz", "has_sig": false, "md5_digest": "83ea09e62ecd66e161ede904a90ded9a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 138214, "upload_time": "2019-11-21T02:53:38", "upload_time_iso_8601": "2019-11-21T02:53:38.935336Z", "url": "https://files.pythonhosted.org/packages/ab/03/a67517a7aa0861c632bdaf1a470582556f42e0c62fe11de5ed1f23caab35/musket_core-0.498.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }