{
"info": {
"author": "Pierre SASSOULAS",
"author_email": "pierre.sassoulas@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 5 - Production/Stable",
"Environment :: Web Environment",
"Framework :: Django",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU Affero General Public License v3",
"Natural Language :: English",
"Natural Language :: French",
"Natural Language :: Japanese",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Topic :: Utilities"
],
"description": "# Django survey\n\nA django survey app, based on and compatible with \"django-survey\".\nYou will be able to migrate your data from an ancient version of\ndjango-survey, but it has been ported to python 3 and you can export results as\nCSV or PDF using your native language.\n\nIf you want the latest version still compatible with python 2.7 you need a\nversion < 1.3.0.\n\n[](https://travis-ci.org/Pierre-Sassoulas/django-survey)\n[](https://coveralls.io/github/Pierre-Sassoulas/django-survey?branch=master)\n[](https://badge.fury.io/py/django-survey-and-report)\n[](https://github.com/ambv/black)\n[](http://makeapullrequest.com)\n\n## Table of contents\n\n* [Getting started](#getting-started)\n* [Making a survey](#making-a-survey)\n* [Generating a pdf report from the survey's result](#generating-a-pdf-report-from-the-surveys-result)\n * [Basic example](#basic-example)\n * [Sankey's diagram](#sankey-diagram)\n * [Advanced example](#advanced-example)\n * [Implementing a custom treatment](#implementing-a-custom-treatment)\n* [Contributing as a developper](#contributing-as-a-developper)\n * [Development environment](#development-environment)\n * [Committing code](#committing-code)\n * [Launching tests](#launching-tests)\n * [Adding test data](#adding-test-data)\n * [Launching coverage](#launching-coverage)\n * [Applying Lint](#applying-Lint)\n* [Translating the project](#translating-the-project)\n * [Language available](#language-available)\n * [As a developper](#as-a-developper)\n * [As a translator](#as-a-translator)\n* [Credit](#credits)\n\n## Getting started\n\nAdd `django-survey-and-report` to your requirements and get it with pip.\n\n~~~~bash\necho 'django-survey-and-report' > requirements.txt\npip install -r requirements.txt\n~~~~\n\nAdd `bootstrapform` and `survey` in the `INSTALLED_APPS` in your settings :\n\n~~~~python\nINSTALLED_APPS = [\n\t# Your own installed apps here\n]\n\nINSTALLED_APPS += [\n\t'bootstrapform',\n\t'survey'\n]\n~~~~\n\nAdd an URL entry to your project\u2019s urls.py, for example:\n\n~~~python\nfrom django.conf import settings\nfrom django.conf.urls import include, url\n\nurlpatterns = [\n # Your own url pattern here\n]\n\nif 'survey' in settings.INSTALLED_APPS:\n urlpatterns += [\n url(r'^survey/', include('survey.urls'))\n ]\n~~~~\n\nNote: you can use whatever you wish as the URL prefix.\n\nTo uninstall `django-survey-and-report`, simply comment out or remove the\n'survey' line in your `INSTALLED_APPS`.\n\nIf you want to use the pdf rendering with the Sankey's diagram generation\nyou will have to install python-tk (for python 2.7) or python3-tk (for python 3.x).\n\n## Making a survey\n\nUsing the admin interface you can create surveys, add questions, give questions\ncategories, and mark them as required or not. You can define choices for answers\nusing comma separated words.\n\n\n\nThe front-end survey view then automatically populates based on the questions\nthat have been defined and published in the admin interface. We use bootstrap3\nto render them.\n\n\n\nSubmitted responses can be viewed via the admin backend, in an exported csv\nor in a pdf generated with latex.\n\n## Generating a pdf report from the survey's result\n\nYou can manage the way the report is created in a yaml file, globally, survey\nby survey, or question by question. In order to render pdf you will need to\ninstall texlive and python-tk or python3-tk for sankey's diagram.\n\nThe results are generated for the server only when needed, but you can force\nit as a developper with:\n\n~~~~bash\npython manage.py exportresult -h\n~~~~\n\nFollowing is an example of a configuration file. you can generate one with:\n\n~~~~bash\npython manage.py generatetexconf -h\n~~~~\n\n### Basic example\n\n~~~~yaml\ngeneric:\n document_option: 11pt\n'Test surv\u00eby':\n document_class: report\n questions:\n 'Lorem ipsum dolor sit am\u00ebt, consectetur adipiscing elit.':\n chart:\n type: polar\n text: pin\n 'Dolor sit am\u00ebt, consectetur adipiscing elit.':\n chart:\n type: cloud\n text: inside\n~~~~\n\nThe pdf is then generated using the very good pgf-pie library.\n\n\n\n\n\n### Sankey diagram\n\nIf you installed python3-tk, you can also show the relation between two\nquestions using a sankey diagram :\n\n~~~~yaml\n'Lorem ipsum dolor sit am\u00ebt, consectetur adipiscing elit.':\n chart:\n type: sankey\n question: 'Dolor sit am\u00ebt, consectetur adipiscing elit.'\n~~~~\n\nYou get this as a result:\n\n\n\n### Advanced example\n\nYou can also limit the answers shown by cardinality, filter them, group them\ntogether and choose the color for each answer or group of answers.\n\nIf you use this configuration for the previous question:\n~~~~yaml\n'Test surv\u00eby':\n 'Dolor sit am\u00ebt, consectetur adipiscing elit.':\n multiple_charts:\n 'Sub Sub Section with radius=3':\n color:\n Y\u00ebs: blue!50\n No: red!50\n Whatever: red!50!blue!50\n radius: 3\n 'Sub Sub Section with text=pin':\n group_together:\n Nah:\n - No\n - Whatever\n K.:\n - Y\u00ebs\n color:\n Nah: blue!33!red!66\n K.: blue!50\n text: pin\n chart:\n radius: 1\n type: cloud\n text: inside\n~~~~\n\nYou get this as a result:\n\n\n\n### Implementing a custom treatment\n\nIf you want to make your own treatment you can use your own class, for example.\n\nConfiguration:\n~~~~yaml\n'Test surv\u00eby':\n questions:\n 'Ipsum dolor sit am\u00ebt, consectetur adipiscing elit.':\n chart:\n type: survey.tests.exporter.tex.CustomQuestion2TexChild\n~~~~\n\nCode in `survey.tests.exporter.tex.CustomQuestion2TexChild`:\n\n~~~~python\nfrom survey.exporter.tex.question2tex_chart import Question2TexChart\n\n\nclass CustomQuestion2TexChild(Question2TexChart):\n\n def get_results(self):\n self.type = \"polar\"\n return \"\"\" 2/There were no answer at all,\n 3/But we have a custom treatment to show some,\n 2/You can make minor changes too !\"\"\"\n~~~~\n\nResult:\n\n\n\nFor a full example of a configuration file look at `example_conf.yaml` in doc,\nyou can also generate your configuration file with\n`python manage.py generatetexconf -h`, it will create the default skeleton\nfor every survey and question.\n\n## Contributing as a developper\n\n### Development environment\n\nThis is the typical command you should do to get started:\n\n~~~~bash\npython -m venv venv/ #\u00a0Create virtualenv\nsource venv/bin/activate #\u00a0Activate virtualenv\npip install -e \".[dev]\" #\u00a0Install dev requirements\npre-commit install #\u00a0Install pre-commit hook framework\npython manage.py migrate #\u00a0Create database\npython manage.py loaddata survey/tests/testdump.json #\u00a0Load test data\npython manage.py createsuperuser\npython manage.py runserver #\u00a0Launch server\n~~~~\n\n### Committing code\n\n#### Launching tests\n\n~~~~bash\npython manage.py test survey\n~~~~\n\n#### Adding test data\n\nIf you want to dump a test database after adding data to it, this is\nthe command to have a minimal diff :\n\n~~~~bash\npython manage.py dumpdata --format json -e contenttypes -e admin -e auth.Permission\n-e sessions.session -e sites.site --natural-foreign --indent 1\n-o survey/tests/testdump.json\n~~~~\n\n#### Launching coverage\n\n~~~~bash\ncoverage run --source=survey --omit=survey/migrations/* ./manage.py test\ncoverage html\nxdg-open htmlcov/index.html\n~~~~\n\n#### Applying Lint\n\nWe're using `pre-commit`, it should take care of linting during commit.\n\n## Translating the project\n\nDjango survey's is available in multiple language.\nYour contribution would be very appreciated if you\nknow a language that is not yet available.\n\n### Language available\n\nThe software is developed in english. Other available languages are :\n\n* [x] Chinese thanks to [\u6731\u8056\u9ece (Zhu Sheng Li)](https://github.com/digglife/)\n* [x] French thanks to [Pierre Sassoulas](https://github.com/Pierre-Sassoulas/)\n* [x] Japanese thanks to [Nobukuni Suzue](https://github.com/nsuzue/)\n* [x] Spanish thanks to [Javier Ord\u00f3\u00f1ez](https://github.com/ordonja/)\n* [x] Russian thanks to [Vlad M.](https://github.com/manchos/)\n\n### As a developper\n\nIf your language do not exists add it in the `LANGUAGE` variable in the\nsettings, like [here](https://github.com/Pierre-Sassoulas/django-survey/commit/ee3bdba26c303ad12fc4584938e724b39223faa9#diff-bdf3ecebd8379ca98cc89e545fc90899).\nDo not forget to credit yourself like in the header seen\n[here](https://github.com/Pierre-Sassoulas/django-zxcvbn-password-validator/commit/274d7c9b27268a0455f80ea518c452532b970ea4#diff-8015f170326f20998060314fda9b92b1)\n\nThen you can translate with :\n\n~~~~bash\npython manage.py makemessages\n# python manage.py createsuperuser ? (You need to login for rosetta)\npython manage.py runserver\n# Access http://localhost:8000/admin to login\n# Then go to http://localhost:8000/rosetta to translate\npython manage.py makemessages --no-obsolete --no-wrap\ngit add survey/locale/\n...\n~~~~\n\nIf your language is not yet available in rosetta,\n[this stack overflow question](https://stackoverflow.com/questions/12946830/)\nshould work even for language not handled by django.\n\n### As a translator\n\nIf you're not a developper, open an issue on github and ask for a .po\nfile in your language. I will generate it for you, so you can edit it with an\nonline editor. I will then create the .po and commit them, so you can edit them\nwith your github account or integrate it myself if you do not have one.\nYou will be credited\n[here](https://github.com/Pierre-Sassoulas/django-survey#language-available).\n\n## Credits\n\nBased on [jessykate's django-survey](https://github.com/jessykate/django-survey),\nand contribution by jibaku, joshualoving, and ijasperyang in forks of jessykate's project.\n\nWe use [anazalea's pySankey](https://github.com/anazalea/pySankey) for sankey's\ndiagram during reporting.",
"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/Pierre-Sassoulas/django-survey",
"keywords": "",
"license": "AGPL",
"maintainer": "",
"maintainer_email": "",
"name": "django-survey-and-report",
"package_url": "https://pypi.org/project/django-survey-and-report/",
"platform": "",
"project_url": "https://pypi.org/project/django-survey-and-report/",
"project_urls": {
"Homepage": "https://github.com/Pierre-Sassoulas/django-survey"
},
"release_url": "https://pypi.org/project/django-survey-and-report/1.3.11/",
"requires_dist": null,
"requires_python": "",
"summary": "A django survey app, based on and compatible with \"django-survey\". You will be able to migrate your data from an ancient version of django-survey, but it has been ported to python 3 and you can export results as CSV or PDF using your native language.",
"version": "1.3.11"
},
"last_serial": 5967079,
"releases": {
"1.2.3": [
{
"comment_text": "",
"digests": {
"md5": "9ac6bd4a25a05ad80dbfb48e679823f1",
"sha256": "96acbf10a95a01d9c17e89e319c6120718711a409b2fbe0ac4968e11fa8c2447"
},
"downloads": -1,
"filename": "django-survey-and-report-1.2.3.tar.gz",
"has_sig": false,
"md5_digest": "9ac6bd4a25a05ad80dbfb48e679823f1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 292903,
"upload_time": "2018-09-22T07:51:36",
"url": "https://files.pythonhosted.org/packages/3d/16/8878fb6b18bcd3a4dc4e8b167a89c82d4c216fc781071319bcef1dcc758f/django-survey-and-report-1.2.3.tar.gz"
}
],
"1.3.1": [
{
"comment_text": "",
"digests": {
"md5": "99bd7b004f75e6e096dfc7e45bc35340",
"sha256": "a896d47e34f2656f2e456a969e0d57baca4f2edf76427f6fdb69cdbe072835a8"
},
"downloads": -1,
"filename": "django-survey-and-report-1.3.1.tar.gz",
"has_sig": false,
"md5_digest": "99bd7b004f75e6e096dfc7e45bc35340",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 293407,
"upload_time": "2018-09-22T07:04:21",
"url": "https://files.pythonhosted.org/packages/b0/18/380c589bd85f056deb03a583fba9f7de3605b16ebcc524f46f066bc1345d/django-survey-and-report-1.3.1.tar.gz"
}
],
"1.3.10": [
{
"comment_text": "",
"digests": {
"md5": "1ebdc7abf63cadc2e97238803dfe30af",
"sha256": "3646632749827bfc8f728e0c41ae45cbb508db2c1bbce94a0a512602ea2e8d2a"
},
"downloads": -1,
"filename": "django-survey-and-report-1.3.10.tar.gz",
"has_sig": false,
"md5_digest": "1ebdc7abf63cadc2e97238803dfe30af",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 304721,
"upload_time": "2019-09-30T20:59:39",
"url": "https://files.pythonhosted.org/packages/4a/33/88b548b88c1c8b2d64d845c230a223cb6ea60ac263b1efbba0a4cd4eee2f/django-survey-and-report-1.3.10.tar.gz"
}
],
"1.3.11": [
{
"comment_text": "",
"digests": {
"md5": "4a5a7116c3c7d13e42c7e60e1261ab31",
"sha256": "62563a70a88c06b624d3bc33111e98474450a7f13160d9bbf04afec2074b0244"
},
"downloads": -1,
"filename": "django-survey-and-report-1.3.11.tar.gz",
"has_sig": false,
"md5_digest": "4a5a7116c3c7d13e42c7e60e1261ab31",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 305287,
"upload_time": "2019-10-13T10:56:10",
"url": "https://files.pythonhosted.org/packages/8a/36/910924aeeb8a27aa0e7b46d7721c4c7bfe8aea18b4720890d22fe028744f/django-survey-and-report-1.3.11.tar.gz"
}
],
"1.3.2": [
{
"comment_text": "",
"digests": {
"md5": "87420fedae853e039a50e40005ee2dfc",
"sha256": "9b5a9d942d71966c20c996df06f93bce2a6ecd23e3259f510af5d4beb8d01ffc"
},
"downloads": -1,
"filename": "django-survey-and-report-1.3.2.linux-x86_64.tar.gz",
"has_sig": false,
"md5_digest": "87420fedae853e039a50e40005ee2dfc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 348281,
"upload_time": "2018-12-13T21:11:17",
"url": "https://files.pythonhosted.org/packages/16/c4/a2c7c1082e32c78dfe763a98515ecea19293fa512fbb5d0fed1fe027bb57/django-survey-and-report-1.3.2.linux-x86_64.tar.gz"
}
],
"1.3.3": [
{
"comment_text": "",
"digests": {
"md5": "9b37220bc4233864b1bf1973e81a826b",
"sha256": "612372f6050f88956b43b24b2ad50b0c961c20cb427cca60d800a2bc1dcf6839"
},
"downloads": -1,
"filename": "django-survey-and-report-1.3.3.tar.gz",
"has_sig": false,
"md5_digest": "9b37220bc4233864b1bf1973e81a826b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 342292,
"upload_time": "2019-01-09T20:42:57",
"url": "https://files.pythonhosted.org/packages/f3/64/a845e214573dcb9d9942a43fdc2d3188d5e8192a672496583707225cde20/django-survey-and-report-1.3.3.tar.gz"
}
],
"1.3.4": [
{
"comment_text": "",
"digests": {
"md5": "9ac59620ab286807033007ed4fe12b19",
"sha256": "ae0dfd33383eb047ca66ad6a44e1dda359c7397dbc9b00194cd44c2f387307f0"
},
"downloads": -1,
"filename": "django-survey-and-report-1.3.4.tar.gz",
"has_sig": false,
"md5_digest": "9ac59620ab286807033007ed4fe12b19",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 342286,
"upload_time": "2019-01-09T20:51:18",
"url": "https://files.pythonhosted.org/packages/b7/4f/27d120e37bf8487e2418584b315b99f97bfd3be92f091c3882841938d1e5/django-survey-and-report-1.3.4.tar.gz"
}
],
"1.3.5": [
{
"comment_text": "",
"digests": {
"md5": "94f5b173d88198e8ca57ede3ed81fabf",
"sha256": "212513b6ee98f7fd2aadcfea32b1803d3dce1b637048d51d55397767cbcd8dc5"
},
"downloads": -1,
"filename": "django-survey-and-report-1.3.5.tar.gz",
"has_sig": false,
"md5_digest": "94f5b173d88198e8ca57ede3ed81fabf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 344200,
"upload_time": "2019-02-27T21:49:42",
"url": "https://files.pythonhosted.org/packages/94/c6/5ae052f3033dd542105b1c5d8d4bfebf0b996d3b72df0bef31912b8588a6/django-survey-and-report-1.3.5.tar.gz"
}
],
"1.3.6": [
{
"comment_text": "",
"digests": {
"md5": "0c2e741799b341a8186c57a81bb8941b",
"sha256": "d5754c4f1fa4793b920e220c2d4a5319d53140ffe8ae385278ea5c7345369fa3"
},
"downloads": -1,
"filename": "django-survey-and-report-1.3.6.tar.gz",
"has_sig": false,
"md5_digest": "0c2e741799b341a8186c57a81bb8941b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 304769,
"upload_time": "2019-03-26T22:27:11",
"url": "https://files.pythonhosted.org/packages/1a/92/60787290b1fc6ca2c9e5994c09da9d505b3165597900394e19b4557c39f9/django-survey-and-report-1.3.6.tar.gz"
}
],
"1.3.7": [
{
"comment_text": "",
"digests": {
"md5": "27a62aaeb11a318a39d02e8ce009fb42",
"sha256": "14de397912e5e0c4678be6cd828469184301c5e1a6affef3e5398dd9416a9ca7"
},
"downloads": -1,
"filename": "django-survey-and-report-1.3.7.tar.gz",
"has_sig": false,
"md5_digest": "27a62aaeb11a318a39d02e8ce009fb42",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 303366,
"upload_time": "2019-05-25T06:16:46",
"url": "https://files.pythonhosted.org/packages/7f/ee/f7f45865e34d939861737d08c9e97bbbecb96eb1d8e30cec621e9d90d483/django-survey-and-report-1.3.7.tar.gz"
}
],
"1.3.8": [
{
"comment_text": "",
"digests": {
"md5": "bdb809fa2b356bfa7602c644306e92fa",
"sha256": "746ba9aca4ae411fb0824acee324560defdb9d37b56c3427b599ce7ec4e027df"
},
"downloads": -1,
"filename": "django-survey-and-report-1.3.8.tar.gz",
"has_sig": false,
"md5_digest": "bdb809fa2b356bfa7602c644306e92fa",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 303381,
"upload_time": "2019-06-20T06:04:13",
"url": "https://files.pythonhosted.org/packages/31/21/c849cdc7c69cdb0e1b21f33b5af35081ae865358b422fbaff0b1d8d4b8b1/django-survey-and-report-1.3.8.tar.gz"
}
],
"1.3.9": [
{
"comment_text": "",
"digests": {
"md5": "243d6beff7976f0bbe6719a5e83ed57e",
"sha256": "f0b8296778c41e982ee11f0876911e26a3d68a4c37fef8d35f9df907a706e1a4"
},
"downloads": -1,
"filename": "django-survey-and-report-1.3.9.tar.gz",
"has_sig": false,
"md5_digest": "243d6beff7976f0bbe6719a5e83ed57e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 303517,
"upload_time": "2019-09-21T09:06:32",
"url": "https://files.pythonhosted.org/packages/12/db/dd724d475f0c8335b2fbc2f9b757d08ebd7cbdabb4c22ba742a025e6bdef/django-survey-and-report-1.3.9.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "4a5a7116c3c7d13e42c7e60e1261ab31",
"sha256": "62563a70a88c06b624d3bc33111e98474450a7f13160d9bbf04afec2074b0244"
},
"downloads": -1,
"filename": "django-survey-and-report-1.3.11.tar.gz",
"has_sig": false,
"md5_digest": "4a5a7116c3c7d13e42c7e60e1261ab31",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 305287,
"upload_time": "2019-10-13T10:56:10",
"url": "https://files.pythonhosted.org/packages/8a/36/910924aeeb8a27aa0e7b46d7721c4c7bfe8aea18b4720890d22fe028744f/django-survey-and-report-1.3.11.tar.gz"
}
]
}