{ "info": { "author": "Cyril Tasse", "author_email": "cyril.tasse@obspm.fr", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License v2 (GPLv2)", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Topic :: Scientific/Engineering :: Astronomy" ], "description": "DDFacet\n###################################\nA facet-based radio imaging package\n .. image:: https://jenkins.meqtrees.net/job/DDFacet_master_cron/badge/icon\n :alt: Build status\n :target: https://jenkins.meqtrees.net/job/DDFacet_master_cron\n\n .. image:: https://img.shields.io/aur/license/yaourt.svg\n :alt: AUR\n\nCopyright (C) 2013-2016 Cyril Tasse, l'Observatoire de Paris,\nSKA South Africa, Rhodes University\n\nThis program is free software; you can redistribute it and/or\nmodify it under the terms of the GNU General Public License\nas published by the Free Software Foundation; either version 2\nof the License, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU General Public License for more details.\n\n(Users / Recommended - Docker based) Run via. Stimela >= 0.2.9 \n==========================================================\nWe recommend running the imaging package through the Stimela framework , built on a\nwidely supported containerization framework, called Docker. This package is on PiPY and and is purely python-based, requiring no dependencies other than Docker. It gives the user instantanious access to other commonly used packages such as Meqtrees, CASA, etc.\n\n\n1. Install the latest docker from the Docker PPA: . If you're not running Debian then select the suitable distribution. \n\n2. Ensure to add your user to the ``docker`` group. On Debian-based systems this can be done as follows::\n\n $ sudo usermod -aG docker $USER\n\n3. Set up a virtual environment, activate it and upgrade pip, setuptools and wheel to the latest PyPI versions::\n\n $ virtualenv stimelavenv\n $ source stimelavenv/bin/activate\n (stimelavenv)$ pip install -U pip wheel setuptools\n (stimelavenv)$ pip install stimela\n\n4. Run ``stimela pull`` and ``stimela build`` to pull all the latest astronomy software from DockerHub (this will take a while and is several GiB in size, so ensure you're on a fast link)::\n\n (stimelavenv)$ stimela pull\n (stimelavenv)$ stimela build\n\n5. ``stimela cabs -i ddfacet`` lists all available options for the imager.\n\n6. You can then add DDFacet as part of a larger reduction script, for example::\n\n 1 import stimela\n 2 \n 3 INPUT=\"input\"\n 4 OUTPUT=\"output\"\n 5 MSDIR=\"msdir\"\n 6 \n 7 recipe = stimela.Recipe(\"Test DDFacet imaging\", ms_dir=MSDIR)\n 8 # ...any other calibration steps here...\n 9 recipe.add(\"cab/ddfacet\", \"ddfacet_test\",\n 10 {\n 11 \"Data-MS\": [\"3C147.MS/SUBMSS/D147-LO-NOIFS-NOPOL-4M5S.MS\"],\n 12 \"Output-Name\": \"testimg\",\n 13 \"Image-NPix\": 2048,\n 14 \"Image-Cell\": 2,\n 15 \"Cache-Reset\": True,\n 16 \"Freq-NBand\": 3,\n 17 \"Weight-ColName\": \"WEIGHT\",\n 18 \"Beam-Model\": \"FITS\",\n 19 \"Beam-FITSFile\": \"'beams/JVLA-L-centred_$(corr)_$(reim).fits'\",\n 20 \"Data-ChunkHours\": 0.5,\n 21 \"Data-Sort\": True\n 22 },\n 23 input=INPUT, output=OUTPUT, shared_memory=\"14gb\",\n 24 label=\"test_image:: Make a test image using ddfacet\")\n 25 # ... any post imaging / additional calibration steps here ...\n 26 recipe.run()\n\n7. Run the script with::\n\n (stimelavenv)$ stimela run myscriptname.py\n\n8. When you're done deactivate the virtual environment::\n\n (stimelavenv)$ deactivate\n\n\nInstalling locally with conda as the packaging manager:\n==========================================================\nUsing conda as the packaging manager may be more conducive to your workflow. It's superior to vitrualenv in many ways (https://jakevdp.github.io/blog/2016/08/25/conda-myths-and-misconceptions/).\nThe recommended way to do this:\n\n1. Install miniconda (or conda if you like) from (https://conda.io/miniconda.html)\n\n2. Make a python 2.7 env ```conda create -n ddfacet python=2.7```\n\n3. Activate the env ```source activate ddfacet```\n\n 3a. Install all dependencies with ```pip```\n\n4. Clone the repo (possibly swithc branch) ```cd ~/git; git clone https://github.com/cyriltasse/DDFacet.git```\n\n5. Ensure ```gcc>=5``` is loaded. You may be able to do something like ```module load gcc/5.4```\n\n6. ```cd DDFacet; python setup.py install```\n\n If it does not find the correct GCC you can specify it like this e.g. ```CC=/usr/local/bin/gcc-5.4 python setup.py install```\n\n Note if you need to recompile that you should first ```rm -r DDFacet/cbuild```\n\n(Users / PyPI alternative) Virtual environment and pip:\n==========================================================\nWe prefer that users use DDFacet though Docker. However, if this is not available (e.g. cluster\nenvironments) we recommend you use a virtual environment. If you install it directly into your system packages you're\non your own -- be warned!!\n\n1. You need to add in the KERN 3 ppa if you don't already have it::\n\n add-apt-repository -y -s ppa:kernsuite/kern-3\n\n2. Install each of the debian dependencies. The latest full list of apt dependencies can be be found in the Dockerfile \n\n3. Create a virtual environment somewhere on your system and activate::\n\n virtualenv --system-site-packages ddfacet\n source ddfacet/bin/activate\n\n Adding the `--system-site-packages` directive ensures that the virtualenv has access to system packages (such as meqtrees).\n\n4. Then, install directly from the Python Package Index (PyPI) using pip - **ensure your venv is activated**::\n\n pip install -U pip setuptools\n pip install DDFacet --force-reinstall -U\n\n5. When you're done with your imaging business::\n\n deactivate\n\n(Users/Optional) Montblanc and pyMORESANE installation\n==========================================================\nMontblanc requires DDFacet to be installed in a virtual environment. **This section requires the DDFacet virtual environment to be activated and that you are in the DDFacet directory.**::\n\n (ddfvenv) $ pip install -r requirements.txt\n\n(Users/Troubleshooting) Configure max shared memory\n==========================================================\nRunning DDFacet on large images requires a lot of shared memory. Most systems limit the amount of shared memory to about 10%. To increase this limit add the following line to your ``/etc/default/tmpfs`` file::\n\n SHM_SIZE=100%\n\nA restart will be required for this change to reflect. If you would prefer a once off solution execute the following line::\n\n sudo mount -o remount,size=100% /run/shm\n\nIt may also be necessary to run the following to remove the kernel security limit on mlock pinning. Without this things may\nbe slower than usual::\n\n echo \"* - memlock unlimited\" > /etc/security/limits.conf\n\n(Developers/Note): Architecture dependent binary\n==========================================================\nThe default build system **DOES NOT** produce portable binaries at the cost of a slight improvement in runtime. You have to modify setup.cfg\nand set the following lines in both [install] and [build] **before** compiling packages:\n\n```\ncompopts=\"\"\n```\n\n(Developers/Recommended): setting up your dev environment\n==========================================================\n**NOTE:Setup your virtual environment just as specified in the user section above. Ensure you activate!**\n\nTo setup your local development environment navigate clone DDFacet and run::\n\n (ddfvenv) $ git clone https://github.com/cyriltasse/DDFacet\n (ddfvenv) $ cd DDFacet\n (ddfvenv) $ git submodule update --init --recursive\n (ddfvenv) $ cd ..\n (ddfvenv) $ pip install -r DDFacet/requirements.txt\n (ddfvenv) $ pip install -e DDFacet/\n #To (re-)build the backend in your checked out folder:\n (ddfvenv) $ cd DDFacet\n (ddfvenv) $ python setup.py build\n\n**IMPORTANT NOTE: You may need to remove the development version before running PIP when installing**\n\n(Developers/Testing) Docker-based build\n==========================================================\n1. Simply pull the latest DDFacet and build the Docker image::\n\n git clone git@github.com:cyriltasse/DDFacet.git\n cd DDFacet\n docker build -t ddf .\n\n2. You should now be able to run DDFacet in a container. Note that your parsets must have filenames relative to the mounted volume inside the container, for instance::\n\n docker run --shm-size 6g -v /scratch/TEST_DATA:/mnt ddf /mnt/test-master1.parset\n\n**Important: if you ran ``git submodule update --init --recursive`` before you may need to remove the cached SkyModel before building the docker image with ``git rm --cached SkyModel``**\n\n(Developers/Debugging) Build a few libraries (by hand with custom flags)\n==========================================================\nYou can build against custom versions of libraries such is libPython and custom numpy versions.\nTo do this modify setup.cfg. Find and modify the following lines::\n\n compopts=-DENABLE_NATIVE_TUNING=ON -ENABLE_FAST_MATH=ON -DCMAKE_BUILD_TYPE=Release\n # or -DCMAKE_BUILD_TYPE=RelWithDebInfo for developers: this includes debugging symbols\n # or -DCMAKE_BUILD_TYPE=Debug to inspect the stacks using kdevelop or something similar\n\n(Developers/Acceptance tests)\n==========================================================\nPaths\n---------------------------------------------------------\nAdd this to your ``.bashrc``::\n\n export DDFACET_TEST_DATA_DIR=[folder where you keep the acceptance test data and images]\n export DDFACET_TEST_OUTPUT_DIR=[folder where you want the acceptance test output to be dumped]\n\nTo test your branch against the master branch using Jenkins\n---------------------------------------------------------\nMost of the core use cases will in the nearby future have reference images and an automated acceptance test.\n\nPlease **do not** commit against cyriltasse/master. The correct strategy is to branch/fork and do a pull request on Github\nto merge changes into master. Once you opened a pull request add the following comment: \"ok to test\". This will let the Jenkins server know to start testing. You should see that the pull request and commit statusses shows \"Pending\". If the test succeeds you should see \"All checks have passed\" above the green merge button. Once the code is reviewed it will be merged into the master branch.\n\nTo run the tests on your local machine:\n---------------------------------------------------------\nYou can run the automated tests by grabbing the latest set of measurements and reference images from the web and\nextracting them to the directory you set up in your **DDFACET_TEST_DATA_DIR** environment variable. You can run\nthe automated tests by navigating to your DDFacet directory and running nosetests.\n\nEach of the test cases is labeled by a class name and has reference images and a parset file with the same\nname, ie. if the test case that has failed is called \"TestWidefieldDirty\" the reference images will be called the same. You should investigate the reason for any severe discrepancies between the output of the test case and the images produced by your changed codebase. See the docstring at the top of the class ClassCompareFITSImage for help and\nfilename conventions.\n\nAcceptance test data can be found on the Jenkins server in the **/var/lib/jenkins/test-data** directory.\n\nAdding more tests and creating new reference images.\n---------------------------------------------------------\nTo resimulate images and add more tests:\n\nIn the Jenkins server data directory add a recipe to the makefile simulate and/or set up new reference images. This should only be done with the ``origin/master`` branch - not your branch or fork! Use the ddfacet-generate-refims task\nto do this. You should manually verify that all the reference images are correct when you regenerate them. Each time you add a new option to DDFacet also add an option to the makefile in this directory. Once the option is set up in the makefile you can build the reference images on Jenkins.\n\nImportant directories on the CI server: \n---------------------------------------------------------\n - Reference data stored here: /var/lib/jenkins/test-data\n - /var/lib/jenkins/jobs/ddfacet-pr-build/workspace\n - /var/lib/jenkins/jobs/DDFacet_master_cron/workspace\n - /var/lib/jenkins/jobs/DDFacet_experimental/workspace\n\n\n[tf_pip_install]: \n\n\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": "http://github.com/saopicc/DDFacet", "keywords": "", "license": "GNU GPL v2", "maintainer": "", "maintainer_email": "", "name": "DDFacet", "package_url": "https://pypi.org/project/DDFacet/", "platform": "", "project_url": "https://pypi.org/project/DDFacet/", "project_urls": { "Homepage": "http://github.com/saopicc/DDFacet" }, "release_url": "https://pypi.org/project/DDFacet/0.4.0.0/", "requires_dist": [ "nose (>=1.3.7)", "Cython (>=0.25.2)", "numpy (<=1.16.1)", "SharedArray (>=2.0.2)", "Polygon2 (>=2.0.8)", "pyFFTW (>=0.10.4)", "astropy (<=2.0.11)", "deap (>=1.0.1)", "ptyprocess (<=0.5)", "ipdb (<=0.10.3)", "python-casacore (>=2.1.0)", "pyephem (>=3.7.6.0)", "numexpr (>=2.6.2)", "matplotlib (>=2.0.0)", "scipy (>=0.16.0)", "astLib (>=0.8.0)", "psutil (>=5.2.2)", "py-cpuinfo (>=3.2.0)", "tables (>=3.3.0)", "prettytable (>=0.7.2)", "pybind11 (>=2.2.2)", "pyfits (>=3.5)", "configparser (<=3.5.0)", "pandas (>=0.23.3)", "ruamel.yaml (>=0.15.92)" ], "requires_python": "<3.0", "summary": "Facet-based radio astronomy continuum imager", "version": "0.4.0.0" }, "last_serial": 5276347, "releases": { "0.1.dev3": [ { "comment_text": "", "digests": { "md5": "71b1bc0fe9ef8b0291327b58c5895706", "sha256": "5628d48d48ce752443b9e7e9e53b6b5696273bb97188be359eddff32c630b53b" }, "downloads": -1, "filename": "DDFacet-0.1.dev3-py2-none-any.whl", "has_sig": false, "md5_digest": "71b1bc0fe9ef8b0291327b58c5895706", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 1956656, "upload_time": "2017-05-30T21:04:29", "url": "https://files.pythonhosted.org/packages/d5/8f/021ddd51da9bf099d5443dd41c2f782642eb535cf28723dedde4570ee907/DDFacet-0.1.dev3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fb8b8e4acbd54f23a64a0cb5cd76c038", "sha256": "83c8158b3ec449d128b3c9802a9e19e2dff5cc132d0e8543a8874ea6fc68ab16" }, "downloads": -1, "filename": "DDFacet-0.1.dev3.tar.gz", "has_sig": false, "md5_digest": "fb8b8e4acbd54f23a64a0cb5cd76c038", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 480057, "upload_time": "2017-05-30T21:04:03", "url": "https://files.pythonhosted.org/packages/e4/50/69fe2a27aa5adc900dcf6f65d8f1f567d3bc29562b7e75e9e76a0d5764f8/DDFacet-0.1.dev3.tar.gz" } ], "0.1.dev5": [ { "comment_text": "", "digests": { "md5": "777ce1d535212c40cb02c56f1322eef0", "sha256": "2776db81660e513978c1d8f06956761d4e1b23cdad93396ce6a13ad28d7ca4cd" }, "downloads": -1, "filename": "DDFacet-0.1.dev5-py2-none-any.whl", "has_sig": false, "md5_digest": "777ce1d535212c40cb02c56f1322eef0", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 1866843, "upload_time": "2017-06-22T09:50:33", "url": "https://files.pythonhosted.org/packages/37/47/6345d954a9a0439af2ae0195e29495c0491dd76804c1008f86a96cc71b94/DDFacet-0.1.dev5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3316893fc7e1e8f95adf111a13622b03", "sha256": "ba3bbafde6b7953c8aa1483817ff29b5cb92189f1bb2f0b7f9848c982985dfb4" }, "downloads": -1, "filename": "DDFacet-0.1.dev5.tar.gz", "has_sig": false, "md5_digest": "3316893fc7e1e8f95adf111a13622b03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 447723, "upload_time": "2017-06-22T09:49:36", "url": "https://files.pythonhosted.org/packages/65/ab/55eaeb5127902bcc1df9d8e5172fa8dcdfe6b2f180dc39fdbb1fdbd57b23/DDFacet-0.1.dev5.tar.gz" } ], "0.1.dev6": [ { "comment_text": "", "digests": { "md5": "9d3c7e863014a61f248c3fad238606f0", "sha256": "d5f744999465346b4ec9805b191b517a6e7c216a8ff14b95ee210c7ea4b42a77" }, "downloads": -1, "filename": "DDFacet-0.1.dev6-py2-none-any.whl", "has_sig": false, "md5_digest": "9d3c7e863014a61f248c3fad238606f0", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 1934465, "upload_time": "2017-06-22T10:12:49", "url": "https://files.pythonhosted.org/packages/d3/90/07531b03fe9ffa407ed54f0b98acce8d4ff7dcc14ba4846ec3b7b3490735/DDFacet-0.1.dev6-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8b80a56f4658d82501dd689f39bed625", "sha256": "37098e79215b7ebc4ebea14f0528866afdece5c83ae5067ce8ee21a9fd381f0b" }, "downloads": -1, "filename": "DDFacet-0.1.dev6.tar.gz", "has_sig": false, "md5_digest": "8b80a56f4658d82501dd689f39bed625", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 496480, "upload_time": "2017-06-22T10:13:03", "url": "https://files.pythonhosted.org/packages/c7/28/b7453b7d1c96dd425bb2ebe6136fd7b92b36c3d8527d3a25d3c5bb40f05b/DDFacet-0.1.dev6.tar.gz" } ], "0.2.dev1": [ { "comment_text": "", "digests": { "md5": "e052e442e6100c3ad3ee737ff43651eb", "sha256": "133d14519db1c4ac025eaf84f231801d5c9b6da408b06d04431e20bfcbf2c54b" }, "downloads": -1, "filename": "DDFacet-0.2.dev1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e052e442e6100c3ad3ee737ff43651eb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 1946742, "upload_time": "2017-09-12T14:56:27", "url": "https://files.pythonhosted.org/packages/5e/2c/94d6510890cdf07fce31b71421e348df5db214f14d7ba7fefcc793f0c719/DDFacet-0.2.dev1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "32f082dd84e247c47935201ed8664e71", "sha256": "4d39a891fe5cf1423669646980ff0557ffe39060914c2bb3450bf6bf62ca0437" }, "downloads": -1, "filename": "DDFacet-0.2.dev1.tar.gz", "has_sig": false, "md5_digest": "32f082dd84e247c47935201ed8664e71", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 500604, "upload_time": "2017-09-12T14:56:32", "url": "https://files.pythonhosted.org/packages/34/58/a3a3bddf108935f2850c10efcf51ae889fce7a9e983452d5db55ccc1df17/DDFacet-0.2.dev1.tar.gz" } ], "0.2.dev2": [ { "comment_text": "", "digests": { "md5": "12498a79015e938640b94ee48f181d52", "sha256": "31cdafae56e149982462c375fa93a28d34a26b806889a344c9cef177d6468ea8" }, "downloads": -1, "filename": "DDFacet-0.2.dev2-py2-none-any.whl", "has_sig": false, "md5_digest": "12498a79015e938640b94ee48f181d52", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 1939287, "upload_time": "2017-10-26T13:42:50", "url": "https://files.pythonhosted.org/packages/e8/6b/779469c82822cfb9ef7c7b331a61e684bdfc6aacff7fd09cf9de1db12cbe/DDFacet-0.2.dev2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "15026c648c2119db9032cda8fce77b73", "sha256": "f60962143786fcfeb3128341a0764bb2c61e5b6d24860dc544a6931e288a480d" }, "downloads": -1, "filename": "DDFacet-0.2.dev2.tar.gz", "has_sig": false, "md5_digest": "15026c648c2119db9032cda8fce77b73", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 501237, "upload_time": "2017-10-26T13:42:54", "url": "https://files.pythonhosted.org/packages/00/93/d9a721dc8f7251571327eb346c643cbd815d9916fa4feda92c0cda79b09a/DDFacet-0.2.dev2.tar.gz" } ], "0.2.dev3": [ { "comment_text": "", "digests": { "md5": "d02d7b65d8c54d51def7022ac4e4ba80", "sha256": "b3594bc8b5085e7a278e9ffefc062018498222da2d83fe618a93cd24426e4854" }, "downloads": -1, "filename": "DDFacet-0.2.dev3-py2-none-any.whl", "has_sig": false, "md5_digest": "d02d7b65d8c54d51def7022ac4e4ba80", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 1947141, "upload_time": "2017-12-18T12:14:39", "url": "https://files.pythonhosted.org/packages/2a/04/f87c2372ee4af0498646edc4ad381ab8358c835d527623c545407cd48cfe/DDFacet-0.2.dev3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b10cd574d0d98747cf698893ed6130d7", "sha256": "39c7b89630bf7a91809a6960fb156b3581c4ec46ce9c3a23379e9ea473625144" }, "downloads": -1, "filename": "DDFacet-0.2.dev3.tar.gz", "has_sig": false, "md5_digest": "b10cd574d0d98747cf698893ed6130d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 500837, "upload_time": "2017-12-18T12:14:44", "url": "https://files.pythonhosted.org/packages/a2/a4/18c793d480ffb547e8a5f9719b3df9bbaa0609cae6388238158ab81a35c5/DDFacet-0.2.dev3.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "d73f207a9f360624412eb85a1bd3c7a1", "sha256": "3b576f61638728f64c3f7c189345603980703120c8b0f415daaee052170fd530" }, "downloads": -1, "filename": "DDFacet-0.3.2-py2-none-any.whl", "has_sig": false, "md5_digest": "d73f207a9f360624412eb85a1bd3c7a1", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 1958954, "upload_time": "2018-01-09T07:39:33", "url": "https://files.pythonhosted.org/packages/18/64/0eb67cc59a4f1895f79309f564747868d3ac13f464e6cacdeaff38662333/DDFacet-0.3.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0bff2f7f7f6f87a51a7445ec5cf36fbc", "sha256": "13a650910aabe31409a848b141c29d53141347749c0979c3a194ba96a518586d" }, "downloads": -1, "filename": "DDFacet-0.3.2.tar.gz", "has_sig": false, "md5_digest": "0bff2f7f7f6f87a51a7445ec5cf36fbc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 495729, "upload_time": "2018-01-09T07:39:36", "url": "https://files.pythonhosted.org/packages/2b/26/db6d8c35c0cefbee86a83837ca5fb27c2f1120b0759bc4109e50fc4576d4/DDFacet-0.3.2.tar.gz" } ], "0.3.4.1": [ { "comment_text": "", "digests": { "md5": "b64834db50cd16c7a35fef406b772aaa", "sha256": "ecde01a84eabbf924db18bdb929eda952a688033039ed37dc435569e840ef694" }, "downloads": -1, "filename": "DDFacet-0.3.4.1-py2-none-any.whl", "has_sig": false, "md5_digest": "b64834db50cd16c7a35fef406b772aaa", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 1763558, "upload_time": "2018-04-10T13:35:16", "url": "https://files.pythonhosted.org/packages/97/27/7a78e5179c110b670eb59fb9ff631156e8d5c3932c1a1f7a9314fcae2ebb/DDFacet-0.3.4.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ab84da67104ca32c73668365da4c93a6", "sha256": "a33d71b34911a74644daa6ebe3c35f4ef727559e0964af117bacd123e7599b18" }, "downloads": -1, "filename": "DDFacet-0.3.4.1.tar.gz", "has_sig": false, "md5_digest": "ab84da67104ca32c73668365da4c93a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 521601, "upload_time": "2018-04-10T13:35:19", "url": "https://files.pythonhosted.org/packages/3c/78/77c72d613b282176b6c4d9e1db7a90e0b2d60b1a94f052d460fc92e11aff/DDFacet-0.3.4.1.tar.gz" } ], "0.4.0.0": [ { "comment_text": "", "digests": { "md5": "cc7207ae8b80d1df728f4e6269e9266c", "sha256": "eee6ffeaa4adbf3140a7c677a83f3adfc33f6c30c6292d60aeb37975f1b933df" }, "downloads": -1, "filename": "DDFacet-0.4.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "cc7207ae8b80d1df728f4e6269e9266c", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": "<3.0", "size": 4957031, "upload_time": "2019-05-16T08:47:33", "url": "https://files.pythonhosted.org/packages/d4/12/871df89e847185912c3128a4e15fa2c6789335e4af6d52e8213be8ae6780/DDFacet-0.4.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3d09956a7a06fa838ecfd664acd7d9b3", "sha256": "a523a6253dcf008ff436b7113bcdb36154b09338e177fbf90c68906b445eb63f" }, "downloads": -1, "filename": "DDFacet-0.4.0.0.tar.gz", "has_sig": false, "md5_digest": "3d09956a7a06fa838ecfd664acd7d9b3", "packagetype": "sdist", "python_version": "source", "requires_python": "<3.0", "size": 529699, "upload_time": "2019-05-16T08:47:36", "url": "https://files.pythonhosted.org/packages/f9/33/8b8680ea99dc8a7022ade6a46b1fab2de0350e54bce7eb543af421908386/DDFacet-0.4.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cc7207ae8b80d1df728f4e6269e9266c", "sha256": "eee6ffeaa4adbf3140a7c677a83f3adfc33f6c30c6292d60aeb37975f1b933df" }, "downloads": -1, "filename": "DDFacet-0.4.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "cc7207ae8b80d1df728f4e6269e9266c", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": "<3.0", "size": 4957031, "upload_time": "2019-05-16T08:47:33", "url": "https://files.pythonhosted.org/packages/d4/12/871df89e847185912c3128a4e15fa2c6789335e4af6d52e8213be8ae6780/DDFacet-0.4.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3d09956a7a06fa838ecfd664acd7d9b3", "sha256": "a523a6253dcf008ff436b7113bcdb36154b09338e177fbf90c68906b445eb63f" }, "downloads": -1, "filename": "DDFacet-0.4.0.0.tar.gz", "has_sig": false, "md5_digest": "3d09956a7a06fa838ecfd664acd7d9b3", "packagetype": "sdist", "python_version": "source", "requires_python": "<3.0", "size": 529699, "upload_time": "2019-05-16T08:47:36", "url": "https://files.pythonhosted.org/packages/f9/33/8b8680ea99dc8a7022ade6a46b1fab2de0350e54bce7eb543af421908386/DDFacet-0.4.0.0.tar.gz" } ] }