From 8282021aab212e6091f5196c6061c95c9af63f05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Wed, 9 Oct 2024 18:56:02 -0600 Subject: [PATCH] docs: Updated the contributing guide to reflect current workflow (#1199) * docs: Updated the contributing guide to reflect current workflow * Update docs/index.md * Add change file * Update change file --- .changes/0.0.1.md | 36 +-- .changes/0.0.10.md | 24 +- .changes/0.0.11.md | 4 +- .changes/0.0.12.md | 4 +- .changes/0.0.13.md | 4 +- .changes/0.0.14.md | 4 +- .changes/0.0.2.md | 8 +- .changes/0.0.3.md | 2 +- .changes/0.0.4.md | 2 +- .changes/0.0.5.md | 3 +- .changes/0.0.6.md | 4 +- .changes/0.0.7.md | 4 +- .changes/0.0.8.md | 6 +- .changes/0.0.9.md | 10 +- .changes/0.1.0.md | 4 +- .changes/0.10.0.md | 16 +- .changes/0.2.0.md | 8 +- .changes/0.3.0.md | 4 +- .changes/0.4.0.md | 14 +- .changes/0.4.1.md | 4 +- .changes/0.4.2.md | 8 +- .changes/0.4.3.md | 4 +- .changes/0.4.4.md | 6 +- .changes/0.4.5.md | 4 +- .changes/0.5.0.md | 6 +- .changes/0.6.0.md | 8 +- .changes/0.7.0.md | 8 +- .changes/0.7.1-b1.md | 4 +- .changes/0.7.1-b2.md | 4 +- .changes/0.7.1-b3.md | 6 +- .changes/0.7.1.md | 4 +- .changes/0.7.2.md | 4 +- .changes/0.8.0.md | 22 +- .changes/0.9.0.md | 14 +- .changes/1.0.0.md | 16 +- .changes/1.0.1.md | 8 +- .changes/header.tpl.md | 1 + .../Documentation-20241008-130634.yaml | 5 + .../Refactored-20240921-212214.yaml | 2 +- .changie.yaml | 2 +- .circleci/config.yml | 6 +- .github/ISSUE_TEMPLATE/BUG.yml | 1 + .github/pull_request_template.md | 18 +- .github/workflows/api-changes.yml | 2 +- .pre-commit-config.yaml | 7 +- CHANGELOG.md | 293 +++++++++++------- CODE_OF_CONDUCT.md | 24 +- SECURITY.md | 6 +- docs/contributing/environment.md | 20 +- docs/contributing/getting-started.md | 6 +- docs/contributing/testing.md | 12 +- docs/contributing/unreleased-features.md | 4 +- docs/contributing/update-github-actions.md | 6 +- docs/index.md | 10 +- docs/requirements.txt | 2 +- docs/rest_coverage.md | 1 - noxfile.py | 24 +- pyproject.toml | 1 - 58 files changed, 467 insertions(+), 277 deletions(-) create mode 100644 .changes/unreleased/Documentation-20241008-130634.yaml diff --git a/.changes/0.0.1.md b/.changes/0.0.1.md index 329abf47..d437a99e 100644 --- a/.changes/0.0.1.md +++ b/.changes/0.0.1.md @@ -2,22 +2,22 @@ ### Added -* New client methods: +- New client methods: - - `activate_survey` - - `activate_tokens` - - `add_participants` - - `add_response` - - `delete_participants` - - `delete_survey` - - `download_files` - - `export_responses` - - `export_responses_by_token` - - `get_participant_properties` - - `get_response_ids` - - `get_site_settings` - - `get_survey_properties` - - `import_survey` - - `list_participants` - - `list_questions` - - `list_surveys` + - `activate_survey` + - `activate_tokens` + - `add_participants` + - `add_response` + - `delete_participants` + - `delete_survey` + - `download_files` + - `export_responses` + - `export_responses_by_token` + - `get_participant_properties` + - `get_response_ids` + - `get_site_settings` + - `get_survey_properties` + - `import_survey` + - `list_participants` + - `list_questions` + - `list_surveys` diff --git a/.changes/0.0.10.md b/.changes/0.0.10.md index 95c22450..47c78d9d 100644 --- a/.changes/0.0.10.md +++ b/.changes/0.0.10.md @@ -1,18 +1,18 @@ ## 0.0.10 - 2022-02-17 -### Added -* [#192](https://github.com/edgarrmondragon/citric/pull/192) Implement `copy_survey` in client -* [#190](https://github.com/edgarrmondragon/citric/pull/190) Implement `import_group` in client -* [#196](https://github.com/edgarrmondragon/citric/pull/196) Implement `list_groups` in client -* [#194](https://github.com/edgarrmondragon/citric/pull/194) Implement `delete_group` in client -* [#207](https://github.com/edgarrmondragon/citric/pull/207) Implement `add_language` in client -* [#210](https://github.com/edgarrmondragon/citric/pull/210) Implement `add_survey` in client -* [#231](https://github.com/edgarrmondragon/citric/pull/231) Implement `get_`*_properties in client -* [#240](https://github.com/edgarrmondragon/citric/pull/237) Implement `export_statistics`, `save_statistics` and `save_responses` in client -* [#241](https://github.com/edgarrmondragon/citric/pull/241) Implement `get_summary` in client -* [#240](https://github.com/edgarrmondragon/citric/pull/240) Implement `export_timeline` in client +### Added +- [#192](https://github.com/edgarrmondragon/citric/pull/192) Implement `copy_survey` in client +- [#190](https://github.com/edgarrmondragon/citric/pull/190) Implement `import_group` in client +- [#196](https://github.com/edgarrmondragon/citric/pull/196) Implement `list_groups` in client +- [#194](https://github.com/edgarrmondragon/citric/pull/194) Implement `delete_group` in client +- [#207](https://github.com/edgarrmondragon/citric/pull/207) Implement `add_language` in client +- [#210](https://github.com/edgarrmondragon/citric/pull/210) Implement `add_survey` in client +- [#231](https://github.com/edgarrmondragon/citric/pull/231) Implement `get_`\*\_properties in client +- [#240](https://github.com/edgarrmondragon/citric/pull/237) Implement `export_statistics`, `save_statistics` and `save_responses` in client +- [#241](https://github.com/edgarrmondragon/citric/pull/241) Implement `get_summary` in client +- [#240](https://github.com/edgarrmondragon/citric/pull/240) Implement `export_timeline` in client ### Fixed -* [#215](https://github.com/edgarrmondragon/citric/pull/215) Address code smells and other issues +- [#215](https://github.com/edgarrmondragon/citric/pull/215) Address code smells and other issues diff --git a/.changes/0.0.11.md b/.changes/0.0.11.md index da2dcd15..5ad9752c 100644 --- a/.changes/0.0.11.md +++ b/.changes/0.0.11.md @@ -1,3 +1,5 @@ ## 0.0.11 - 2022-03-14 + ### Added -* [#296](https://github.com/edgarrmondragon/citric/pull/296) Implement `set_group_properties`, `set_language_properties`, `set_participant_properties`, `set_question_properties`, `set_survey_properties` in client + +- [#296](https://github.com/edgarrmondragon/citric/pull/296) Implement `set_group_properties`, `set_language_properties`, `set_participant_properties`, `set_question_properties`, `set_survey_properties` in client diff --git a/.changes/0.0.12.md b/.changes/0.0.12.md index d1164c57..b1003d3c 100644 --- a/.changes/0.0.12.md +++ b/.changes/0.0.12.md @@ -1,3 +1,5 @@ ## 0.0.12 - 2022-03-24 + ### Added -* [#208](https://github.com/edgarrmondragon/citric/pull/208) Implement `delete_language` in client + +- [#208](https://github.com/edgarrmondragon/citric/pull/208) Implement `delete_language` in client diff --git a/.changes/0.0.13.md b/.changes/0.0.13.md index fa84d788..d3cecb1b 100644 --- a/.changes/0.0.13.md +++ b/.changes/0.0.13.md @@ -1,3 +1,5 @@ ## 0.0.13 - 2022-05-02 + ### Added -* [#435](https://github.com/edgarrmondragon/citric/pull/435) Add `get_uploaded_file_objects` to Client \ No newline at end of file + +- [#435](https://github.com/edgarrmondragon/citric/pull/435) Add `get_uploaded_file_objects` to Client diff --git a/.changes/0.0.14.md b/.changes/0.0.14.md index a99769a1..d17b14bd 100644 --- a/.changes/0.0.14.md +++ b/.changes/0.0.14.md @@ -1,3 +1,5 @@ ## 0.0.14 - 2022-05-18 + ### Added -* [#430](https://github.com/edgarrmondragon/citric/issues/430) Implement `upload_file` in client \ No newline at end of file + +- [#430](https://github.com/edgarrmondragon/citric/issues/430) Implement `upload_file` in client diff --git a/.changes/0.0.2.md b/.changes/0.0.2.md index 669f82e4..77eb6a66 100644 --- a/.changes/0.0.2.md +++ b/.changes/0.0.2.md @@ -2,11 +2,11 @@ ### Added -* New client methods: +- New client methods: - - `delete_response` - - `list_survey_groups` + - `delete_response` + - `list_survey_groups` ### Changed -* Return bytes from export methods +- Return bytes from export methods diff --git a/.changes/0.0.3.md b/.changes/0.0.3.md index 5159ce63..1f36dcf5 100644 --- a/.changes/0.0.3.md +++ b/.changes/0.0.3.md @@ -2,4 +2,4 @@ ### Added -* [#93](https://github.com/edgarrmondragon/citric/pull/93) Implement `list_users` in client +- [#93](https://github.com/edgarrmondragon/citric/pull/93) Implement `list_users` in client diff --git a/.changes/0.0.4.md b/.changes/0.0.4.md index 70449224..272e0a4b 100644 --- a/.changes/0.0.4.md +++ b/.changes/0.0.4.md @@ -2,4 +2,4 @@ ### Changed -* [#114](https://github.com/edgarrmondragon/citric/pull/114) Replaced `requests_session_factory` argument with `requests_session` in `citric.Session` +- [#114](https://github.com/edgarrmondragon/citric/pull/114) Replaced `requests_session_factory` argument with `requests_session` in `citric.Session` diff --git a/.changes/0.0.5.md b/.changes/0.0.5.md index 8d6de919..5a91fb39 100644 --- a/.changes/0.0.5.md +++ b/.changes/0.0.5.md @@ -1,4 +1,5 @@ ## 0.0.5 - 2021-12-20 + ### Changed -* [#117](https://github.com/edgarrmondragon/citric/pull/117) Removed `read_file` and `write_file` methods in favor of support for arbitrary binary file-like objects. Implemented `get_uploaded_files` in client. +- [#117](https://github.com/edgarrmondragon/citric/pull/117) Removed `read_file` and `write_file` methods in favor of support for arbitrary binary file-like objects. Implemented `get_uploaded_files` in client. diff --git a/.changes/0.0.6.md b/.changes/0.0.6.md index 91071aad..4feeccd9 100644 --- a/.changes/0.0.6.md +++ b/.changes/0.0.6.md @@ -1,3 +1,5 @@ ## 0.0.6 - 2022-01-26 + ### Added -* [#140](https://github.com/edgarrmondragon/citric/pull/140) Support Auth Plugins + +- [#140](https://github.com/edgarrmondragon/citric/pull/140) Support Auth Plugins diff --git a/.changes/0.0.7.md b/.changes/0.0.7.md index 9168b25e..0456c6f7 100644 --- a/.changes/0.0.7.md +++ b/.changes/0.0.7.md @@ -1,3 +1,5 @@ ## 0.0.7 - 2022-01-28 + ### Fixed -* [#143](https://github.com/edgarrmondragon/citric/pull/143) Remove explicit check for enabled RPC interface + +- [#143](https://github.com/edgarrmondragon/citric/pull/143) Remove explicit check for enabled RPC interface diff --git a/.changes/0.0.8.md b/.changes/0.0.8.md index ee0f109e..424d8790 100644 --- a/.changes/0.0.8.md +++ b/.changes/0.0.8.md @@ -1,4 +1,6 @@ ## 0.0.8 - 2022-02-03 + ### Added -* [#148](https://github.com/edgarrmondragon/citric/pull/148) Implement `add_group` in client -* [#148](https://github.com/edgarrmondragon/citric/pull/148) Implement `import_question` in client + +- [#148](https://github.com/edgarrmondragon/citric/pull/148) Implement `add_group` in client +- [#148](https://github.com/edgarrmondragon/citric/pull/148) Implement `import_question` in client diff --git a/.changes/0.0.9.md b/.changes/0.0.9.md index 25e5fe87..24edf31e 100644 --- a/.changes/0.0.9.md +++ b/.changes/0.0.9.md @@ -1,6 +1,10 @@ ## 0.0.9 - 2022-02-05 + ### Added -* [#155](https://github.com/edgarrmondragon/citric/pull/155) Experimental support Python 3.11 -* [#165](https://github.com/edgarrmondragon/citric/pull/165) Test in Windows and MacOS + +- [#155](https://github.com/edgarrmondragon/citric/pull/155) Experimental support Python 3.11 +- [#165](https://github.com/edgarrmondragon/citric/pull/165) Test in Windows and MacOS + ### Removed -* [#151](https://github.com/edgarrmondragon/citric/pull/151) Drop support for Python 3.6 + +- [#151](https://github.com/edgarrmondragon/citric/pull/151) Drop support for Python 3.6 diff --git a/.changes/0.1.0.md b/.changes/0.1.0.md index 8fa2ee38..1ecb0c77 100644 --- a/.changes/0.1.0.md +++ b/.changes/0.1.0.md @@ -1,3 +1,5 @@ ## 0.1.0 - 2022-06-17 + ### Added -* [#213](https://github.com/edgarrmondragon/citric/issues/213) Implement `delete_question` in client \ No newline at end of file + +- [#213](https://github.com/edgarrmondragon/citric/issues/213) Implement `delete_question` in client diff --git a/.changes/0.10.0.md b/.changes/0.10.0.md index ac4ffcbe..dd8b2d64 100644 --- a/.changes/0.10.0.md +++ b/.changes/0.10.0.md @@ -1,9 +1,15 @@ ## 0.10.0 - 2023-11-29 + ### Added -* [#994](https://github.com/edgarrmondragon/citric/issues/994) Experimental support for the new REST API -* [#1016](https://github.com/edgarrmondragon/citric/issues/1016) Support `DestSurveyID` parameter in RPC method `copy_survey` -* [#1026](https://github.com/edgarrmondragon/citric/issues/1026) Support `userActivationSettings` parameter in RPC method `activate_survey` + +- [#994](https://github.com/edgarrmondragon/citric/issues/994) Experimental support for the new REST API +- [#1016](https://github.com/edgarrmondragon/citric/issues/1016) Support `DestSurveyID` parameter in RPC method `copy_survey` +- [#1026](https://github.com/edgarrmondragon/citric/issues/1026) Support `userActivationSettings` parameter in RPC method `activate_survey` + ### Fixed -* [#1026](https://github.com/edgarrmondragon/citric/issues/1026) Update `types.YesNo` to include inherited (`I`) values + +- [#1026](https://github.com/edgarrmondragon/citric/issues/1026) Update `types.YesNo` to include inherited (`I`) values + ### Documentation -* [#1035](https://github.com/edgarrmondragon/citric/issues/1035) Document how to disable TLS certificate verification \ No newline at end of file + +- [#1035](https://github.com/edgarrmondragon/citric/issues/1035) Document how to disable TLS certificate verification diff --git a/.changes/0.2.0.md b/.changes/0.2.0.md index e6c49e6c..62f19904 100644 --- a/.changes/0.2.0.md +++ b/.changes/0.2.0.md @@ -1,5 +1,9 @@ ## 0.2.0 - 2022-06-20 + ### Added -* [#475](https://github.com/edgarrmondragon/citric/issues/475) Implement `update_response` in client + +- [#475](https://github.com/edgarrmondragon/citric/issues/475) Implement `update_response` in client + ### Fixed -* [#477](https://github.com/edgarrmondragon/citric/issues/477) Reduce number of calls to `list_questions` from `add_responses` \ No newline at end of file + +- [#477](https://github.com/edgarrmondragon/citric/issues/477) Reduce number of calls to `list_questions` from `add_responses` diff --git a/.changes/0.3.0.md b/.changes/0.3.0.md index a4eefc88..d3d4d7ab 100644 --- a/.changes/0.3.0.md +++ b/.changes/0.3.0.md @@ -1,3 +1,5 @@ ## 0.3.0 - 2022-07-24 + ### Added -* [#498](https://github.com/edgarrmondragon/citric/issues/498) Implement `get_fieldmap` in client \ No newline at end of file + +- [#498](https://github.com/edgarrmondragon/citric/issues/498) Implement `get_fieldmap` in client diff --git a/.changes/0.4.0.md b/.changes/0.4.0.md index 90de5581..feb58733 100644 --- a/.changes/0.4.0.md +++ b/.changes/0.4.0.md @@ -1,8 +1,14 @@ ## 0.4.0 - 2022-12-05 + ### Added -* [#582](https://github.com/edgarrmondragon/citric/issues/582) Stable support for Python 3.11 -* [#586](https://github.com/edgarrmondragon/citric/issues/586) Experimental support for Python 3.12 + +- [#582](https://github.com/edgarrmondragon/citric/issues/582) Stable support for Python 3.11 +- [#586](https://github.com/edgarrmondragon/citric/issues/586) Experimental support for Python 3.12 + ### Changed -* [#607](https://github.com/edgarrmondragon/citric/issues/607) Use keyword-only arguments for `add_participants` and `list_participants` + +- [#607](https://github.com/edgarrmondragon/citric/issues/607) Use keyword-only arguments for `add_participants` and `list_participants` + ### Refactor -* [#626](https://github.com/edgarrmondragon/citric/issues/626) Refactor returns of the type `if: ... else: return ...` \ No newline at end of file + +- [#626](https://github.com/edgarrmondragon/citric/issues/626) Refactor returns of the type `if: ... else: return ...` diff --git a/.changes/0.4.1.md b/.changes/0.4.1.md index bc26b7e0..7d01555b 100644 --- a/.changes/0.4.1.md +++ b/.changes/0.4.1.md @@ -1,3 +1,5 @@ ## 0.4.1 - 2022-12-10 + ### Fixed -* [#634](https://github.com/edgarrmondragon/citric/issues/634) Pass `attributes` to `activate_tokens` RPC call \ No newline at end of file + +- [#634](https://github.com/edgarrmondragon/citric/issues/634) Pass `attributes` to `activate_tokens` RPC call diff --git a/.changes/0.4.2.md b/.changes/0.4.2.md index dcb8405b..36a126c8 100644 --- a/.changes/0.4.2.md +++ b/.changes/0.4.2.md @@ -1,5 +1,9 @@ ## 0.4.2 - 2022-12-20 + ### Changed -* [#642](https://github.com/edgarrmondragon/citric/issues/642) Remove upper bound constrain on `importlib-metadata` + +- [#642](https://github.com/edgarrmondragon/citric/issues/642) Remove upper bound constrain on `importlib-metadata` + ### Fixed -* [#643](https://github.com/edgarrmondragon/citric/issues/643) Fixed a few type annotations \ No newline at end of file + +- [#643](https://github.com/edgarrmondragon/citric/issues/643) Fixed a few type annotations diff --git a/.changes/0.4.3.md b/.changes/0.4.3.md index ea7dfdb1..e0d8758d 100644 --- a/.changes/0.4.3.md +++ b/.changes/0.4.3.md @@ -1,3 +1,5 @@ ## 0.4.3 - 2023-01-18 + ### Fixed -* [#659](https://github.com/edgarrmondragon/citric/issues/659) Use a correct UTC datetime as the default end value in `export_timeline` \ No newline at end of file + +- [#659](https://github.com/edgarrmondragon/citric/issues/659) Use a correct UTC datetime as the default end value in `export_timeline` diff --git a/.changes/0.4.4.md b/.changes/0.4.4.md index da5b4108..bb9e7177 100644 --- a/.changes/0.4.4.md +++ b/.changes/0.4.4.md @@ -1,4 +1,6 @@ ## 0.4.4 - 2023-02-03 + ### Refactored -* [#683](https://github.com/edgarrmondragon/citric/issues/683) Use `pathlib.Path` where possible -* [#687](https://github.com/edgarrmondragon/citric/issues/687) Use a dedicated `RPCInterfaceNotEnabledError` exception when a disabled JSON Interface is detected \ No newline at end of file + +- [#683](https://github.com/edgarrmondragon/citric/issues/683) Use `pathlib.Path` where possible +- [#687](https://github.com/edgarrmondragon/citric/issues/687) Use a dedicated `RPCInterfaceNotEnabledError` exception when a disabled JSON Interface is detected diff --git a/.changes/0.4.5.md b/.changes/0.4.5.md index 33beb694..687fdfa2 100644 --- a/.changes/0.4.5.md +++ b/.changes/0.4.5.md @@ -1,3 +1,5 @@ ## 0.4.5 - 2023-03-03 + ### Fixed -* [#732](https://github.com/edgarrmondragon/citric/issues/732) Improve error message when RPC response is not valid JSON \ No newline at end of file + +- [#732](https://github.com/edgarrmondragon/citric/issues/732) Improve error message when RPC response is not valid JSON diff --git a/.changes/0.5.0.md b/.changes/0.5.0.md index e4516daf..3e17732e 100644 --- a/.changes/0.5.0.md +++ b/.changes/0.5.0.md @@ -1,4 +1,6 @@ ## 0.5.0 - 2023-03-13 + ### Added -* [#748](https://github.com/edgarrmondragon/citric/issues/748) Support custom JSON encoders -* [#745](https://github.com/edgarrmondragon/citric/issues/745) Annotate some responses with `TypedDict` \ No newline at end of file + +- [#748](https://github.com/edgarrmondragon/citric/issues/748) Support custom JSON encoders +- [#745](https://github.com/edgarrmondragon/citric/issues/745) Annotate some responses with `TypedDict` diff --git a/.changes/0.6.0.md b/.changes/0.6.0.md index 25308a37..5feba34e 100644 --- a/.changes/0.6.0.md +++ b/.changes/0.6.0.md @@ -1,5 +1,7 @@ ## 0.6.0 - 2023-03-21 + ### Added -* [#295](https://github.com/edgarrmondragon/citric/issues/295) Implement `set_quota_properties` in client -* [#552](https://github.com/edgarrmondragon/citric/issues/552) Implement `get_available_site_settings` in client -* [#765](https://github.com/edgarrmondragon/citric/issues/765) Use `TypedDict` for more precise `**kwargs` typing \ No newline at end of file + +- [#295](https://github.com/edgarrmondragon/citric/issues/295) Implement `set_quota_properties` in client +- [#552](https://github.com/edgarrmondragon/citric/issues/552) Implement `get_available_site_settings` in client +- [#765](https://github.com/edgarrmondragon/citric/issues/765) Use `TypedDict` for more precise `**kwargs` typing diff --git a/.changes/0.7.0.md b/.changes/0.7.0.md index 5d610c4f..69588dcc 100644 --- a/.changes/0.7.0.md +++ b/.changes/0.7.0.md @@ -1,5 +1,9 @@ ## 0.7.0 - 2023-03-31 + ### Added -* [#492](https://github.com/edgarrmondragon/citric/issues/492) Implement `cpd_importParticipants` in client + +- [#492](https://github.com/edgarrmondragon/citric/issues/492) Implement `cpd_importParticipants` in client + ### Fixed -* [#774](https://github.com/edgarrmondragon/citric/issues/774) Remove direct dependency on `typing-extensions` \ No newline at end of file + +- [#774](https://github.com/edgarrmondragon/citric/issues/774) Remove direct dependency on `typing-extensions` diff --git a/.changes/0.7.1-b1.md b/.changes/0.7.1-b1.md index 91b5373e..44217068 100644 --- a/.changes/0.7.1-b1.md +++ b/.changes/0.7.1-b1.md @@ -1,3 +1,5 @@ ## 0.7.1-b1 - 2023-04-11 + ### Fixed -* [#803](https://github.com/edgarrmondragon/citric/issues/803) Remove warnings for LimeSurvey 6.0 features \ No newline at end of file + +- [#803](https://github.com/edgarrmondragon/citric/issues/803) Remove warnings for LimeSurvey 6.0 features diff --git a/.changes/0.7.1-b2.md b/.changes/0.7.1-b2.md index 22fa707f..08548a25 100644 --- a/.changes/0.7.1-b2.md +++ b/.changes/0.7.1-b2.md @@ -1,3 +1,5 @@ ## 0.7.1-b2 - 2023-05-12 + ### Fixed -* [#849](https://github.com/edgarrmondragon/citric/issues/849) Remove some upper bound version constraints \ No newline at end of file + +- [#849](https://github.com/edgarrmondragon/citric/issues/849) Remove some upper bound version constraints diff --git a/.changes/0.7.1-b3.md b/.changes/0.7.1-b3.md index 5f76d319..64b56a8c 100644 --- a/.changes/0.7.1-b3.md +++ b/.changes/0.7.1-b3.md @@ -1,4 +1,6 @@ ## 0.7.1-b3 - 2023-06-01 + ### Documentation -* [#866](https://github.com/edgarrmondragon/citric/issues/866) Add missing methods to RPC coverage page -* [#868](https://github.com/edgarrmondragon/citric/issues/868) Fix a couple of typos \ No newline at end of file + +- [#866](https://github.com/edgarrmondragon/citric/issues/866) Add missing methods to RPC coverage page +- [#868](https://github.com/edgarrmondragon/citric/issues/868) Fix a couple of typos diff --git a/.changes/0.7.1.md b/.changes/0.7.1.md index 3709f92f..deca40f9 100644 --- a/.changes/0.7.1.md +++ b/.changes/0.7.1.md @@ -1,3 +1,5 @@ ## 0.7.1 - 2023-06-03 + ### Documentation -* [#876](https://github.com/edgarrmondragon/citric/issues/876) Update contributing documentation \ No newline at end of file + +- [#876](https://github.com/edgarrmondragon/citric/issues/876) Update contributing documentation diff --git a/.changes/0.7.2.md b/.changes/0.7.2.md index d0f316a0..3b900396 100644 --- a/.changes/0.7.2.md +++ b/.changes/0.7.2.md @@ -1,3 +1,5 @@ ## 0.7.2 - 2023-06-21 + ### Refactored -* [#894](https://github.com/edgarrmondragon/citric/issues/894) Add a `USER_AGENT` attribute to the `Session` class \ No newline at end of file + +- [#894](https://github.com/edgarrmondragon/citric/issues/894) Add a `USER_AGENT` attribute to the `Session` class diff --git a/.changes/0.8.0.md b/.changes/0.8.0.md index 1eee9832..a16f019a 100644 --- a/.changes/0.8.0.md +++ b/.changes/0.8.0.md @@ -1,12 +1,20 @@ ## 0.8.0 - 2023-08-22 + ### Added -* [#793](https://github.com/edgarrmondragon/citric/issues/793) Implement `invite_participants` in client + +- [#793](https://github.com/edgarrmondragon/citric/issues/793) Implement `invite_participants` in client + ### Changed -* [#617](https://github.com/edgarrmondragon/citric/issues/617) Drop support for Python 3.7 + +- [#617](https://github.com/edgarrmondragon/citric/issues/617) Drop support for Python 3.7 + ### Refactored -* [#918](https://github.com/edgarrmondragon/citric/issues/918) Use latest `typing` features where possible -* [#935](https://github.com/edgarrmondragon/citric/issues/935) Use `__all__` to expose public API + +- [#918](https://github.com/edgarrmondragon/citric/issues/918) Use latest `typing` features where possible +- [#935](https://github.com/edgarrmondragon/citric/issues/935) Use `__all__` to expose public API + ### Documentation -* [#930](https://github.com/edgarrmondragon/citric/issues/930) Update duckdb notebook example -* [#934](https://github.com/edgarrmondragon/citric/issues/934) Document integration test status in readme -* [#940](https://github.com/edgarrmondragon/citric/issues/940) Fix edit button \ No newline at end of file + +- [#930](https://github.com/edgarrmondragon/citric/issues/930) Update duckdb notebook example +- [#934](https://github.com/edgarrmondragon/citric/issues/934) Document integration test status in readme +- [#940](https://github.com/edgarrmondragon/citric/issues/940) Fix edit button diff --git a/.changes/0.9.0.md b/.changes/0.9.0.md index cb9ee010..e81151cf 100644 --- a/.changes/0.9.0.md +++ b/.changes/0.9.0.md @@ -1,8 +1,12 @@ ## 0.9.0 - 2023-10-11 + ### Added -* [#944](https://github.com/edgarrmondragon/citric/issues/944) Add `Client.get_server_version` -* [#1005](https://github.com/edgarrmondragon/citric/issues/1005) Official support for Python 3.12 + +- [#944](https://github.com/edgarrmondragon/citric/issues/944) Add `Client.get_server_version` +- [#1005](https://github.com/edgarrmondragon/citric/issues/1005) Official support for Python 3.12 + ### Documentation -* [#934](https://github.com/edgarrmondragon/citric/issues/934) Report status of integration tests against multiple LimeSurvey versions -* [#964](https://github.com/edgarrmondragon/citric/issues/964) Fix GitHub archive URLs in integration test docs -* [#996](https://github.com/edgarrmondragon/citric/issues/996) Document current version in docs site \ No newline at end of file + +- [#934](https://github.com/edgarrmondragon/citric/issues/934) Report status of integration tests against multiple LimeSurvey versions +- [#964](https://github.com/edgarrmondragon/citric/issues/964) Fix GitHub archive URLs in integration test docs +- [#996](https://github.com/edgarrmondragon/citric/issues/996) Document current version in docs site diff --git a/.changes/1.0.0.md b/.changes/1.0.0.md index d6b6cfde..0d1f51b3 100644 --- a/.changes/1.0.0.md +++ b/.changes/1.0.0.md @@ -1,9 +1,15 @@ ## 1.0.0 - 2024-02-12 + ### Added -* [#1079](https://github.com/edgarrmondragon/citric/issues/1079) Added `get_db_version` method to RPC client -* [#1092](https://github.com/edgarrmondragon/citric/issues/1092) Added a `Session.call` method to allow calling RPC methods without any error handling to get the raw response + +- [#1079](https://github.com/edgarrmondragon/citric/issues/1079) Added `get_db_version` method to RPC client +- [#1092](https://github.com/edgarrmondragon/citric/issues/1092) Added a `Session.call` method to allow calling RPC methods without any error handling to get the raw response + ### Removed -* [#1093](https://github.com/edgarrmondragon/citric/issues/1093) Removed the `Session._headers` attribute + +- [#1093](https://github.com/edgarrmondragon/citric/issues/1093) Removed the `Session._headers` attribute + ### Documentation -* [#1057](https://github.com/edgarrmondragon/citric/issues/1057) Documented `conda install` option -* [#1092](https://github.com/edgarrmondragon/citric/issues/1092) Linked unimplemented methods to `Session.call` examples + +- [#1057](https://github.com/edgarrmondragon/citric/issues/1057) Documented `conda install` option +- [#1092](https://github.com/edgarrmondragon/citric/issues/1092) Linked unimplemented methods to `Session.call` examples diff --git a/.changes/1.0.1.md b/.changes/1.0.1.md index b60df14d..8cbb8047 100644 --- a/.changes/1.0.1.md +++ b/.changes/1.0.1.md @@ -1,5 +1,9 @@ ## 1.0.1 - 2024-06-12 + ### Fixed -* [#1101](https://github.com/edgarrmondragon/citric/issues/1101) fix: Bump min `requests` to `2.25.1` (released 2020-12-16) + +- [#1101](https://github.com/edgarrmondragon/citric/issues/1101) fix: Bump min `requests` to `2.25.1` (released 2020-12-16) + ### Documentation -* [#1152](https://github.com/edgarrmondragon/citric/issues/1152) Fixed links to LimeSurvey API docs \ No newline at end of file + +- [#1152](https://github.com/edgarrmondragon/citric/issues/1152) Fixed links to LimeSurvey API docs diff --git a/.changes/header.tpl.md b/.changes/header.tpl.md index df8faa7b..44118343 100644 --- a/.changes/header.tpl.md +++ b/.changes/header.tpl.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), diff --git a/.changes/unreleased/Documentation-20241008-130634.yaml b/.changes/unreleased/Documentation-20241008-130634.yaml new file mode 100644 index 00000000..99b38500 --- /dev/null +++ b/.changes/unreleased/Documentation-20241008-130634.yaml @@ -0,0 +1,5 @@ +kind: Documentation +body: Updated the contributing guide to reflect current workflow +time: 2024-10-08T13:06:34.659437-06:00 +custom: + Issue: "1199" diff --git a/.changes/unreleased/Refactored-20240921-212214.yaml b/.changes/unreleased/Refactored-20240921-212214.yaml index deed38d7..b6f7b965 100644 --- a/.changes/unreleased/Refactored-20240921-212214.yaml +++ b/.changes/unreleased/Refactored-20240921-212214.yaml @@ -1,5 +1,5 @@ kind: Refactored -body: Test and document new top-level question attributes from LimeSurvey 6.6.3 +body: Test and document new top-level question attributes from LimeSurvey 6.6.3+ time: 2024-09-21T21:22:14.488817-06:00 custom: Issue: "1189" diff --git a/.changie.yaml b/.changie.yaml index cf04f2eb..bf5c4abf 100644 --- a/.changie.yaml +++ b/.changie.yaml @@ -7,7 +7,7 @@ changelogPath: CHANGELOG.md versionExt: md versionFormat: '## {{.Version}} - {{.Time.Format "2006-01-02"}}' kindFormat: '### {{.Kind}}' -changeFormat: '* [#{{.Custom.Issue}}](https://github.com/edgarrmondragon/citric/issues/{{.Custom.Issue}}) {{.Body}}' +changeFormat: '- [#{{.Custom.Issue}}](https://github.com/edgarrmondragon/citric/issues/{{.Custom.Issue}}) {{.Body}}' headerFormat: "" footerFormat: "" newlines: diff --git a/.circleci/config.yml b/.circleci/config.yml index 6f733e21..6cef61e0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -9,7 +9,7 @@ orbs: # Orb commands and jobs help you with common scripting around a language/tool # so you don't have to copy and paste it everywhere. # See the orb documentation here: https://circleci.com/developer/orbs/orb/circleci/python - python: circleci/python@1.5.0 + python: circleci/python@2.1.1 # Define a job to be invoked later in a workflow. # See: https://circleci.com/docs/configuration-reference/#jobs @@ -21,8 +21,8 @@ jobs: # The executor is the environment in which the steps below will be executed - below will use a python 3.10.2 container # Change the version below to your required version of python docker: - - image: cimg/python:3.11.7 - - image: cimg/python:3.12.1 + - image: cimg/python:3.11.10 + - image: cimg/python:3.12.6 # Checkout the code as the first step. This is a dedicated CircleCI step. # The python orb's install-packages step will install the dependencies from a Pipfile via Pipenv by default. # Here we're making sure we use just use the system-wide pip. By default it uses the project root's requirements.txt. diff --git a/.github/ISSUE_TEMPLATE/BUG.yml b/.github/ISSUE_TEMPLATE/BUG.yml index 8e1967e1..586fc28a 100644 --- a/.github/ISSUE_TEMPLATE/BUG.yml +++ b/.github/ISSUE_TEMPLATE/BUG.yml @@ -31,6 +31,7 @@ body: - "3.10" - "3.11" - "3.12" + - "3.13" - "NA" validations: required: true diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 52ec75c3..1f65ca47 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -10,16 +10,16 @@ -- [ ] My pull request has a descriptive title. -- [ ] I have read the [CONTRIBUTING] guide. -- [ ] I have added tests that prove my fix is effective or that my feature works. -- [ ] If appropriate, I have added necessary documentation. -- [ ] For user-facing changes, refactorings, performance improvements or documentation updates, I have added a changelog entry using [Changie]. +- \[ \] My pull request has a descriptive title. +- \[ \] I have read the [CONTRIBUTING] guide. +- \[ \] I have added tests that prove my fix is effective or that my feature works. +- \[ \] If appropriate, I have added necessary documentation. +- \[ \] For user-facing changes, refactorings, performance improvements or documentation updates, I have added a changelog entry using [Changie]. For both the title of the PR and the changelog entry, prefer simple past tense or constructions with "now". For example: - - Added `Client.invite_participants()` - - `Client.user_activation_settings()` now accepts a `user_activation_settings` keyword argument +- Added `Client.invite_participants()` +- `Client.user_activation_settings()` now accepts a `user_activation_settings` keyword argument -[CONTRIBUTING]: https://citric.readthedocs.io/en/latest/contributing/code-of-conduct.html -[Changie]: https://changie.dev/ +[changie]: https://changie.dev/ +[contributing]: https://citric.readthedocs.io/en/latest/contributing/code-of-conduct.html diff --git a/.github/workflows/api-changes.yml b/.github/workflows/api-changes.yml index aa26010b..4be1b9da 100644 --- a/.github/workflows/api-changes.yml +++ b/.github/workflows/api-changes.yml @@ -29,7 +29,7 @@ jobs: - name: Setup Python uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: - python-version: 3.12 + python-version: 3.x - name: Install tools env: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 975fabfe..b390eada 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -72,8 +72,13 @@ repos: hooks: - id: pip-compile files: ^pyproject\.toml$ - args: ["pyproject.toml", "--universal", "--pre", "--python-version", "3.12", "--extra", "docs", "-o", "docs/requirements.txt"] + args: ["pyproject.toml", "--universal", "--pre", "--extra", "docs", "-o", "docs/requirements.txt"] language_version: python3.12 - id: pip-compile files: ^pyproject\.toml$ args: ["pyproject.toml", "--universal", "--resolution", "lowest-direct", "-o", "requirements/requirements-lowest-direct.txt"] + +- repo: https://github.com/executablebooks/mdformat + rev: 0.7.17 + hooks: + - id: mdformat diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e4c08d5..a2866d82 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,260 +1,339 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html), and is generated by [Changie](https://github.com/miniscruff/changie). - ## 1.0.1 - 2024-06-12 + ### Fixed -* [#1101](https://github.com/edgarrmondragon/citric/issues/1101) fix: Bump min `requests` to `2.25.1` (released 2020-12-16) + +- [#1101](https://github.com/edgarrmondragon/citric/issues/1101) fix: Bump min `requests` to `2.25.1` (released 2020-12-16) + ### Documentation -* [#1152](https://github.com/edgarrmondragon/citric/issues/1152) Fixed links to LimeSurvey API docs + +- [#1152](https://github.com/edgarrmondragon/citric/issues/1152) Fixed links to LimeSurvey API docs ## 1.0.0 - 2024-02-12 + ### Added -* [#1079](https://github.com/edgarrmondragon/citric/issues/1079) Added `get_db_version` method to RPC client -* [#1092](https://github.com/edgarrmondragon/citric/issues/1092) Added a `Session.call` method to allow calling RPC methods without any error handling to get the raw response + +- [#1079](https://github.com/edgarrmondragon/citric/issues/1079) Added `get_db_version` method to RPC client +- [#1092](https://github.com/edgarrmondragon/citric/issues/1092) Added a `Session.call` method to allow calling RPC methods without any error handling to get the raw response + ### Removed -* [#1093](https://github.com/edgarrmondragon/citric/issues/1093) Removed the `Session._headers` attribute + +- [#1093](https://github.com/edgarrmondragon/citric/issues/1093) Removed the `Session._headers` attribute + ### Documentation -* [#1057](https://github.com/edgarrmondragon/citric/issues/1057) Documented `conda install` option -* [#1092](https://github.com/edgarrmondragon/citric/issues/1092) Linked unimplemented methods to `Session.call` examples +- [#1057](https://github.com/edgarrmondragon/citric/issues/1057) Documented `conda install` option +- [#1092](https://github.com/edgarrmondragon/citric/issues/1092) Linked unimplemented methods to `Session.call` examples ## 0.10.0 - 2023-11-29 + ### Added -* [#994](https://github.com/edgarrmondragon/citric/issues/994) Experimental support for the new REST API -* [#1016](https://github.com/edgarrmondragon/citric/issues/1016) Support `DestSurveyID` parameter in RPC method `copy_survey` -* [#1026](https://github.com/edgarrmondragon/citric/issues/1026) Support `userActivationSettings` parameter in RPC method `activate_survey` + +- [#994](https://github.com/edgarrmondragon/citric/issues/994) Experimental support for the new REST API +- [#1016](https://github.com/edgarrmondragon/citric/issues/1016) Support `DestSurveyID` parameter in RPC method `copy_survey` +- [#1026](https://github.com/edgarrmondragon/citric/issues/1026) Support `userActivationSettings` parameter in RPC method `activate_survey` + ### Fixed -* [#1026](https://github.com/edgarrmondragon/citric/issues/1026) Update `types.YesNo` to include inherited (`I`) values + +- [#1026](https://github.com/edgarrmondragon/citric/issues/1026) Update `types.YesNo` to include inherited (`I`) values + ### Documentation -* [#1035](https://github.com/edgarrmondragon/citric/issues/1035) Document how to disable TLS certificate verification + +- [#1035](https://github.com/edgarrmondragon/citric/issues/1035) Document how to disable TLS certificate verification ## 0.9.0 - 2023-10-11 + ### Added -* [#944](https://github.com/edgarrmondragon/citric/issues/944) Add `Client.get_server_version` -* [#1005](https://github.com/edgarrmondragon/citric/issues/1005) Official support for Python 3.12 + +- [#944](https://github.com/edgarrmondragon/citric/issues/944) Add `Client.get_server_version` +- [#1005](https://github.com/edgarrmondragon/citric/issues/1005) Official support for Python 3.12 + ### Documentation -* [#934](https://github.com/edgarrmondragon/citric/issues/934) Report status of integration tests against multiple LimeSurvey versions -* [#964](https://github.com/edgarrmondragon/citric/issues/964) Fix GitHub archive URLs in integration test docs -* [#996](https://github.com/edgarrmondragon/citric/issues/996) Document current version in docs site + +- [#934](https://github.com/edgarrmondragon/citric/issues/934) Report status of integration tests against multiple LimeSurvey versions +- [#964](https://github.com/edgarrmondragon/citric/issues/964) Fix GitHub archive URLs in integration test docs +- [#996](https://github.com/edgarrmondragon/citric/issues/996) Document current version in docs site ## 0.8.0 - 2023-08-22 + ### Added -* [#793](https://github.com/edgarrmondragon/citric/issues/793) Implement `invite_participants` in client + +- [#793](https://github.com/edgarrmondragon/citric/issues/793) Implement `invite_participants` in client + ### Changed -* [#617](https://github.com/edgarrmondragon/citric/issues/617) Drop support for Python 3.7 + +- [#617](https://github.com/edgarrmondragon/citric/issues/617) Drop support for Python 3.7 + ### Refactored -* [#918](https://github.com/edgarrmondragon/citric/issues/918) Use latest `typing` features where possible -* [#935](https://github.com/edgarrmondragon/citric/issues/935) Use `__all__` to expose public API + +- [#918](https://github.com/edgarrmondragon/citric/issues/918) Use latest `typing` features where possible +- [#935](https://github.com/edgarrmondragon/citric/issues/935) Use `__all__` to expose public API + ### Documentation -* [#930](https://github.com/edgarrmondragon/citric/issues/930) Update duckdb notebook example -* [#934](https://github.com/edgarrmondragon/citric/issues/934) Document integration test status in readme -* [#940](https://github.com/edgarrmondragon/citric/issues/940) Fix edit button + +- [#930](https://github.com/edgarrmondragon/citric/issues/930) Update duckdb notebook example +- [#934](https://github.com/edgarrmondragon/citric/issues/934) Document integration test status in readme +- [#940](https://github.com/edgarrmondragon/citric/issues/940) Fix edit button ## 0.7.2 - 2023-06-21 + ### Refactored -* [#894](https://github.com/edgarrmondragon/citric/issues/894) Add a `USER_AGENT` attribute to the `Session` class + +- [#894](https://github.com/edgarrmondragon/citric/issues/894) Add a `USER_AGENT` attribute to the `Session` class ## 0.7.1 - 2023-06-03 + ### Documentation -* [#876](https://github.com/edgarrmondragon/citric/issues/876) Update contributing documentation + +- [#876](https://github.com/edgarrmondragon/citric/issues/876) Update contributing documentation ## 0.7.1-b3 - 2023-06-01 + ### Documentation -* [#866](https://github.com/edgarrmondragon/citric/issues/866) Add missing methods to RPC coverage page -* [#868](https://github.com/edgarrmondragon/citric/issues/868) Fix a couple of typos + +- [#866](https://github.com/edgarrmondragon/citric/issues/866) Add missing methods to RPC coverage page +- [#868](https://github.com/edgarrmondragon/citric/issues/868) Fix a couple of typos ## 0.7.1-b2 - 2023-05-12 + ### Fixed -* [#849](https://github.com/edgarrmondragon/citric/issues/849) Remove some upper bound version constraints + +- [#849](https://github.com/edgarrmondragon/citric/issues/849) Remove some upper bound version constraints ## 0.7.1-b1 - 2023-04-11 + ### Fixed -* [#803](https://github.com/edgarrmondragon/citric/issues/803) Remove warnings for LimeSurvey 6.0 features + +- [#803](https://github.com/edgarrmondragon/citric/issues/803) Remove warnings for LimeSurvey 6.0 features ## 0.7.0 - 2023-03-31 + ### Added -* [#492](https://github.com/edgarrmondragon/citric/issues/492) Implement `cpd_importParticipants` in client + +- [#492](https://github.com/edgarrmondragon/citric/issues/492) Implement `cpd_importParticipants` in client + ### Fixed -* [#774](https://github.com/edgarrmondragon/citric/issues/774) Remove direct dependency on `typing-extensions` + +- [#774](https://github.com/edgarrmondragon/citric/issues/774) Remove direct dependency on `typing-extensions` ## 0.6.0 - 2023-03-21 + ### Added -* [#295](https://github.com/edgarrmondragon/citric/issues/295) Implement `set_quota_properties` in client -* [#552](https://github.com/edgarrmondragon/citric/issues/552) Implement `get_available_site_settings` in client -* [#765](https://github.com/edgarrmondragon/citric/issues/765) Use `TypedDict` for more precise `**kwargs` typing + +- [#295](https://github.com/edgarrmondragon/citric/issues/295) Implement `set_quota_properties` in client +- [#552](https://github.com/edgarrmondragon/citric/issues/552) Implement `get_available_site_settings` in client +- [#765](https://github.com/edgarrmondragon/citric/issues/765) Use `TypedDict` for more precise `**kwargs` typing ## 0.5.0 - 2023-03-13 + ### Added -* [#748](https://github.com/edgarrmondragon/citric/issues/748) Support custom JSON encoders -* [#745](https://github.com/edgarrmondragon/citric/issues/745) Annotate some responses with `TypedDict` + +- [#748](https://github.com/edgarrmondragon/citric/issues/748) Support custom JSON encoders +- [#745](https://github.com/edgarrmondragon/citric/issues/745) Annotate some responses with `TypedDict` ## 0.4.5 - 2023-03-03 + ### Fixed -* [#732](https://github.com/edgarrmondragon/citric/issues/732) Improve error message when RPC response is not valid JSON + +- [#732](https://github.com/edgarrmondragon/citric/issues/732) Improve error message when RPC response is not valid JSON ## 0.4.4 - 2023-02-03 + ### Refactored -* [#683](https://github.com/edgarrmondragon/citric/issues/683) Use `pathlib.Path` where possible -* [#687](https://github.com/edgarrmondragon/citric/issues/687) Use a dedicated `RPCInterfaceNotEnabledError` exception when a disabled JSON Interface is detected + +- [#683](https://github.com/edgarrmondragon/citric/issues/683) Use `pathlib.Path` where possible +- [#687](https://github.com/edgarrmondragon/citric/issues/687) Use a dedicated `RPCInterfaceNotEnabledError` exception when a disabled JSON Interface is detected ## 0.4.3 - 2023-01-18 + ### Fixed -* [#659](https://github.com/edgarrmondragon/citric/issues/659) Use a correct UTC datetime as the default end value in `export_timeline` + +- [#659](https://github.com/edgarrmondragon/citric/issues/659) Use a correct UTC datetime as the default end value in `export_timeline` ## 0.4.2 - 2022-12-20 + ### Changed -* [#642](https://github.com/edgarrmondragon/citric/issues/642) Remove upper bound constrain on `importlib-metadata` + +- [#642](https://github.com/edgarrmondragon/citric/issues/642) Remove upper bound constrain on `importlib-metadata` + ### Fixed -* [#643](https://github.com/edgarrmondragon/citric/issues/643) Fixed a few type annotations + +- [#643](https://github.com/edgarrmondragon/citric/issues/643) Fixed a few type annotations ## 0.4.1 - 2022-12-10 + ### Fixed -* [#634](https://github.com/edgarrmondragon/citric/issues/634) Pass `attributes` to `activate_tokens` RPC call + +- [#634](https://github.com/edgarrmondragon/citric/issues/634) Pass `attributes` to `activate_tokens` RPC call ## 0.4.0 - 2022-12-05 + ### Added -* [#582](https://github.com/edgarrmondragon/citric/issues/582) Stable support for Python 3.11 -* [#586](https://github.com/edgarrmondragon/citric/issues/586) Experimental support for Python 3.12 + +- [#582](https://github.com/edgarrmondragon/citric/issues/582) Stable support for Python 3.11 +- [#586](https://github.com/edgarrmondragon/citric/issues/586) Experimental support for Python 3.12 + ### Changed -* [#607](https://github.com/edgarrmondragon/citric/issues/607) Use keyword-only arguments for `add_participants` and `list_participants` + +- [#607](https://github.com/edgarrmondragon/citric/issues/607) Use keyword-only arguments for `add_participants` and `list_participants` + ### Refactor -* [#626](https://github.com/edgarrmondragon/citric/issues/626) Refactor returns of the type `if: ... else: return ...` + +- [#626](https://github.com/edgarrmondragon/citric/issues/626) Refactor returns of the type `if: ... else: return ...` ## 0.3.0 - 2022-07-24 + ### Added -* [#498](https://github.com/edgarrmondragon/citric/issues/498) Implement `get_fieldmap` in client + +- [#498](https://github.com/edgarrmondragon/citric/issues/498) Implement `get_fieldmap` in client ## 0.2.0 - 2022-06-20 + ### Added -* [#475](https://github.com/edgarrmondragon/citric/issues/475) Implement `update_response` in client + +- [#475](https://github.com/edgarrmondragon/citric/issues/475) Implement `update_response` in client + ### Fixed -* [#477](https://github.com/edgarrmondragon/citric/issues/477) Reduce number of calls to `list_questions` from `add_responses` + +- [#477](https://github.com/edgarrmondragon/citric/issues/477) Reduce number of calls to `list_questions` from `add_responses` ## 0.1.0 - 2022-06-17 + ### Added -* [#213](https://github.com/edgarrmondragon/citric/issues/213) Implement `delete_question` in client + +- [#213](https://github.com/edgarrmondragon/citric/issues/213) Implement `delete_question` in client ## 0.0.14 - 2022-05-18 + ### Added -* [#430](https://github.com/edgarrmondragon/citric/issues/430) Implement `upload_file` in client + +- [#430](https://github.com/edgarrmondragon/citric/issues/430) Implement `upload_file` in client ## 0.0.13 - 2022-05-02 + ### Added -* [#435](https://github.com/edgarrmondragon/citric/pull/435) Add `get_uploaded_file_objects` to Client + +- [#435](https://github.com/edgarrmondragon/citric/pull/435) Add `get_uploaded_file_objects` to Client ## 0.0.12 - 2022-03-24 + ### Added -* [#208](https://github.com/edgarrmondragon/citric/pull/208) Implement `delete_language` in client +- [#208](https://github.com/edgarrmondragon/citric/pull/208) Implement `delete_language` in client ## 0.0.11 - 2022-03-14 + ### Added -* [#296](https://github.com/edgarrmondragon/citric/pull/296) Implement `set_group_properties`, `set_language_properties`, `set_participant_properties`, `set_question_properties`, `set_survey_properties` in client +- [#296](https://github.com/edgarrmondragon/citric/pull/296) Implement `set_group_properties`, `set_language_properties`, `set_participant_properties`, `set_question_properties`, `set_survey_properties` in client ## 0.0.10 - 2022-02-17 -### Added -* [#192](https://github.com/edgarrmondragon/citric/pull/192) Implement `copy_survey` in client -* [#190](https://github.com/edgarrmondragon/citric/pull/190) Implement `import_group` in client -* [#196](https://github.com/edgarrmondragon/citric/pull/196) Implement `list_groups` in client -* [#194](https://github.com/edgarrmondragon/citric/pull/194) Implement `delete_group` in client -* [#207](https://github.com/edgarrmondragon/citric/pull/207) Implement `add_language` in client -* [#210](https://github.com/edgarrmondragon/citric/pull/210) Implement `add_survey` in client -* [#231](https://github.com/edgarrmondragon/citric/pull/231) Implement `get_`*_properties in client -* [#240](https://github.com/edgarrmondragon/citric/pull/237) Implement `export_statistics`, `save_statistics` and `save_responses` in client -* [#241](https://github.com/edgarrmondragon/citric/pull/241) Implement `get_summary` in client -* [#240](https://github.com/edgarrmondragon/citric/pull/240) Implement `export_timeline` in client +### Added +- [#192](https://github.com/edgarrmondragon/citric/pull/192) Implement `copy_survey` in client +- [#190](https://github.com/edgarrmondragon/citric/pull/190) Implement `import_group` in client +- [#196](https://github.com/edgarrmondragon/citric/pull/196) Implement `list_groups` in client +- [#194](https://github.com/edgarrmondragon/citric/pull/194) Implement `delete_group` in client +- [#207](https://github.com/edgarrmondragon/citric/pull/207) Implement `add_language` in client +- [#210](https://github.com/edgarrmondragon/citric/pull/210) Implement `add_survey` in client +- [#231](https://github.com/edgarrmondragon/citric/pull/231) Implement `get_`\*\_properties in client +- [#240](https://github.com/edgarrmondragon/citric/pull/237) Implement `export_statistics`, `save_statistics` and `save_responses` in client +- [#241](https://github.com/edgarrmondragon/citric/pull/241) Implement `get_summary` in client +- [#240](https://github.com/edgarrmondragon/citric/pull/240) Implement `export_timeline` in client ### Fixed -* [#215](https://github.com/edgarrmondragon/citric/pull/215) Address code smells and other issues - +- [#215](https://github.com/edgarrmondragon/citric/pull/215) Address code smells and other issues ## 0.0.9 - 2022-02-05 + ### Added -* [#155](https://github.com/edgarrmondragon/citric/pull/155) Experimental support Python 3.11 -* [#165](https://github.com/edgarrmondragon/citric/pull/165) Test in Windows and MacOS + +- [#155](https://github.com/edgarrmondragon/citric/pull/155) Experimental support Python 3.11 +- [#165](https://github.com/edgarrmondragon/citric/pull/165) Test in Windows and MacOS + ### Removed -* [#151](https://github.com/edgarrmondragon/citric/pull/151) Drop support for Python 3.6 +- [#151](https://github.com/edgarrmondragon/citric/pull/151) Drop support for Python 3.6 ## 0.0.8 - 2022-02-03 + ### Added -* [#148](https://github.com/edgarrmondragon/citric/pull/148) Implement `add_group` in client -* [#148](https://github.com/edgarrmondragon/citric/pull/148) Implement `import_question` in client +- [#148](https://github.com/edgarrmondragon/citric/pull/148) Implement `add_group` in client +- [#148](https://github.com/edgarrmondragon/citric/pull/148) Implement `import_question` in client ## 0.0.7 - 2022-01-28 + ### Fixed -* [#143](https://github.com/edgarrmondragon/citric/pull/143) Remove explicit check for enabled RPC interface +- [#143](https://github.com/edgarrmondragon/citric/pull/143) Remove explicit check for enabled RPC interface ## 0.0.6 - 2022-01-26 + ### Added -* [#140](https://github.com/edgarrmondragon/citric/pull/140) Support Auth Plugins +- [#140](https://github.com/edgarrmondragon/citric/pull/140) Support Auth Plugins ## 0.0.5 - 2021-12-20 -### Changed -* [#117](https://github.com/edgarrmondragon/citric/pull/117) Removed `read_file` and `write_file` methods in favor of support for arbitrary binary file-like objects. Implemented `get_uploaded_files` in client. +### Changed +- [#117](https://github.com/edgarrmondragon/citric/pull/117) Removed `read_file` and `write_file` methods in favor of support for arbitrary binary file-like objects. Implemented `get_uploaded_files` in client. ## 0.0.4 - 2021-12-17 ### Changed -* [#114](https://github.com/edgarrmondragon/citric/pull/114) Replaced `requests_session_factory` argument with `requests_session` in `citric.Session` - +- [#114](https://github.com/edgarrmondragon/citric/pull/114) Replaced `requests_session_factory` argument with `requests_session` in `citric.Session` ## 0.0.3 - 2021-11-11 ### Added -* [#93](https://github.com/edgarrmondragon/citric/pull/93) Implement `list_users` in client - +- [#93](https://github.com/edgarrmondragon/citric/pull/93) Implement `list_users` in client ## 0.0.2 - 2021-11-11 ### Added -* New client methods: +- New client methods: - - `delete_response` - - `list_survey_groups` + - `delete_response` + - `list_survey_groups` ### Changed -* Return bytes from export methods - +- Return bytes from export methods ## 0.0.1 - 2021-11-11 ### Added -* New client methods: - - - `activate_survey` - - `activate_tokens` - - `add_participants` - - `add_response` - - `delete_participants` - - `delete_survey` - - `download_files` - - `export_responses` - - `export_responses_by_token` - - `get_participant_properties` - - `get_response_ids` - - `get_site_settings` - - `get_survey_properties` - - `import_survey` - - `list_participants` - - `list_questions` - - `list_surveys` +- New client methods: + + - `activate_survey` + - `activate_tokens` + - `add_participants` + - `add_response` + - `delete_participants` + - `delete_survey` + - `download_files` + - `export_responses` + - `export_responses_by_token` + - `get_participant_properties` + - `get_response_ids` + - `get_site_settings` + - `get_survey_properties` + - `import_survey` + - `list_participants` + - `list_questions` + - `list_surveys` diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 99e1aa41..98fe7059 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -17,23 +17,23 @@ diverse, inclusive, and healthy community. Examples of behavior that contributes to a positive environment for our community include: -* Demonstrating empathy and kindness toward other people -* Being respectful of differing opinions, viewpoints, and experiences -* Giving and gracefully accepting constructive feedback -* Accepting responsibility and apologizing to those affected by our mistakes, +- Demonstrating empathy and kindness toward other people +- Being respectful of differing opinions, viewpoints, and experiences +- Giving and gracefully accepting constructive feedback +- Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience -* Focusing on what is best not just for us as individuals, but for the +- Focusing on what is best not just for us as individuals, but for the overall community Examples of unacceptable behavior include: -* The use of sexualized language or imagery, and sexual attention or +- The use of sexualized language or imagery, and sexual attention or advances of any kind -* Trolling, insulting or derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or email +- Trolling, insulting or derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or email address, without their explicit permission -* Other conduct which could reasonably be considered inappropriate in a +- Other conduct which could reasonably be considered inappropriate in a professional setting ## Enforcement Responsibilities @@ -121,8 +121,8 @@ https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity). -[homepage]: https://www.contributor-covenant.org - For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations. + +[homepage]: https://www.contributor-covenant.org diff --git a/SECURITY.md b/SECURITY.md index 254b0188..5bfd5dc8 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -12,12 +12,12 @@ If there are any vulnerabilities in **citric**, don't hesitate to _report them_. 1. Contact me at edgarrm358@gmail.com. -3. Describe the vulnerability. +1. Describe the vulnerability. If you have a fix, that is most welcome -- please attach or summarize it in your message! -4. I will evaluate the vulnerability and, if necessary, release a fix or mitigating steps to address it. I will contact you to let you know the outcome, and will credit you in the report. +1. I will evaluate the vulnerability and, if necessary, release a fix or mitigating steps to address it. I will contact you to let you know the outcome, and will credit you in the report. Please **do not disclose the vulnerability publicly** until a fix is released! -5. Once I have either a) published a fix, or b) declined to address the vulnerability for whatever reason, you are free to publicly disclose it. +1. Once I have either a) published a fix, or b) declined to address the vulnerability for whatever reason, you are free to publicly disclose it. diff --git a/docs/contributing/environment.md b/docs/contributing/environment.md index 441a22f5..25fd643a 100644 --- a/docs/contributing/environment.md +++ b/docs/contributing/environment.md @@ -1,6 +1,5 @@ # Setting up your environment - ## Get Started Ready to contribute? Here's how to set up `citric` for local development. @@ -14,12 +13,20 @@ Ready to contribute? Here's how to set up `citric` for local development. cd citric ``` +1. Optional: install [`uv`][uv]. + 1. Install [`nox`][nox] (used for automation): - ```shell - pipx install nox - nox -l - ``` + ```shell + pipx install 'nox[uv]' + nox -l + ``` + + Or use `uv` to install `nox`: + + ```shell + uv tool install nox + ``` 1. Create a branch for local development: @@ -52,6 +59,7 @@ Ready to contribute? Here's how to set up `citric` for local development. changie new ``` +[changie]: https://changie.dev/ [nox]: https://nox.thea.codes/en/stable/ [pre-commit]: https://pre-commit.com/ -[changie]: https://changie.dev/ +[uv]: https://docs.astral.sh/uv/ diff --git a/docs/contributing/getting-started.md b/docs/contributing/getting-started.md index f7f087c1..fa775ae9 100644 --- a/docs/contributing/getting-started.md +++ b/docs/contributing/getting-started.md @@ -28,8 +28,8 @@ articles, and such. If you're updating the Sphinx docs, you might want to check out [the docs guide][docs]. -[new-issue]: https://github.com/edgarrmondragon/citric/issues/new/choose -[issues]: https://github.com/edgarrmondragon/citric/issues [bug-help-wanted]: https://github.com/edgarrmondragon/citric/issues?q=is%3Aopen+is%3Aissue+label%3Abug+label%3A%22help+wanted%22 -[feature-help-wanted]: https://github.com/edgarrmondragon/citric/issues?q=is%3Aopen+is%3Aissue+label%3Aenhancement+label%3A%22help+wanted%22 [docs]: /contributing/docs +[feature-help-wanted]: https://github.com/edgarrmondragon/citric/issues?q=is%3Aopen+is%3Aissue+label%3Aenhancement+label%3A%22help+wanted%22 +[issues]: https://github.com/edgarrmondragon/citric/issues +[new-issue]: https://github.com/edgarrmondragon/citric/issues/new/choose diff --git a/docs/contributing/testing.md b/docs/contributing/testing.md index 31d3aba5..1a19ea2d 100644 --- a/docs/contributing/testing.md +++ b/docs/contributing/testing.md @@ -1,9 +1,9 @@ # Testing -After you've [set up your environment][environment], you can run tests on Python 3.10: +After you've [set up your environment][environment], you can run tests on available Python interpreters: ```shell -nox -rs tests -p "3.10" +nox -rs tests ``` ## Coverage @@ -17,20 +17,20 @@ you can follow the [Docker guide][docker]. ### Doctests ```shell -nox -rs xdoctest -p "3.12" +nox -rs xdoctest ``` ### Type checking ```shell -nox -rs mypy -p "3.12" +nox -rs mypy ``` ### Dependency checks ```shell -nox -rs deps -p "3.12" +nox -rs deps ``` -[environment]: /contributing/environment [docker]: /contributing/docker +[environment]: /contributing/environment diff --git a/docs/contributing/unreleased-features.md b/docs/contributing/unreleased-features.md index 00695a71..1da5495f 100644 --- a/docs/contributing/unreleased-features.md +++ b/docs/contributing/unreleased-features.md @@ -4,5 +4,5 @@ Citric supports LimeSurvey features that are not yet released and are sitting in There are also Sphinx directives that can be used to document these features: -* The `.. future` directive will add a warning to the documentation that the method is not yet supported in any released version of LimeSurvey. -* The `.. futureparam` directive will add a warning to the documentation that the parameter is not yet supported in any released version of LimeSurvey. +- The `.. future` directive will add a warning to the documentation that the method is not yet supported in any released version of LimeSurvey. +- The `.. futureparam` directive will add a warning to the documentation that the parameter is not yet supported in any released version of LimeSurvey. diff --git a/docs/contributing/update-github-actions.md b/docs/contributing/update-github-actions.md index bac8f41f..d697407b 100644 --- a/docs/contributing/update-github-actions.md +++ b/docs/contributing/update-github-actions.md @@ -9,7 +9,8 @@ Go to the [Actions tab](https://github.com/edgarrmondragon/citric/actions/workfl ## Run workflow locally 1. Install the [GitHub CLI](https://cli.github.com/). -2. Run the following command: + +1. Run the following command: ```bash gh workflow run gha-update.yml @@ -18,7 +19,8 @@ Go to the [Actions tab](https://github.com/edgarrmondragon/citric/actions/workfl ## Run the `gha-update` tool locally 1. Install [`uv`](https://docs.astral.sh/uv/getting-started/installation/). -2. Run the following command: + +1. Run the following command: ```bash uvx gha-update diff --git a/docs/index.md b/docs/index.md index 9af1d259..e6f8d529 100644 --- a/docs/index.md +++ b/docs/index.md @@ -22,12 +22,12 @@ Release **v{sub-ref}`version`**. ([What's new?](./changelog.md)) Integration tests are run against a LimeSurvey instance, and both PostgreSQL and MySQL backends, using Docker Compose. The following versions of LimeSurvey were tested for this release: -- {ls_tag}`6.5.9+240521` -- {ls_tag}`6.5.7+240515` -- {ls_tag}`6.5.5+240429` +- {ls_tag}`6.6.5+240924` +- {ls_tag}`6.6.4+240923` +- {ls_tag}`6.6.3+240909` +- {ls_tag}`5.6.67+240612` +- {ls_tag}`5.6.66+240604` - {ls_tag}`5.6.65+240522` -- {ls_tag}`5.6.63+240508` -- {ls_tag}`5.6.61+240430` But also, the latest 5.x and 6.x are tested continuously and are expected to work. diff --git a/docs/requirements.txt b/docs/requirements.txt index 77084d4f..876cd69b 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,5 +1,5 @@ # This file was autogenerated by uv via the following command: -# uv pip compile pyproject.toml --universal --pre --python-version 3.12 --extra docs -o docs/requirements.txt +# uv pip compile pyproject.toml --universal --pre --extra docs -o docs/requirements.txt alabaster==1.0.0 # via sphinx astroid==3.3.5 diff --git a/docs/rest_coverage.md b/docs/rest_coverage.md index 2756ade7..c2dde521 100644 --- a/docs/rest_coverage.md +++ b/docs/rest_coverage.md @@ -1,6 +1,5 @@ # REST endpoints coverage - | Name | Implemented | | :----------------------------------------- | :-------------------------------------------------- | | `POST /rest/v1/session` | [Yes](citric._rest.RESTClient.authenticate) | diff --git a/noxfile.py b/noxfile.py index 2b1488ff..5fa33326 100644 --- a/noxfile.py +++ b/noxfile.py @@ -20,7 +20,7 @@ "api", ] nox.needs_version = ">=2024.4.15" -nox.options.default_venv_backend = "uv|virtualenv" +nox.options.default_venv_backend = "uv" package = "citric" @@ -51,7 +51,7 @@ def _run_tests(session: nox.Session, *args: str) -> None: @nox.parametrize("constraints", ["highest", "lowest-direct"]) def tests(session: nox.Session, constraints: str) -> None: """Execute pytest tests and compute coverage.""" - install_args = ["-v", "citric[tests] @ ."] + install_args = ["citric[tests] @ ."] if constraints == "lowest-direct": install_args.extend(["-c", "requirements/requirements-lowest-direct.txt"]) @@ -63,7 +63,7 @@ def tests(session: nox.Session, constraints: str) -> None: @nox.session(tags=["test"]) def integration(session: nox.Session) -> None: """Execute integration tests and compute coverage.""" - session.install("-v", "citric[tests] @ .") + session.install("citric[tests] @ .") args = session.posargs or ["-m", "integration_test"] _run_tests(session, *args) @@ -78,8 +78,8 @@ def xdoctest(session: nox.Session) -> None: if FORCE_COLOR in os.environ: args.append("--colored=1") - session.install("-v", "citric @ .") - session.install("-v", "xdoctest[colors]") + session.install("citric @ .") + session.install("xdoctest[colors]") session.run("python", "-m", "xdoctest", *args) @@ -88,7 +88,7 @@ def coverage(session: nox.Session) -> None: """Upload coverage data.""" args = session.posargs or ["report"] - session.install("-v", "coverage[toml]") + session.install("coverage[toml]") if not session.posargs and any(Path().glob(".coverage.*")): session.run("coverage", "combine", "--debug=pathmap") @@ -103,8 +103,8 @@ def dependencies(session: nox.Session) -> None: if session.python == "3.14": install_env["PYO3_USE_ABI3_FORWARD_COMPATIBILITY"] = "1" - session.install("-v", "citric[dev] @ .", env=install_env) - session.install("-v", "deptry") + session.install("citric[dev] @ .", env=install_env) + session.install("deptry") session.run("deptry", "src", "tests", "docs") @@ -112,7 +112,7 @@ def dependencies(session: nox.Session) -> None: def mypy(session: nox.Session) -> None: """Type-check using mypy.""" args = session.posargs or locations - session.install("-v", "citric[typing] @ .") + session.install("citric[typing] @ .") session.run("mypy", *args) @@ -123,7 +123,7 @@ def docs_build(session: nox.Session) -> None: if not session.posargs and FORCE_COLOR in os.environ: args.insert(0, "--color") - session.install("-v", "citric[docs] @ .") + session.install("citric[docs] @ .") build_dir = Path("build") if build_dir.exists(): @@ -146,7 +146,7 @@ def docs_serve(session: nox.Session) -> None: "docs", "build", ] - session.install("-v", "citric[docs] @ .", "sphinx-autobuild") + session.install("citric[docs] @ .", "sphinx-autobuild") build_dir = Path("build") if build_dir.exists(): @@ -201,5 +201,5 @@ def notebook(session: nox.Session) -> None: @nox.session(name="generate-tags", tags=["status"]) def tags(session: nox.Session) -> None: """Print tags.""" - session.install("-v", "requests", "requests-cache") + session.install("requests", "requests-cache") session.run("python", "scripts/docker_tags.py") diff --git a/pyproject.toml b/pyproject.toml index 02512f81..92567467 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -266,7 +266,6 @@ max_supported_python = "3.14" [tool.pytest.ini_options] addopts = [ - "-vvv", "--reverse", "-ra", # show extra test summary info for all except passed "--strict-config",