├── .github ├── CODE_OF_CONDUCT.md ├── ISSUE_TEMPLATE.md ├── ISSUE_TEMPLATE │ └── config.yml ├── PULL_REQUEST_TEMPLATE.md └── workflows │ ├── release.yml │ └── verify.yml ├── .gitignore ├── LICENSE.md ├── README.md ├── SECURITY.md ├── docs ├── assets │ ├── extra_css.css │ ├── favicon.ico │ └── logo.svg ├── client.md ├── entities.md ├── entity_lists.md ├── examples │ ├── 2022-10-pyodk-webinar.ipynb │ ├── README.md │ ├── app_user_provisioner │ │ ├── Roboto-Regular.license │ │ ├── Roboto-Regular.ttf │ │ ├── app_user_provisioner.py │ │ └── requirements.txt │ ├── basic-analysis-pandas.ipynb │ ├── beyond-library-methods.ipynb │ ├── create_entities_from_submissions │ │ ├── create_entities_from_submissions.py │ │ └── imported_answers.csv │ ├── create_or_update_form │ │ └── create_or_update_form.py │ ├── docs-form-version-xlsx.png │ ├── fav_color.xlsx │ ├── mail_merge │ │ ├── mail_merge.py │ │ ├── merged │ │ │ ├── Pedro.docx │ │ │ └── Sally.docx │ │ ├── requirements.txt │ │ └── template.docx │ ├── requirements.txt │ ├── simple_repeat.xlsx │ └── working-with-repeats.ipynb ├── forms.md ├── http-methods.md ├── index.md ├── overrides │ └── main.html ├── projects.md └── submissions.md ├── mkdocs.yml ├── pyodk ├── __init__.py ├── __version__.py ├── _endpoints │ ├── __init__.py │ ├── auth.py │ ├── bases.py │ ├── comments.py │ ├── entities.py │ ├── entity_list_properties.py │ ├── entity_lists.py │ ├── form_assignments.py │ ├── form_draft_attachments.py │ ├── form_drafts.py │ ├── forms.py │ ├── project_app_users.py │ ├── projects.py │ ├── submission_attachments.py │ └── submissions.py ├── _utils │ ├── __init__.py │ ├── config.py │ ├── session.py │ ├── utils.py │ └── validators.py ├── client.py └── errors.py ├── pyproject.toml ├── runtime.txt └── tests ├── __init__.py ├── endpoints ├── __init__.py ├── test_auth.py ├── test_comments.py ├── test_entities.py ├── test_entity_lists.py ├── test_forms.py ├── test_projects.py └── test_submissions.py ├── resources ├── .pyodk_cache.toml ├── .pyodk_config.toml ├── __init__.py ├── comments_data.py ├── entities_data.py ├── entity_lists_data.py ├── forms │ ├── fruits.csv │ └── range_draft.xml ├── forms_data.py ├── projects_data.py └── submissions_data.py ├── test_client.py ├── test_config.py ├── test_session.py ├── test_validators.py └── utils ├── __init__.py ├── entity_lists.py ├── forms.py ├── md_table.py ├── submissions.py └── utils.py /.github/CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/.github/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/.github/ISSUE_TEMPLATE.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/.github/ISSUE_TEMPLATE/config.yml -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/verify.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/.github/workflows/verify.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/README.md -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/SECURITY.md -------------------------------------------------------------------------------- /docs/assets/extra_css.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/assets/extra_css.css -------------------------------------------------------------------------------- /docs/assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/assets/favicon.ico -------------------------------------------------------------------------------- /docs/assets/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/assets/logo.svg -------------------------------------------------------------------------------- /docs/client.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/client.md -------------------------------------------------------------------------------- /docs/entities.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/entities.md -------------------------------------------------------------------------------- /docs/entity_lists.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/entity_lists.md -------------------------------------------------------------------------------- /docs/examples/2022-10-pyodk-webinar.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/examples/2022-10-pyodk-webinar.ipynb -------------------------------------------------------------------------------- /docs/examples/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/examples/README.md -------------------------------------------------------------------------------- /docs/examples/app_user_provisioner/Roboto-Regular.license: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/examples/app_user_provisioner/Roboto-Regular.license -------------------------------------------------------------------------------- /docs/examples/app_user_provisioner/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/examples/app_user_provisioner/Roboto-Regular.ttf -------------------------------------------------------------------------------- /docs/examples/app_user_provisioner/app_user_provisioner.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/examples/app_user_provisioner/app_user_provisioner.py -------------------------------------------------------------------------------- /docs/examples/app_user_provisioner/requirements.txt: -------------------------------------------------------------------------------- 1 | segno==1.6.1 2 | Pillow==10.3.0 3 | -------------------------------------------------------------------------------- /docs/examples/basic-analysis-pandas.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/examples/basic-analysis-pandas.ipynb -------------------------------------------------------------------------------- /docs/examples/beyond-library-methods.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/examples/beyond-library-methods.ipynb -------------------------------------------------------------------------------- /docs/examples/create_entities_from_submissions/create_entities_from_submissions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/examples/create_entities_from_submissions/create_entities_from_submissions.py -------------------------------------------------------------------------------- /docs/examples/create_entities_from_submissions/imported_answers.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/examples/create_entities_from_submissions/imported_answers.csv -------------------------------------------------------------------------------- /docs/examples/create_or_update_form/create_or_update_form.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/examples/create_or_update_form/create_or_update_form.py -------------------------------------------------------------------------------- /docs/examples/docs-form-version-xlsx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/examples/docs-form-version-xlsx.png -------------------------------------------------------------------------------- /docs/examples/fav_color.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/examples/fav_color.xlsx -------------------------------------------------------------------------------- /docs/examples/mail_merge/mail_merge.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/examples/mail_merge/mail_merge.py -------------------------------------------------------------------------------- /docs/examples/mail_merge/merged/Pedro.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/examples/mail_merge/merged/Pedro.docx -------------------------------------------------------------------------------- /docs/examples/mail_merge/merged/Sally.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/examples/mail_merge/merged/Sally.docx -------------------------------------------------------------------------------- /docs/examples/mail_merge/requirements.txt: -------------------------------------------------------------------------------- 1 | docx-mailmerge2==0.8.0 2 | -------------------------------------------------------------------------------- /docs/examples/mail_merge/template.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/examples/mail_merge/template.docx -------------------------------------------------------------------------------- /docs/examples/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/examples/requirements.txt -------------------------------------------------------------------------------- /docs/examples/simple_repeat.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/examples/simple_repeat.xlsx -------------------------------------------------------------------------------- /docs/examples/working-with-repeats.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/examples/working-with-repeats.ipynb -------------------------------------------------------------------------------- /docs/forms.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/forms.md -------------------------------------------------------------------------------- /docs/http-methods.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/http-methods.md -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | --8<-- "README.md" -------------------------------------------------------------------------------- /docs/overrides/main.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/overrides/main.html -------------------------------------------------------------------------------- /docs/projects.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/projects.md -------------------------------------------------------------------------------- /docs/submissions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/docs/submissions.md -------------------------------------------------------------------------------- /mkdocs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/mkdocs.yml -------------------------------------------------------------------------------- /pyodk/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/pyodk/__init__.py -------------------------------------------------------------------------------- /pyodk/__version__.py: -------------------------------------------------------------------------------- 1 | __version__ = "1.2.1" 2 | -------------------------------------------------------------------------------- /pyodk/_endpoints/__init__.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | -------------------------------------------------------------------------------- /pyodk/_endpoints/auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/pyodk/_endpoints/auth.py -------------------------------------------------------------------------------- /pyodk/_endpoints/bases.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/pyodk/_endpoints/bases.py -------------------------------------------------------------------------------- /pyodk/_endpoints/comments.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/pyodk/_endpoints/comments.py -------------------------------------------------------------------------------- /pyodk/_endpoints/entities.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/pyodk/_endpoints/entities.py -------------------------------------------------------------------------------- /pyodk/_endpoints/entity_list_properties.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/pyodk/_endpoints/entity_list_properties.py -------------------------------------------------------------------------------- /pyodk/_endpoints/entity_lists.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/pyodk/_endpoints/entity_lists.py -------------------------------------------------------------------------------- /pyodk/_endpoints/form_assignments.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/pyodk/_endpoints/form_assignments.py -------------------------------------------------------------------------------- /pyodk/_endpoints/form_draft_attachments.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/pyodk/_endpoints/form_draft_attachments.py -------------------------------------------------------------------------------- /pyodk/_endpoints/form_drafts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/pyodk/_endpoints/form_drafts.py -------------------------------------------------------------------------------- /pyodk/_endpoints/forms.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/pyodk/_endpoints/forms.py -------------------------------------------------------------------------------- /pyodk/_endpoints/project_app_users.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/pyodk/_endpoints/project_app_users.py -------------------------------------------------------------------------------- /pyodk/_endpoints/projects.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/pyodk/_endpoints/projects.py -------------------------------------------------------------------------------- /pyodk/_endpoints/submission_attachments.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/pyodk/_endpoints/submission_attachments.py -------------------------------------------------------------------------------- /pyodk/_endpoints/submissions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/pyodk/_endpoints/submissions.py -------------------------------------------------------------------------------- /pyodk/_utils/__init__.py: -------------------------------------------------------------------------------- 1 | __all__ = () 2 | -------------------------------------------------------------------------------- /pyodk/_utils/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/pyodk/_utils/config.py -------------------------------------------------------------------------------- /pyodk/_utils/session.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/pyodk/_utils/session.py -------------------------------------------------------------------------------- /pyodk/_utils/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/pyodk/_utils/utils.py -------------------------------------------------------------------------------- /pyodk/_utils/validators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/pyodk/_utils/validators.py -------------------------------------------------------------------------------- /pyodk/client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/pyodk/client.py -------------------------------------------------------------------------------- /pyodk/errors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/pyodk/errors.py -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/pyproject.toml -------------------------------------------------------------------------------- /runtime.txt: -------------------------------------------------------------------------------- 1 | python-3.12 2 | -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/endpoints/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/endpoints/test_auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/endpoints/test_auth.py -------------------------------------------------------------------------------- /tests/endpoints/test_comments.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/endpoints/test_comments.py -------------------------------------------------------------------------------- /tests/endpoints/test_entities.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/endpoints/test_entities.py -------------------------------------------------------------------------------- /tests/endpoints/test_entity_lists.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/endpoints/test_entity_lists.py -------------------------------------------------------------------------------- /tests/endpoints/test_forms.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/endpoints/test_forms.py -------------------------------------------------------------------------------- /tests/endpoints/test_projects.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/endpoints/test_projects.py -------------------------------------------------------------------------------- /tests/endpoints/test_submissions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/endpoints/test_submissions.py -------------------------------------------------------------------------------- /tests/resources/.pyodk_cache.toml: -------------------------------------------------------------------------------- 1 | token = "1234abcd" 2 | -------------------------------------------------------------------------------- /tests/resources/.pyodk_config.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/resources/.pyodk_config.toml -------------------------------------------------------------------------------- /tests/resources/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/resources/__init__.py -------------------------------------------------------------------------------- /tests/resources/comments_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/resources/comments_data.py -------------------------------------------------------------------------------- /tests/resources/entities_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/resources/entities_data.py -------------------------------------------------------------------------------- /tests/resources/entity_lists_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/resources/entity_lists_data.py -------------------------------------------------------------------------------- /tests/resources/forms/fruits.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/resources/forms/fruits.csv -------------------------------------------------------------------------------- /tests/resources/forms/range_draft.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/resources/forms/range_draft.xml -------------------------------------------------------------------------------- /tests/resources/forms_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/resources/forms_data.py -------------------------------------------------------------------------------- /tests/resources/projects_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/resources/projects_data.py -------------------------------------------------------------------------------- /tests/resources/submissions_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/resources/submissions_data.py -------------------------------------------------------------------------------- /tests/test_client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/test_client.py -------------------------------------------------------------------------------- /tests/test_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/test_config.py -------------------------------------------------------------------------------- /tests/test_session.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/test_session.py -------------------------------------------------------------------------------- /tests/test_validators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/test_validators.py -------------------------------------------------------------------------------- /tests/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/utils/entity_lists.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/utils/entity_lists.py -------------------------------------------------------------------------------- /tests/utils/forms.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/utils/forms.py -------------------------------------------------------------------------------- /tests/utils/md_table.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/utils/md_table.py -------------------------------------------------------------------------------- /tests/utils/submissions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/utils/submissions.py -------------------------------------------------------------------------------- /tests/utils/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getodk/pyodk/HEAD/tests/utils/utils.py --------------------------------------------------------------------------------