{ "info": { "author": "Diogo N Silva", "author_email": "o.diogosilva@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "# FlowCraft :whale2::package:\n\n![Nextflow version](https://img.shields.io/badge/nextflow->0.27.0-brightgreen.svg)\n![Python version](https://img.shields.io/badge/python-3.6-brightgreen.svg)\n[![Build Status](https://travis-ci.org/assemblerflow/flowcraft.svg?branch=master)](https://travis-ci.org/assemblerflow/flowcraft)\n[![codecov](https://codecov.io/gh/assemblerflow/flowcraft/branch/master/graph/badge.svg)](https://codecov.io/gh/assemblerflow/flowcraft)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/f518854f780b41a08ca2fb1c14e360f0)](https://www.codacy.com/app/o.diogosilva/assemblerflow?utm_source=github.com&utm_medium=referral&utm_content=ODiogoSilva/assemblerflow&utm_campaign=Badge_Grade)\n[![Documentation Status](https://readthedocs.org/projects/flowcraft/badge/?version=latest)](http://flowcraft.readthedocs.io/en/latest/?badge=latest)\n[![PyPI version](https://badge.fury.io/py/flowcraft.svg)](https://badge.fury.io/py/flowcraft)\n[![Anaconda-Server Badge](https://anaconda.org/bioconda/flowcraft/badges/version.svg)](https://anaconda.org/bioconda/flowcraft)\n\n

\n \"nextflow_logo\"/\n

\n\nA [Nextflow](https://www.nextflow.io/) pipeline assembler for genomics.\nPick your modules. Assemble them. Run the pipeline.\n\n(Previously known as Assemblerflow)\n\n## The premisse\n\n#### Build a pipeline\n\nWhat if building your own genomics pipeline would be as simple as:\n\n```\nflowcraft.py build -t \"trimmomatic fastqc skesa pilon\" -o my_pipeline.nf\n```\n\nSeems pretty simple right? What if we could run this pipeline with a single command on any linux machine or cluster by leveraging\nthe awesomeness of [nextflow](https://www.nextflow.io/) and [docker](https://www.docker.com/)/[singularity](http://singularity.lbl.gov/)\ncontainers without having to install any of the pipeline dependencies?\n\n#### Run the pipeline\n\n```\nnextflow run my_pipeline.nf --fastq path/to/fastq\n\nN E X T F L O W ~ version 0.30.1\nLaunching `my_pipeline.nf` [admiring_lamarck] - revision: 82cc9cd2ed\n\n============================================================\n M Y P I P E L I N E\n============================================================\nBuilt using flowcraft v1.2.1\n\n Input FastQ : 2\n Input samples : 1\n Reports are found in : ./reports\n Results are found in : ./results\n Profile : standard\n\nStarting pipeline at Tue Jun 12 19:38:26 WEST 2018\n\n[warm up] executor > local\n[7c/eb5f2f] Submitted process > integrity_coverage_1_1 (02AR0553)\n(...)\n[31/7d90a1] Submitted process > compile_pilon_report_1_6\n\nCompleted at: Tue Jun 12 19:58:32 WEST 2018\nDuration : 20m 6s\nSuccess : true\nExit status : 0\n```\n\nCongratulations! You just built and executed your own pipeline with\nonly two commands! :tada:\n\n## Installation\n\nFlowCraft is available as a bioconda package, which already brings\nnextflow:\n\n```\nconda install flowcraft\n```\n\n#### Container engines\n\nPipelines built with FlowCraft require at least one container\nengine to be installed, among `docker`, `singularity` or `shifter`.\nIf you already have any one of these installed, you're good to go.\nIf not, we recommend installing singularity, though it should be installed with\nroot privileges and accessible in all compute nodes. \n\n## How to use it\n\nThe complete user guide of FlowCraft can be found on [readthedocs.org](http://flowcraft.readthedocs.io/en/latest/?badge=latest).\nFor a quick and dirty demonstration, see below.\n\n### Quick guide\n\n#### Building a pipeline\n\nFlowCraft comes with a number of [ready-to-use components](http://flowcraft.readthedocs.io/en/latest/user/available_components.html) to build your\nown pipeline. Following some basic rules, such as the output type of one process\nmust match the input type of the next process, assembling a pipeline is done\nusing the `build` mode and the `-t` option:\n\n```\nflowcraft build -t \"trimmomatic spades abricate\" -o my_pipeline.nf -n \"assembly pipe\"\n```\n\nThis command will generate everything that is necessary to run the\npipeline automatically, but the main pipeline executable\nfile will be `my_pipeline.nf`. This file will contain a nextflow pipeline\nfor genome assembly starts with `trimmomatic` and finishes with anti-microbial\ngene annotation using `abricate`.\n\n#### Wait... what about the software parameters?\n\nEach component in the pipeline has its own set of parameters that can be\nmodified before or when executing the pipeline. These parameters are\ndescribed in the documentation of each process and you can check the options\nof your particular pipeline using the `help` option:\n\n```\n$ nextflow run my_pipeline.nf --help\nN E X T F L O W ~ version 0.30.1\nLaunching `my_pipeline.nf` [prickly_picasso] - revision: 2e1a226e6d\n\n============================================================\n F L O W C R A F T\n============================================================\nBuilt using flowcraft v1.2.1\n\n\nUsage: \n nextflow run my_pipeline.nf\n\n --fastq Path expression to paired-end fastq files. (default: fastq/*_{1,2}.*) (default: 'fastq/*_{1,2}.*')\n\n Component 'INTEGRITY_COVERAGE_1_1'\n ----------------------------------\n --genomeSize_1_1 Genome size estimate for the samples in Mb. It is used to estimate the coverage and other assembly parameters andchecks (default: 1)\n --minCoverage_1_1 Minimum coverage for a sample to proceed. By default it's setto 0 to allow any coverage (default: 0)\n\n Component 'TRIMMOMATIC_1_2'\n ---------------------------\n --adapters_1_2 Path to adapters files, if any. (default: 'None')\n --trimSlidingWindow_1_2 Perform sliding window trimming, cutting once the average quality within the window falls below a threshold (default: '5:20')\n --trimLeading_1_2 Cut bases off the start of a read, if below a threshold quality (default: 3)\n --trimTrailing_1_2 Cut bases of the end of a read, if below a threshold quality (default: 3)\n --trimMinLength_1_2 Drop the read if it is below a specified length (default: 55)\n\n Component 'FASTQC_1_3'\n ----------------------\n --adapters_1_3 Path to adapters files, if any. (default: 'None')\n\n Component 'ASSEMBLY_MAPPING_1_5'\n --------------------------------\n --minAssemblyCoverage_1_5 In auto, the default minimum coverage for each assembled contig is 1/3 of the assembly mean coverage or 10x, if the mean coverage is below 10x (default: 'auto')\n --AMaxContigs_1_5 A warning is issued if the number of contigs is overthis threshold. (default: 100)\n --genomeSize_1_5 Genome size estimate for the samples. It is used to check the ratio of contig number per genome MB (default: 2.1)\n```\n\nThis help message is dynamically generated depending on the pipeline you build.\nSince this pipeline starts with `trimmomatic`, which receives fastq files as input,\n`--fastq` is the default parameter for providing paired-end fastq files.\n\n#### Running a pipeline\n\nNow that we have our nextflow pipeline built, we are ready to executed it by\nproviding input data. By default, FlowCraft pipelines will run locally and use\n`singularity` to run the containers of each component. This can be\nchanged in multiple ways, but for convenience FlowCraft has already defined\nprofiles for most configurations of `executors` and `container` engines.\n\nRunning a pipeline locally with `singularity` can be done with:\n\n```\n# Pattern for paired-end fastq is '_1.fastq.gz _2.fastq.gz'\nnextflow run my_pipeline --fastq \"path/to/fastq/*_{1,2}.*\"\n```\n\nIf you want to run a pipeline in a cluster with SLURM and singularity, just use\nthe appropriate profile:\n\n```\nnextflow run my_pipeline --fastq \"path/to/fastq/*_{1,2}.*\" -profile slurm_sing\n```\n\nDuring the execution of the pipeline, the results and reports for each component\nare continuously saved to the `results` and `reports` directory, respectively.\n\n#### Inspecting a pipeline progress\n\nSince version 1.2.0, it is possible to inspect the progress of a nextflow pipeline\nusing the `flowcraft inspect` mode. To check the progress in a terminal, simply\ntype:\n\n```\nflowcraft inspect\n```\n\nOn the directory where the pipeline is running. Alternatively, you can view the progress\nin FlowCraft's web service by using the ``broadcast`` option:\n\n```\nflowcraft inspect -m broadcast\n```\n\n\n\n## Why not just write a Nextflow pipeline?\n\nIn many cases, building a static nextflow pipeline is sufficient for our goals.\nHowever, when building our own pipelines, we often felt the need to add dynamism\nto this process, particularly if we take into account how fast new tools arise\nand existing ones change. Our biological goals also change over time and we\nmight need different pipelines to answer different questions. FlowCraft makes\nthis very easy, by having a set of pre-made and ready-to-use components that can\nbe freely assembled.\n\nFor instance, changing the assembly software in a genome assembly pipeline becomes\nas easy as:\n\n```\n# Use spades\ntrimmomatic spades pilon\n# Use skesa\ntrimmomatic skesa pilon\n```\n\n![example1](https://github.com/assemblerflow/flowcraft/raw/master/docs/resources/example_3.png)\n\nIf you are interested in having some sort of genome annotation, simply add those\ncomponents at the end, using a fork syntax:\n\n```\n# Run prokka and abricate at the end of the assembly\ntrimmomatic spades pilon (prokka | abricate)\n```\n\n![example2](https://github.com/assemblerflow/flowcraft/raw/master/docs/resources/example_1.png)\n\nOn the other hand, if you are interest in just perform allele calling for wgMLST,\nsimply add `chewbbaca`:\n\n```\ntrimmomatic spades pilon chewbbaca\n```\n\n![example3](https://github.com/assemblerflow/flowcraft/raw/master/docs/resources/example_2.png)\n\nSince nextflow handles parallelism of large sets of data so well, simple pipelines\nof two components are also useful to build:\n\n```\ntrimmomatic fastqc\n```\n\nAs the number of existing components grow, so does your freedom to build pipelines.\n\n## Roadmap\n\nYou can see what we're planning next on our [roadmap guide](https://github.com/assemblerflow/flowcraft/wiki/Roadmap).\n\n## Developer guide\n\n### Adding new components\n\nIs there a missing component that you would like to see included? We would love\nto expand! You could make a component request in our\n[issue tracker](https://github.com/assemblerflow/flowcraft/issues).\n\nIf you want to be part of the team, you can contribute with the code as well. Each component\nin FlowCraft can be independently added without having to worry about\nthe rest of the code base. You'll just need to have some knowledge of python\nand nextflow. [Check the developer documentation for how-to guides](http://assemblerflow.readthedocs.io/en/latest/)\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/assemblerflow/flowcraft", "keywords": "", "license": "GPL3", "maintainer": "", "maintainer_email": "", "name": "flowcraft", "package_url": "https://pypi.org/project/flowcraft/", "platform": "", "project_url": "https://pypi.org/project/flowcraft/", "project_urls": { "Homepage": "https://github.com/assemblerflow/flowcraft" }, "release_url": "https://pypi.org/project/flowcraft/1.4.1/", "requires_dist": [ "pympler", "python-dateutil", "argparse", "jinja2", "requests" ], "requires_python": "", "summary": "A Nextflow pipeline assembler for genomics. Pick your modules. Assemble them. Run the pipeline.", "version": "1.4.1" }, "last_serial": 4888788, "releases": { "1.1.0": [ { "comment_text": "", "digests": { "md5": "5c296bb96ae8511e6f2996a59c3a1475", "sha256": "b794024bd3b81d7e404579429bec37b93c2696717177b13d96cf49fc3d69073c" }, "downloads": -1, "filename": "flowcraft-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "5c296bb96ae8511e6f2996a59c3a1475", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 183339, "upload_time": "2018-06-12T14:43:58", "url": "https://files.pythonhosted.org/packages/75/f2/12ec6f5239e791d61fd1bee4853e355744d432091768f59df54affaa135f/flowcraft-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "90f6bb6f9f9526cf5d8f071e4450f854", "sha256": "36a37374ce82f9ad67deb3e5b9a2f6e664334090146a7baa9ffc52c85239cb57" }, "downloads": -1, "filename": "flowcraft-1.1.0.tar.gz", "has_sig": false, "md5_digest": "90f6bb6f9f9526cf5d8f071e4450f854", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 125465, "upload_time": "2018-06-12T14:44:00", "url": "https://files.pythonhosted.org/packages/a6/c9/6f7db89fc3cadf49566f55ba3f02da3deaa041bb3af4bd5f4ad08fb93594/flowcraft-1.1.0.tar.gz" } ], "1.1.0.dev1": [ { "comment_text": "", "digests": { "md5": "b9c26a0551d5880d3a81406c2e4806ff", "sha256": "9144128e1459ec3d42f369039b4d8309bb2b29e039e1c8fe41246a0a70bfc621" }, "downloads": -1, "filename": "flowcraft-1.1.0.dev1.tar.gz", "has_sig": false, "md5_digest": "b9c26a0551d5880d3a81406c2e4806ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 130654, "upload_time": "2018-05-31T17:03:03", "url": "https://files.pythonhosted.org/packages/0a/ba/fd53755f7543663b3a8ba7dcb02569556b044239aac41e8529c5bf987765/flowcraft-1.1.0.dev1.tar.gz" } ], "1.1.0.dev2": [ { "comment_text": "", "digests": { "md5": "9690115e04d645f4f4e18f6758956af6", "sha256": "74d69356986177aa6d5bc42ff75d857b8fdab05cd3877e9ca628bc3883920d86" }, "downloads": -1, "filename": "flowcraft-1.1.0.dev2.tar.gz", "has_sig": false, "md5_digest": "9690115e04d645f4f4e18f6758956af6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 125403, "upload_time": "2018-06-12T13:49:57", "url": "https://files.pythonhosted.org/packages/7b/46/cf0c3079238324058d1d7c38134045998117cc0d616bb00a54ff5736e3a6/flowcraft-1.1.0.dev2.tar.gz" } ], "1.1.0.post1": [ { "comment_text": "", "digests": { "md5": "66e7e2fd8d23ae8a3ce929e0fa1e53d4", "sha256": "717e7f2b612f7f09b326b191e254e8a358a0cc14c04f5d559a68084d3ebfcd07" }, "downloads": -1, "filename": "flowcraft-1.1.0.post1-py3-none-any.whl", "has_sig": false, "md5_digest": "66e7e2fd8d23ae8a3ce929e0fa1e53d4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 178678, "upload_time": "2018-06-12T14:47:46", "url": "https://files.pythonhosted.org/packages/70/f0/633f6da9c5def96ac4c13099fbb1deb4fcd63661f1fedfe77da59c6fc0a3/flowcraft-1.1.0.post1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d32ae99c6d4068971499c260e0206e8e", "sha256": "227e9c0f029e8bd4a99b0c44db5443dc37559a8ba83a05e5e97b5e006238734c" }, "downloads": -1, "filename": "flowcraft-1.1.0.post1.tar.gz", "has_sig": false, "md5_digest": "d32ae99c6d4068971499c260e0206e8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 125476, "upload_time": "2018-06-12T14:47:48", "url": "https://files.pythonhosted.org/packages/8a/ad/2cb3510778f04070bd88567183070b41ecab639ba298f0646b91dfe5ffa3/flowcraft-1.1.0.post1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "d3ef1e89b4f387f405a55791443662f6", "sha256": "efe5628c1af6efe6be1d6c94b56cf0e10dd488dde6bec6a43e57b3ca97d28c5e" }, "downloads": -1, "filename": "flowcraft-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d3ef1e89b4f387f405a55791443662f6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 178605, "upload_time": "2018-06-12T14:57:11", "url": "https://files.pythonhosted.org/packages/d1/05/ef50ef3bac0853cc774f801de1ae7d14edd4788e2aea54ceb3682ae7f86e/flowcraft-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4b07d38cd4d33b2dea79ce0e3079c8f7", "sha256": "21218b4738a0c9c1d20584899232ad3e39132ff3a7bd7fe7265ce7054bfc3e0a" }, "downloads": -1, "filename": "flowcraft-1.2.0.tar.gz", "has_sig": false, "md5_digest": "4b07d38cd4d33b2dea79ce0e3079c8f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 125468, "upload_time": "2018-06-12T14:57:13", "url": "https://files.pythonhosted.org/packages/97/8f/09f3d8ac8205154f4d3e29535861fc87469e662c81650b4019f9917b4f4b/flowcraft-1.2.0.tar.gz" } ], "1.2.0.post1": [ { "comment_text": "", "digests": { "md5": "3243330a45645267d448a1ee5521f453", "sha256": "4e8c06be66d730657df9b93ceba5799a6561111d2d5f2c94d5a227e1f6b28112" }, "downloads": -1, "filename": "flowcraft-1.2.0.post1-py3-none-any.whl", "has_sig": false, "md5_digest": "3243330a45645267d448a1ee5521f453", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 178696, "upload_time": "2018-06-12T19:36:30", "url": "https://files.pythonhosted.org/packages/3a/83/8fbbe174d00c7224fbe9d39687ff63bdcf437e6fe5dae31a33d9c6159be6/flowcraft-1.2.0.post1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "42f3cbaa631b18ca1075e896f591d9a6", "sha256": "dd6a29bb161f80f48c34d720961012c3d7c20b4ce87e318334f14a3056811db3" }, "downloads": -1, "filename": "flowcraft-1.2.0.post1.tar.gz", "has_sig": false, "md5_digest": "42f3cbaa631b18ca1075e896f591d9a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 131778, "upload_time": "2018-06-12T19:36:34", "url": "https://files.pythonhosted.org/packages/68/f8/6db47775f3058dc6d762b5645b7a9e9fa3bd204393ad978f8ed270a3aedd/flowcraft-1.2.0.post1.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "d5e8acf217eb2625abcec3cff1e9bd99", "sha256": "ddebf03fc5f5bc9558fed4e6011e93d35688c6e967f320990c54b065901bb890" }, "downloads": -1, "filename": "flowcraft-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d5e8acf217eb2625abcec3cff1e9bd99", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 186494, "upload_time": "2018-07-05T12:34:09", "url": "https://files.pythonhosted.org/packages/9d/87/1c5bcfc4235394ebe1fe7e2f9eb87cb54d42b216070b47625847bc80c58d/flowcraft-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9b48e3454a2df6da662546ee90be747e", "sha256": "032dfa9e10d89402399d0c1ae73eac309073ba3cfde802acb3753e6fb7c02866" }, "downloads": -1, "filename": "flowcraft-1.2.1.tar.gz", "has_sig": false, "md5_digest": "9b48e3454a2df6da662546ee90be747e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 130528, "upload_time": "2018-07-05T12:34:11", "url": "https://files.pythonhosted.org/packages/ff/d4/9d5b3f326d7c5ea2e71e0a71472667af937d47012e3d48ac43f0a84b5ca6/flowcraft-1.2.1.tar.gz" } ], "1.2.1rc1": [ { "comment_text": "", "digests": { "md5": "2ec9f035b3fd6db76a3cc113f9f6c35b", "sha256": "f4a9392b5b2e4ac84e62472fb080416847414baff0a037a7aea9149f685f6882" }, "downloads": -1, "filename": "flowcraft-1.2.1rc1-py3-none-any.whl", "has_sig": false, "md5_digest": "2ec9f035b3fd6db76a3cc113f9f6c35b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 186741, "upload_time": "2018-07-04T12:24:23", "url": "https://files.pythonhosted.org/packages/09/a3/f1d119f75334c8046e771973fae4ae9b1e6708f4c85bd51f76d5384ca5d1/flowcraft-1.2.1rc1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "93c05848a3645725a7911bfd4dda3e4d", "sha256": "0556a2370a2c43bee4ad423628bc5be74714ff232408e4709e468fb109e62d95" }, "downloads": -1, "filename": "flowcraft-1.2.1rc1.tar.gz", "has_sig": false, "md5_digest": "93c05848a3645725a7911bfd4dda3e4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 130723, "upload_time": "2018-07-04T12:24:25", "url": "https://files.pythonhosted.org/packages/52/2a/900b9829812a4e205aa5d9e9fe08bc5d23a61b384ca06528cff25ba7b9ef/flowcraft-1.2.1rc1.tar.gz" } ], "1.2.1rc2": [ { "comment_text": "", "digests": { "md5": "2e083882cd82bc8a887f8c4e58e312b5", "sha256": "02fa2edbcfe05521e60601001b548a245bb81ba9261e23462d2dabefc87c9a44" }, "downloads": -1, "filename": "flowcraft-1.2.1rc2-py3-none-any.whl", "has_sig": false, "md5_digest": "2e083882cd82bc8a887f8c4e58e312b5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 186741, "upload_time": "2018-07-04T12:34:39", "url": "https://files.pythonhosted.org/packages/8b/e6/ca9c9a324ec65ce9a3373ed57c9dd0ddbf7b022eaabb7791660a68b8005b/flowcraft-1.2.1rc2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "76d6ef0cf11c5612f42519b604b15470", "sha256": "110e7269992d876bd0b678b54cb424247bd25728e5eab6b0d8ca81466edbe62c" }, "downloads": -1, "filename": "flowcraft-1.2.1rc2.tar.gz", "has_sig": false, "md5_digest": "76d6ef0cf11c5612f42519b604b15470", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 130717, "upload_time": "2018-07-04T12:34:42", "url": "https://files.pythonhosted.org/packages/00/b9/adb875065a9bb25042762728c0a84297c2eb4e7034e5233fa9e5fb9a13b2/flowcraft-1.2.1rc2.tar.gz" } ], "1.2.1rc3": [ { "comment_text": "", "digests": { "md5": "d935f434945eb7b4ab9f220633f50ad7", "sha256": "004e211e03b1ae3908cadb324abad06b96930ec4f11b6a0bd7c514d681aac4bc" }, "downloads": -1, "filename": "flowcraft-1.2.1rc3-py3-none-any.whl", "has_sig": false, "md5_digest": "d935f434945eb7b4ab9f220633f50ad7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 186536, "upload_time": "2018-07-04T13:05:06", "url": "https://files.pythonhosted.org/packages/88/1d/4e8eeba3351fccbf03dc95c3c5113634443b5a7e381c7090b832f3ec43d0/flowcraft-1.2.1rc3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9fc8f62605390f3325e76a8b317aa19a", "sha256": "b32699df6db4d106c204f428c91d99ccd00bb1f33091261fc4b198172ef40eaa" }, "downloads": -1, "filename": "flowcraft-1.2.1rc3.tar.gz", "has_sig": false, "md5_digest": "9fc8f62605390f3325e76a8b317aa19a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 130528, "upload_time": "2018-07-04T13:05:09", "url": "https://files.pythonhosted.org/packages/97/7f/c7945787e1aa8f54424501b72050751c8aa3e21ffff7248b01c4eb545a75/flowcraft-1.2.1rc3.tar.gz" } ], "1.2.1rc4": [ { "comment_text": "", "digests": { "md5": "68a2c10d217ef5c487b73beb8774f58e", "sha256": "0891800b15ae704c82502a915635a77c1f9e20211d8964bd22e23105760f002d" }, "downloads": -1, "filename": "flowcraft-1.2.1rc4-py3-none-any.whl", "has_sig": false, "md5_digest": "68a2c10d217ef5c487b73beb8774f58e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 186533, "upload_time": "2018-07-05T09:11:02", "url": "https://files.pythonhosted.org/packages/b3/5a/4a00d7067869c5239cc47466f1057cba7b57eb6cfb0fb3fd20958aec7817/flowcraft-1.2.1rc4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5a19360e482bc628a2fd9d71273ea5af", "sha256": "d6fa9c11b3e2eddf243c68ae0c82cc5605629434dd355e1534db8d4237dc6f2a" }, "downloads": -1, "filename": "flowcraft-1.2.1rc4.tar.gz", "has_sig": false, "md5_digest": "5a19360e482bc628a2fd9d71273ea5af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 130551, "upload_time": "2018-07-05T09:11:04", "url": "https://files.pythonhosted.org/packages/9b/f6/4af85820e65204bd7b1d24d834669c8b1f1ef93f8ddccfa22561d6f31fbc/flowcraft-1.2.1rc4.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "aa350fdccc9b3327151f6ac181c9b766", "sha256": "223919fe55ef4dc8e4a0d170268fdc3283d6cc25c6dac8a1e67bebd5307e7670" }, "downloads": -1, "filename": "flowcraft-1.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "aa350fdccc9b3327151f6ac181c9b766", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 204824, "upload_time": "2018-08-29T15:13:11", "url": "https://files.pythonhosted.org/packages/2b/e6/60a944d6542b6e62d9b11a76c6670cef0281f077a18a3f1a9302f371f60a/flowcraft-1.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3f591ec7b4400ba0bdc4fdc528ff9f81", "sha256": "0e91b554fd525f21226d4d2c8bcb321892ef7dbca591bcc9a817e0f464c7c5eb" }, "downloads": -1, "filename": "flowcraft-1.2.2.tar.gz", "has_sig": false, "md5_digest": "3f591ec7b4400ba0bdc4fdc528ff9f81", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 145295, "upload_time": "2018-08-29T15:13:13", "url": "https://files.pythonhosted.org/packages/ef/48/090cdf9a0353fe370666378964c42b04799f2fb0ac7a86d9a936a82a72a4/flowcraft-1.2.2.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "9efc94f10710058ad883863bfe9c5c6d", "sha256": "afe2b4144ead30fd0bf0889e9956f6cd14912670d7ae715083a5e7239aae0e12" }, "downloads": -1, "filename": "flowcraft-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9efc94f10710058ad883863bfe9c5c6d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 1441728, "upload_time": "2018-09-21T18:09:49", "url": "https://files.pythonhosted.org/packages/1a/ac/98b0c6428cc08bda7a03cda8f2a1a18955ba0bc2a829a034a272c6c48783/flowcraft-1.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "37f5b69ab8db3105bcfc8ff1714c29a2", "sha256": "8e6361059164db5533c90b7cb66bb417added58d889dc40a1b4759171767e236" }, "downloads": -1, "filename": "flowcraft-1.3.0.tar.gz", "has_sig": false, "md5_digest": "37f5b69ab8db3105bcfc8ff1714c29a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1379459, "upload_time": "2018-09-21T18:09:52", "url": "https://files.pythonhosted.org/packages/c8/09/2a1e9a25a7088c9f46c7b38dd299fd1c6b09924d8c581c935566e1b07b1a/flowcraft-1.3.0.tar.gz" } ], "1.3.0rc1": [ { "comment_text": "", "digests": { "md5": "a4d10349d7588bce5e702bca3b0b7276", "sha256": "ff9f16b1ab018d029e87d0ece2be7fb5f0e227b4bbd6ff49aed1c57a8214c30c" }, "downloads": -1, "filename": "flowcraft-1.3.0rc1-py3-none-any.whl", "has_sig": false, "md5_digest": "a4d10349d7588bce5e702bca3b0b7276", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 1441780, "upload_time": "2018-09-21T16:54:31", "url": "https://files.pythonhosted.org/packages/a1/7f/1317fc9a137837e2553478c6990bcd83f31619f5e9539f4fe4126b01796e/flowcraft-1.3.0rc1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7735d7cc11f76867348bcb7a8c5b6a18", "sha256": "2e7660a4aa2d09c8d9ba7246353c8a5bf17f1bc8911a4b16f41d3160071f927f" }, "downloads": -1, "filename": "flowcraft-1.3.0rc1.tar.gz", "has_sig": false, "md5_digest": "7735d7cc11f76867348bcb7a8c5b6a18", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1379482, "upload_time": "2018-09-21T16:54:34", "url": "https://files.pythonhosted.org/packages/41/f0/a871c7f564f5821b91731fa6b93df67a7f07c8d249c8eaa3434022b5ad22/flowcraft-1.3.0rc1.tar.gz" } ], "1.3.0rc2": [ { "comment_text": "", "digests": { "md5": "e34e0d084d671e65b79648590302459f", "sha256": "a3d5201e9f3abb482ca3cf55623af1acfe50f089986a359164bc4f70fee580f6" }, "downloads": -1, "filename": "flowcraft-1.3.0rc2-py3-none-any.whl", "has_sig": false, "md5_digest": "e34e0d084d671e65b79648590302459f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 1441769, "upload_time": "2018-09-21T17:21:16", "url": "https://files.pythonhosted.org/packages/78/ae/19d879b6e4cca3ca1ea1af09c7525a354fc441a81874c13f46946ca3472e/flowcraft-1.3.0rc2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f162d3a25fa90d3039031903eacdc0e1", "sha256": "0872cd645ecb32973b97789a265f1bb3d3b370421715dee57f4ef5d8a4c0ae04" }, "downloads": -1, "filename": "flowcraft-1.3.0rc2.tar.gz", "has_sig": false, "md5_digest": "f162d3a25fa90d3039031903eacdc0e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1379479, "upload_time": "2018-09-21T17:21:19", "url": "https://files.pythonhosted.org/packages/30/dc/d4f594677248d1a114efaacd9c881761483d8fc0122a3fad16a0798b96e2/flowcraft-1.3.0rc2.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "bd4b5669b4ecff52d2f0c744321a9422", "sha256": "5e49cfe35c3547e9702076994853509f300a08302d1e5ba2a049844e7b2b030d" }, "downloads": -1, "filename": "flowcraft-1.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "bd4b5669b4ecff52d2f0c744321a9422", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 1446279, "upload_time": "2018-09-27T14:32:21", "url": "https://files.pythonhosted.org/packages/d9/ff/606dba6418fbe47ef6ec013466d1087cb7aa20a783ebcec81fe509a386c5/flowcraft-1.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "90189745f42105863b7a230ff7297cca", "sha256": "b0dd1e65600e807abb1c0219fdad13ae47cf35ee6dfc3eb4d22cffa2aff936b6" }, "downloads": -1, "filename": "flowcraft-1.3.1.tar.gz", "has_sig": false, "md5_digest": "90189745f42105863b7a230ff7297cca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1381526, "upload_time": "2018-09-27T14:32:24", "url": "https://files.pythonhosted.org/packages/a7/54/341b29913aff41fd1e4675f9f717afa0e244f6672cffab0b6aa87a1008a2/flowcraft-1.3.1.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "745410fddca0625a5721dd1edf3b0b95", "sha256": "d2d1d33196c26980d0223ad23eba56d1da747b48b11190bb54c582cbd18796c4" }, "downloads": -1, "filename": "flowcraft-1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "745410fddca0625a5721dd1edf3b0b95", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 1471990, "upload_time": "2018-11-18T17:55:35", "url": "https://files.pythonhosted.org/packages/e5/7c/4efa2e8bb42d1634388fcb57348060bea1e7f5dd95d5561e093577f6fa92/flowcraft-1.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "16e0f742a8ce350aecaa8a8f3fe9a94e", "sha256": "77d9acaed50208c9bee0d9e0551951771dd0394cf2ef0b77509f46aaac840273" }, "downloads": -1, "filename": "flowcraft-1.4.0.tar.gz", "has_sig": false, "md5_digest": "16e0f742a8ce350aecaa8a8f3fe9a94e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1388173, "upload_time": "2018-11-18T17:55:39", "url": "https://files.pythonhosted.org/packages/b0/b5/1e031029518dcec9aeb65732513627ecd46576bd3d318c08bd577d5e89b3/flowcraft-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "a4c0da8e9372cc924b7bdac61c9babfe", "sha256": "b21b922357e37fbfecae9c91cb700153e4402c5d7195b935182f0ca94a3a5c81" }, "downloads": -1, "filename": "flowcraft-1.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a4c0da8e9372cc924b7bdac61c9babfe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 1463663, "upload_time": "2019-03-02T17:39:40", "url": "https://files.pythonhosted.org/packages/a5/e9/f6ba22f315e2819962cad2be4c76feafe8e350bbe49bed02a0a646a410a8/flowcraft-1.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8e863d544701fcf719059da4d78cf479", "sha256": "72613803632a73c60beb6b399c9aa9eb40cfa201df59879a3e50a2bddc65b04e" }, "downloads": -1, "filename": "flowcraft-1.4.1.tar.gz", "has_sig": false, "md5_digest": "8e863d544701fcf719059da4d78cf479", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1396897, "upload_time": "2019-03-02T17:39:56", "url": "https://files.pythonhosted.org/packages/7d/e0/c68b357b4d3ff14df66a69669ecb1a1389f7dd0c77800706f43981d36b0c/flowcraft-1.4.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a4c0da8e9372cc924b7bdac61c9babfe", "sha256": "b21b922357e37fbfecae9c91cb700153e4402c5d7195b935182f0ca94a3a5c81" }, "downloads": -1, "filename": "flowcraft-1.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a4c0da8e9372cc924b7bdac61c9babfe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 1463663, "upload_time": "2019-03-02T17:39:40", "url": "https://files.pythonhosted.org/packages/a5/e9/f6ba22f315e2819962cad2be4c76feafe8e350bbe49bed02a0a646a410a8/flowcraft-1.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8e863d544701fcf719059da4d78cf479", "sha256": "72613803632a73c60beb6b399c9aa9eb40cfa201df59879a3e50a2bddc65b04e" }, "downloads": -1, "filename": "flowcraft-1.4.1.tar.gz", "has_sig": false, "md5_digest": "8e863d544701fcf719059da4d78cf479", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1396897, "upload_time": "2019-03-02T17:39:56", "url": "https://files.pythonhosted.org/packages/7d/e0/c68b357b4d3ff14df66a69669ecb1a1389f7dd0c77800706f43981d36b0c/flowcraft-1.4.1.tar.gz" } ] }