{ "info": { "author": "schlerp", "author_email": "schlerpderpson@gmail.com", "bugtrack_url": null, "classifiers": [ "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Programming Language :: Python" ], "description": "pyfsig\n======\n\nA python library for identifying files by headers (magic bytes)\n\nbased on info from: `'Wikipedia - List of file\nsignatures' `__\n\nStill alpha, but code should be easy enough to follow and expand upon.\n\nExample use:\n\n.. code:: python\n\n # returns a Match object (list of signatures) that match the file 'f'\n with open(f_name, \"rb\") as f:\n derp = get_from_file(f)\n\n # returns Match object (list of signatures) that match the file at this file path\n herp = get_from_path(f_name)\n\n # this can be a string or a bytestring, will raise exception if no matching headers found.\n Matches(header=\"%PDF\")\n\nfile\\_signatures.compare(header, test\\_hex\\_string)\n---------------------------------------------------\n\nA method that compares a two file headers, the first one directly read\nfrom a file, the second is a a string containing space delimited\nhexidecimal byte codes. its a string becuase 'nn' is used to represent a\nwildcard byte.\n\nheader\n~~~~~~\n\nThis is the first x bytes of a file, this can be obtained by opening the\nfile using ``open(file_name, 'rb')`` mode.\n\nTo obtain only the first few bytes use the following:\n\n.. code:: python\n\n with open(file_name, 'rb') as f:\n header = f.read(32)\n\ntest\\_hex\\_string\n~~~~~~~~~~~~~~~~~\n\nThis is the string of space delimited hexidecimal byte codes\nrepresenting the file signature.\n\n'nn' is used to represent a wildcard byte\n\nexample:\n\n.. code:: python\n\n # for example, \"%PDF\"\n test_hex_string = \"25 50 44 46\"\n\n # showing wildcards, %P**DF\n test_hex_string = \"25 50 nn nn 44 46\"\n\nget\\_from\\_file(f, max\\_header=32)\n----------------------------------\n\nReturn a Match object of all the matching Signatures for this file\n\nf\n~\n\n'f' is the open file object.\n\n Note: you can use textIO to get a file like object from a string\n\nmax\\_header\n~~~~~~~~~~~\n\nThis is the length in bytes read from the start of the file used as the\nfile header.\n\nget\\_from\\_path(path, max\\_header=32)\n-------------------------------------\n\nReturn a Match object of all the matching signatures for this file,\nusing the path rather than a file object now.\n\npath\n~~~~\n\n'path' is the path to a file, it is passed into open() so it can be\nrelative if you like.\n\nmax\\_header\n~~~~~~~~~~~\n\nThis is the length in bytes read from the start of the file used as the\nfile header.\n\nfile\\_signatures.Signature\n--------------------------\n\nA class that reimplements a dictionary. These are initialised and\nreturned as part of the Match class when a Byte signature is tested\nusing the ``file_signatures.compare()`` function.\n\nfile\\_extension\n~~~~~~~~~~~~~~~\n\nA suggested file extension for this type of file\n\ndescription\n~~~~~~~~~~~\n\nA brief description of the file type taken from `'List of file\nsignatures' `__.\n\noffset\n~~~~~~\n\nNot implemented yet...\n\nascii\n~~~~~\n\nASCII interpretation of the file signature eg. '%PDF'\n\nhex\n~~~\n\nThe space delimited hexidecimal byte codes representing the file\nsignature.\n\nexample:\n\n.. code:: python\n\n # for example, \"%PDF\"\n test_hex_string = \"25 50 44 46\"\n\n(see above test\\_hex\\_string)\n\nfile\\_signatures.Match\n----------------------\n\nThis is a list reimplemented, it is returned by get\\_from\\_file and\nget\\_from\\_path defs. It holds a list Signature objects.\n\nfile\\_signatures.NoMatchException\n---------------------------------\n\nThis is a basic exception used when a match cannot be found.\n\n Use ``try: except:`` statements in your code if you dont like this.\n\nfile\\_signatures.signatures\n---------------------------\n\na list of dictionary items representing a file signature class. Used to\ncheck against and initialise new ``Signatures``.\n\nexample:\n\n.. code:: python\n\n # example entry from file_signatures.signatures list\n {'ascii': 'v/1.',\n 'description': 'OpenEXR image',\n 'file_extension': 'exr',\n 'hex': '76 2F 31 01',\n 'offset': '0'}\n\nCurrent List\n~~~~~~~~~~~~\n\n.. code:: python\n\n # Wikipedia License\n # -----------------\n # \n # This Library uses material from the Wikipedia article \n # https://en.wikipedia.org/wiki/List_of_file_signatures, which is released \n # under the Creative Commons Attribution-Share-Alike License 3.0\n\n\n signatures = [{'ascii': '....',\n 'description': 'RedHat Package Manager (RPM) package',\n 'file_extension': 'rpm',\n 'hex': 'ed ab ee db',\n 'offset': '0'},\n {'ascii': 'SP01',\n 'description': 'Amazon Kindle Update Package',\n 'file_extension': 'bin',\n 'hex': '53 50 30 31',\n 'offset': '0'},\n {'ascii': '.',\n 'description': 'WindowsProgram Information File',\n 'file_extension': 'PIF',\n 'hex': '00 nn',\n 'offset': '0'},\n {'ascii': '.',\n 'description': 'MacStuffit Self-Extracting Archive',\n 'file_extension': 'SEA',\n 'hex': '00 nn',\n 'offset': '0'},\n {'ascii': '.',\n 'description': 'IRISOCR data file',\n 'file_extension': 'YTR',\n 'hex': '00 nn',\n 'offset': '0'},\n {'ascii': '.',\n 'description': 'IBM Storyboard bitmap file',\n 'file_extension': 'PIC',\n 'hex': '00 nn',\n 'offset': '0'},\n {'ascii': '........ ........ ........',\n 'description': 'PalmPilot Database/Document File',\n 'file_extension': 'PDB',\n 'hex': '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'\n '00',\n 'offset': '11'},\n {'ascii': '...',\n 'description': 'Palm Desktop Calendar Archive',\n 'file_extension': 'DBA',\n 'hex': 'BE BA FE CA',\n 'offset': '0'},\n {'ascii': '..BD',\n 'description': 'Palm Desktop To Do Archive',\n 'file_extension': 'DBA',\n 'hex': '00 01 42 44',\n 'offset': '0'},\n {'ascii': '..DT',\n 'description': 'Palm Desktop Calendar Archive',\n 'file_extension': 'TDA',\n 'hex': '00 01 44 54',\n 'offset': '0'},\n {'ascii': '...',\n 'description': 'Palm Desktop Data File (Access format)',\n 'file_extension': '',\n 'hex': '00 01 00 00',\n 'offset': '0'},\n {'ascii': '....',\n 'description': 'Computer icon encoded inICO file format',\n 'file_extension': 'ico',\n 'hex': '00 00 01 00',\n 'offset': '0'},\n {'ascii': 'ftyp 3g',\n 'description': '3rd Generation Partnership Project3GPP',\n 'file_extension': '3gp',\n 'hex': '66 74 79 70 33 67',\n 'offset': '4'},\n {'ascii': 'ftyp 3g',\n 'description': '3GPP2 multimedia files',\n 'file_extension': '3g2',\n 'hex': '66 74 79 70 33 67',\n 'offset': '4'},\n {'ascii': '..',\n 'description': 'compressed file (often tar zip)',\n 'file_extension': 'z',\n 'hex': '1F 9D',\n 'offset': '0'},\n {'ascii': '..',\n 'description': 'usingLempel-Ziv-Welch algorithm',\n 'file_extension': 'tar.z',\n 'hex': '1F 9D',\n 'offset': '0'},\n {'ascii': '..',\n 'description': 'Compressed file (often tar zip)',\n 'file_extension': 'z',\n 'hex': '1F A0',\n 'offset': '0'},\n {'ascii': '..',\n 'description': 'usingLZH algorithm',\n 'file_extension': 'tar.z',\n 'hex': '1F A0',\n 'offset': '0'},\n {'ascii': 'BACKMIKE DISK',\n 'description': 'File ortape containing abackup done withAmiBack on an Amiga. '\n 'It typically is paired with an index file (idx) with the '\n 'table of contents.',\n 'file_extension': 'bac',\n 'hex': '42 41 43 4B 4D 49 4B 45 44 49 53 4B',\n 'offset': '0'},\n {'ascii': 'BZh',\n 'description': 'Compressed file usingBzip2 algorithm',\n 'file_extension': 'bz2',\n 'hex': '42 5A 68',\n 'offset': '0'},\n {'ascii': 'GIF87aGIF89a',\n 'description': 'Image file encoded in theGraphics Interchange Format (GIF)',\n 'file_extension': 'gif',\n 'hex': '47 49 46 38 37 61 47 49 46 38 39 61',\n 'offset': '0'},\n {'ascii': 'II*.MM.*',\n 'description': 'Tagged Image File Format (little endian format)',\n 'file_extension': 'tif',\n 'hex': '49 49 2A 00',\n 'offset': '0'},\n {'ascii': 'II*.MM.*',\n 'description': 'Tagged Image File Format (little endian format)',\n 'file_extension': 'tiff',\n 'hex': '49 49 2A 00',\n 'offset': '0'},\n {'ascii': 'II*.MM.*',\n 'description': 'Tagged Image File Format (big endian format)',\n 'file_extension': 'tif',\n 'hex': '4D 4D 00 2A',\n 'offset': '0'},\n {'ascii': 'II*.MM.*',\n 'description': 'Tagged Image File Format (big endian format)',\n 'file_extension': 'tiff',\n 'hex': '4D 4D 00 2A',\n 'offset': '0'},\n {'ascii': 'II*..... CR',\n 'description': \"Canon's RAW format is based on the TIFF file format\",\n 'file_extension': 'cr2',\n 'hex': '49 49 2A 00 10 00 00 00 43 52',\n 'offset': '0'},\n {'ascii': 'II*..... CR',\n 'description': 'Canon RAW Format Version 2',\n 'file_extension': 'cr2',\n 'hex': '49 49 2A 00 10 00 00 00 43 52',\n 'offset': '0'},\n {'ascii': '.*_.',\n 'description': 'KodakCineon image',\n 'file_extension': 'cin',\n 'hex': '80 2A 5F D7',\n 'offset': '0'},\n {'ascii': 'RNC.',\n 'description': 'Compressed file usingRob Northen Compression (version 1 and '\n '2) algorithm',\n 'file_extension': '',\n 'hex': '52 4E 43 01 52 4E 43 02',\n 'offset': '0'},\n {'ascii': 'SDPXXPDS',\n 'description': 'SMPTEDPX image (big endian format)',\n 'file_extension': 'dpx',\n 'hex': '53 44 50 58',\n 'offset': '0'},\n {'ascii': 'SDPXXPDS',\n 'description': 'SMPTEDPX image (little endian format)',\n 'file_extension': 'dpx',\n 'hex': '58 50 44 53',\n 'offset': '0'},\n {'ascii': 'v/1.',\n 'description': 'OpenEXR image',\n 'file_extension': 'exr',\n 'hex': '76 2F 31 01',\n 'offset': '0'},\n {'ascii': 'BPG\u00fb',\n 'description': 'Better Portable Graphics format',\n 'file_extension': 'bpg',\n 'hex': '42 50 47 FB',\n 'offset': '0'},\n {'ascii': '\u00ff\u00d8\u00ff\u00db',\n 'description': 'JPEG raw or in theJFIF orExif file format',\n 'file_extension': 'jpg',\n 'hex': 'FF D8 FF DB',\n 'offset': '0'},\n {'ascii': '\u00ff\u00d8\u00ff\u00db',\n 'description': 'JPEG raw or in theJFIF orExif file format',\n 'file_extension': 'jpeg',\n 'hex': 'FF D8 FF DB',\n 'offset': '0'},\n {'ascii': '\u00ff\u00d8\u00ff\u00e0 ..J F IF..',\n 'description': 'JPEG raw or in theJFIF orExif file format',\n 'file_extension': 'jpg',\n 'hex': 'FF D8 FF E0 nn nn 4A 46 49 46 00 01',\n 'offset': '0'},\n {'ascii': '\u00ff\u00d8\u00ff\u00e0 ..J F IF..',\n 'description': 'JPEG raw or in theJFIF orExif file format',\n 'file_extension': 'jpeg',\n 'hex': 'FF D8 FF E0 nn nn 4A 46 49 46 00 01',\n 'offset': '0'},\n {'ascii': '\u00ff\u00d8\u00ff\u00e1 ..E x if..',\n 'description': 'JPEG raw or in theJFIF orExif file format',\n 'file_extension': 'jpg',\n 'hex': 'FF D8 FF E1 nn nn 45 78 69 66 00 00',\n 'offset': '0'},\n {'ascii': '\u00ff\u00d8\u00ff\u00e1 ..E x if..',\n 'description': 'JPEG raw or in theJFIF orExif file format',\n 'file_extension': 'jpeg',\n 'hex': 'FF D8 FF E1 nn nn 45 78 69 66 00 00',\n 'offset': '0'},\n {'ascii': 'FORM.... ILBM',\n 'description': 'IFFInterleaved Bitmap Image',\n 'file_extension': 'ilbm',\n 'hex': '46 4F 52 4D nn nn nn nn 49 4C 42 4D',\n 'offset': 'any'},\n {'ascii': 'FORM.... ILBM',\n 'description': 'IFFInterleaved Bitmap Image',\n 'file_extension': 'lbm',\n 'hex': '46 4F 52 4D nn nn nn nn 49 4C 42 4D',\n 'offset': 'any'},\n {'ascii': 'FORM.... ILBM',\n 'description': 'IFFInterleaved Bitmap Image',\n 'file_extension': 'ibm',\n 'hex': '46 4F 52 4D nn nn nn nn 49 4C 42 4D',\n 'offset': 'any'},\n {'ascii': 'FORM.... ILBM',\n 'description': 'IFFInterleaved Bitmap Image',\n 'file_extension': 'iff',\n 'hex': '46 4F 52 4D nn nn nn nn 49 4C 42 4D',\n 'offset': 'any'},\n {'ascii': 'FORM.... 8SVX',\n 'description': 'IFF8-Bit Sampled Voice',\n 'file_extension': '8svx',\n 'hex': '46 4F 52 4D nn nn nn nn 38 53 56 58',\n 'offset': 'any'},\n {'ascii': 'FORM.... 8SVX',\n 'description': 'IFF8-Bit Sampled Voice',\n 'file_extension': '8sv',\n 'hex': '46 4F 52 4D nn nn nn nn 38 53 56 58',\n 'offset': 'any'},\n {'ascii': 'FORM.... 8SVX',\n 'description': 'IFF8-Bit Sampled Voice',\n 'file_extension': 'svx',\n 'hex': '46 4F 52 4D nn nn nn nn 38 53 56 58',\n 'offset': 'any'},\n {'ascii': 'FORM.... 8SVX',\n 'description': 'IFF8-Bit Sampled Voice',\n 'file_extension': 'snd',\n 'hex': '46 4F 52 4D nn nn nn nn 38 53 56 58',\n 'offset': 'any'},\n {'ascii': 'FORM.... 8SVX',\n 'description': 'IFF8-Bit Sampled Voice',\n 'file_extension': 'iff',\n 'hex': '46 4F 52 4D nn nn nn nn 38 53 56 58',\n 'offset': 'any'},\n {'ascii': 'FORM.... ACBM',\n 'description': 'Amiga Contiguous Bitmap',\n 'file_extension': 'acbm',\n 'hex': '46 4F 52 4D nn nn nn nn 41 43 42 4D',\n 'offset': 'any'},\n {'ascii': 'FORM.... ACBM',\n 'description': 'Amiga Contiguous Bitmap',\n 'file_extension': 'iff',\n 'hex': '46 4F 52 4D nn nn nn nn 41 43 42 4D',\n 'offset': 'any'},\n {'ascii': 'FORM.... ANBM',\n 'description': 'IFFAnimated Bitmap',\n 'file_extension': 'anbm',\n 'hex': '46 4F 52 4D nn nn nn nn 41 4E 42 4D',\n 'offset': 'any'},\n {'ascii': 'FORM.... ANBM',\n 'description': 'IFFAnimated Bitmap',\n 'file_extension': 'iff',\n 'hex': '46 4F 52 4D nn nn nn nn 41 4E 42 4D',\n 'offset': 'any'},\n {'ascii': 'FORM.... ANIM',\n 'description': 'IFFCEL Animation',\n 'file_extension': 'anim',\n 'hex': '46 4F 52 4D nn nn nn nn 41 4E 49 4D',\n 'offset': 'any'},\n {'ascii': 'FORM.... ANIM',\n 'description': 'IFFCEL Animation',\n 'file_extension': 'iff',\n 'hex': '46 4F 52 4D nn nn nn nn 41 4E 49 4D',\n 'offset': 'any'},\n {'ascii': 'FORM.... FAXX',\n 'description': 'IFFFacsimile Image',\n 'file_extension': 'faxx',\n 'hex': '46 4F 52 4D nn nn nn nn 46 41 58 58',\n 'offset': 'any'},\n {'ascii': 'FORM.... FAXX',\n 'description': 'IFFFacsimile Image',\n 'file_extension': 'faxx',\n 'hex': '46 4F 52 4D nn nn nn nn 46 41 58 58',\n 'offset': 'any'},\n {'ascii': 'FORM.... FAXX',\n 'description': 'IFFFacsimile Image',\n 'file_extension': 'iff',\n 'hex': '46 4F 52 4D nn nn nn nn 46 41 58 58',\n 'offset': 'any'},\n {'ascii': 'FORM.... FTXT',\n 'description': 'IFFFormatted Text',\n 'file_extension': 'ftxt',\n 'hex': '46 4F 52 4D nn nn nn nn 46 54 58 54',\n 'offset': 'any'},\n {'ascii': 'FORM.... FTXT',\n 'description': 'IFFFormatted Text',\n 'file_extension': 'txt',\n 'hex': '46 4F 52 4D nn nn nn nn 46 54 58 54',\n 'offset': 'any'},\n {'ascii': 'FORM.... FTXT',\n 'description': 'IFFFormatted Text',\n 'file_extension': 'iff',\n 'hex': '46 4F 52 4D nn nn nn nn 46 54 58 54',\n 'offset': 'any'},\n {'ascii': 'FORM.... SMUS',\n 'description': 'IFFSimple Musical Score',\n 'file_extension': 'smus',\n 'hex': '46 4F 52 4D nn nn nn nn 53 4D 55 53',\n 'offset': 'any'},\n {'ascii': 'FORM.... SMUS',\n 'description': 'IFFSimple Musical Score',\n 'file_extension': 'smu',\n 'hex': '46 4F 52 4D nn nn nn nn 53 4D 55 53',\n 'offset': 'any'},\n {'ascii': 'FORM.... SMUS',\n 'description': 'IFFSimple Musical Score',\n 'file_extension': 'mus',\n 'hex': '46 4F 52 4D nn nn nn nn 53 4D 55 53',\n 'offset': 'any'},\n {'ascii': 'FORM.... SMUS',\n 'description': 'IFFSimple Musical Score',\n 'file_extension': 'iff',\n 'hex': '46 4F 52 4D nn nn nn nn 53 4D 55 53',\n 'offset': 'any'},\n {'ascii': 'FORM.... CMUS',\n 'description': 'IFFMusical Score',\n 'file_extension': 'cmus',\n 'hex': '46 4F 52 4D nn nn nn nn 43 4D 55 53',\n 'offset': 'any'},\n {'ascii': 'FORM.... CMUS',\n 'description': 'IFFMusical Score',\n 'file_extension': 'mus',\n 'hex': '46 4F 52 4D nn nn nn nn 43 4D 55 53',\n 'offset': 'any'},\n {'ascii': 'FORM.... CMUS',\n 'description': 'IFFMusical Score',\n 'file_extension': 'iff',\n 'hex': '46 4F 52 4D nn nn nn nn 43 4D 55 53',\n 'offset': 'any'},\n {'ascii': 'FORM.... YUVN',\n 'description': 'IFFYUV Image',\n 'file_extension': 'yuvn',\n 'hex': '46 4F 52 4D nn nn nn nn 59 55 56 4E',\n 'offset': 'any'},\n {'ascii': 'FORM.... YUVN',\n 'description': 'IFFYUV Image',\n 'file_extension': 'yuv',\n 'hex': '46 4F 52 4D nn nn nn nn 59 55 56 4E',\n 'offset': 'any'},\n {'ascii': 'FORM.... YUVN',\n 'description': 'IFFYUV Image',\n 'file_extension': 'iff',\n 'hex': '46 4F 52 4D nn nn nn nn 59 55 56 4E',\n 'offset': 'any'},\n {'ascii': 'FORM.... FANT',\n 'description': 'AmigaFantavision Movie',\n 'file_extension': 'iff',\n 'hex': '46 4F 52 4D nn nn nn nn 46 41 4E 54',\n 'offset': 'any'},\n {'ascii': 'FORM.... AIFF',\n 'description': 'Audio Interchange File Format',\n 'file_extension': 'aiff',\n 'hex': '46 4F 52 4D nn nn nn nn 41 49 46 46',\n 'offset': 'any'},\n {'ascii': 'FORM.... AIFF',\n 'description': 'Audio Interchange File Format',\n 'file_extension': 'aif',\n 'hex': '46 4F 52 4D nn nn nn nn 41 49 46 46',\n 'offset': 'any'},\n {'ascii': 'FORM.... AIFF',\n 'description': 'Audio Interchange File Format',\n 'file_extension': 'aifc',\n 'hex': '46 4F 52 4D nn nn nn nn 41 49 46 46',\n 'offset': 'any'},\n {'ascii': 'FORM.... AIFF',\n 'description': 'Audio Interchange File Format',\n 'file_extension': 'snd',\n 'hex': '46 4F 52 4D nn nn nn nn 41 49 46 46',\n 'offset': 'any'},\n {'ascii': 'FORM.... AIFF',\n 'description': 'Audio Interchange File Format',\n 'file_extension': 'iff',\n 'hex': '46 4F 52 4D nn nn nn nn 41 49 46 46',\n 'offset': 'any'},\n {'ascii': 'INDX',\n 'description': 'Index file to a file ortape containing abackup done '\n 'withAmiBack on anAmiga.',\n 'file_extension': 'idx',\n 'hex': '49 4E 44 58',\n 'offset': '0'},\n {'ascii': 'LZIP',\n 'description': 'lzip compressed file',\n 'file_extension': 'lz',\n 'hex': '4C 5A 49 50',\n 'offset': '0'},\n {'ascii': 'MZ',\n 'description': 'DOS MZ executable file format and its descendants '\n '(includingNE andPE)',\n 'file_extension': 'exe',\n 'hex': '4D 5A',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML',\n 'file_extension': 'zip',\n 'hex': '50 4B 03 04',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML',\n 'file_extension': 'jar',\n 'hex': '50 4B 03 04',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML',\n 'file_extension': 'odt',\n 'hex': '50 4B 03 04',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML',\n 'file_extension': 'ods',\n 'hex': '50 4B 03 04',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML',\n 'file_extension': 'odp',\n 'hex': '50 4B 03 04',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML',\n 'file_extension': 'docx',\n 'hex': '50 4B 03 04',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML',\n 'file_extension': 'xlsx',\n 'hex': '50 4B 03 04',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML',\n 'file_extension': 'pptx',\n 'hex': '50 4B 03 04',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML',\n 'file_extension': 'vsdx',\n 'hex': '50 4B 03 04',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML',\n 'file_extension': 'apk',\n 'hex': '50 4B 03 04',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML '\n '(empty archive)',\n 'file_extension': 'zip',\n 'hex': '50 4B 05 06',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML '\n '(empty archive)',\n 'file_extension': 'jar',\n 'hex': '50 4B 05 06',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML '\n '(empty archive)',\n 'file_extension': 'odt',\n 'hex': '50 4B 05 06',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML '\n '(empty archive)',\n 'file_extension': 'ods',\n 'hex': '50 4B 05 06',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML '\n '(empty archive)',\n 'file_extension': 'odp',\n 'hex': '50 4B 05 06',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML '\n '(empty archive)',\n 'file_extension': 'docx',\n 'hex': '50 4B 05 06',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML '\n '(empty archive)',\n 'file_extension': 'xlsx',\n 'hex': '50 4B 05 06',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML '\n '(empty archive)',\n 'file_extension': 'pptx',\n 'hex': '50 4B 05 06',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML '\n '(empty archive)',\n 'file_extension': 'vsdx',\n 'hex': '50 4B 05 06',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML '\n '(empty archive)',\n 'file_extension': 'apk',\n 'hex': '50 4B 05 06',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML '\n '(spanned archive)',\n 'file_extension': 'zip',\n 'hex': '50 4B 07 08',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML '\n '(spanned archive)',\n 'file_extension': 'jar',\n 'hex': '50 4B 07 08',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML '\n '(spanned archive)',\n 'file_extension': 'odt',\n 'hex': '50 4B 07 08',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML '\n '(spanned archive)',\n 'file_extension': 'ods',\n 'hex': '50 4B 07 08',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML '\n '(spanned archive)',\n 'file_extension': 'odp',\n 'hex': '50 4B 07 08',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML '\n '(spanned archive)',\n 'file_extension': 'docx',\n 'hex': '50 4B 07 08',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML '\n '(spanned archive)',\n 'file_extension': 'xlsx',\n 'hex': '50 4B 07 08',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML '\n '(spanned archive)',\n 'file_extension': 'pptx',\n 'hex': '50 4B 07 08',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML '\n '(spanned archive)',\n 'file_extension': 'vsdx',\n 'hex': '50 4B 07 08',\n 'offset': '0'},\n {'ascii': 'PK..',\n 'description': 'zip file format and formats based on it, such asJAR,ODF,OOXML '\n '(spanned archive)',\n 'file_extension': 'apk',\n 'hex': '50 4B 07 08',\n 'offset': '0'},\n {'ascii': 'Rar!...',\n 'description': 'RAR archive version 1.50 onwards',\n 'file_extension': 'rar',\n 'hex': '52 61 72 21 1A 07 00',\n 'offset': '0'},\n {'ascii': 'Rar!....',\n 'description': 'RAR archive version 5.0 onwards',\n 'file_extension': 'rar',\n 'hex': '52 61 72 21 1A 07 01 00',\n 'offset': '0'},\n {'ascii': '.ELF',\n 'description': 'Executable and Linkable Format',\n 'file_extension': '',\n 'hex': '7F 45 4C 46',\n 'offset': '0'},\n {'ascii': '.PNG....',\n 'description': 'Image encoded in thePortable Network Graphics format',\n 'file_extension': 'png',\n 'hex': '89 50 4E 47 0D 0A 1A 0A',\n 'offset': '0'},\n {'ascii': '\u00ca\u00fe\u00ba\u00be',\n 'description': 'Java class file,Mach-O Fat Binary',\n 'file_extension': 'class',\n 'hex': 'CA FE BA BE',\n 'offset': '0'},\n {'ascii': '\u00ef\u00bb\u00bf',\n 'description': 'UTF-8 encodedUnicodebyte order mark, commonly seen in text '\n 'files.',\n 'file_extension': '',\n 'hex': 'EF BB BF',\n 'offset': '0'},\n {'ascii': '........',\n 'description': 'Mach-O binary (32-bit)',\n 'file_extension': '',\n 'hex': 'FE ED FA CE',\n 'offset': '0'},\n {'ascii': '........',\n 'description': 'Mach-O binary (32-bit)',\n 'file_extension': '',\n 'hex': 'FE ED FA CE',\n 'offset': '0x1000'},\n {'ascii': '........',\n 'description': 'Mach-O binary (64-bit)',\n 'file_extension': '',\n 'hex': 'FE ED FA CF',\n 'offset': '0'},\n {'ascii': '........',\n 'description': 'Mach-O binary (64-bit)',\n 'file_extension': '',\n 'hex': 'FE ED FA CF',\n 'offset': '0x1000'},\n {'ascii': '........',\n 'description': 'Mach-O binary (reverse byte ordering scheme, 32-bit)',\n 'file_extension': '',\n 'hex': 'CE FA ED FE',\n 'offset': '0'},\n {'ascii': '........',\n 'description': 'Mach-O binary (reverse byte ordering scheme, 64-bit)',\n 'file_extension': '',\n 'hex': 'CF FA ED FE',\n 'offset': '0'},\n {'ascii': '..',\n 'description': 'Byte-order mark for text file encoded inlittle-endian16-bit '\n 'Unicode Transfer Format',\n 'file_extension': '',\n 'hex': 'FF FE',\n 'offset': '0'},\n {'ascii': '....',\n 'description': 'Byte-order mark for text file encoded in little-endian32-bit '\n 'Unicode Transfer Format',\n 'file_extension': '',\n 'hex': 'FF FE 00 00',\n 'offset': '0'},\n {'ascii': '%!PS',\n 'description': 'PostScript document',\n 'file_extension': 'ps',\n 'hex': '25 21 50 53',\n 'offset': '0'},\n {'ascii': '%PDF',\n 'description': 'PDF document',\n 'file_extension': 'pdf',\n 'hex': '25 50 44 46',\n 'offset': '0'},\n {'ascii': '0&\u00b2u.f\u00cf .\u00a6\u00d9.\u00aa.b\u00cel',\n 'description': 'Advanced Systems Format',\n 'file_extension': 'asf',\n 'hex': '30 26 B2 75 8E 66 CF 11 A6 D9 00 AA 00 62 CE 6C',\n 'offset': '0'},\n {'ascii': '0&\u00b2u.f\u00cf .\u00a6\u00d9.\u00aa.b\u00cel',\n 'description': 'Advanced Systems Format',\n 'file_extension': 'wma',\n 'hex': '30 26 B2 75 8E 66 CF 11 A6 D9 00 AA 00 62 CE 6C',\n 'offset': '0'},\n {'ascii': '0&\u00b2u.f\u00cf .\u00a6\u00d9.\u00aa.b\u00cel',\n 'description': 'Advanced Systems Format',\n 'file_extension': 'wmv',\n 'hex': '30 26 B2 75 8E 66 CF 11 A6 D9 00 AA 00 62 CE 6C',\n 'offset': '0'},\n {'ascii': '$SDI0001',\n 'description': 'System Deployment Image, a disk image format used byMicrosoft',\n 'file_extension': '',\n 'hex': '24 53 44 49 30 30 30 31',\n 'offset': '0'},\n {'ascii': 'OggS',\n 'description': 'Ogg, anopen source media container format',\n 'file_extension': 'ogg',\n 'hex': '4F 67 67 53',\n 'offset': '0'},\n {'ascii': 'OggS',\n 'description': 'Ogg, anopen source media container format',\n 'file_extension': 'oga',\n 'hex': '4F 67 67 53',\n 'offset': '0'},\n {'ascii': 'OggS',\n 'description': 'Ogg, anopen source media container format',\n 'file_extension': 'ogv',\n 'hex': '4F 67 67 53',\n 'offset': '0'},\n {'ascii': '8BPS',\n 'description': \"Photoshop Document file,Adobe Photoshop's native file format\",\n 'file_extension': 'psd',\n 'hex': '38 42 50 53',\n 'offset': '0'},\n {'ascii': 'RIFF.... WAVE',\n 'description': 'Waveform Audio File Format',\n 'file_extension': 'wav',\n 'hex': '52 49 46 46 nn nn nn nn 57 41 56 45',\n 'offset': '0'},\n {'ascii': 'RIFF.... AVI.',\n 'description': 'Audio Video Interleave video format',\n 'file_extension': 'avi',\n 'hex': '52 49 46 46 nn nn nn nn 41 56 49 20',\n 'offset': '0'},\n {'ascii': '\u00ff\u00fb',\n 'description': 'MPEG-1 Layer 3 file without anID3 tag or with anID3v1 tag '\n \"(which's appended at the end of the file)\",\n 'file_extension': 'mp3',\n 'hex': 'FF FB',\n 'offset': '0'},\n {'ascii': 'ID3',\n 'description': 'MP3 file with an ID3v2 container',\n 'file_extension': 'mp3',\n 'hex': '49 44 33',\n 'offset': '0'},\n {'ascii': 'BM',\n 'description': 'BMP file, abitmap format used mostly in theWindows world',\n 'file_extension': 'bmp',\n 'hex': '42 4D',\n 'offset': '0'},\n {'ascii': 'BM',\n 'description': 'BMP file, abitmap format used mostly in theWindows world',\n 'file_extension': 'dib',\n 'hex': '42 4D',\n 'offset': '0'},\n {'ascii': 'BM',\n 'description': 'BMP file, abitmap format used mostly in theWindows world',\n 'file_extension': 'bmp',\n 'hex': '42 4D',\n 'offset': '0'},\n {'ascii': 'BM',\n 'description': 'BMP file, abitmap format used mostly in theWindows world',\n 'file_extension': 'dib',\n 'hex': '42 4D',\n 'offset': '0'},\n {'ascii': 'CD001',\n 'description': 'ISO9660 CD/DVD image file',\n 'file_extension': 'iso',\n 'hex': '43 44 30 30 31',\n 'offset': '0x8001'},\n {'ascii': 'CD001',\n 'description': 'ISO9660 CD/DVD image file',\n 'file_extension': 'iso',\n 'hex': '43 44 30 30 31',\n 'offset': '0x8801'},\n {'ascii': 'CD001',\n 'description': 'ISO9660 CD/DVD image file',\n 'file_extension': 'iso',\n 'hex': '43 44 30 30 31',\n 'offset': '0x9001'},\n {'ascii': 'SIMPLE = T',\n 'description': 'Flexible Image Transport System (FITS)',\n 'file_extension': 'fits',\n 'hex': '53 49 4D 50 4C 45 20 20 3D 20 20 20 20 20 20 20 20 20 20 20 20 20 20'\n '20 20 20 20 20 20 54',\n 'offset': '0'},\n {'ascii': 'fLaC',\n 'description': 'Free Lossless Audio Codec',\n 'file_extension': 'flac',\n 'hex': '66 4C 61 43',\n 'offset': '0'},\n {'ascii': 'MThd',\n 'description': 'MIDI sound file',\n 'file_extension': 'mid',\n 'hex': '4D 54 68 64',\n 'offset': '0'},\n {'ascii': 'MThd',\n 'description': 'MIDI sound file',\n 'file_extension': 'midi',\n 'hex': '4D 54 68 64',\n 'offset': '0'},\n {'ascii': '',\n 'description': 'Compound File Binary Format, a container format used for '\n 'document by older versions ofMicrosoft Office.It is however '\n 'an open format used by other programs as well.',\n 'file_extension': 'doc',\n 'hex': 'D0 CF 11 E0 A1 B1 1A E1',\n 'offset': ''},\n {'ascii': '',\n 'description': 'Compound File Binary Format, a container format used for '\n 'document by older versions ofMicrosoft Office.It is however '\n 'an open format used by other programs as well.',\n 'file_extension': 'xls',\n 'hex': 'D0 CF 11 E0 A1 B1 1A E1',\n 'offset': ''},\n {'ascii': '',\n 'description': 'Compound File Binary Format, a container format used for '\n 'document by older versions ofMicrosoft Office.It is however '\n 'an open format used by other programs as well.',\n 'file_extension': 'ppt',\n 'hex': 'D0 CF 11 E0 A1 B1 1A E1',\n 'offset': ''},\n {'ascii': '',\n 'description': 'Compound File Binary Format, a container format used for '\n 'document by older versions ofMicrosoft Office.It is however '\n 'an open format used by other programs as well.',\n 'file_extension': 'msg',\n 'hex': 'D0 CF 11 E0 A1 B1 1A E1',\n 'offset': ''},\n {'ascii': 'dex.035.',\n 'description': 'Dalvik Executable',\n 'file_extension': 'dex',\n 'hex': '64 65 78 0A 30 33 35 00',\n 'offset': '0'},\n {'ascii': 'KDM',\n 'description': 'VMDK files',\n 'file_extension': 'vmdk',\n 'hex': '4B 44 4D',\n 'offset': '0'},\n {'ascii': 'Cr24',\n 'description': 'Google Chrome extensionor packaged app',\n 'file_extension': 'crx',\n 'hex': '43 72 32 34',\n 'offset': '0'},\n {'ascii': 'AGD3',\n 'description': 'FreeHand 8 document',\n 'file_extension': 'fh8',\n 'hex': '41 47 44 33',\n 'offset': '0'},\n {'ascii': '....BOBO ........ ....',\n 'description': 'AppleWorks 5 document',\n 'file_extension': 'cwk',\n 'hex': '05 07 00 00 42 4F 42 4F 05 07 00 00 00 00 00 00 00 00 00 00 00 01',\n 'offset': '0'},\n {'ascii': '....BOBO ........ ....',\n 'description': 'AppleWorks 6 document',\n 'file_extension': 'cwk',\n 'hex': '06 07 E1 00 42 4F 42 4F 06 07 E1 00 00 00 00 00 00 00 00 00 00 01',\n 'offset': '0'},\n {'ascii': 'ER....\u00e3ER....',\n 'description': 'RoxioToast disc image file, also some .dmg-files begin with '\n 'same bytes',\n 'file_extension': 'toast',\n 'hex': '45 52 02 00 00 00 8B 45 52 02 00 00 00',\n 'offset': '0'},\n {'ascii': 'x.s.bb`',\n 'description': 'Apple Disk Image file',\n 'file_extension': 'dmg',\n 'hex': '78 01 73 0D 62 62 60',\n 'offset': '0'},\n {'ascii': 'xar!',\n 'description': 'eXtensible Archive format',\n 'file_extension': 'xar',\n 'hex': '78 61 72 21',\n 'offset': '0'},\n {'ascii': 'PMOCCMOC',\n 'description': 'Windows Files And Settings Transfer Repository, See also USMT '\n '3.0 (Win XP) and USMT 4.0 (Win 7) User Guides',\n 'file_extension': 'dat',\n 'hex': '50 4D 4F 43 43 4D 4F 43',\n 'offset': '0'},\n {'ascii': 'NES',\n 'description': 'Nintendo Entertainment System ROM file',\n 'file_extension': 'nes',\n 'hex': '4E 45 53 1A',\n 'offset': '0'},\n {'ascii': 'ustar.00ustar .',\n 'description': 'tar archive',\n 'file_extension': 'tar',\n 'hex': '75 73 74 61 72 00 30 30 75 73 74 61 72 20 20 00',\n 'offset': '0x101'},\n {'ascii': 'TOX',\n 'description': 'Open source portable voxel file',\n 'file_extension': 'tox',\n 'hex': '74 6F 78 33',\n 'offset': '0'},\n {'ascii': 'MLVI',\n 'description': 'Magic Lantern Video file',\n 'file_extension': 'MLV',\n 'hex': '4D 4C 56 49',\n 'offset': '0'},\n {'ascii': 'DCM PA30',\n 'description': 'Windows UpdateBinary Delta Compression',\n 'file_extension': '',\n 'hex': '44 43 4D 01 50 41 33 30',\n 'offset': '0'},\n {'ascii': \"7z\u00bc\u00af'\",\n 'description': '7-Zip File Format',\n 'file_extension': '7z',\n 'hex': '37 7A BC AF 27 1C',\n 'offset': '0'},\n {'ascii': '..',\n 'description': 'GZIP',\n 'file_extension': 'gz',\n 'hex': '1F 8B',\n 'offset': '0'},\n {'ascii': '..',\n 'description': 'GZIP',\n 'file_extension': 'tar.gz',\n 'hex': '1F 8B',\n 'offset': '0'},\n {'ascii': '.\"M.',\n 'description': 'LZ4 Frame Format, LZ4 block format does not offer any magic '\n 'bytes.',\n 'file_extension': 'lz4',\n 'hex': '04 22 4D 18',\n 'offset': '0'},\n {'ascii': 'MSCF',\n 'description': 'Microsoft Cabinet file',\n 'file_extension': 'cab',\n 'hex': '4D 53 43 46',\n 'offset': '0'},\n {'ascii': 'FLIF',\n 'description': 'Free Lossless Image Format',\n 'file_extension': 'flif',\n 'hex': '46 4C 49 46',\n 'offset': '0'},\n {'ascii': '.E\u00df\u00a3',\n 'description': 'Matroska media container, includingWebM',\n 'file_extension': 'mkv',\n 'hex': '1A 45 DF A3',\n 'offset': '0'},\n {'ascii': '.E\u00df\u00a3',\n 'description': 'Matroska media container, includingWebM',\n 'file_extension': 'mka',\n 'hex': '1A 45 DF A3',\n 'offset': '0'},\n {'ascii': '.E\u00df\u00a3',\n 'description': 'Matroska media container, includingWebM',\n 'file_extension': 'mks',\n 'hex': '1A 45 DF A3',\n 'offset': '0'},\n {'ascii': '.E\u00df\u00a3',\n 'description': 'Matroska media container, includingWebM',\n 'file_extension': 'mk3d',\n 'hex': '1A 45 DF A3',\n 'offset': '0'},\n {'ascii': '.E\u00df\u00a3',\n 'description': 'Matroska media container, includingWebM',\n 'file_extension': 'webm',\n 'hex': '1A 45 DF A3',\n 'offset': '0'},\n {'ascii': 'MIL',\n 'description': '\"SEAN\\xa0: Session Analysis\" Training file. Also used in '\n 'compatible software \"Rpw\\xa0:Rowperfect for Windows\" and '\n '\"RP3W\\xa0: ROWPERFECT3 for Windows\".',\n 'file_extension': 'stg',\n 'hex': '4D 49 4C 20',\n 'offset': '0'},\n {'ascii': 'AT&TFORM....DJV',\n 'description': 'DjVu document. The following byte is either55 (U) for '\n 'single-page or4D (M) for multi-page documents.',\n 'file_extension': \"['djvu', 'djv']\",\n 'hex': '41 54 26 54 46 4F 52 4D nn nn nn nn 44 4A 56',\n 'offset': '0'},\n {'ascii': 'AT&TFORM....DJV',\n 'description': 'DjVu document. The following byte is either55 (U) for '\n 'single-page or4D (M) for multi-page documents.',\n 'file_extension': 'djvu',\n 'hex': '41 54 26 54 46 4F 52 4D nn nn nn nn 44 4A 56',\n 'offset': '0'},\n {'ascii': 'AT&TFORM....DJV',\n 'description': 'DjVu document. The following byte is either55 (U) for '\n 'single-page or4D (M) for multi-page documents.',\n 'file_extension': 'djv',\n 'hex': '41 54 26 54 46 4F 52 4D nn nn nn nn 44 4A 56',\n 'offset': '0'},\n {'ascii': '0.',\n 'description': 'DER encoded X.509 certificate',\n 'file_extension': 'der',\n 'hex': '30 82',\n 'offset': '0'},\n {'ascii': 'DICM',\n 'description': 'DICOM Medical File Format',\n 'file_extension': 'dcm',\n 'hex': '44 49 43 4D',\n 'offset': '0x80'},\n {'ascii': 'wOFF',\n 'description': 'WOFF File Format 1.0',\n 'file_extension': 'woff',\n 'hex': '77 4F 46 46',\n 'offset': '0'},\n {'ascii': 'wOF2',\n 'description': 'WOFF File Format 2.0',\n 'file_extension': 'woff2',\n 'hex': '77 4F 46 32',\n 'offset': '0'},\n {'ascii': '.',\n 'description': 'linux deb file',\n 'file_extension': 'deb',\n 'hex': '21 3C 61 72 63 68 3E',\n 'offset': '0'},\n {'ascii': 'RIFF....',\n 'description': 'Google WebP image file',\n 'file_extension': 'webp',\n 'hex': '52 49 46 46 nn nn nn nn',\n 'offset': '0'},\n {'ascii': 'WEBP',\n 'description': '',\n 'file_extension': '',\n 'hex': '57 45 42 50',\n 'offset': ''},\n {'ascii': \"'..V\",\n 'description': 'U-Boot / uImage.Das_U-Boot Universal Boot Loader.',\n 'file_extension': '',\n 'hex': '27 05 19 56',\n 'offset': '0'}]", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/schlerp/pyfsig", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pyfsig", "package_url": "https://pypi.org/project/pyfsig/", "platform": "", "project_url": "https://pypi.org/project/pyfsig/", "project_urls": { "Homepage": "https://github.com/schlerp/pyfsig" }, "release_url": "https://pypi.org/project/pyfsig/0.6/", "requires_dist": null, "requires_python": "", "summary": "A python library for identifying files by headers (magic bytes)", "version": "0.6" }, "last_serial": 2668846, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "1972468afd1f474966f055f93be1d505", "sha256": "a749daadc5cb1712b9bccb85100a1b02a62125a54abd474b71a225aa277e5793" }, "downloads": -1, "filename": "pyfsig-0.1.tar.gz", "has_sig": false, "md5_digest": "1972468afd1f474966f055f93be1d505", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6585, "upload_time": "2017-02-26T12:28:04", "url": "https://files.pythonhosted.org/packages/86/31/f14f4e4881534edc1c4e0e6fe7d2c0faa6f0d340becc3453cf53365293d1/pyfsig-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "52c3e69642cd14c8ef7fac6904981e2b", "sha256": "5112632f05177cd5fda8284bf433c1d7fa14640b8c271818b798fefc7736a85e" }, "downloads": -1, "filename": "pyfsig-0.2.tar.gz", "has_sig": false, "md5_digest": "52c3e69642cd14c8ef7fac6904981e2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6571, "upload_time": "2017-02-26T12:45:41", "url": "https://files.pythonhosted.org/packages/af/0d/53eb74774a3ec4f03001ad3e71b856ad7f3f1ff9d5d76f6e453a301ad159/pyfsig-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "a6eeb284676ccf6f4af165f505778287", "sha256": "36278fd8c1292b116509217cb0de3b8d26e6fcdaca648646607ec48ae69d31c3" }, "downloads": -1, "filename": "pyfsig-0.3.tar.gz", "has_sig": false, "md5_digest": "a6eeb284676ccf6f4af165f505778287", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6610, "upload_time": "2017-02-26T12:50:17", "url": "https://files.pythonhosted.org/packages/a2/38/9285d8d074eafae18880c7ec905eaeaf3570cdb5d0d4c599b81a8a01d292/pyfsig-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "76405c972ba1531d09d9c92be41118cc", "sha256": "e44d96be2a3eca73fad8c02f5cb8cb9562ea6b481e0b5120129586ba354a85cb" }, "downloads": -1, "filename": "pyfsig-0.4.tar.gz", "has_sig": false, "md5_digest": "76405c972ba1531d09d9c92be41118cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12915, "upload_time": "2017-02-26T13:02:06", "url": "https://files.pythonhosted.org/packages/1e/dd/6b97f626b13bfd0e6b551fc420bbe78d0172521d9d8561d676012b6fa78a/pyfsig-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "228c9abb8e356b1687bb71c37accda60", "sha256": "ba8f800d49688616b8e74f0d8095a6fbbed2f0594486edfa7852158e3384d1ba" }, "downloads": -1, "filename": "pyfsig-0.5.tar.gz", "has_sig": false, "md5_digest": "228c9abb8e356b1687bb71c37accda60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19460, "upload_time": "2017-02-26T13:09:24", "url": "https://files.pythonhosted.org/packages/b0/c6/1ae042b985f4df5e96731383eaf57aef524e128ac218017182f21791c058/pyfsig-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "bec7184a4814b25304af8cbf3a144462", "sha256": "90f01712a24e5b04a185565723c39f577e1884096d951deabe335ab81806552a" }, "downloads": -1, "filename": "pyfsig-0.6.tar.gz", "has_sig": false, "md5_digest": "bec7184a4814b25304af8cbf3a144462", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19441, "upload_time": "2017-02-26T13:21:32", "url": "https://files.pythonhosted.org/packages/ed/2b/32725777a75809d0b54929ad51192cc4db89347f95405b76709af9350594/pyfsig-0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bec7184a4814b25304af8cbf3a144462", "sha256": "90f01712a24e5b04a185565723c39f577e1884096d951deabe335ab81806552a" }, "downloads": -1, "filename": "pyfsig-0.6.tar.gz", "has_sig": false, "md5_digest": "bec7184a4814b25304af8cbf3a144462", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19441, "upload_time": "2017-02-26T13:21:32", "url": "https://files.pythonhosted.org/packages/ed/2b/32725777a75809d0b54929ad51192cc4db89347f95405b76709af9350594/pyfsig-0.6.tar.gz" } ] }