{ "info": { "author": "Anderson Marques", "author_email": "andersonoanjo18@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.6" ], "description": "\n# PyFixedFlatFile\n \nEm v\u00e1rios ambientes corporativos, empresas trocam dados atrav\u00e9s de arquivos de textos que obedecem uma determinada estrutura, uma determinada especifica\u00e7\u00e3o acordada entre elas. Esses arquivos s\u00e3o chamados de arquivos `flat file` \ncom conte\u00fado de tamanho fixo.\nA biblioteca ent\u00e3o facilita a cria\u00e7\u00e3o desses arquivos do tipo `flat file`.\n\n## Instala\u00e7\u00e3o\n\n``` \npip install pyFixedFlatFile\n```\n\n## Agora o pyfixedFlatFile possui o m\u00f3dulo cnabs de extratos\n\nNo modulo cnabs tem(ter\u00e1) como ler arquivos de extratos dos principais bancos.\nPor enquanto tem os m\u00f3dulos dos bancos itau, bradesco, santander.\n\n```python\nfrom pyFixedFlatFile.cnabs import Itau\n\nresult = Itau.read('Path_para_arquivo_extrato_itau')\nprint(result)\n```\n\n```python\nfrom pyFixedFlatFile.cnabs import Bradesco\n\nresult = Bradesco.read('Path_para_arquivo_extrato_bradesco')\nprint(result)\n```\n\n```python\nfrom pyFixedFlatFile.cnabs import Santander\n\nresult = Santander.read('Path_para_arquivo_extrato_bradesco')\nprint(result)\n```\n\n## Como usar?\nComo demonstra\u00e7\u00e3o ser\u00e1 usada uma especifica\u00e7\u00e3o fict\u00edcia que definir\u00e1 como o conte\u00fado do arquivo deve ser estruturado. \nAp\u00f3s essa defini\u00e7\u00e3o geraremos o um arquivo com dados tamb\u00e9m fict\u00edcios que obedecem a especifica\u00e7\u00e3o..\n\n#### Especifica\u00e7\u00e3o\nO arquivo vai ser referente a informa\u00e7\u00f5es de um empresa fict\u00edcia chamada MyCompany. \nNo arquivo cada registro (linha) deve possuir um identificador com tamanho dois(as duas primeiras colunas), afim de identificar quais s\u00e3o os dados que aquele registro possui.\n\nO registro que come\u00e7ar com 10, vai ter as seguintes informa\u00e7\u00f5es:\n\n| Nome | Tamanho | tipo | \n| ------ | ------ | ---- |\n| id | 2 | n (N\u00famerico) |\n|cnpj | 14 | a (Alfa-n\u00famerico) |\n|inscri\u00e7\u00e3o estadual | 14 | a (Alfa-n\u00famerico) |\n|nome administradora| 34 | a (Alfa-n\u00famerico) |\n|valor fixo 2 | 1 | a (Alfa-n\u00famerico) |\n|data cria\u00e7\u00e3o | 8 | a (Alfa-n\u00famerico) |\n\nO registro que come\u00e7ar com 11, vai ter as informa\u00e7\u00f5es:\n\n| Nome | Tamanho | tipo | \n| ------ | ------ | ---- |\n| id | 2 | n (N\u00famerico) |\n| logradouro | 34 | a (Alfa-n\u00famerico) |\n| numero | 5 | n (N\u00famerico) |\n| bairro | 15 | a (Alfa-n\u00famerico) |\n\nO registro que come\u00e7ar com 90, vai ter as seguintes informa\u00e7\u00f5es:\n\n| Nome | Tamanho | tipo | \n| ------ | ------ | ---- |\n| id | 2 | n (N\u00famerico) |\n| cnpj | 14 | a (Alfa-n\u00famerico) |\n| total registros | 12 | n (N\u00famerico) |\n\nAgora que foi definido como os dados devem ser representados no arquivo, iremos ver como descrever essa especifica\u00e7\u00e3o no pyFixedFlatFile e ent\u00e3o gerar o nosso arquivo `flat file`.\n\n#### Usando o pyFixedFlatFile.\nO c\u00f3digo abaixo \u00e9 como definimos atr\u00e1ves da biblioteca a especifica\u00e7\u00e3o descrita no sub-se\u00e7\u00e3o anterior.\n\n```python\nfrom pyFixedFlatFile import PyFixedFlatFile\nfrom datetime import datetime\n\n\nbuilder = PyFixedFlatFile() # inst\u00e2nciando um objeto PyFixedFlatFile \n\n# Aqui definimos a constru\u00e7\u00e3o do flat file\n# registros que come\u00e7am com 10\nbuilder.eq(\"10\") \nbuilder.id(2).\\\n cnpj(14, fmt=lambda v: \"{:>14}\".format(v)).\\\n inscricaoEstadual(14, default='').\\\n nomeAdm(33).\\\n constant('2').\\\n dataCriacao(8, fmt=lambda d: format(d, '%d%m%Y'))\n# registros que come\u00e7am com 11 \nbuilder.eq(11)\nbuilder.id(2).\\\n logradouro(34).\\\n numero(5, tp='numeric').\\\n bairro(15)\n# registros que come\u00e7am com 90 \nbuilder.eq(\"90\")\nbuilder.id(2).\\\n cnpj(14, fmt=lambda v: \"{:>14}\".format(v)).\\\n totalReg(12, tp='numeric').\\\n constant('99')\n```\n\nAbaixo uma explica\u00e7\u00e3o do c\u00f3digo acima.\n\nPrimeiro importamos o PyFixedFlatFile. Importamos tamb\u00e9m o datetime pois iremos utilizar no exemplo.\n```python\nfrom pyFixedFlatFile import PyFixedFlatFile\nfrom datetime import datetime\n```\n\nEnt\u00e3o inst\u00e2nciamos o objeto respons\u00e1vel por criar a estrutura ou especifica\u00e7\u00e3o.\n```python\nbuilder = PyFixedFlatFile() # a quebra de linha default ser\u00e1 o '\\n'\n\n# ou\n\nbuilder = PyFixedFlatFile(NL='dos') # a quebra de linha ser\u00e1 '\\r\\n'\n```\n\nE assim come\u00e7amos a criar as nossas defini\u00e7\u00f5es.\n```python\nbuilder.eq(\"10\")\n```\n\nO trecho de c\u00f3digo acima informa ao PyFixedFlatFile que se nos dados que forem passados para ele tiver um id igual a 10, \u00e9 para vincular os dados com as defini\u00e7\u00f5es logo ap\u00f3s o .eq \n```python\nbuilder.eq(\"10\") \nbuilder.id(2).\\ \n cnpj(14, fmt=lambda v: \"{:>14}\".format(v)).\\\n inscricaoEstadual(14, default='').\\\n nomeAdm(33).\\\n constant('2').\\\n dataCriacao(8, fmt=lambda d: format(d, '%d%m%Y'))\n```\n\n> o *.id(2)* indica que o atributo id deve ter o tamanho 2. primeiro par\u00e2metro \u00e9 sempre o tamanho que o atributo deve ter.\n\n> o *.cnpj(14, fmt=lambda v: \"{:>14}\".format(v))*, indica que o cnpj deve ter o tamanho 14 e como segundo par\u00e2metro \u00e9 passado um fun\u00e7\u00e3o para formatar o cnpj. Essa fun\u00e7\u00e3o ser\u00e1 executada pelo builder e aplicada ao campo passado, no caso o cnpj.\n\n>o *.inscricaoEstadual(14, default='')*, indica que a inscri\u00e7\u00e3o estadual deve ter o tamanho 14 e \u00e9 passado tamb\u00e9m o par\u00e2metro nomeado default. Com ele podemos indicar um valor para quando esse atributo for passado uma string vazia.\n\nExistem 4 par\u00e2metros nomeados que podemos passar:\n1. `default`, onde definimos um valor padr\u00e3o para aquele campo caso ele esteja vazio (string vazia). \n2. `fmt`, onde passamos uma fun\u00e7\u00e3o que deve ter sempre um \u00fanico argumento. Esse argumento ser\u00e1 o valor do pr\u00f3prio atributo. \n3. `tp`, que \u00e9 usado em conjunto com seu valor 'numeric', para indicar que o campo \u00e9 num\u00e9rico, pois por default os atributos ser\u00e3o tratados como strings.\n\nNa espec\u00edfica\u00e7\u00e3o \u00e9 definido que tem um valor fixo para a posi\u00e7\u00e3o ap\u00f3s o nomeAdm quando o registro come\u00e7ar com o identificador '10'. Esse valor fixo \u00e9 2. Para esse tipo de situ\u00e7\u00e3o foi criado o atributo constant, que na nossa constru\u00e7\u00e3o fica constant('2').\n\nCom isso j\u00e1 definimos a nossa especifica\u00e7\u00e3o usando a biblioteca.\n## Criando um flat file\n\nAgora precisamos passar os dados para que ela trate e gere o que precisamos.\nSuponha que vamos buscar os dados em um banco de dados e montamos uma estruta como abaixo.\n```python\nregistros = [\n {\n \"id\": \"10\", \"cnpj\": \"00644422230\", \"inscricaoEstadual\": \"\", \"nomeAdm\": \"AnjosCompany\",\n \"dataCriacao\": datetime.now(),\n },\n {\n \"id\": \"11\", \"logradouro\": \"Av Dario Lopes dos Santos\", \"numero\": \"2197\", \"bairro\": \"Jardim Botanico\", \n },\n {\n \"id\": \"90\", \"cnpj\": \"01234567891234\", \"totalReg\": 23, \n }\n]\n```\n\nOs ids nos dicion\u00e1rios presentes na lista registros, n\u00e3o s\u00e3o ids objetos vindo dos bancos de dados e sim a indica\u00e7\u00e3o de qual bloco da especifica\u00e7\u00e3o do PyFixedFlatFile vai tratar o dicion\u00e1rio espec\u00edfico.\nAssim a lista acima ser\u00e1 tratado pelo bloco:\n\n```python\nbuilder.eq(\"10\") \nbuilder.id(2).\\\n cnpj(14, fmt=lambda v: \"{:>14}\".format(v)).\\\n inscricaoEstadual(14, default='').\\\n nomeAdm(33).\\\n constant('2').\\\n dataCriacao(8, fmt=lambda d: format(d, '%d%m%Y'))\n# registros que come\u00e7am com 11 \nbuilder.eq(11)\nbuilder.id(2).\\\n logradouro(34).\\\n numero(5, tp='numeric').\\\n bairro(15)\n# registros que come\u00e7am com 90 \nbuilder.eq(\"90\")\nbuilder.id(2).\\\n cnpj(14, fmt=lambda v: \"{:>14}\".format(v)).\\\n totalReg(12, tp='numeric').\\\n constant('99')\n```\nPercebam que as chaves dos dicion\u00e1rios devem ser iguais ao que foi especificado, exceto pelo atributo `constant`, que n\u00e3o \u00e9 passado pelo dicion\u00e1rio, pois o seu par\u00e2metro ('2'), j\u00e1 \u00e9 o seu valor.\n\nAbaixo como passar os dados para a biblioteca:\n\n```python\ns = builder.generate_all(registros)\nprint(s)\nwith open(\"fixed_flat_file.txt\", \"w\") as f:\n f.write(s)\n```\nO m\u00e9todo generate ir\u00e1 retorna uma string formatada de acordo com a espec\u00edfica\u00e7\u00e3o representando um registro (uma linha) do arquivo. No exemplo, esse retorno \u00e9 concatenado na vari\u00e1vel s, que ser\u00e1 salva em um arquivo .txt, que \u00e9 o `fixed flat file`. Com o m\u00e9todo generate_all \u00e9 retornado uma string com todo o conte\u00fado que deve ser salvo no arquivo .txt.\n\nPronto, com o pyFixedFlatFile n\u00f3s definimos uma especifica\u00e7\u00e3o para os dados e tamb\u00e9m processamos os dados com base nessa \nespecifica\u00e7\u00e3o para construir o nosso arquivo.\n\n## Lendo um flat file\nUsando como exemplo o arquivo gerado no item anterior.\n\n```python\nbuilder_r = PyFixedFlatFile() # a quebra de linha default ser\u00e1 o '\\n'\n\nbuilder_r.eq(\"10\") \nbuilder_r.id(2).\\\n cnpj(14).\\\n inscricaoEstadual(14).\\\n nomeAdm(33).\\\n constant('2').\\\n dataCriacao(8, fmt=lambda d: datetime.strptime(d, '%d%m%Y'))\n\n# registros que come\u00e7am com 11 \nbuilder_r.eq(11)\nbuilder_r.id(2).\\\n logradouro(34).\\\n numero(5, tp='numeric').\\\n bairro(15)\n# registros que come\u00e7am com 90 \nbuilder_r.eq(\"90\")\nbuilder_r.id(2).\\\n cnpj(14).\\\n totalReg(12, tp='numeric').\\\n constant('99')\n\n# Passando a path do arquivo a ser lido\nresult = builder_r.read(\"fixed_flat_file.txt\")\nprint(result)\n\n# or\n\n# Criando .csv a partir do arquivo \nbuilder_r.to_csv(\"fixed_flat_file.txt\")\n```\n\nMeta\n----\n Anderson Marques - andersonoanjo18@gmail.com\n \n Distribu\u00eddo sobre lincensa MIT. Veja ``LICENSE.txt`` para mais inform\u00e7\u00f5es.\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/anderson89marques/PyFixedFlatFile", "keywords": "", "license": "", "maintainer": "anderson89marques", "maintainer_email": "", "name": "pyFixedFlatFile", "package_url": "https://pypi.org/project/pyFixedFlatFile/", "platform": "", "project_url": "https://pypi.org/project/pyFixedFlatFile/", "project_urls": { "Homepage": "https://github.com/anderson89marques/PyFixedFlatFile" }, "release_url": "https://pypi.org/project/pyFixedFlatFile/1.4.0/", "requires_dist": null, "requires_python": ">=3.5", "summary": "PyFixedFlatFile", "version": "1.4.0" }, "last_serial": 4379337, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "3377f462f929c1524f66dfe4593c5eed", "sha256": "8c0abe4fbc692ba5debee2627e5b9fd2690f97b7b16a2f3072565036f38b8f0b" }, "downloads": -1, "filename": "pyFixedFlatFile-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3377f462f929c1524f66dfe4593c5eed", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 12684, "upload_time": "2017-09-01T00:39:14", "url": "https://files.pythonhosted.org/packages/04/96/a939df5e9c2902e52896a541ccade670e85392430099ca93a60b1bbb58d1/pyFixedFlatFile-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7a00604210fd61e24d520464eef8b1b1", "sha256": "784b6f441d6f5ab3f0de2b118a13c9e32841221aaadc53f0bbeecc6251a145c7" }, "downloads": -1, "filename": "pyFixedFlatFile-0.1.tar.gz", "has_sig": false, "md5_digest": "7a00604210fd61e24d520464eef8b1b1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 6625, "upload_time": "2017-09-01T00:39:16", "url": "https://files.pythonhosted.org/packages/22/a1/41896286ae147dff37eb2eb15093b18c93891c2c83cb385f2591ac606bda/pyFixedFlatFile-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "2c5301ef122215bb8718b880e5f2968d", "sha256": "6c1a16f0361bfe0e9cfba7c31f7a70d90aaf124edafea97bfdcad2c58f75ce02" }, "downloads": -1, "filename": "pyFixedFlatFile-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "2c5301ef122215bb8718b880e5f2968d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 10605, "upload_time": "2017-09-05T02:29:50", "url": "https://files.pythonhosted.org/packages/fa/46/6776edcc8d4389d5e5c62761760ee95dbb772d742e35bc9e54ad85c14589/pyFixedFlatFile-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ccae6c16df15e846c3e451d93667e5d3", "sha256": "6489a6d1a72b2aad3d248084e5dae7a0ba6c61b89efb14d95425be2c8c27b91c" }, "downloads": -1, "filename": "pyFixedFlatFile-0.2.tar.gz", "has_sig": false, "md5_digest": "ccae6c16df15e846c3e451d93667e5d3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 6266, "upload_time": "2017-09-05T02:29:52", "url": "https://files.pythonhosted.org/packages/2b/59/21930044e8a4d2a3bca81cd8840ae8e9cdeb05e424e342b3a091dd89669b/pyFixedFlatFile-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "db14d94a3ed43a4002984ffe6742b712", "sha256": "28356c12dc81687c279ab3b11ce9575c81015b8c8811ce7831576a316f4da8fb" }, "downloads": -1, "filename": "pyFixedFlatFile-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "db14d94a3ed43a4002984ffe6742b712", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 10576, "upload_time": "2017-09-05T05:11:39", "url": "https://files.pythonhosted.org/packages/03/2d/5f1d4352aa8850a94eaebdee65f2c981036c1a69275a681cee3d925de5c4/pyFixedFlatFile-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "deba13e5dd0ed66643a718a29810d8b1", "sha256": "41f5acdcf1761bdc81a4ee205c834dd30fd982a65a0447e1dad5b08bb2f7e861" }, "downloads": -1, "filename": "pyFixedFlatFile-0.3.tar.gz", "has_sig": false, "md5_digest": "deba13e5dd0ed66643a718a29810d8b1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 6265, "upload_time": "2017-09-05T05:11:41", "url": "https://files.pythonhosted.org/packages/15/8c/64542b072e1c3de37fe2e4b93862a838e39b3adeab9931fc6b9beb13e1ce/pyFixedFlatFile-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "4b806a7bae4dea1dfef943ac65441637", "sha256": "c8eb7578ade226275d2443a96c83777fab053b88eaa07ad176c95649a325523e" }, "downloads": -1, "filename": "pyFixedFlatFile-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "4b806a7bae4dea1dfef943ac65441637", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 10603, "upload_time": "2017-09-05T05:31:49", "url": "https://files.pythonhosted.org/packages/09/7c/13dc0e85c336b0609bfa91f2998fd9b8c41aee304740b9a879a5ba0a6d4f/pyFixedFlatFile-0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1db9ad0a18938f6854876c6453d0946d", "sha256": "20d4f24e8d219af9470b4d68f4599a89d3f9b9bcfa16edbeb599883163b306c0" }, "downloads": -1, "filename": "pyFixedFlatFile-0.4.tar.gz", "has_sig": false, "md5_digest": "1db9ad0a18938f6854876c6453d0946d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 6282, "upload_time": "2017-09-05T05:31:51", "url": "https://files.pythonhosted.org/packages/e4/d6/788b23436686dc6ff03ec0ea8ab94f2c156eff19ed81c6cfacbabe4988b8/pyFixedFlatFile-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "1c1769ecc1b6bad8d0fe96d1cdc167c7", "sha256": "4f8b28f1efa198a70bd862a020a774187c240d988530fdf20ff398550e1e75d1" }, "downloads": -1, "filename": "pyFixedFlatFile-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "1c1769ecc1b6bad8d0fe96d1cdc167c7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 10644, "upload_time": "2017-09-19T14:26:58", "url": "https://files.pythonhosted.org/packages/61/22/8bcd1f340c8a7f0549cecc5392ef766eb001c0b6cfd63dd1079c799d49ba/pyFixedFlatFile-0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "09f5987a56ddbc50da4dd30f03703b5c", "sha256": "bc07d1c9b12b96d55e95dc6d61616ef57bc2363fb10dbb8115c071000a2cbb61" }, "downloads": -1, "filename": "pyFixedFlatFile-0.5.tar.gz", "has_sig": false, "md5_digest": "09f5987a56ddbc50da4dd30f03703b5c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 6300, "upload_time": "2017-09-19T14:27:05", "url": "https://files.pythonhosted.org/packages/4f/05/b62918a4bba95189301b63dfce8063248c2a25729b50391bfe0d6ac6b742/pyFixedFlatFile-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "0c27d991e22f4304585c8e5f4704de13", "sha256": "170b8080bbab577f869248063e7a0b4912410513cb25b7ccab9d2c82001c2cd4" }, "downloads": -1, "filename": "pyFixedFlatFile-0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "0c27d991e22f4304585c8e5f4704de13", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 10668, "upload_time": "2017-09-19T14:46:10", "url": "https://files.pythonhosted.org/packages/84/50/762e29732950cd59bac3ef93acbdb9258946cb4d47705c72f398e3d4f5e4/pyFixedFlatFile-0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ca4cc6cc43d5016f46fc96f37bbbfa11", "sha256": "8b857b0c9ecf180bae0f9372d35e743d8e1a448f48f447f807c6f9158bd516f4" }, "downloads": -1, "filename": "pyFixedFlatFile-0.6.tar.gz", "has_sig": false, "md5_digest": "ca4cc6cc43d5016f46fc96f37bbbfa11", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 6311, "upload_time": "2017-09-19T14:46:13", "url": "https://files.pythonhosted.org/packages/9a/29/f48fb998496932aee0396293e1f6f2bca1b0e13a4de73ac9c4d03e597ea4/pyFixedFlatFile-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "f060547b02c181e027449a903cfdd7b3", "sha256": "f4adfdc25dfcb88f4744117703c373dc94099085e34601059d1afe5e4614bc25" }, "downloads": -1, "filename": "pyFixedFlatFile-0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "f060547b02c181e027449a903cfdd7b3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 10935, "upload_time": "2017-09-19T15:10:32", "url": "https://files.pythonhosted.org/packages/3f/29/7eee6673392b98c5aae1b8c65ea912abf2bec4f3c1078aedf3d1592e0a60/pyFixedFlatFile-0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "88efeb7d3f1f227c58ffd09c9bb78a54", "sha256": "10d6ed3d759d4ab217ced9a834ef9728cab06fd0dc7054e864c5d97c3077f4ab" }, "downloads": -1, "filename": "pyFixedFlatFile-0.7.tar.gz", "has_sig": false, "md5_digest": "88efeb7d3f1f227c58ffd09c9bb78a54", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 6355, "upload_time": "2017-09-19T15:10:38", "url": "https://files.pythonhosted.org/packages/40/79/bdf609e1818a2eb218cddf1d58cbb77aff8f229496165626a661c4fa58cd/pyFixedFlatFile-0.7.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "cba70086e50231ad6c375f0c09edcead", "sha256": "5463890d6c6ad897ff78d5f3993792b2ff67d6098d1167441bd57938c6f44794" }, "downloads": -1, "filename": "pyFixedFlatFile-0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "cba70086e50231ad6c375f0c09edcead", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 11193, "upload_time": "2017-11-17T19:23:16", "url": "https://files.pythonhosted.org/packages/c8/7d/a11ed09d383fa9030a5cece96d03606a554cb4212bb60e6f9a49f7b7a5cd/pyFixedFlatFile-0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "55ae3ca563ea0ea1bb84aebb76dcc3a6", "sha256": "9961a866cd43d5059e1834faa9bf83b402ccfd7363114f7da5bed6b104cdc25f" }, "downloads": -1, "filename": "pyFixedFlatFile-0.8.tar.gz", "has_sig": false, "md5_digest": "55ae3ca563ea0ea1bb84aebb76dcc3a6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 6437, "upload_time": "2017-11-17T19:23:19", "url": "https://files.pythonhosted.org/packages/e0/c2/2ea9d5ca2b966ae69a3d13d15404af04ae3aae05541f192f6595d40c7209/pyFixedFlatFile-0.8.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "2851020662f54b5134f99484bb3beb80", "sha256": "a5265f841f4ab0bc8780873a466aecc30d199421c191fd663db607917c38d49c" }, "downloads": -1, "filename": "pyFixedFlatFile-0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "2851020662f54b5134f99484bb3beb80", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 11201, "upload_time": "2017-11-17T19:33:13", "url": "https://files.pythonhosted.org/packages/8b/4f/a5c74c96d39d65cf8fa50ad78e77606855fd61615a73e61eb5a9ae5691ee/pyFixedFlatFile-0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "457ce9c0f8fbb9a395c90b98bfd61778", "sha256": "c9fe92527842cee60c6081ed3c734bc15bd19f69c411e8817976cabe19aa1688" }, "downloads": -1, "filename": "pyFixedFlatFile-0.9.tar.gz", "has_sig": false, "md5_digest": "457ce9c0f8fbb9a395c90b98bfd61778", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 6434, "upload_time": "2017-11-17T19:33:15", "url": "https://files.pythonhosted.org/packages/4c/56/4768872de96d931841d4feef4656f3b94915251fbbcbe0da600c9cdb2d1b/pyFixedFlatFile-0.9.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "ce136f8ddba1c2ab78f993419c620939", "sha256": "72216da007b1444d7aa8341e9444ba69315cab266e4d471d6fcff93b471b05db" }, "downloads": -1, "filename": "pyFixedFlatFile-1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ce136f8ddba1c2ab78f993419c620939", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 12526, "upload_time": "2018-09-10T03:00:04", "url": "https://files.pythonhosted.org/packages/f1/88/274eb204f4d75dac81cdce09a907741930b2b34af56023bcd3588a5c4847/pyFixedFlatFile-1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "077cc684ca9c4111d7d0d4c188b08d12", "sha256": "0d256df508d3bdff386e512527b019f1a5af156f1517532a6e4260c3b081ccbe" }, "downloads": -1, "filename": "pyFixedFlatFile-1.0.tar.gz", "has_sig": false, "md5_digest": "077cc684ca9c4111d7d0d4c188b08d12", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 7088, "upload_time": "2018-09-10T03:00:14", "url": "https://files.pythonhosted.org/packages/b6/28/7a28a97d60f0ea8d5032d759a35babaf95df8e644aa76ac5f3e89f5c39c6/pyFixedFlatFile-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "474d98ae531dc1a35ff2e567805a076f", "sha256": "3f50b1d844b7b5d1255b8edacfb60a309ab9ac73563ce70b41a86f554297c847" }, "downloads": -1, "filename": "pyFixedFlatFile-1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "474d98ae531dc1a35ff2e567805a076f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 12850, "upload_time": "2018-09-11T17:19:02", "url": "https://files.pythonhosted.org/packages/b1/0e/b785c1bcb29d3403ff7b944d1a082132a8286e08afb238b8035dbb342d11/pyFixedFlatFile-1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4824e438c046e9664d2ab361145fb0a4", "sha256": "17fe93dc4ef417e5d2a8640a880b36f443cf2ae592c89be62ff327c628b427c8" }, "downloads": -1, "filename": "pyFixedFlatFile-1.1.tar.gz", "has_sig": false, "md5_digest": "4824e438c046e9664d2ab361145fb0a4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 7303, "upload_time": "2018-09-11T17:19:52", "url": "https://files.pythonhosted.org/packages/d0/57/7d78ca25a5b83d1dccaae6cf41cfcedf25c84bf9abe2fa5c77b849be4bdd/pyFixedFlatFile-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "e6956c89f097abce31b195beffa3dbe1", "sha256": "639ca81722b57ee9784d4e9c848f3fdb42cfbd532ca1c00d3d156c0b5ea8030e" }, "downloads": -1, "filename": "pyFixedFlatFile-1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "e6956c89f097abce31b195beffa3dbe1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 21763, "upload_time": "2018-09-18T16:34:52", "url": "https://files.pythonhosted.org/packages/ee/bb/3ee00e2af88b54c3a1663cb5475b88020317bba1dd501355072f5c69e398/pyFixedFlatFile-1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1ea19aa9b161fea1ed0028be8c28c280", "sha256": "da8f2d408c2e565693ebc08205201851266335523e1abf5304695545c7d5419a" }, "downloads": -1, "filename": "pyFixedFlatFile-1.2.tar.gz", "has_sig": false, "md5_digest": "1ea19aa9b161fea1ed0028be8c28c280", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 8945, "upload_time": "2018-09-18T16:35:06", "url": "https://files.pythonhosted.org/packages/d0/fe/316ded2e3e4473903c6280223429ac76f4e68271ba822ce186c328f2854b/pyFixedFlatFile-1.2.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "14f5c93f0458bbad4a06e8e10f5e8264", "sha256": "0f040d404fba1fac82c026adbbcb595274a7e3f19ec125cc5272a62a0d6ffc3c" }, "downloads": -1, "filename": "pyFixedFlatFile-1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "14f5c93f0458bbad4a06e8e10f5e8264", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 27203, "upload_time": "2018-09-18T18:53:14", "url": "https://files.pythonhosted.org/packages/19/b3/123a37fe9db01f3f1521945306133db43b8d3376e92661189aa8eeec3fa6/pyFixedFlatFile-1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d77e6537a769e8580b8ea26b69fd6c74", "sha256": "6531f76955787b59af6125c2830ade8b86169bbd45616c025a053dbc67bcae36" }, "downloads": -1, "filename": "pyFixedFlatFile-1.3.tar.gz", "has_sig": false, "md5_digest": "d77e6537a769e8580b8ea26b69fd6c74", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9303, "upload_time": "2018-09-18T18:53:24", "url": "https://files.pythonhosted.org/packages/e8/32/0b295bc1673ca2bab31ec7cd682d4761644a238aa68ed2e5b110e609b53d/pyFixedFlatFile-1.3.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "3e2ee1058ea3d21162509a415f122063", "sha256": "ebe2c3c80523de289ffa15b33b58c5eb8b33d8eea283bc7c2ba24fa54053b099" }, "downloads": -1, "filename": "pyFixedFlatFile-1.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3e2ee1058ea3d21162509a415f122063", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 27205, "upload_time": "2018-09-21T17:01:06", "url": "https://files.pythonhosted.org/packages/a6/87/8f95c43f03d0f4a2964ed81954c6d16f87d5d65411e45a74d6b1cfee24ed/pyFixedFlatFile-1.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3b1f8fe2015f857b6a238ec8c266a97c", "sha256": "e919e77a15eb62272303449147da86e1526aeec9279d7a88cfc31f540529024b" }, "downloads": -1, "filename": "pyFixedFlatFile-1.3.1.tar.gz", "has_sig": false, "md5_digest": "3b1f8fe2015f857b6a238ec8c266a97c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9321, "upload_time": "2018-09-21T17:01:15", "url": "https://files.pythonhosted.org/packages/b9/2b/b5b3bfe4e46e71b03545be22ab142c919596edaad83d7a88a530d31a998f/pyFixedFlatFile-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "d727708a2b9462bf8fc81702ce7b69fe", "sha256": "8827dffc1e541440b91345f43008ecb1da1c861c67dcdae5745524106a506851" }, "downloads": -1, "filename": "pyFixedFlatFile-1.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d727708a2b9462bf8fc81702ce7b69fe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 27066, "upload_time": "2018-09-21T17:30:45", "url": "https://files.pythonhosted.org/packages/88/a0/0e13b3ace90d8f9c6f50cba9065962236586022a06405e2a02bce3806d92/pyFixedFlatFile-1.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8e9ed67a9543def6f3621494388ce09b", "sha256": "46e5bcd982dc8ee1d338ec9b07a87cf86bdd03e652af05f645ca73fd6fc2acdc" }, "downloads": -1, "filename": "pyFixedFlatFile-1.3.2.tar.gz", "has_sig": false, "md5_digest": "8e9ed67a9543def6f3621494388ce09b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9337, "upload_time": "2018-09-21T17:30:53", "url": "https://files.pythonhosted.org/packages/ef/c6/350081f7cdd91dbdc7696d04d8b88993eb8a01335e82de1c044dfc910b8f/pyFixedFlatFile-1.3.2.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "b481566420b20c0373a6c23bb715b742", "sha256": "f9eae03a2d28358dca6a030bb7defbf6b86a71166d88d64729a982238737ef4c" }, "downloads": -1, "filename": "pyFixedFlatFile-1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b481566420b20c0373a6c23bb715b742", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 29782, "upload_time": "2018-10-15T22:35:51", "url": "https://files.pythonhosted.org/packages/2e/6c/292a1fbc0532c7bb9c064374850e1263c42266ecdf9e3cbda5b8658e5dfd/pyFixedFlatFile-1.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9eee3d206779d76485b1861d2629d49b", "sha256": "6ca1b903b746f17dc7a447716d4f46022a3b9585cf4a1aff0911e4afcd88be8f" }, "downloads": -1, "filename": "pyFixedFlatFile-1.4.0.tar.gz", "has_sig": false, "md5_digest": "9eee3d206779d76485b1861d2629d49b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9431, "upload_time": "2018-10-15T22:35:58", "url": "https://files.pythonhosted.org/packages/8e/a8/a55e6c32e5d2bba54a9aa785dfa1a8b3b3f75624588b52350304f0654154/pyFixedFlatFile-1.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b481566420b20c0373a6c23bb715b742", "sha256": "f9eae03a2d28358dca6a030bb7defbf6b86a71166d88d64729a982238737ef4c" }, "downloads": -1, "filename": "pyFixedFlatFile-1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b481566420b20c0373a6c23bb715b742", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 29782, "upload_time": "2018-10-15T22:35:51", "url": "https://files.pythonhosted.org/packages/2e/6c/292a1fbc0532c7bb9c064374850e1263c42266ecdf9e3cbda5b8658e5dfd/pyFixedFlatFile-1.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9eee3d206779d76485b1861d2629d49b", "sha256": "6ca1b903b746f17dc7a447716d4f46022a3b9585cf4a1aff0911e4afcd88be8f" }, "downloads": -1, "filename": "pyFixedFlatFile-1.4.0.tar.gz", "has_sig": false, "md5_digest": "9eee3d206779d76485b1861d2629d49b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9431, "upload_time": "2018-10-15T22:35:58", "url": "https://files.pythonhosted.org/packages/8e/a8/a55e6c32e5d2bba54a9aa785dfa1a8b3b3f75624588b52350304f0654154/pyFixedFlatFile-1.4.0.tar.gz" } ] }