{ "info": { "author": "Alex Rubinsteyn, Arman Aksoy, Julia Kodysh", "author_email": "alex.rubinsteyn@mssm.edu", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Science/Research", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Scientific/Engineering :: Bio-Informatics" ], "description": "\n \"Build\n\n\n \"Coverage\n\n\n \"PyPI\"\n\n\n# Isovar\n\n* [Overview](#overview)\n* [Python API](#python-api)\n* [Commandline](#commandline)\n* [Internal Design](#internal-design)\n* [Other Isovar Commandline Tools](#other-isovar-commandline-tools)\n* [Sequencing Recommendations](#sequencing-recommendations)\n\n## Overview\nIsovar determines mutant protein subsequences around mutations from cancer RNAseq data.\n\nIsovar works by:\n\n 1) collecting RNA reads which spanning the location of a variant,\n\n 2) filtering the RNA reads to those which support the mutation,\n\n 3) assembling mutant reads into longer coding sequences, \n\n 4) matching mutant coding sequences against reference annotated reading\nframes, and\n\n 5) translating coding sequences determined directly from RNA into mutant protein sequences.\n\nThe assembled coding sequences may incorporate proximal \n(germline and somatic) variants, along with any splicing alterations \nwhich occur due to modified splice signals.\n\n## Python API\n\nIn the example below, `isovar.run_isovar` returns a list of `isovar.IsovarResult` objects. \nEach of these objects corresponds to a single input variant and contains all of the information about the RNA evidence at that variant's location and any mutant protein sequences which were assembled for the variant.\n\n```python\n\nfrom isovar import run_isovar\n\nisovar_results = run_isovar(\n variants=\"cancer-mutations.vcf\",\n alignment_file=\"tumor-rna.bam\")\n \n# this code traverses every variant and prints the number\n# of RNA reads which support the alt allele for variants\n# which had a successfully assembled/translated protein sequence\nfor isovar_result in isovar_results:\n # if any protein sequences were assembled from RNA\n # then the one with most supporting reads can be\n # accessed from a property called `top_protein_sequence`.\n if isovar_result.top_protein_sequence is not None:\n # print number of distinct fragments supporting the\n # the variant allele for this mutation\n print(isovar_result.variant, isovar_result.num_alt_fragments)\n \n```\n\nA collection of `IsovarResult` objects can also be flattened into a Pandas DataFrame:\n\n```python\n\nfrom isovar import run_isovar, isovar_results_to_dataframe\n\ndf = isovar_results_to_dataframe(\n run_isovar(\n variants=\"cancer-mutations.vcf\",\n alignment_file=\"tumor-rna.bam\"))\n```\n\n\n### Python API options for collecting RNA reads\n\nTo change how Isovar collects and filters RNA reads you can create\nyour own instance of the `isovar.ReadCollector` class and pass it to `run_isovar`.\n```python\nfrom isovar import run_isovar, ReadCollector\n\n# create a custom ReadCollector to change options for how RNA reads are processed\nread_collector = ReadCollector(\n use_duplicate_reads=True,\n use_secondary_alignments=True, \n use_soft_clipped_bases=True)\n\nisovar_results = run_isovar(\n variants=\"cancer-mutations.vcf\",\n alignment_file=\"tumor-rna.bam\",\n read_collector=read_collector)\n\n````\n\n\n### Python API options for coding sequence assembly and translation\n\nTo change how Isovar assembles RNA reads into coding sequences, determines their\nreading frames, and groups translated amino acid sequences you can create your\nown instance of the `isovar.ProteinSequenceCreator` class and pass it to `run_isovar`.\n\n\n```python\nfrom isovar import run_isovar, ProteinSequenceCreator\n\n# create a custom ProteinSequenceCreator to change options for how\n# protein sequences are assembled from RNA reads\nprotein_sequence_creator = ProteinSequenceCreator(\n # number of amino acids we're aiming for, coding sequences\n # might still give us a shorter sequence due to an early stop \n # codon or poor coverage\n protein_sequence_length=30,\n # minimum number of reads covering each base of the coding sequence\n min_variant_sequence_coverage=2,\n # how much of a reference transcript should a coding sequence match before\n # we use it to establish a reading frame\n min_transcript_prefix_length=20,\n # how many mismatches allowed between coding sequence (before the variant)\n # and transcript (before the variant location)\n max_transcript_mismatches=2,\n # also count mismatches after the variant location toward\n # max_transcript_mismatches\n count_mismatches_after_variant=False,\n # if more than one protein sequence can be assembled for a variant\n # then drop any beyond this number \n max_protein_sequences_per_variant=1,\n # if set to False then coding sequence will be derived from\n # a single RNA read with the variant closest to its center\n variant_sequence_assembly=True,\n # how many nucleotides must two reads overlap before they are combined\n # into a single coding sequence\n min_assembly_overlap_size=30)\n\nisovar_results = run_isovar(\n variants=\"cancer-mutations.vcf\",\n alignment_file=\"tumor-rna.bam\",\n protein_sequence_creator=protein_sequence_creator)\n```\n\n### Python API for filtering results\n\nYou can filter a collection of `IsovarResult` objects by any of their numerical properties using the `filter_thresholds` option\nof the `run_isovar` function. The value expected for this argument is a dictionary whose keys have named like `'min_fraction_ref_reads'` or `'max_num_alt_fragments'` and whose values are numerical thresholds.\nEverything after the `'min_'` or `'max_'` at the start of a key is expected to be the name of a property of `IsovarResult`. \nMany of the commonly accessed properties regarding RNA read evidence follow the pattern: \n```\n{num|fraction}_{ref|alt|other}_{reads|fragments} \n```\n\nFor example, in the following code the results are filtered to have 10 or more alt reads supporting a variant and no more than 25% of the fragments supporting an allele other than the ref or alt.\n```python\nfrom isovar import run_isovar\n\nisovar_results = run_isovar(\n variants=\"cancer-mutations.vcf\",\n alignment_file=\"tumor-rna.bam\",\n filter_thresholds={\"min_num_alt_reads\": 10, \"max_fraction_other_fragments\": 0.25}) \n\nfor isovar_result in isovar_results:\n # print each variant and whether it passed both filters\n print(isovar_result.variant, isovar_result.passes_all_filters)\n```\n\nA variant which fails one or more filters is not excluded from the result collection but it has `False` values in its corresponding \n`filter_values` dictionary property and will have a `False` value for the `passes_all_filters` property. \n\nIf a result collection is flattened into a DataFrame then each filter is included as a column. \n\nIt's also possible to filter on boolean properties (without numerical thresholds) by passing `filter_flags` to `run_isovar`. These boolean\nproperties can be further negated by prepending 'not_' to the property name, so that both `'protein_sequence_matches_predicted_effect'` and `'not_protein_sequence_matches_predicted_effect'` are valid names for `filter_flags`.\n\n## Commandline \n\nBasic example:\n\n```sh\n$ isovar \\\n --vcf somatic-variants.vcf \\\n --bam rnaseq.bam \\\n --protein-sequence-length 30 \\\n --output isovar-results.csv\n```\n\n### Commandline options for loading variants\n\n###\n```\n --vcf VCF Genomic variants in VCF format\n \n --maf MAF Genomic variants in TCGA's MAF format\n \n --variant CHR POS REF ALT\n Individual variant as 4 arguments giving chromsome,\n position, ref, and alt. Example: chr1 3848 C G. Use\n '.' to indicate empty alleles for insertions or\n deletions.\n \n --genome GENOME What reference assembly your variant coordinates are\n using. Examples: 'hg19', 'GRCh38', or 'mm9'. This\n argument is ignored for MAF files, since each row\n includes the reference. For VCF files, this is used if\n specified, and otherwise is guessed from the header.\n For variants specfied on the commandline with\n --variant, this option is required.\n \n --download-reference-genome-data\n Automatically download genome reference data required\n for annotation using PyEnsembl. Otherwise you must\n first run 'pyensembl install' for the release/species\n corresponding to the genome used in your VCF.\n \n --json-variants JSON_VARIANTS\n Path to Varcode.VariantCollection object serialized as\n a JSON file.\n\n```\n\n### Commandline options for loading aligned tumor RNA-seq reads\n\n```\n --bam BAM BAM file containing RNAseq reads\n \n --min-mapping-quality MIN_MAPPING_QUALITY\n Minimum MAPQ value to allow for a read (default 1)\n \n --use-duplicate-reads\n By default, reads which have been marked as duplicates\n are excluded.Use this option to include duplicate\n reads.\n \n --drop-secondary-alignments\n By default, secondary alignments are included in\n reads, use this option to instead only use primary\n alignments.\n```\n\n### Commandline options for coding sequence assembly\n```\n --min-variant-sequence-coverage MIN_VARIANT_SEQUENCE_COVERAGE\n Minimum number of reads supporting a variant sequence\n (default 2)\n \n --disable-variant-sequence-assembly\n Disable assemble variant cDNA sequence from\n overlapping reads\n```\n\n### Commandline options for translating cDNA to protein sequence\n```\n --protein-sequence-length PROTEIN_SEQUENCE_LENGTH\n \n --max-reference-transcript-mismatches MAX_REFERENCE_TRANSCRIPT_MISMATCHES\n Maximum number of mismatches between variant sequence\n reference sequence before a candidate reading frame is\n ignored.\n \n --count-mismatches-after-variant\n If true, mismatches after the variant locus will count\n toward the --max-reference-transcript-mismatches\n filter.\n \n --min-transcript-prefix-length MIN_TRANSCRIPT_PREFIX_LENGTH\n Number of nucleotides before the variant we try to\n match against a reference transcript. Values greater\n than zero exclude variants near the start codon of\n transcripts without 5' UTRs.\n \n --max-protein-sequences-per-variant MAX_PROTEIN_SEQUENCES_PER_VARIANT\n\n```\n\n### Commandline options for filtering \n\n```\n --min-alt-rna-reads MIN_ALT_RNA_READS\n Minimum number of reads supporting variant allele\n (default 3)\n\n --min-alt-rna-fragments MIN_ALT_RNA_FRAGMENTS\n Minimum number of fragments supporting variant allele\n (default 2). Note that this option is the same as\n --min-alt-rna-reads for single-end sequencing.\n\n --min-alt-rna-fraction MIN_ALT_RNA_FRACTION\n Minimum ratio of fragments supporting variant allele\n to total RNA fragments (default 0.005).\n\n --min-ratio-alt-to-other-fragments MIN_RATIO_ALT_TO_OTHER_FRAGMENTS\n At loci where alleles other than the ref and a single\n alt are supported, this parameter controls how many\n more times fragments supporting the variant allele are\n required relative to other non-reference alleles\n (default 3.0).\n```\n\n### Commandline options for writing an output CSV\n\n```\n --output OUTPUT Output CSV file\n \n --output-columns OUTPUT_COLUMNS [OUTPUT_COLUMNS ...]\n Subset of columns to write\n\n```\n\n\n\n## Internal Design\n\n![](isovar_design.png)\n\nThe inputs to Isovar are one or more somatic variant call (VCF) files, along with a BAM file \ncontaining aligned tumor RNA reads. The following objects are used to aggregate information within Isovar:\n\n* [LocusRead](https://github.com/openvax/isovar/blob/master/isovar/locus_read.py): Isovar examines each variant locus and extracts reads overlapping that locus, \nrepresented by `LocusRead`. The `LocusRead` representation allows filtering based\non quality and alignment criteria (e.g. MAPQ > 0) which are thrown away in later stages\nof Isovar. \n\n* [AlleleRead](https://github.com/openvax/isovar/blob/master/isovar/allele_read.py): Once `LocusRead` objects have been filtered, they are converted into a simplified \nrepresentation called `AlleleRead`. Each `AlleleRead` contains only the cDNA sequences \n*before*, *at*, and *after* the variant locus. \n\n* [ReadEvidence](https://github.com/openvax/isovar/blob/master/isovar/read_evidence.py): \nThe set of `AlleleRead` objects overlapping a mutation's location may support many different\ndistinct allele. The `ReadEvidence` type represents the grouping of these reads into\n*ref*, *alt* and *other* `AlleleRead` sets, where *ref* reads agree with the reference\n sequence, *alt* reads agree with the given mutation, and *other* reads contain all\n non-ref/non-alt alleles. The *alt* reads will be used later to determine\na mutant coding sequence, but the *ref* and *other* groups are also kept in case they are\nuseful for filtering. \n\n* [VariantSequence](https://github.com/openvax/isovar/blob/master/isovar/variant_sequence.py):\nOverlapping `AlleleRead`s containing the same mutation are assembled into a longer\nsequence. The `VariantSequence` object represents this candidate coding sequence, as well\nas all the `AlleleRead` objects which were used to create it.\n\n* [ReferenceContext](https://github.com/openvax/isovar/blob/master/isovar/reference_context.py): To determine the reading frame in which to translate a `VariantSequence`, Isovar\nlooks at all Ensembl annotated transcripts overlapping the locus and collapses them\n into one or more `ReferenceContext` object. Each `ReferenceContext` represents the \n cDNA sequence upstream of the variant locus and in which of the {0, +1, +2} reading frames\n it is translated. \n\n* [Translation](https://github.com/openvax/isovar/blob/master/isovar/translation.py): Use the reading frame from a `ReferenceContext` to translate a `VariantSequence` \ninto a protein fragment, represented by `Translation`.\n\n* [ProteinSequence](https://github.com/openvax/isovar/blob/master/isovar/protein_sequence.py):\nMultiple distinct variant sequences and reference contexts can generate the same translations, so we aggregate those equivalent `Translation` objects into a `ProteinSequence`.\n\n* [IsovarResult](https://github.com/openvax/isovar/blob/master/isovar/isovar_result.py): Since a single variant locus might have reads which assemble into multiple incompatible coding sequences, an `IsovarResult` represents a variant and one or more `ProteinSequence` objects which are associated with it. We typically don't want to deal with *every* possible translation of *every* distinct sequence detected around a variant, so the protein sequences are sorted by their number of supporting fragments and the best protein sequence is made easy to access. The `IsovarResult` object also has many informative properties such `num_alt_fragments`, `fraction_ref_reads`, &c. \n\n\n## Other Isovar Commandline Tools\n\n
\n
isovar-protein-sequences --vcf variants.vcf --bam rna.bam
\n
All protein sequences which can be assembled from RNA reads for any of the given variants.
\n\n
isovar-allele-counts --vcf variants.vcf --bam rna.bam
\n
Counts of reads and fragments supporting the ref, alt, and other alleles at all given variant locations.
\n\n
isovar-allele-reads --vcf variants.vcf --bam rna.bam
\n
Sequences of all reads overlapping any of the given variants.
\n \n
isovar-translations --vcf variants.vcf --bam rna.bam
\n
All possible translations of any assembled cDNA sequence containing any of the given variants in the reference frame of any matching transcript.
\n\n
isovar-reference-contexts --vcf variants.vcf
\n
Shows all candidate reference contexts (sequence and reading frame) before each variant, derived from overlapping reference coding transcripts.
\n\n
isovar-variant-reads --vcf variants.vcf --bam rna.bam
\n
Like the isovar-allele-reads command but limited only to reads which support the alt allele.
\n\n
isovar-variant-sequences --vcf variants.vcf --bam rna.bam
\n
Shows all assembled cDNA coding sequences supporting any of the given variants.
\n
\n\n## Sequencing Recommendations\n\nIsovar works best with high quality / high coverage mRNA sequence data. \nThis means that you will get best results from >100M paired-end reads sequenced on an \nIllumina HiSeq from a library enriched with poly-A capture. The number of reads varies \ndepending on degree of RNA degradation and tumor purity. The read length will determine \nthe longest protein sequence you can recover, since Isovar's cDNA assembly only \nconsiders reads that overlap a variant. With 100bp reads you will be able to assemble\nat most 199bp of sequence around a somatic single nucleotide variant, and consequently \nonly be to determine 66 amino acids from the protein sequence. If you disable the cDNA \nassembly algorithm then a 100bp read will only be able to determine 33 amino acids.", "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/openvax/isovar", "keywords": "", "license": "http://www.apache.org/licenses/LICENSE-2.0.html", "maintainer": "", "maintainer_email": "", "name": "isovar", "package_url": "https://pypi.org/project/isovar/", "platform": "", "project_url": "https://pypi.org/project/isovar/", "project_urls": { "Homepage": "https://github.com/openvax/isovar" }, "release_url": "https://pypi.org/project/isovar/1.1.1/", "requires_dist": null, "requires_python": "", "summary": "Determine mutant protein sequences from RN using assembly around variants", "version": "1.1.1", "yanked": false, "yanked_reason": null }, "last_serial": 7997964, "releases": { "0.0.5": [ { "comment_text": "", "digests": { "md5": "4ea76990f809a286ffb5bc628626919c", "sha256": "8b4ea15ecdb8eb81c91c75cd14a12a52cd46805b60a4df7916b68c68528d5cc5" }, "downloads": -1, "filename": "isovar-0.0.5.tar.gz", "has_sig": false, "md5_digest": "4ea76990f809a286ffb5bc628626919c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39140, "upload_time": "2016-06-10T20:35:00", "upload_time_iso_8601": "2016-06-10T20:35:00.669626Z", "url": "https://files.pythonhosted.org/packages/b6/80/350ac9b97f7c872d7f2422a11bdb228a0286661fe2983884724735bff630/isovar-0.0.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "a4fd673f19801e58c75aa6037b87965b", "sha256": "ff9bd3e75528ce05eb68e63cf0bbfde925450332b01a0cbb5528c74ca9fe315c" }, "downloads": -1, "filename": "isovar-0.0.6.tar.gz", "has_sig": false, "md5_digest": "a4fd673f19801e58c75aa6037b87965b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39150, "upload_time": "2016-06-14T14:33:11", "upload_time_iso_8601": "2016-06-14T14:33:11.355628Z", "url": "https://files.pythonhosted.org/packages/09/7c/e80ccfcab66948d3c69dd70159439be76843cfcc08421a7b0e50248a6c34/isovar-0.0.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "a50462ca3773209bb0715b2907e7b7b6", "sha256": "7f27e6a1cfef46e7bbc082421ebabaf2d33c7a40bbfa662862333fdc231c76b8" }, "downloads": -1, "filename": "isovar-0.1.0.tar.gz", "has_sig": false, "md5_digest": "a50462ca3773209bb0715b2907e7b7b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43158, "upload_time": "2016-07-04T02:59:35", "upload_time_iso_8601": "2016-07-04T02:59:35.858718Z", "url": "https://files.pythonhosted.org/packages/ac/c8/a208dbd44c8e1010147b662a62fc5cb4114024eebb5a47dd9da1beca8aa8/isovar-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "7998f3c4671041a485bb206af7016829", "sha256": "14839dea5ecd8f3387443d04a70a104c7dcae7c51dd20f9912dcd63592cef885" }, "downloads": -1, "filename": "isovar-0.1.3.tar.gz", "has_sig": false, "md5_digest": "7998f3c4671041a485bb206af7016829", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43268, "upload_time": "2016-07-05T14:41:49", "upload_time_iso_8601": "2016-07-05T14:41:49.080718Z", "url": "https://files.pythonhosted.org/packages/f8/2c/7217a7fe510804c536a379cf7e66cf92fb056bb5d9a552de1d4774d6fe12/isovar-0.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "591ff3829b907c3a41ce29883bd03e23", "sha256": "42384cd8f112fd174b93478100b30e340f9913249bcd80ec0e3c41d35acc66a9" }, "downloads": -1, "filename": "isovar-0.1.5.tar.gz", "has_sig": false, "md5_digest": "591ff3829b907c3a41ce29883bd03e23", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43866, "upload_time": "2016-08-02T20:12:23", "upload_time_iso_8601": "2016-08-02T20:12:23.127521Z", "url": "https://files.pythonhosted.org/packages/1d/1f/d51e079dd9a1d9c572405e64b25feffdcdeefac96786451d4caa1bab671e/isovar-0.1.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "268459572450c1a3f784f185f728c288", "sha256": "c6be73c69b4275d467125a3e21fe2e611680194fddadc846010a12f9e59159ea" }, "downloads": -1, "filename": "isovar-0.2.0.tar.gz", "has_sig": false, "md5_digest": "268459572450c1a3f784f185f728c288", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43888, "upload_time": "2016-08-06T03:01:18", "upload_time_iso_8601": "2016-08-06T03:01:18.487582Z", "url": "https://files.pythonhosted.org/packages/ff/ae/5df86c7a7f4449949dfc43961e50ac47963582c303b40659a1762feb14c2/isovar-0.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "867d845853d4305812ba334d15ec9740", "sha256": "44c15a74c0f438a6b8c218c3728abe6e010008033a5bd96ab88ac91b84d4f913" }, "downloads": -1, "filename": "isovar-0.2.1.tar.gz", "has_sig": false, "md5_digest": "867d845853d4305812ba334d15ec9740", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44529, "upload_time": "2016-09-16T01:07:39", "upload_time_iso_8601": "2016-09-16T01:07:39.798660Z", "url": "https://files.pythonhosted.org/packages/ab/e1/110b3dab08491c53f28a69c65c9effd112c0ae4a9412a6ff3328655dee91/isovar-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "6b317921e157a5d8a07b2c8a1b922846", "sha256": "7e8bf883539d8c2a6abbd8a9990fcdb6c7437e9d2ec79115a5e60c59db828ee0" }, "downloads": -1, "filename": "isovar-0.2.2.tar.gz", "has_sig": false, "md5_digest": "6b317921e157a5d8a07b2c8a1b922846", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44518, "upload_time": "2016-09-23T18:43:37", "upload_time_iso_8601": "2016-09-23T18:43:37.094465Z", "url": "https://files.pythonhosted.org/packages/03/ac/1627b0180ffd2aff813066e0f455d65c49d13e1774e944dfc29726c247b0/isovar-0.2.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "e427c8a8dbd61490c205057c9e9b03fc", "sha256": "e65c1f1ccda0022b405216e0723559ed999b7c24cbc4362a9f36f8e0da69932f" }, "downloads": -1, "filename": "isovar-0.2.3.tar.gz", "has_sig": false, "md5_digest": "e427c8a8dbd61490c205057c9e9b03fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44615, "upload_time": "2016-10-13T17:45:19", "upload_time_iso_8601": "2016-10-13T17:45:19.416105Z", "url": "https://files.pythonhosted.org/packages/72/bf/82e36d137b0866be27e0a27c1545fa4fb0b519e1aac31734b239fff5bff9/isovar-0.2.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "17093d3ae6c0ee0e25592518820ca9b7", "sha256": "95037eecdfff842c18a3c7e8387aae9955ecc885bf878da4f524b16d6fb16c4e" }, "downloads": -1, "filename": "isovar-0.2.4.tar.gz", "has_sig": false, "md5_digest": "17093d3ae6c0ee0e25592518820ca9b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44717, "upload_time": "2016-10-13T20:40:32", "upload_time_iso_8601": "2016-10-13T20:40:32.544043Z", "url": "https://files.pythonhosted.org/packages/ef/24/21c68468b0b1130123aadc8451be794806adf0ebc7a63f8eb0e0ad30fca3/isovar-0.2.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "f07f1a7aad400a1ea18802970b376a37", "sha256": "afc88c76b24d74cd7c524bf7f95fff271725580afbf0dd1be3580ecc952d0d87" }, "downloads": -1, "filename": "isovar-0.4.0.tar.gz", "has_sig": false, "md5_digest": "f07f1a7aad400a1ea18802970b376a37", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55424, "upload_time": "2016-11-17T23:26:06", "upload_time_iso_8601": "2016-11-17T23:26:06.690602Z", "url": "https://files.pythonhosted.org/packages/d7/d7/b4749eb20a87bd034eae20ee564eb8d69a109a3c74ddfd0044a4ad9e4d0a/isovar-0.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "1de4281900bb46185283abd95e755840", "sha256": "316fabbf98c1c7d13fb919568064c42a223e1b1d0697582f76b50a6fb4caeb69" }, "downloads": -1, "filename": "isovar-0.5.0.tar.gz", "has_sig": false, "md5_digest": "1de4281900bb46185283abd95e755840", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58351, "upload_time": "2016-11-25T19:31:39", "upload_time_iso_8601": "2016-11-25T19:31:39.397592Z", "url": "https://files.pythonhosted.org/packages/1e/5a/5dc4f54bb9d10f3bd3755b5e87bfd51b33f5c538b69af6d807509698a297/isovar-0.5.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "1a96f66d7a9abac0f42e1a231b4d545c", "sha256": "8b5a18823fb0cf804aa9be8fef3741d522516c187063f4c9573c9a815ee89fa6" }, "downloads": -1, "filename": "isovar-0.5.2.tar.gz", "has_sig": false, "md5_digest": "1a96f66d7a9abac0f42e1a231b4d545c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59293, "upload_time": "2016-12-02T02:01:27", "upload_time_iso_8601": "2016-12-02T02:01:27.626808Z", "url": "https://files.pythonhosted.org/packages/c9/a1/c06698d8df3d589ba44819394d4c78273c81d6472135fe96ce73b01f33b3/isovar-0.5.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "f2bdb8e802ad15c5388eacb179bc438a", "sha256": "ec17ab2f0074dccc7a1f415dce68dbfed45fcc9cb8bf91348b5719b09440f21a" }, "downloads": -1, "filename": "isovar-0.6.0.tar.gz", "has_sig": false, "md5_digest": "f2bdb8e802ad15c5388eacb179bc438a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60222, "upload_time": "2017-01-18T17:54:47", "upload_time_iso_8601": "2017-01-18T17:54:47.342285Z", "url": "https://files.pythonhosted.org/packages/19/c9/6e8f71fb30ac619216f5ccbf0a444ba2cf19fc0e9955c5d1ef8984e01264/isovar-0.6.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "d3f837de936c7a9cf8302c3622e2d939", "sha256": "4096fcd21243a816305d14cc1bc9770692673610164f7765dd1262e564d1eb06" }, "downloads": -1, "filename": "isovar-0.6.1.tar.gz", "has_sig": false, "md5_digest": "d3f837de936c7a9cf8302c3622e2d939", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60314, "upload_time": "2017-05-24T21:03:27", "upload_time_iso_8601": "2017-05-24T21:03:27.245731Z", "url": "https://files.pythonhosted.org/packages/a2/c7/c98501932e9bf937a69d9f13cd3cdc91b92936520f2f27d3c3961bf14c2f/isovar-0.6.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "0d57cbfe86a50cfbca54eafcbb0d78ba", "sha256": "d5e22cefdfe9d6d719265034c045b075b449722e4cf221f6ff9626910befdd3e" }, "downloads": -1, "filename": "isovar-0.7.0.tar.gz", "has_sig": false, "md5_digest": "0d57cbfe86a50cfbca54eafcbb0d78ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60448, "upload_time": "2017-06-21T23:33:43", "upload_time_iso_8601": "2017-06-21T23:33:43.147384Z", "url": "https://files.pythonhosted.org/packages/b3/6e/66e364fe1888d0a1c57e34142d1a10c17c2a74fec1d2ac2229c7f8405ec3/isovar-0.7.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "dfb9e1589112abc507bdf0fee3d1cc0e", "sha256": "d02b2b55d2c17f5c9572efa64cfbe9be0f977873388cc178f5cf53c342a79e32" }, "downloads": -1, "filename": "isovar-0.7.1.tar.gz", "has_sig": false, "md5_digest": "dfb9e1589112abc507bdf0fee3d1cc0e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61867, "upload_time": "2018-02-21T21:00:24", "upload_time_iso_8601": "2018-02-21T21:00:24.287690Z", "url": "https://files.pythonhosted.org/packages/27/84/9251647726f83d32a9af94b54e9faacd046b9ecca0cd415f436acde977b9/isovar-0.7.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "71eb01b930f8fd47af732a4727346b03", "sha256": "1b1de7e58b622847e4bd50b984e51ea5a1250e7d9e96cf985ef1ddc16c4c9dcf" }, "downloads": -1, "filename": "isovar-0.7.2.tar.gz", "has_sig": false, "md5_digest": "71eb01b930f8fd47af732a4727346b03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62047, "upload_time": "2018-02-23T19:04:45", "upload_time_iso_8601": "2018-02-23T19:04:45.368992Z", "url": "https://files.pythonhosted.org/packages/b0/1c/c0f91c7c46aac659e075d34e0d55a05c5dbfd38727a4ee39911f6bf7d1e6/isovar-0.7.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "7793fbca479170493a2f78fdf02cb424", "sha256": "691a6afd8b1b1d9f7641e6f9cf222ee9c4848d34dbc8d5972d321aaddcb1fd40" }, "downloads": -1, "filename": "isovar-0.7.3.tar.gz", "has_sig": false, "md5_digest": "7793fbca479170493a2f78fdf02cb424", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62043, "upload_time": "2018-02-26T17:00:23", "upload_time_iso_8601": "2018-02-26T17:00:23.491236Z", "url": "https://files.pythonhosted.org/packages/0e/f2/dc74cc8ce342d8ea408452ebda0ad498f1879c28e2d01b42f96e8ea7cba1/isovar-0.7.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.7.4": [ { "comment_text": "", "digests": { "md5": "e798ff15621ae97dc0bac94550cccb5c", "sha256": "25755c3d3dd8318e8d270aff73018a055e3c6529c8e2cc7f19132b11bd07f901" }, "downloads": -1, "filename": "isovar-0.7.4.tar.gz", "has_sig": false, "md5_digest": "e798ff15621ae97dc0bac94550cccb5c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62101, "upload_time": "2018-02-26T19:53:19", "upload_time_iso_8601": "2018-02-26T19:53:19.135003Z", "url": "https://files.pythonhosted.org/packages/0d/3c/f7108c0b1aba27d58b30075287874b88b194cc34ba8938a89cfdc40fbc19/isovar-0.7.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.7.5": [ { "comment_text": "", "digests": { "md5": "e21bf6947144dc1a9ad5b7e1f66e5cc1", "sha256": "0baae9610a7f92e81ed2363a7a2c53ca3e86c906002d2cb7e3b7d8211711df8e" }, "downloads": -1, "filename": "isovar-0.7.5.tar.gz", "has_sig": false, "md5_digest": "e21bf6947144dc1a9ad5b7e1f66e5cc1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62096, "upload_time": "2018-02-26T20:02:59", "upload_time_iso_8601": "2018-02-26T20:02:59.349433Z", "url": "https://files.pythonhosted.org/packages/71/d3/bae7fe9f6548b2a6f7824dd3eca34fab47971070b8a5559f1c8ba80f263a/isovar-0.7.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "4f5461793046a19672bc57051ff82207", "sha256": "1a3fb85efafdd25a722b48fa4ff1e666386c4170aaacef0590437f1a9781b10a" }, "downloads": -1, "filename": "isovar-0.8.0.tar.gz", "has_sig": false, "md5_digest": "4f5461793046a19672bc57051ff82207", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62812, "upload_time": "2018-05-20T19:50:26", "upload_time_iso_8601": "2018-05-20T19:50:26.983481Z", "url": "https://files.pythonhosted.org/packages/76/78/807f6ebeb5f5ecb974093a18e62e7cb70695d55289448df65495be290052/isovar-0.8.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "dab06e2fc61a3871711bda372ba35fc8", "sha256": "abdd8e330f701bafd11bfaea93b029dda46407b6d3af1173ca058b9b23be6e2f" }, "downloads": -1, "filename": "isovar-0.8.1.tar.gz", "has_sig": false, "md5_digest": "dab06e2fc61a3871711bda372ba35fc8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62977, "upload_time": "2018-05-20T20:19:42", "upload_time_iso_8601": "2018-05-20T20:19:42.727926Z", "url": "https://files.pythonhosted.org/packages/8d/8d/231aa93b4e2668cb701253e8b3b62c0a8cf0d76d5570ebd80999ee1d1240/isovar-0.8.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.2": [ { "comment_text": "", "digests": { "md5": "45f3f39f0b91d17980723521cc6f2c2b", "sha256": "cd497c9da5ef905817067fb6227f3ce82210e9ac94c29328fa2a718767b947f4" }, "downloads": -1, "filename": "isovar-0.8.2.tar.gz", "has_sig": false, "md5_digest": "45f3f39f0b91d17980723521cc6f2c2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63319, "upload_time": "2018-05-21T15:59:30", "upload_time_iso_8601": "2018-05-21T15:59:30.485131Z", "url": "https://files.pythonhosted.org/packages/37/33/79dad79cecfc192bdbd65593c0ebf693ab7ca44aeba59f6fcda3e2933f21/isovar-0.8.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.3": [ { "comment_text": "", "digests": { "md5": "ada796958384625711003af1097c6e00", "sha256": "058d80ecce80e038f422f40194a771256fd160f999fc9960f4193057b6ca5b33" }, "downloads": -1, "filename": "isovar-0.8.3.tar.gz", "has_sig": false, "md5_digest": "ada796958384625711003af1097c6e00", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63397, "upload_time": "2018-05-21T16:57:11", "upload_time_iso_8601": "2018-05-21T16:57:11.390311Z", "url": "https://files.pythonhosted.org/packages/8c/ab/99e3ac9a148d0acd27abf5e6d640eba635cdfdeacd876bee1bf27c0bf05f/isovar-0.8.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.5": [ { "comment_text": "", "digests": { "md5": "bf6d3f402b35b93ad83f35c468ba43f0", "sha256": "da09d3b613bbca7e1a071898f42eb8d95a3894619fb4f110b183ccf615d48cb0" }, "downloads": -1, "filename": "isovar-0.8.5.tar.gz", "has_sig": false, "md5_digest": "bf6d3f402b35b93ad83f35c468ba43f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 64994, "upload_time": "2018-07-30T19:44:34", "upload_time_iso_8601": "2018-07-30T19:44:34.626337Z", "url": "https://files.pythonhosted.org/packages/da/ed/1f4d8fed9c2cc26b80124726bd7dd40d4f5b7e5b8afdadb8a62077bd58a1/isovar-0.8.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "1de336930be29c6f8f6dbe75ec7e0383", "sha256": "07419044b6349800ca8f0c88299e86f321e41984259547cbf59fe6d6ac97c837" }, "downloads": -1, "filename": "isovar-0.9.0.tar.gz", "has_sig": false, "md5_digest": "1de336930be29c6f8f6dbe75ec7e0383", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63385, "upload_time": "2018-07-31T18:31:05", "upload_time_iso_8601": "2018-07-31T18:31:05.948624Z", "url": "https://files.pythonhosted.org/packages/54/91/402d3e534b4b063e6fbba41ae872627ed3e67b0ad1246f9721eb652f2237/isovar-0.9.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "06af5d7887beae8ac61dd4e4f8facfc4", "sha256": "7cd693e678c8cce1dcec56ddfed27c3f48d68fd03781f1343f1bff450fb640c2" }, "downloads": -1, "filename": "isovar-1.0.0.tar.gz", "has_sig": false, "md5_digest": "06af5d7887beae8ac61dd4e4f8facfc4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 86755, "upload_time": "2019-06-12T20:13:51", "upload_time_iso_8601": "2019-06-12T20:13:51.567886Z", "url": "https://files.pythonhosted.org/packages/d4/ac/f45056b97d888ecc95ce3694d270a08c9610eb45823c0ca6a907a156d7f5/isovar-1.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "a7b4f37c6aabaee670f9da1d4b752e9f", "sha256": "e0baa4e652d2d47a64c148bbe10e3ee802aa9e1daa61f60c0af6f1658aa4c4f7" }, "downloads": -1, "filename": "isovar-1.0.1.tar.gz", "has_sig": false, "md5_digest": "a7b4f37c6aabaee670f9da1d4b752e9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 87077, "upload_time": "2019-06-16T00:04:31", "upload_time_iso_8601": "2019-06-16T00:04:31.660648Z", "url": "https://files.pythonhosted.org/packages/92/cd/3ee3c6155d5471cdb712ccc2c59e19ebfc896ace3adbb322d26bd45dace9/isovar-1.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.10": [ { "comment_text": "", "digests": { "md5": "5b0f56384e263a44c3aa0831ff86cf89", "sha256": "2c848a61ae7008f904da803a428a6b1c587eb882435a6a9e4a250dffd87a3dc4" }, "downloads": -1, "filename": "isovar-1.0.10.tar.gz", "has_sig": false, "md5_digest": "5b0f56384e263a44c3aa0831ff86cf89", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92296, "upload_time": "2019-08-21T19:10:28", "upload_time_iso_8601": "2019-08-21T19:10:28.409532Z", "url": "https://files.pythonhosted.org/packages/77/93/1198731f9a82344e62c506aae7498e62ee7d66b47d9a41044449775d981a/isovar-1.0.10.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "55712d74b25aa3be569325027491d69f", "sha256": "b8ae58ca5a43fe50e78005877237a7df6a4aa210c4f1d2449eaed982bb46a73a" }, "downloads": -1, "filename": "isovar-1.0.2.tar.gz", "has_sig": false, "md5_digest": "55712d74b25aa3be569325027491d69f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 87068, "upload_time": "2019-06-16T01:48:09", "upload_time_iso_8601": "2019-06-16T01:48:09.379891Z", "url": "https://files.pythonhosted.org/packages/77/2f/222f0d24e0baf292e4b87a9a0b1d0313668d649bbbbe3be1ede886a8e5eb/isovar-1.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "512b1ce8b5c557bdd18b8fe9e355d056", "sha256": "133c2b3f50b3ede1ea1e27e70fe9eb4dfea411521392d61d44e138fbfb6c5b0a" }, "downloads": -1, "filename": "isovar-1.0.3.tar.gz", "has_sig": false, "md5_digest": "512b1ce8b5c557bdd18b8fe9e355d056", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 88410, "upload_time": "2019-06-16T14:41:10", "upload_time_iso_8601": "2019-06-16T14:41:10.369394Z", "url": "https://files.pythonhosted.org/packages/28/32/2279cf21d9d31608c4169a18e26aefd82ff9ab6d8df8df54f860f31b0601/isovar-1.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "9747e3df71246e36ff0d8eeb4552a583", "sha256": "22a61b133a037265e365a5624b8e2fa279e5f175bc70e20f742ecf6fa458916c" }, "downloads": -1, "filename": "isovar-1.0.4.tar.gz", "has_sig": false, "md5_digest": "9747e3df71246e36ff0d8eeb4552a583", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 88388, "upload_time": "2019-06-16T17:48:27", "upload_time_iso_8601": "2019-06-16T17:48:27.982512Z", "url": "https://files.pythonhosted.org/packages/f5/cc/8d7a6eeebae8cf6d31df23bcf5dcb5f14aad7fd4ef12790393e16426da12/isovar-1.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "9bda401686a10462e3757e1b4583d608", "sha256": "682653bb73ab613883a87f14621d3ded081ffdb7d1142b854917b2b6f168c219" }, "downloads": -1, "filename": "isovar-1.0.5.tar.gz", "has_sig": false, "md5_digest": "9bda401686a10462e3757e1b4583d608", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 88490, "upload_time": "2019-06-17T19:22:11", "upload_time_iso_8601": "2019-06-17T19:22:11.598766Z", "url": "https://files.pythonhosted.org/packages/e2/e3/470ea2f19176ace9ea4b19d855e025456aa529748e30c1a66e3ad1874559/isovar-1.0.5.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "07424412f8241877453d58ada72f7817", "sha256": "2b0070b480aa2cf4294f1426b717fe0e62ea54f56a81255a2be087f1649f291f" }, "downloads": -1, "filename": "isovar-1.0.6.tar.gz", "has_sig": false, "md5_digest": "07424412f8241877453d58ada72f7817", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 89228, "upload_time": "2019-06-17T20:53:38", "upload_time_iso_8601": "2019-06-17T20:53:38.568229Z", "url": "https://files.pythonhosted.org/packages/0f/9f/358c17b6d0527e0b1ceb056d1b8fbb2bf0307d5181f32d4e72089bdce605/isovar-1.0.6.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "b1fb7539e58f79903104a594f43c22cf", "sha256": "ce64e0ebe6641ec7bd71533d18cd37ce8212f4e0b1eca1ab3e68832d8360753d" }, "downloads": -1, "filename": "isovar-1.0.7.tar.gz", "has_sig": false, "md5_digest": "b1fb7539e58f79903104a594f43c22cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 89286, "upload_time": "2019-06-18T14:58:48", "upload_time_iso_8601": "2019-06-18T14:58:48.293009Z", "url": "https://files.pythonhosted.org/packages/66/c1/95a0e55994915b6cbbf4bccbcafeb88b9db4838d7b934341bb97ff97b2e7/isovar-1.0.7.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "416b7ec3d81cd8369fea23eae145b5f4", "sha256": "feeb1cc83e912b10f5fc335ed299caf75630c11ed74541926d19c66429fbed03" }, "downloads": -1, "filename": "isovar-1.0.8.tar.gz", "has_sig": false, "md5_digest": "416b7ec3d81cd8369fea23eae145b5f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 90107, "upload_time": "2019-06-18T22:35:02", "upload_time_iso_8601": "2019-06-18T22:35:02.182081Z", "url": "https://files.pythonhosted.org/packages/80/db/7d4cdb69c95e6a6abbfabdff6145ad18a80125d4fb72ae90510c9547712c/isovar-1.0.8.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "2ae4f9e5d00bcbc35b3f8fb06948aef5", "sha256": "510cc125477050ceb47359be7e3dc216279f868393b700929715d9c17ae59a05" }, "downloads": -1, "filename": "isovar-1.0.9.tar.gz", "has_sig": false, "md5_digest": "2ae4f9e5d00bcbc35b3f8fb06948aef5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 90547, "upload_time": "2019-06-19T19:06:03", "upload_time_iso_8601": "2019-06-19T19:06:03.388665Z", "url": "https://files.pythonhosted.org/packages/72/8b/5c6413f8bdede23be5e966366bb79d158d4b2ccb6465f9718f86cdb17c1b/isovar-1.0.9.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "e268b38c529eba5b14aa8c7ff8b11b63", "sha256": "aa86213b8374ecbe7d0a9c5f3b52d03845288e2392dcc181f73a7b21af744411" }, "downloads": -1, "filename": "isovar-1.1.0.tar.gz", "has_sig": false, "md5_digest": "e268b38c529eba5b14aa8c7ff8b11b63", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94568, "upload_time": "2019-10-24T16:18:47", "upload_time_iso_8601": "2019-10-24T16:18:47.832152Z", "url": "https://files.pythonhosted.org/packages/c8/c4/bbc73d818113ef77f38866db48fef6fd04c82cdb90ec1a92415e98a7da3f/isovar-1.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "b69407f9c3f0599fe9df4549f0dff4f9", "sha256": "d21691f0c2612c7302b5624c8e3a772d63d87db6073a8832536561ae568dac0f" }, "downloads": -1, "filename": "isovar-1.1.1.tar.gz", "has_sig": false, "md5_digest": "b69407f9c3f0599fe9df4549f0dff4f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94652, "upload_time": "2020-08-19T18:59:05", "upload_time_iso_8601": "2020-08-19T18:59:05.188358Z", "url": "https://files.pythonhosted.org/packages/b5/1e/138d88128449d2753f828c169a45688e5d1c5b011544a83cdfa2e64af97a/isovar-1.1.1.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b69407f9c3f0599fe9df4549f0dff4f9", "sha256": "d21691f0c2612c7302b5624c8e3a772d63d87db6073a8832536561ae568dac0f" }, "downloads": -1, "filename": "isovar-1.1.1.tar.gz", "has_sig": false, "md5_digest": "b69407f9c3f0599fe9df4549f0dff4f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94652, "upload_time": "2020-08-19T18:59:05", "upload_time_iso_8601": "2020-08-19T18:59:05.188358Z", "url": "https://files.pythonhosted.org/packages/b5/1e/138d88128449d2753f828c169a45688e5d1c5b011544a83cdfa2e64af97a/isovar-1.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }