{ "info": { "author": "Joe Flack", "author_email": "jflack@jhu.edu", "bugtrack_url": null, "classifiers": [], "description": "# PPP\n## About\nPPP is a project with the purpose of helping people convert XlsForm Excel files into more human-readable, printable formats, commonly called \"paper questionnaires\". Officially, PPP stands for \"Pretty PDF Printer\", but other formats are supported. The project consists of...\n\n- A [web application](https://github.com/pma-2020/ppp)\n- A [command line tool](https://github.com/pma-2020/ppp-web)\n\nBoth tools are open source and free to install. You can also use it online with no installation necessary, at http://ppp.pma2020.org.\n\n#### Samples\n- Source Excel file: [demo.xlsx](docs/demo.xlsx)\n- Converted to PDF: [demo.pdf](docs/demo.pdf)\n- Converted to DOC: [demo.doc](docs/demo.doc)\n- Manually saved as DOCX from DOC: [demo.docx](docs/demo.docx)\n- Converted to HTML: [demo.html](docs/demo.html)\n\n**Example Screenshot**\n\n![demo.png](docs/demo.png)\n\n## Documentation for end users\n### Installation \n`pip install odk-ppp`\n\n### CLI\n#### Positional Arguments\n| Argument | Description |\n|:---------|:------------|\n| xlsxfile | Path to source XLSForm. |\n\n#### Options\n| Short Flag | Long Flag | Description |\n|:-----------|:----------|:------------|\n| -h | --help | Show this help message and exit.\n| -d | --debug | Turns on debug mode. Currently only works for 'html' format. Only feature of debug mode currently is that it prints a stringified JSON representation of survey to the JavaScript console.\n| -H | --highlight | Turns on highlighting of various portions of survey components. Useful to assess positioning.\n| -o | --outpath | Path to write output. If this argument is not supplied, then STDOUT is used. Option Usage: `-o OUPATH`.\n| -l | --language | Language to write the paper version in. If not specified, the 'default_language' in the 'settings' worksheet is used. If that is not specified and more than one language is in the XLSForm, the language that comes first alphabetically will be used. Option usage: `-l LANGUAGE`.\n| -f | --format | File format. HTML and DOC are supported formats. PDF is not supported, but one can easily convert a PPP .doc file into PDF via the use of *wkhtmltopdf* (https://wkhtmltopdf.org/). If this flag is not supplied, output is html by default. Option usage: `-f {html,doc}`.\n| -i | --input-replacement | Adding this option will toggle replacement of visible choice options in input fields. Instead of the normal choice options, whatever has been placed in the 'ppp_input' field of the XlsForm will be used. This is normally to hide sensitive information.\n| -e | --exclusion | Adding this option will toggle exclusion of certain survey form components from the rendered form. This can be used to remove ODK-specific implementation elements from the form which are only useful for developers, and can also be used to wholly remove sensitive information without any replacement.\n| -r | --hr-relevant | Adding this option will toggle display of human readable 'relevant' text, rather than the syntax-heavy codified logic of the original XlsForm.\n| -c | --hr-constraint | Adding this option will toggle display of human readable 'constraint' text, rather than the syntax- heavy codified logic of the original XlsForm.\n| -C | --no-constraint | Adding this option will toggle removal of all constraints from the rendered form.\n| -t | --text-replacements | Adding this option will toggle text replacements as shown in the 'text_replacements' worksheet of the XlsForm. The most common function of text replacement is to render more human readable variable names, but can also be used to remove sensitive information, or add brevity / clarity where needed.\n| -p | --preset | Select from a preset of bundled options. The 'developer' preset renders a form that is the most similar to the original XlsForm. The 'internal' preset is more human readable but is not stripped of sensitive information. The 'public' option is like the 'internal' option, only with sensitive information removed. Option usage: `-p {public,internal,developer,standard}`.\n\n#### Example Usage\n> `python3 -m ppp myXlsForm.xlsx`\n> *Prints HTML converted XlsForm with default settings to the console*\n\n> `python3 -m ppp myXlsForm.xlsx -l Fran\u00e7ais -f doc -p standard > myXlsForm.doc`\n> *Converts an ODK Excel file to a MS Word-readable .doc file (is really HTML under the hood), with the preset of \"standard\", and the language set to French*\n\n> `python3 -m ppp myXlsForm1.xlsx myXlsForm2.xlsx -l Luganda Lusoga English -f doc pdf -p standard detailed`\n> *Saves a document for every combination of forms and options passed, in this case **2** input files \\* **3** languages \\* **2** file formats \\* **2** detail formats, or **24** output files*\n\n## Documentation for developers\n### Installing and building locally\n- Clone: `git clone `\n- Install dependencies: `cd ppp && pip3 install -r requirements.txt`\n- Test to make sure everything's ok: `make test`\n\n\n---\n\n\n# PPP\n\n## A propos\n\nPPP est un projet visant \u00e0 aider les utilisateurs \u00e0 convertir les fichiers Excel XlsForm en des formats imprimables, plus lisibles par l'homme, appel\u00e9s commun\u00e9ment \"questionnaires sur papier\". Officiellement, PPP signifie \"Pretty PDF Printer\", mais d'autres formats sont support\u00e9s. Le projet consiste en :\n\n- une [application Web] (https://github.com/pma-2020/ppp)\n- Un [outil de ligne de commande] (https://github.com/pma-2020/ppp-web)\n\nLes deux outils sont open source et gratuits \u00e0 installer. Vous pouvez \u00e9galement l'utiliser en ligne sans aucune installation n\u00e9cessaire, \u00e0 l'adresse http://ppp.pma2020.org.\n\n#### Echantillons\n- Fichier Excel source: [demo.xlsx] (docs / demo.xlsx)\n- Converti en PDF: [demo.pdf] (docs / demo.pdf)\n- Converti en DOC: [demo.doc] (docs / demo.doc)\n- enregistr\u00e9 manuellement au format DOCX \u00e0 partir de DOC: [demo.docx] (docs / demo.docx)\n- Converti en HTML: [demo.html] (docs / demo.html)\n\n\n**Exemple Capture d\u2019\u00e9cran**\n\n! [demo.png] (docs / demo.png)\n\n## Documentation pour les utilisateurs finaux\n### Installation\n`pip install odk-ppp`\n\n### CLI\n#### Arguments de position\n| Argument | Description |\n|:---------|:------------|\n| xlsxfile | Chemin d'acc\u00e8s \u00e0 la source XLSForm. |\n\n#### Options\n| Drapeau court | Drapeau long | Description |\n|:-----------|:----------|:------------|\n| -h | --help | Afficher ce message d'aide et quitter.\n| -d | --debug | Active le mode d\u00e9bogage. Actuellement, ne fonctionne que pour le format 'html'. La seule caract\u00e9ristique du mode d\u00e9bogage est qu\u2019il imprime une repr\u00e9sentation JSON sous forme de cha\u00eene de sondage sur la console JavaScript.\n| -H | --highlight | Active la mise en \u00e9vidence de diff\u00e9rentes parties des composants de l\u2019enqu\u00eate. Utile pour \u00e9valuer le positionnement.\n| -o | --outpath | Chemin pour \u00e9crire la sortie. Si cet argument n'est pas fourni, STDOUT est utilis\u00e9. Options: `-o OUPATH`.\n| -l | --language | Langue dans laquelle \u00e9crire la version papier. S'il n'est pas sp\u00e9cifi\u00e9, le \u2018langage\u2019' par d\u00e9faut\u2019 dans les \u2018\u2019settings\u2019\u2019 de la feuille de calcul est utilis\u00e9. Si cela n'est pas sp\u00e9cifi\u00e9 et qu'il existe plusieurs langues dans la XLSForm, la langue qui vient en premier par ordre alphab\u00e9tique sera utilis\u00e9e. Option: `-l LANGUAGE`.\n| -f | --format | les formats de fichier.HTML et DOC sont des formats pris en charge. PDF n'est pas pris en charge, mais vous pouvez facilement de convertir un fichier PPP .doc en PDF en utilisant *wkhtmltopdf* (https://wkhtmltopdf.org/). Si cet indicateur ( flag) n'est pas fourni, la sortie est HTML par d\u00e9faut. Option `-f {html, doc}`.\n| -i | --input-replacement | L'ajout de cette option activera le remplacement des options de choix visibles dans les champs de saisie. Au lieu des options de choix normales, tout ce qui a \u00e9t\u00e9 plac\u00e9 dans le champ 'ppp_input' du XlsForm sera utilis\u00e9. C'est normalement pour cacher les informations sensibles.\n| -e | --exclusion | L'ajout de cette option activera l'exclusion de certains composants du formulaire d'enqu\u00eate du formulaire rendu. Cela peut \u00eatre utilis\u00e9 pour supprimer du formulaire des \u00e9l\u00e9ments d'impl\u00e9mentation sp\u00e9cifiques \u00e0 ODK qui ne sont utiles que pour les d\u00e9veloppeurs et peuvent \u00e9galement \u00eatre utilis\u00e9s pour supprimer compl\u00e8tement les informations sensibles sans aucun remplacement.\n| -r | --hr-relevant | L'ajout de cette option activera l'affichage du texte \u00abrelevant\u00bb lisible par l'homme, plut\u00f4t que la logique codifi\u00e9e , qui exige beaucoup de syntaxe,.\n| -c | --hr-contrainte | L'ajout de cette option basculera l'affichage du texte de \u00abconstraint\u00bb lisible par l'homme, plut\u00f4t que la logique cod\u00e9e, tr\u00e8s lourde en syntaxe du XlsForm d\u2019origine.\n| -C | --no-contrainte | L'ajout de cette option activera la suppression de toutes les contraintes du formulaire rendu.\n| -t | --text-remplacements | L'ajout de cette option basculera les remplacements de texte, comme indiqu\u00e9 dans la feuille de calcul 'text_replacements' du XlsForm. La fonction la plus courante du remplacement de texte consiste \u00e0 rendre davantage de noms de variables lisibles par l\u2019homme, mais elle peut \u00e9galement \u00eatre utilis\u00e9e pour supprimer des informations sensibles ou pour ajouter de la concision / clart\u00e9 si n\u00e9cessaire.\n| -p | --preset | Choisissez parmi un pr\u00e9r\u00e9glage d'options group\u00e9es. Le pr\u00e9r\u00e9glage 'developer' rend le formulaire le plus similaire possible au XlsForm d'origine. Le pr\u00e9r\u00e9glage \u00abinternal\u00bb est plus lisible par l\u2019homme mais n\u2019est pas d\u00e9pourvu d\u2019informations sensibles. L'option \"public\" est similaire \u00e0 l'option \"internal\", mais sans informations sensibles supprim\u00e9es. Options: `-p {public, internal, developper, standard}`.\n\n\n#### Examples d'usage\n\n`python3 -m ppp myXlsForm.xlsx`\n> *Imprime des XlsForm convertis en HTML avec les param\u00e8tres par d\u00e9faut sur la console*\n\n> `python3 -m ppp mon XlsForm.xlsx -l Fran\u00e7ais-f doc -p standard> myXlsForm.doc`\n> *Convertit un fichier ODK Excel en un fichier .doc lisible en MS Word (c'est vraiment du HTML sous le capot), avec le pr\u00e9r\u00e9glage de \"standard\" et la langue d\u00e9finie au Fran\u00e7ais*\n\n> `python3 -m ppp monXlsForm1.xlsx monXlsForm2.xlsx -l Luganda Lusoga anglais -f doc pdf -p standard d\u00e9taill\u00e9`\n> *Enregistre un document pour chaque combinaison de formulaires et d'options pass\u00e9s, dans ce cas :\n**2** fichiers d'entr\u00e9e \\* **3** langues \\* **2** formats de fichier \\* **2** formats de d\u00e9tail , ou **24** fichiers de sortie*\n\n## Documentation pour les d\u00e9veloppeurs\n### Installer et construire localement\n- Clone : `git clone `\n- Installez les d\u00e9pendances : `cd ppp && pip3 install -r requirements.txt`\n- Faites un test pour vous assurer que tout va bien : `make test`\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://www.pma2020.org", "keywords": "", "license": "LICENSE.txt", "maintainer": "", "maintainer_email": "", "name": "odk-ppp", "package_url": "https://pypi.org/project/odk-ppp/", "platform": "", "project_url": "https://pypi.org/project/odk-ppp/", "project_urls": { "Homepage": "http://www.pma2020.org" }, "release_url": "https://pypi.org/project/odk-ppp/1.3.0/", "requires_dist": [ "Jinja2 (>=2.9.6)", "pmix (>=0.2.2)" ], "requires_python": "", "summary": "Converts XlsForm Excel files (ODK, SurveyCTO, etc) into readable formats.", "version": "1.3.0" }, "last_serial": 5973109, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "141b1ea99c380031d52d79874e75021b", "sha256": "04df2fc19c46af4fe111bc1d41975f1a960aa484a8dcb01588fa6a008d631149" }, "downloads": -1, "filename": "odk_ppp-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "141b1ea99c380031d52d79874e75021b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3729340, "upload_time": "2018-06-12T21:04:07", "url": "https://files.pythonhosted.org/packages/3c/cc/74f9a1f2d9de7befcc7f74cfddfcc4544bad5695bacaff31fb98a7049f88/odk_ppp-1.0.0-py3-none-any.whl" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "8d50127089120108b2da15af25dd8726", "sha256": "4e819336315f004a5c898a416de38dbc84067c52dcd00f76b3af74efed55ede4" }, "downloads": -1, "filename": "odk_ppp-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "8d50127089120108b2da15af25dd8726", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3716116, "upload_time": "2018-06-13T18:34:35", "url": "https://files.pythonhosted.org/packages/48/a0/c20129f65766aa3818a154ef252ace0d9fe44fc075f9323bdfda3d061550/odk_ppp-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c9dae7215e218d78948e8ed5af140a8c", "sha256": "fd421b5e1243049df31da0340a6360a91ab11941ffbc713ceb4aced043c19b8e" }, "downloads": -1, "filename": "odk_ppp-1.0.2.tar.gz", "has_sig": false, "md5_digest": "c9dae7215e218d78948e8ed5af140a8c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3701881, "upload_time": "2018-06-13T18:34:38", "url": "https://files.pythonhosted.org/packages/30/58/b632aed148b76f81f01655a59f36a6af57b63fde68b07c9dd15ec18bc470/odk_ppp-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "b23781c473dca9a3905cd320333f5081", "sha256": "9004785b1fed2893b5b365a01edc280f47680ddbc1d471a26469db9abcebb744" }, "downloads": -1, "filename": "odk_ppp-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "b23781c473dca9a3905cd320333f5081", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3714337, "upload_time": "2018-06-15T20:34:24", "url": "https://files.pythonhosted.org/packages/87/27/aa8112b31e905c9f36ce2b52e409dc746b1dcb954a2551ea68f031d1327d/odk_ppp-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "41eca3b18a5d8391d94e3e82f4d97b07", "sha256": "3c48686ba8c945670fc2953b388d3226b6e8a6c1f2c00c5721fe2a44a0b4b607" }, "downloads": -1, "filename": "odk_ppp-1.0.3.tar.gz", "has_sig": false, "md5_digest": "41eca3b18a5d8391d94e3e82f4d97b07", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3697482, "upload_time": "2018-06-15T20:34:32", "url": "https://files.pythonhosted.org/packages/78/36/e27616c728fca43b1a4e5b57dcd12517ff9dd7e54fa5116909ff9195c23e/odk_ppp-1.0.3.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "6076ce1aedd1793622f27cf82de01ad0", "sha256": "a965562336ffa6fdf3641e724aa07145aff4e72d49a6cbc5764eccd10509765c" }, "downloads": -1, "filename": "odk_ppp-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "6076ce1aedd1793622f27cf82de01ad0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3716123, "upload_time": "2018-06-22T18:48:20", "url": "https://files.pythonhosted.org/packages/d9/7b/8e9a0fde2c1b9177d076a66338dcf92fa4091a55c76faed4245ce04e30fd/odk_ppp-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "98a6d6783be00f39a9b62d11abf0b1f3", "sha256": "289430293b2662f4c8da2200b2fc3c8e32c682537e9487d076bd4d8a10a40d5d" }, "downloads": -1, "filename": "odk_ppp-1.1.0.tar.gz", "has_sig": false, "md5_digest": "98a6d6783be00f39a9b62d11abf0b1f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3698994, "upload_time": "2018-06-22T18:48:22", "url": "https://files.pythonhosted.org/packages/58/be/563cf019137cffe9b70ded33481da8611d08d00a6cd46db1ae16d1179363/odk_ppp-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "c2d66d5ce6c36b8b3a4442e2830656af", "sha256": "3dc5919ed606f91af853c0432707bb0f0cd6b8709a62cc4327dc4392711fc076" }, "downloads": -1, "filename": "odk_ppp-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c2d66d5ce6c36b8b3a4442e2830656af", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3716120, "upload_time": "2018-06-22T19:19:01", "url": "https://files.pythonhosted.org/packages/6f/76/1a27d78435ba69d974bbbc94611e93cc9a4f1184002d65acd5ae80083b02/odk_ppp-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f009483dd8c58535e1dc4042564ef5f", "sha256": "a2ef581f0b47d427ff86c054bdd3f7fe0636ae387a1ba2f0b5dc9ffe4fc200f2" }, "downloads": -1, "filename": "odk_ppp-1.1.1.tar.gz", "has_sig": false, "md5_digest": "5f009483dd8c58535e1dc4042564ef5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3698935, "upload_time": "2018-06-22T19:19:04", "url": "https://files.pythonhosted.org/packages/04/6f/f01a837e2084570f044d495d3b265f925c2c3dcc6f08606c693de16d9bf3/odk_ppp-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "b767bf9ca3593a0649f21e8a8d906c85", "sha256": "5646a3ae3abf988c9ba1692247f171e4ba8f842b2c9e03f9373707a927d86519" }, "downloads": -1, "filename": "odk_ppp-1.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b767bf9ca3593a0649f21e8a8d906c85", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3716215, "upload_time": "2018-07-09T19:02:26", "url": "https://files.pythonhosted.org/packages/1e/17/a3b7b0ae3635b8580d11f73260238547f6b35aab324b288dc60981cb4ca8/odk_ppp-1.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "06d020fd100c637e9cd4e9a21310cb76", "sha256": "8a1e1b2049f9fa261148db9e077a2e6498ad070900be2819212d76efccbc0285" }, "downloads": -1, "filename": "odk_ppp-1.1.2.tar.gz", "has_sig": false, "md5_digest": "06d020fd100c637e9cd4e9a21310cb76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3699178, "upload_time": "2018-07-09T19:02:29", "url": "https://files.pythonhosted.org/packages/f8/1c/da2e06f09d962dc59d2d11e9e96458d2ea460ad6ae51fbe63eb6bee8f7ed/odk_ppp-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "6ba697fefaf75577c80a0da7cf07048d", "sha256": "a3220d71a29f429e3affb0b033b2fbb2e64fbf38e0fd1923f24050cc0004b0c0" }, "downloads": -1, "filename": "odk_ppp-1.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "6ba697fefaf75577c80a0da7cf07048d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3716223, "upload_time": "2018-07-09T19:28:49", "url": "https://files.pythonhosted.org/packages/55/ee/9243d589a93d1028dacbfe9c7be1efadc0b7a18bd3f38127055f79ac3dcf/odk_ppp-1.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4fe952d5ddd3a853ceef06d106ed0988", "sha256": "070c135ec9d67ad3b765bfd69d285387b4fb62c3070de031381321211827bd4b" }, "downloads": -1, "filename": "odk_ppp-1.1.3.tar.gz", "has_sig": false, "md5_digest": "4fe952d5ddd3a853ceef06d106ed0988", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3699115, "upload_time": "2018-07-09T19:28:52", "url": "https://files.pythonhosted.org/packages/cf/b5/0a1b8771a9e8df136fe52ce96dfddf604ab8f7c9e3a0c388ec4a83dc8b22/odk_ppp-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "a73df82b20cb475b8e7c75c2019076ae", "sha256": "2acbee62f6b1b0f13b3a5dde545315faa6993f670fcba2df78be181035b84f2c" }, "downloads": -1, "filename": "odk_ppp-1.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "a73df82b20cb475b8e7c75c2019076ae", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 40492, "upload_time": "2018-07-10T19:01:29", "url": "https://files.pythonhosted.org/packages/0d/8b/0b9ca45f80438c21235600a608f6911de4c78bb22fb446094b9e721cf681/odk_ppp-1.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "955b081936a6e5dabac9e5ca3a824ea1", "sha256": "147b521f241120decbb9cbc86a7b92bc3822349f42b7e78ec47e5a5149ebe1ac" }, "downloads": -1, "filename": "odk_ppp-1.1.4.tar.gz", "has_sig": false, "md5_digest": "955b081936a6e5dabac9e5ca3a824ea1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 296166, "upload_time": "2018-07-10T19:01:30", "url": "https://files.pythonhosted.org/packages/ea/7e/f6f44c4ceaf84775b6e00f3b2e6f189d632faeded0d5c2cc9ac32340dd40/odk_ppp-1.1.4.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "5c21d524bc96c007668b6d707c0110b4", "sha256": "4c0e1c164b8d4644d7dd9385f7360a56bb630ecfecda1b1b8d60e396ffc2055e" }, "downloads": -1, "filename": "odk_ppp-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5c21d524bc96c007668b6d707c0110b4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31736, "upload_time": "2018-09-14T15:39:12", "url": "https://files.pythonhosted.org/packages/be/37/a928596e5e63e6662d0dc25d4a9e7817275d608d67ddc843d8742a0025c0/odk_ppp-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "23401a36318148b77aab861392bbb921", "sha256": "e31003f97737fae538271d1210f7e686db81960ceb11018e03599303f1d04f16" }, "downloads": -1, "filename": "odk_ppp-1.2.1.tar.gz", "has_sig": false, "md5_digest": "23401a36318148b77aab861392bbb921", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 293536, "upload_time": "2018-09-14T15:39:13", "url": "https://files.pythonhosted.org/packages/3d/2e/d88d659155f4c86bbee89f7fa21597d2574c22f050075c4b6938012a3296/odk_ppp-1.2.1.tar.gz" } ], "1.2.10": [ { "comment_text": "", "digests": { "md5": "331f8f2d6aaff8100d6a3cbea1e84acd", "sha256": "96ce65be120d84d01e1a1fe14c61749e8ee995c6cfebf6fb51ffa167ad5f3a42" }, "downloads": -1, "filename": "odk_ppp-1.2.10-py3-none-any.whl", "has_sig": false, "md5_digest": "331f8f2d6aaff8100d6a3cbea1e84acd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 79050, "upload_time": "2018-09-27T16:11:04", "url": "https://files.pythonhosted.org/packages/7f/7c/08a9252421e7e73d33539e79d2eccb4be778ea8f59ea5f0bc7cea5206cb9/odk_ppp-1.2.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b69aa02e4a99da157e26d2ca5cb4b63a", "sha256": "368aa7681f7a6c0329da3611efc784a68b6d400e88353edd1c581ba2c9300143" }, "downloads": -1, "filename": "odk_ppp-1.2.10.tar.gz", "has_sig": false, "md5_digest": "b69aa02e4a99da157e26d2ca5cb4b63a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61801, "upload_time": "2018-09-27T16:11:05", "url": "https://files.pythonhosted.org/packages/70/59/ff9f2b003126ef65410ae6de2e29451feb059fcf8dba080cbe66ed3fb330/odk_ppp-1.2.10.tar.gz" } ], "1.2.12": [ { "comment_text": "", "digests": { "md5": "b0bc16817daa11e3f230855b6e1b1e5d", "sha256": "fd9a34d15372fb1b546c271f42bffd1f1af98eb88027aca6c3da799b286fbadc" }, "downloads": -1, "filename": "odk_ppp-1.2.12-py3-none-any.whl", "has_sig": false, "md5_digest": "b0bc16817daa11e3f230855b6e1b1e5d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 79036, "upload_time": "2019-01-24T16:48:03", "url": "https://files.pythonhosted.org/packages/c0/e8/f6f76ec791a959580d58448489998bc8b3e587fafdb9b37cd6ecc9649213/odk_ppp-1.2.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cf295e7e72a62dad095b20d4e93de614", "sha256": "fbedd3246abfbf7c320dcc0d25c6b503281aa19dd0a74c4cb56fb3da82463c1c" }, "downloads": -1, "filename": "odk_ppp-1.2.12.tar.gz", "has_sig": false, "md5_digest": "cf295e7e72a62dad095b20d4e93de614", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61791, "upload_time": "2019-01-24T16:48:04", "url": "https://files.pythonhosted.org/packages/0f/8a/8b2bb954221de64a386884c5ccac5232e7159f45e31d9d4967376757bd0e/odk_ppp-1.2.12.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "247f685bba848e76b8e493fe112dec58", "sha256": "9b916a084ded53b3fe0f1ee1b75057e9843cbc273f3569355bb80db08be2fe44" }, "downloads": -1, "filename": "odk_ppp-1.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "247f685bba848e76b8e493fe112dec58", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 78354, "upload_time": "2018-09-14T17:54:57", "url": "https://files.pythonhosted.org/packages/3c/68/dc51aace0021967c5686b8d27ccfd4791bcd418f50ff4a09c753a0ef781b/odk_ppp-1.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f32195124db8b947107a0067339141ba", "sha256": "d0f2a8580506c4f8ed64da737b49267b8693375f0df233c2884552953037a970" }, "downloads": -1, "filename": "odk_ppp-1.2.2.tar.gz", "has_sig": false, "md5_digest": "f32195124db8b947107a0067339141ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60999, "upload_time": "2018-09-14T17:54:58", "url": "https://files.pythonhosted.org/packages/06/2b/e78cc26d65c26ca4901310ee8a39bb595399b8391a46fce8b085077f7c9a/odk_ppp-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "045a22a29db6bae23113aff447f93cd4", "sha256": "8766a45260b521b09ad263d9b8c89f7fda1bb581abb2e759ce56d05eb533789d" }, "downloads": -1, "filename": "odk_ppp-1.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "045a22a29db6bae23113aff447f93cd4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 78617, "upload_time": "2018-09-14T18:03:22", "url": "https://files.pythonhosted.org/packages/0c/d3/968c1529ed99147ba80cf45327eaccdaddb948bc2a330b0ebc15871fbda9/odk_ppp-1.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3b76344d4d1bf62c8a3d0ff5be25beba", "sha256": "926e0b16dbebb2a52c6d4fc5a377589fcddfef8a31061b559ab53ac9a49fec20" }, "downloads": -1, "filename": "odk_ppp-1.2.3.tar.gz", "has_sig": false, "md5_digest": "3b76344d4d1bf62c8a3d0ff5be25beba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61058, "upload_time": "2018-09-14T18:03:23", "url": "https://files.pythonhosted.org/packages/19/60/270aae1b8813cac8cb9f6670cd93e25cda46dd71208303581879f9dac1f3/odk_ppp-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "51879bad2f4bca5cd603558433872c22", "sha256": "938b9864f3afae10d94379b4680bde04a09c217ae60996d278e6b60ad35fa46b" }, "downloads": -1, "filename": "odk_ppp-1.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "51879bad2f4bca5cd603558433872c22", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 78610, "upload_time": "2018-09-14T19:43:48", "url": "https://files.pythonhosted.org/packages/d0/f7/0fd27b263209625dbefeeb40d0b73735aba5efcd95226728c38795f9587c/odk_ppp-1.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "669814cd3e6f9411d883de55a3373240", "sha256": "4cc2417dffa97bd5fea3350d17f0a7c14360d538bd2b0cf2b1209eb2b6005b0e" }, "downloads": -1, "filename": "odk_ppp-1.2.4.tar.gz", "has_sig": false, "md5_digest": "669814cd3e6f9411d883de55a3373240", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61059, "upload_time": "2018-09-14T19:43:50", "url": "https://files.pythonhosted.org/packages/c6/ad/f28c249f11e61024310aa11ecbd7016ef112cda6e3a5674b6a0fde772eca/odk_ppp-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "ce32e5e6adc41c937d08d7c16d430130", "sha256": "2f760f5b8d5120d3af3f517cd266fe51e513fe7d8f3af33c8d7dff55db1a58fd" }, "downloads": -1, "filename": "odk_ppp-1.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "ce32e5e6adc41c937d08d7c16d430130", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 78685, "upload_time": "2018-09-15T03:40:36", "url": "https://files.pythonhosted.org/packages/60/d5/2c6691a5c1e4bbbdb8370d03314f89764bf6102aec4b34e9dbc20ffda8ea/odk_ppp-1.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "42d4d76221925a416e2669ceac6fc4f4", "sha256": "88db7c6a949d98df3d7b264dfc75c02a51945c053e326c76817554ca40761250" }, "downloads": -1, "filename": "odk_ppp-1.2.5.tar.gz", "has_sig": false, "md5_digest": "42d4d76221925a416e2669ceac6fc4f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61302, "upload_time": "2018-09-15T03:40:38", "url": "https://files.pythonhosted.org/packages/db/5b/85ce106e4e37026aef481a0a4a948c34e91226883a9ebd055ffc8f59218a/odk_ppp-1.2.5.tar.gz" } ], "1.2.6": [ { "comment_text": "", "digests": { "md5": "13b5a563361fd1f377e042c7eba176c3", "sha256": "8f49f071508b63637f7708980c3eb2d8aba19d96ad356d9c5624588241467ed1" }, "downloads": -1, "filename": "odk_ppp-1.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "13b5a563361fd1f377e042c7eba176c3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 78769, "upload_time": "2018-09-17T16:34:58", "url": "https://files.pythonhosted.org/packages/ca/ed/26a7a1c27b1657130806248525e0b1386da51958b229ba71af81ccd64f76/odk_ppp-1.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "392d097fed1f6fb39eb697dd94d5a8cf", "sha256": "783a18e47ca896528c00d6eb19cf5b976e98b2318a0848a8c6a7b27e48aee66e" }, "downloads": -1, "filename": "odk_ppp-1.2.6.tar.gz", "has_sig": false, "md5_digest": "392d097fed1f6fb39eb697dd94d5a8cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61476, "upload_time": "2018-09-17T16:35:00", "url": "https://files.pythonhosted.org/packages/6a/da/d17d3d69c638c95ce5454eed7a48623a01001e85d9e07025720ed1e38343/odk_ppp-1.2.6.tar.gz" } ], "1.2.7": [ { "comment_text": "", "digests": { "md5": "20d5f70f05513c0c5ecfa28c3233dff5", "sha256": "f033267b98758dc940da539eb8cc03b7c41019ae816821c8f35096b269cb9898" }, "downloads": -1, "filename": "odk_ppp-1.2.7-py3-none-any.whl", "has_sig": false, "md5_digest": "20d5f70f05513c0c5ecfa28c3233dff5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 78732, "upload_time": "2018-09-18T14:01:15", "url": "https://files.pythonhosted.org/packages/bb/df/65ac501adf39a67fbe0c2916893c6540b96b85fae8fcc8a629b0775b38ce/odk_ppp-1.2.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d679aedb4312a05f13166b57903969ba", "sha256": "049978d8e2022d521194d371b317e4c8819f388df9fe9ca60c04a271a0ed439f" }, "downloads": -1, "filename": "odk_ppp-1.2.7.tar.gz", "has_sig": false, "md5_digest": "d679aedb4312a05f13166b57903969ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61459, "upload_time": "2018-09-18T14:01:16", "url": "https://files.pythonhosted.org/packages/f6/86/9696046c69adef24dfba4fbedc308ed6aaf3a92927bf59decbbfe52dbd7c/odk_ppp-1.2.7.tar.gz" } ], "1.2.8": [ { "comment_text": "", "digests": { "md5": "a23795bebc5ba22ab982a7acbde471a1", "sha256": "271b7629a79b3aca922eb45c39645e5865444d8005b8a127bdba5b9614f183b3" }, "downloads": -1, "filename": "odk_ppp-1.2.8-py3-none-any.whl", "has_sig": false, "md5_digest": "a23795bebc5ba22ab982a7acbde471a1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 78924, "upload_time": "2018-09-18T19:44:13", "url": "https://files.pythonhosted.org/packages/6c/4d/dd68afb2dbffcdba4b6fd0075bb40a4efd6389abe63eb12c9cc8e2188ff1/odk_ppp-1.2.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8b5109728bae11a048ba079925e650dc", "sha256": "2058e69a0fb000e3813f2c2b6987de3fd7270e32532ad740de4f8cbc2540ec05" }, "downloads": -1, "filename": "odk_ppp-1.2.8.tar.gz", "has_sig": false, "md5_digest": "8b5109728bae11a048ba079925e650dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61652, "upload_time": "2018-09-18T19:44:14", "url": "https://files.pythonhosted.org/packages/d9/4b/ccf56d958f35c69673e55103367d1cb12595112dc9d66130f539403d133d/odk_ppp-1.2.8.tar.gz" } ], "1.2.9": [ { "comment_text": "", "digests": { "md5": "f8e3c9933f29d676bd1eb27de8f0b4bb", "sha256": "dd03c119488cbd904476acbc96d945da0ed62573fb5d474477f27f8c25dd562b" }, "downloads": -1, "filename": "odk_ppp-1.2.9-py3-none-any.whl", "has_sig": false, "md5_digest": "f8e3c9933f29d676bd1eb27de8f0b4bb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 78999, "upload_time": "2018-09-26T14:28:31", "url": "https://files.pythonhosted.org/packages/ac/d6/78d34f708db991ebfe70e628d5641490fffd2720624a0a8bd77e72ddcbd8/odk_ppp-1.2.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5c552c2698370730f6b461557a8eb13d", "sha256": "46a599ebc001ed9b74b65331e0de99644dc0e2c7ec54ca50d3129a26fae74967" }, "downloads": -1, "filename": "odk_ppp-1.2.9.tar.gz", "has_sig": false, "md5_digest": "5c552c2698370730f6b461557a8eb13d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61748, "upload_time": "2018-09-26T14:28:33", "url": "https://files.pythonhosted.org/packages/e6/a0/fe07c995da75423d57e8506b8842354cb96b226ed5b97d745f380b586520/odk_ppp-1.2.9.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "63676a892b34709f3262b83b43a78b6e", "sha256": "725a1f94e852b6eaaa3e7480451e5439c07d5afd3b8de0841572b44f7cca2b2d" }, "downloads": -1, "filename": "odk_ppp-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "63676a892b34709f3262b83b43a78b6e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 75777, "upload_time": "2019-10-07T15:25:46", "url": "https://files.pythonhosted.org/packages/0a/b3/92de06b6fdd12ca4a69b2c772ab2eae04853edfd1534c56d0a006f9b9a0e/odk_ppp-1.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4bccc67200ba8bf25b2216cde7d4eeef", "sha256": "54e8e1260e059b051c957b9cfc43b5cca81984e7feb44e4c4d9b3860c450a7b6" }, "downloads": -1, "filename": "odk_ppp-1.3.0.tar.gz", "has_sig": false, "md5_digest": "4bccc67200ba8bf25b2216cde7d4eeef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66285, "upload_time": "2019-10-07T15:25:59", "url": "https://files.pythonhosted.org/packages/be/79/6bdc836d119e8c21234c039dc26c662dd64616ead3592fac92facaef69fb/odk_ppp-1.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "63676a892b34709f3262b83b43a78b6e", "sha256": "725a1f94e852b6eaaa3e7480451e5439c07d5afd3b8de0841572b44f7cca2b2d" }, "downloads": -1, "filename": "odk_ppp-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "63676a892b34709f3262b83b43a78b6e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 75777, "upload_time": "2019-10-07T15:25:46", "url": "https://files.pythonhosted.org/packages/0a/b3/92de06b6fdd12ca4a69b2c772ab2eae04853edfd1534c56d0a006f9b9a0e/odk_ppp-1.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4bccc67200ba8bf25b2216cde7d4eeef", "sha256": "54e8e1260e059b051c957b9cfc43b5cca81984e7feb44e4c4d9b3860c450a7b6" }, "downloads": -1, "filename": "odk_ppp-1.3.0.tar.gz", "has_sig": false, "md5_digest": "4bccc67200ba8bf25b2216cde7d4eeef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66285, "upload_time": "2019-10-07T15:25:59", "url": "https://files.pythonhosted.org/packages/be/79/6bdc836d119e8c21234c039dc26c662dd64616ead3592fac92facaef69fb/odk_ppp-1.3.0.tar.gz" } ] }