diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 175e7fa2..c57e63c8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -39,7 +39,7 @@ jobs: run: poetry run ruff check . - name: Type Check (MyPy) - run: poetry run mypy imednet + run: poetry run mypy src/imednet - name: Security Audit run: | diff --git a/Makefile b/Makefile index 998af7b0..44199243 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,6 @@ docs: poetry install --with dev - poetry run sphinx-apidoc -o docs imednet \ - imednet/core/__init__.py imednet/models/base.py + poetry run sphinx-apidoc -o docs src/imednet \ + src/imednet/core/__init__.py src/imednet/models/base.py poetry run sphinx-build -b html --keep-going docs docs/_build/html diff --git a/docs/conf.py b/docs/conf.py index 4e5e87dc..bdeef6b9 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -28,7 +28,8 @@ # Add project root directory to sys.path so `imednet` can be imported -sys.path.insert(0, os.path.abspath("..")) +# The path must point to 'src' so 'imednet' is importable from there. +sys.path.insert(0, os.path.abspath("../src")) warnings.filterwarnings("ignore", message="duplicate object description*") warnings.filterwarnings("ignore", message="Failed guarded type import*") diff --git a/examples/airflow/imednet_export_operator_dag.py b/examples/airflow/imednet_export_operator_dag.py index 44296c65..f05341be 100644 --- a/examples/airflow/imednet_export_operator_dag.py +++ b/examples/airflow/imednet_export_operator_dag.py @@ -1,6 +1,7 @@ from datetime import datetime from airflow import DAG + from imednet.integrations.airflow import ImednetExportOperator """Example DAG showing :class:`ImednetExportOperator` to write records to a file. diff --git a/examples/airflow/imednet_job_sensor_dag.py b/examples/airflow/imednet_job_sensor_dag.py index 0082190b..b2eb9032 100644 --- a/examples/airflow/imednet_job_sensor_dag.py +++ b/examples/airflow/imednet_job_sensor_dag.py @@ -1,6 +1,7 @@ from datetime import datetime from airflow import DAG + from imednet.integrations.airflow import ImednetJobSensor """Example DAG demonstrating :class:`ImednetJobSensor` to monitor an iMednet job. diff --git a/examples/airflow/imednet_to_s3_dag.py b/examples/airflow/imednet_to_s3_dag.py index e928e3df..5dda6e64 100644 --- a/examples/airflow/imednet_to_s3_dag.py +++ b/examples/airflow/imednet_to_s3_dag.py @@ -1,6 +1,7 @@ from datetime import datetime from airflow import DAG + from imednet.integrations.airflow import ImednetToS3Operator """Example DAG using :class:`ImednetToS3Operator` to export data to S3. diff --git a/pyproject.toml b/pyproject.toml index e6d7094a..c1ba9bd2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,11 +30,11 @@ classifiers = [ ] authors = ["Frederick de Ruiter <127706008+fderuiter@users.noreply.github.com>"] maintainers = ["Frederick de Ruiter "] -packages = [{ include = "imednet" }] +packages = [{ include = "imednet", from = "src" }] include = [ "README.md", "LICENSE", - "imednet/py.typed", + "src/imednet/py.typed", { path = "examples", format = "sdist" } # Include examples only in sdist ] license = "MIT" @@ -106,7 +106,7 @@ target-version = ["py310"] [tool.ruff] line-length = 100 -src = ["imednet", "tests"] +src = ["src", "tests"] [tool.ruff.lint.isort] known-first-party = ["imednet"] @@ -122,7 +122,7 @@ classmethod-decorators = ["field_validator", "model_validator"] profile = "black" line_length = 100 known_first_party = ["imednet"] -src_paths = ["imednet", "tests"] +src_paths = ["src", "tests"] [tool.doc8] max_line_length = 400 diff --git a/imednet/__init__.py b/src/imednet/__init__.py similarity index 100% rename from imednet/__init__.py rename to src/imednet/__init__.py diff --git a/imednet/airflow/__init__.py b/src/imednet/airflow/__init__.py similarity index 100% rename from imednet/airflow/__init__.py rename to src/imednet/airflow/__init__.py diff --git a/imednet/async_sdk.py b/src/imednet/async_sdk.py similarity index 100% rename from imednet/async_sdk.py rename to src/imednet/async_sdk.py diff --git a/imednet/auth/__init__.py b/src/imednet/auth/__init__.py similarity index 100% rename from imednet/auth/__init__.py rename to src/imednet/auth/__init__.py diff --git a/imednet/auth/api_key.py b/src/imednet/auth/api_key.py similarity index 100% rename from imednet/auth/api_key.py rename to src/imednet/auth/api_key.py diff --git a/imednet/auth/strategy.py b/src/imednet/auth/strategy.py similarity index 100% rename from imednet/auth/strategy.py rename to src/imednet/auth/strategy.py diff --git a/imednet/cli/__init__.py b/src/imednet/cli/__init__.py similarity index 100% rename from imednet/cli/__init__.py rename to src/imednet/cli/__init__.py diff --git a/imednet/cli/decorators.py b/src/imednet/cli/decorators.py similarity index 100% rename from imednet/cli/decorators.py rename to src/imednet/cli/decorators.py diff --git a/imednet/cli/export/__init__.py b/src/imednet/cli/export/__init__.py similarity index 100% rename from imednet/cli/export/__init__.py rename to src/imednet/cli/export/__init__.py diff --git a/imednet/cli/jobs/__init__.py b/src/imednet/cli/jobs/__init__.py similarity index 100% rename from imednet/cli/jobs/__init__.py rename to src/imednet/cli/jobs/__init__.py diff --git a/imednet/cli/queries/__init__.py b/src/imednet/cli/queries/__init__.py similarity index 100% rename from imednet/cli/queries/__init__.py rename to src/imednet/cli/queries/__init__.py diff --git a/imednet/cli/record_revisions/__init__.py b/src/imednet/cli/record_revisions/__init__.py similarity index 100% rename from imednet/cli/record_revisions/__init__.py rename to src/imednet/cli/record_revisions/__init__.py diff --git a/imednet/cli/records/__init__.py b/src/imednet/cli/records/__init__.py similarity index 100% rename from imednet/cli/records/__init__.py rename to src/imednet/cli/records/__init__.py diff --git a/imednet/cli/sites/__init__.py b/src/imednet/cli/sites/__init__.py similarity index 100% rename from imednet/cli/sites/__init__.py rename to src/imednet/cli/sites/__init__.py diff --git a/imednet/cli/studies/__init__.py b/src/imednet/cli/studies/__init__.py similarity index 100% rename from imednet/cli/studies/__init__.py rename to src/imednet/cli/studies/__init__.py diff --git a/imednet/cli/subject_data.py b/src/imednet/cli/subject_data.py similarity index 100% rename from imednet/cli/subject_data.py rename to src/imednet/cli/subject_data.py diff --git a/imednet/cli/subjects/__init__.py b/src/imednet/cli/subjects/__init__.py similarity index 100% rename from imednet/cli/subjects/__init__.py rename to src/imednet/cli/subjects/__init__.py diff --git a/imednet/cli/utils/__init__.py b/src/imednet/cli/utils/__init__.py similarity index 100% rename from imednet/cli/utils/__init__.py rename to src/imednet/cli/utils/__init__.py diff --git a/imednet/cli/utils/args.py b/src/imednet/cli/utils/args.py similarity index 100% rename from imednet/cli/utils/args.py rename to src/imednet/cli/utils/args.py diff --git a/imednet/cli/utils/commands.py b/src/imednet/cli/utils/commands.py similarity index 100% rename from imednet/cli/utils/commands.py rename to src/imednet/cli/utils/commands.py diff --git a/imednet/cli/utils/context.py b/src/imednet/cli/utils/context.py similarity index 100% rename from imednet/cli/utils/context.py rename to src/imednet/cli/utils/context.py diff --git a/imednet/cli/utils/export.py b/src/imednet/cli/utils/export.py similarity index 100% rename from imednet/cli/utils/export.py rename to src/imednet/cli/utils/export.py diff --git a/imednet/cli/utils/output.py b/src/imednet/cli/utils/output.py similarity index 100% rename from imednet/cli/utils/output.py rename to src/imednet/cli/utils/output.py diff --git a/imednet/cli/variables/__init__.py b/src/imednet/cli/variables/__init__.py similarity index 100% rename from imednet/cli/variables/__init__.py rename to src/imednet/cli/variables/__init__.py diff --git a/imednet/cli/workflows/__init__.py b/src/imednet/cli/workflows/__init__.py similarity index 100% rename from imednet/cli/workflows/__init__.py rename to src/imednet/cli/workflows/__init__.py diff --git a/imednet/config.py b/src/imednet/config.py similarity index 100% rename from imednet/config.py rename to src/imednet/config.py diff --git a/imednet/constants.py b/src/imednet/constants.py similarity index 100% rename from imednet/constants.py rename to src/imednet/constants.py diff --git a/imednet/core/__init__.py b/src/imednet/core/__init__.py similarity index 100% rename from imednet/core/__init__.py rename to src/imednet/core/__init__.py diff --git a/imednet/core/async_client.py b/src/imednet/core/async_client.py similarity index 100% rename from imednet/core/async_client.py rename to src/imednet/core/async_client.py diff --git a/imednet/core/base_client.py b/src/imednet/core/base_client.py similarity index 100% rename from imednet/core/base_client.py rename to src/imednet/core/base_client.py diff --git a/imednet/core/client.py b/src/imednet/core/client.py similarity index 100% rename from imednet/core/client.py rename to src/imednet/core/client.py diff --git a/imednet/core/context.py b/src/imednet/core/context.py similarity index 100% rename from imednet/core/context.py rename to src/imednet/core/context.py diff --git a/imednet/core/endpoint/README.md b/src/imednet/core/endpoint/README.md similarity index 100% rename from imednet/core/endpoint/README.md rename to src/imednet/core/endpoint/README.md diff --git a/imednet/core/endpoint/__init__.py b/src/imednet/core/endpoint/__init__.py similarity index 100% rename from imednet/core/endpoint/__init__.py rename to src/imednet/core/endpoint/__init__.py diff --git a/imednet/core/endpoint/abc.py b/src/imednet/core/endpoint/abc.py similarity index 100% rename from imednet/core/endpoint/abc.py rename to src/imednet/core/endpoint/abc.py diff --git a/imednet/core/endpoint/base.py b/src/imednet/core/endpoint/base.py similarity index 100% rename from imednet/core/endpoint/base.py rename to src/imednet/core/endpoint/base.py diff --git a/imednet/core/endpoint/edc_mixin.py b/src/imednet/core/endpoint/edc_mixin.py similarity index 100% rename from imednet/core/endpoint/edc_mixin.py rename to src/imednet/core/endpoint/edc_mixin.py diff --git a/imednet/core/endpoint/mixins/__init__.py b/src/imednet/core/endpoint/mixins/__init__.py similarity index 100% rename from imednet/core/endpoint/mixins/__init__.py rename to src/imednet/core/endpoint/mixins/__init__.py diff --git a/imednet/core/endpoint/mixins/bases.py b/src/imednet/core/endpoint/mixins/bases.py similarity index 100% rename from imednet/core/endpoint/mixins/bases.py rename to src/imednet/core/endpoint/mixins/bases.py diff --git a/imednet/core/endpoint/mixins/caching.py b/src/imednet/core/endpoint/mixins/caching.py similarity index 100% rename from imednet/core/endpoint/mixins/caching.py rename to src/imednet/core/endpoint/mixins/caching.py diff --git a/imednet/core/endpoint/mixins/get.py b/src/imednet/core/endpoint/mixins/get.py similarity index 100% rename from imednet/core/endpoint/mixins/get.py rename to src/imednet/core/endpoint/mixins/get.py diff --git a/imednet/core/endpoint/mixins/list.py b/src/imednet/core/endpoint/mixins/list.py similarity index 100% rename from imednet/core/endpoint/mixins/list.py rename to src/imednet/core/endpoint/mixins/list.py diff --git a/imednet/core/endpoint/mixins/params.py b/src/imednet/core/endpoint/mixins/params.py similarity index 100% rename from imednet/core/endpoint/mixins/params.py rename to src/imednet/core/endpoint/mixins/params.py diff --git a/imednet/core/endpoint/mixins/parsing.py b/src/imednet/core/endpoint/mixins/parsing.py similarity index 100% rename from imednet/core/endpoint/mixins/parsing.py rename to src/imednet/core/endpoint/mixins/parsing.py diff --git a/imednet/core/endpoint/operations/__init__.py b/src/imednet/core/endpoint/operations/__init__.py similarity index 100% rename from imednet/core/endpoint/operations/__init__.py rename to src/imednet/core/endpoint/operations/__init__.py diff --git a/imednet/core/endpoint/operations/list.py b/src/imednet/core/endpoint/operations/list.py similarity index 100% rename from imednet/core/endpoint/operations/list.py rename to src/imednet/core/endpoint/operations/list.py diff --git a/imednet/core/endpoint/operations/record_create.py b/src/imednet/core/endpoint/operations/record_create.py similarity index 100% rename from imednet/core/endpoint/operations/record_create.py rename to src/imednet/core/endpoint/operations/record_create.py diff --git a/imednet/core/endpoint/protocols.py b/src/imednet/core/endpoint/protocols.py similarity index 100% rename from imednet/core/endpoint/protocols.py rename to src/imednet/core/endpoint/protocols.py diff --git a/imednet/core/endpoint/strategies.py b/src/imednet/core/endpoint/strategies.py similarity index 100% rename from imednet/core/endpoint/strategies.py rename to src/imednet/core/endpoint/strategies.py diff --git a/imednet/core/endpoint/structs.py b/src/imednet/core/endpoint/structs.py similarity index 100% rename from imednet/core/endpoint/structs.py rename to src/imednet/core/endpoint/structs.py diff --git a/imednet/core/exceptions.py b/src/imednet/core/exceptions.py similarity index 100% rename from imednet/core/exceptions.py rename to src/imednet/core/exceptions.py diff --git a/imednet/core/factory.py b/src/imednet/core/factory.py similarity index 100% rename from imednet/core/factory.py rename to src/imednet/core/factory.py diff --git a/imednet/core/http/__init__.py b/src/imednet/core/http/__init__.py similarity index 100% rename from imednet/core/http/__init__.py rename to src/imednet/core/http/__init__.py diff --git a/imednet/core/http/executor.py b/src/imednet/core/http/executor.py similarity index 100% rename from imednet/core/http/executor.py rename to src/imednet/core/http/executor.py diff --git a/imednet/core/http/handlers.py b/src/imednet/core/http/handlers.py similarity index 100% rename from imednet/core/http/handlers.py rename to src/imednet/core/http/handlers.py diff --git a/imednet/core/http/monitor.py b/src/imednet/core/http/monitor.py similarity index 100% rename from imednet/core/http/monitor.py rename to src/imednet/core/http/monitor.py diff --git a/imednet/core/http_client_base.py b/src/imednet/core/http_client_base.py similarity index 100% rename from imednet/core/http_client_base.py rename to src/imednet/core/http_client_base.py diff --git a/imednet/core/paginator.py b/src/imednet/core/paginator.py similarity index 100% rename from imednet/core/paginator.py rename to src/imednet/core/paginator.py diff --git a/imednet/core/parsing.py b/src/imednet/core/parsing.py similarity index 100% rename from imednet/core/parsing.py rename to src/imednet/core/parsing.py diff --git a/imednet/core/protocols.py b/src/imednet/core/protocols.py similarity index 100% rename from imednet/core/protocols.py rename to src/imednet/core/protocols.py diff --git a/imednet/core/retry.py b/src/imednet/core/retry.py similarity index 100% rename from imednet/core/retry.py rename to src/imednet/core/retry.py diff --git a/imednet/discovery.py b/src/imednet/discovery.py similarity index 100% rename from imednet/discovery.py rename to src/imednet/discovery.py diff --git a/imednet/endpoints/__init__.py b/src/imednet/endpoints/__init__.py similarity index 100% rename from imednet/endpoints/__init__.py rename to src/imednet/endpoints/__init__.py diff --git a/imednet/endpoints/codings.py b/src/imednet/endpoints/codings.py similarity index 100% rename from imednet/endpoints/codings.py rename to src/imednet/endpoints/codings.py diff --git a/imednet/endpoints/forms.py b/src/imednet/endpoints/forms.py similarity index 100% rename from imednet/endpoints/forms.py rename to src/imednet/endpoints/forms.py diff --git a/imednet/endpoints/intervals.py b/src/imednet/endpoints/intervals.py similarity index 100% rename from imednet/endpoints/intervals.py rename to src/imednet/endpoints/intervals.py diff --git a/imednet/endpoints/jobs.py b/src/imednet/endpoints/jobs.py similarity index 100% rename from imednet/endpoints/jobs.py rename to src/imednet/endpoints/jobs.py diff --git a/imednet/endpoints/queries.py b/src/imednet/endpoints/queries.py similarity index 100% rename from imednet/endpoints/queries.py rename to src/imednet/endpoints/queries.py diff --git a/imednet/endpoints/record_revisions.py b/src/imednet/endpoints/record_revisions.py similarity index 100% rename from imednet/endpoints/record_revisions.py rename to src/imednet/endpoints/record_revisions.py diff --git a/imednet/endpoints/records.py b/src/imednet/endpoints/records.py similarity index 100% rename from imednet/endpoints/records.py rename to src/imednet/endpoints/records.py diff --git a/imednet/endpoints/registry.py b/src/imednet/endpoints/registry.py similarity index 100% rename from imednet/endpoints/registry.py rename to src/imednet/endpoints/registry.py diff --git a/imednet/endpoints/sites.py b/src/imednet/endpoints/sites.py similarity index 100% rename from imednet/endpoints/sites.py rename to src/imednet/endpoints/sites.py diff --git a/imednet/endpoints/studies.py b/src/imednet/endpoints/studies.py similarity index 100% rename from imednet/endpoints/studies.py rename to src/imednet/endpoints/studies.py diff --git a/imednet/endpoints/subjects.py b/src/imednet/endpoints/subjects.py similarity index 100% rename from imednet/endpoints/subjects.py rename to src/imednet/endpoints/subjects.py diff --git a/imednet/endpoints/users.py b/src/imednet/endpoints/users.py similarity index 100% rename from imednet/endpoints/users.py rename to src/imednet/endpoints/users.py diff --git a/imednet/endpoints/variables.py b/src/imednet/endpoints/variables.py similarity index 100% rename from imednet/endpoints/variables.py rename to src/imednet/endpoints/variables.py diff --git a/imednet/endpoints/visits.py b/src/imednet/endpoints/visits.py similarity index 100% rename from imednet/endpoints/visits.py rename to src/imednet/endpoints/visits.py diff --git a/imednet/errors/__init__.py b/src/imednet/errors/__init__.py similarity index 100% rename from imednet/errors/__init__.py rename to src/imednet/errors/__init__.py diff --git a/imednet/form_designer/__init__.py b/src/imednet/form_designer/__init__.py similarity index 100% rename from imednet/form_designer/__init__.py rename to src/imednet/form_designer/__init__.py diff --git a/imednet/form_designer/builder.py b/src/imednet/form_designer/builder.py similarity index 100% rename from imednet/form_designer/builder.py rename to src/imednet/form_designer/builder.py diff --git a/imednet/form_designer/client.py b/src/imednet/form_designer/client.py similarity index 100% rename from imednet/form_designer/client.py rename to src/imednet/form_designer/client.py diff --git a/imednet/form_designer/models.py b/src/imednet/form_designer/models.py similarity index 100% rename from imednet/form_designer/models.py rename to src/imednet/form_designer/models.py diff --git a/imednet/form_designer/presets.py b/src/imednet/form_designer/presets.py similarity index 100% rename from imednet/form_designer/presets.py rename to src/imednet/form_designer/presets.py diff --git a/imednet/http/__init__.py b/src/imednet/http/__init__.py similarity index 100% rename from imednet/http/__init__.py rename to src/imednet/http/__init__.py diff --git a/imednet/integrations/__init__.py b/src/imednet/integrations/__init__.py similarity index 100% rename from imednet/integrations/__init__.py rename to src/imednet/integrations/__init__.py diff --git a/imednet/integrations/airflow/__init__.py b/src/imednet/integrations/airflow/__init__.py similarity index 100% rename from imednet/integrations/airflow/__init__.py rename to src/imednet/integrations/airflow/__init__.py diff --git a/imednet/integrations/airflow/export.py b/src/imednet/integrations/airflow/export.py similarity index 100% rename from imednet/integrations/airflow/export.py rename to src/imednet/integrations/airflow/export.py diff --git a/imednet/integrations/airflow/hooks/__init__.py b/src/imednet/integrations/airflow/hooks/__init__.py similarity index 100% rename from imednet/integrations/airflow/hooks/__init__.py rename to src/imednet/integrations/airflow/hooks/__init__.py diff --git a/imednet/integrations/airflow/operators/__init__.py b/src/imednet/integrations/airflow/operators/__init__.py similarity index 100% rename from imednet/integrations/airflow/operators/__init__.py rename to src/imednet/integrations/airflow/operators/__init__.py diff --git a/imednet/integrations/airflow/operators/export.py b/src/imednet/integrations/airflow/operators/export.py similarity index 100% rename from imednet/integrations/airflow/operators/export.py rename to src/imednet/integrations/airflow/operators/export.py diff --git a/imednet/integrations/airflow/operators/to_s3.py b/src/imednet/integrations/airflow/operators/to_s3.py similarity index 100% rename from imednet/integrations/airflow/operators/to_s3.py rename to src/imednet/integrations/airflow/operators/to_s3.py diff --git a/imednet/integrations/airflow/sensors.py b/src/imednet/integrations/airflow/sensors.py similarity index 100% rename from imednet/integrations/airflow/sensors.py rename to src/imednet/integrations/airflow/sensors.py diff --git a/imednet/integrations/export.py b/src/imednet/integrations/export.py similarity index 100% rename from imednet/integrations/export.py rename to src/imednet/integrations/export.py diff --git a/imednet/models/__init__.py b/src/imednet/models/__init__.py similarity index 100% rename from imednet/models/__init__.py rename to src/imednet/models/__init__.py diff --git a/imednet/models/base.py b/src/imednet/models/base.py similarity index 100% rename from imednet/models/base.py rename to src/imednet/models/base.py diff --git a/imednet/models/codings.py b/src/imednet/models/codings.py similarity index 100% rename from imednet/models/codings.py rename to src/imednet/models/codings.py diff --git a/imednet/models/forms.py b/src/imednet/models/forms.py similarity index 100% rename from imednet/models/forms.py rename to src/imednet/models/forms.py diff --git a/imednet/models/intervals.py b/src/imednet/models/intervals.py similarity index 100% rename from imednet/models/intervals.py rename to src/imednet/models/intervals.py diff --git a/imednet/models/jobs.py b/src/imednet/models/jobs.py similarity index 100% rename from imednet/models/jobs.py rename to src/imednet/models/jobs.py diff --git a/imednet/models/json_base.py b/src/imednet/models/json_base.py similarity index 100% rename from imednet/models/json_base.py rename to src/imednet/models/json_base.py diff --git a/imednet/models/queries.py b/src/imednet/models/queries.py similarity index 100% rename from imednet/models/queries.py rename to src/imednet/models/queries.py diff --git a/imednet/models/record_revisions.py b/src/imednet/models/record_revisions.py similarity index 100% rename from imednet/models/record_revisions.py rename to src/imednet/models/record_revisions.py diff --git a/imednet/models/records.py b/src/imednet/models/records.py similarity index 100% rename from imednet/models/records.py rename to src/imednet/models/records.py diff --git a/imednet/models/sites.py b/src/imednet/models/sites.py similarity index 100% rename from imednet/models/sites.py rename to src/imednet/models/sites.py diff --git a/imednet/models/studies.py b/src/imednet/models/studies.py similarity index 100% rename from imednet/models/studies.py rename to src/imednet/models/studies.py diff --git a/imednet/models/study_structure.py b/src/imednet/models/study_structure.py similarity index 100% rename from imednet/models/study_structure.py rename to src/imednet/models/study_structure.py diff --git a/imednet/models/subjects.py b/src/imednet/models/subjects.py similarity index 100% rename from imednet/models/subjects.py rename to src/imednet/models/subjects.py diff --git a/imednet/models/users.py b/src/imednet/models/users.py similarity index 100% rename from imednet/models/users.py rename to src/imednet/models/users.py diff --git a/imednet/models/variables.py b/src/imednet/models/variables.py similarity index 100% rename from imednet/models/variables.py rename to src/imednet/models/variables.py diff --git a/imednet/models/visits.py b/src/imednet/models/visits.py similarity index 100% rename from imednet/models/visits.py rename to src/imednet/models/visits.py diff --git a/imednet/pagination/__init__.py b/src/imednet/pagination/__init__.py similarity index 100% rename from imednet/pagination/__init__.py rename to src/imednet/pagination/__init__.py diff --git a/imednet/py.typed b/src/imednet/py.typed similarity index 100% rename from imednet/py.typed rename to src/imednet/py.typed diff --git a/imednet/sdk.py b/src/imednet/sdk.py similarity index 100% rename from imednet/sdk.py rename to src/imednet/sdk.py diff --git a/imednet/sdk_convenience.py b/src/imednet/sdk_convenience.py similarity index 100% rename from imednet/sdk_convenience.py rename to src/imednet/sdk_convenience.py diff --git a/imednet/testing/__init__.py b/src/imednet/testing/__init__.py similarity index 100% rename from imednet/testing/__init__.py rename to src/imednet/testing/__init__.py diff --git a/imednet/testing/fake_data.py b/src/imednet/testing/fake_data.py similarity index 100% rename from imednet/testing/fake_data.py rename to src/imednet/testing/fake_data.py diff --git a/imednet/testing/typed_values.py b/src/imednet/testing/typed_values.py similarity index 100% rename from imednet/testing/typed_values.py rename to src/imednet/testing/typed_values.py diff --git a/imednet/utils/__init__.py b/src/imednet/utils/__init__.py similarity index 100% rename from imednet/utils/__init__.py rename to src/imednet/utils/__init__.py diff --git a/imednet/utils/dates.py b/src/imednet/utils/dates.py similarity index 100% rename from imednet/utils/dates.py rename to src/imednet/utils/dates.py diff --git a/imednet/utils/filters.py b/src/imednet/utils/filters.py similarity index 100% rename from imednet/utils/filters.py rename to src/imednet/utils/filters.py diff --git a/imednet/utils/json_logging.py b/src/imednet/utils/json_logging.py similarity index 100% rename from imednet/utils/json_logging.py rename to src/imednet/utils/json_logging.py diff --git a/imednet/utils/pandas.py b/src/imednet/utils/pandas.py similarity index 100% rename from imednet/utils/pandas.py rename to src/imednet/utils/pandas.py diff --git a/imednet/utils/security.py b/src/imednet/utils/security.py similarity index 100% rename from imednet/utils/security.py rename to src/imednet/utils/security.py diff --git a/imednet/utils/typing.py b/src/imednet/utils/typing.py similarity index 100% rename from imednet/utils/typing.py rename to src/imednet/utils/typing.py diff --git a/imednet/utils/url.py b/src/imednet/utils/url.py similarity index 100% rename from imednet/utils/url.py rename to src/imednet/utils/url.py diff --git a/imednet/utils/validators.py b/src/imednet/utils/validators.py similarity index 100% rename from imednet/utils/validators.py rename to src/imednet/utils/validators.py diff --git a/imednet/validation/__init__.py b/src/imednet/validation/__init__.py similarity index 100% rename from imednet/validation/__init__.py rename to src/imednet/validation/__init__.py diff --git a/imednet/validation/_base.py b/src/imednet/validation/_base.py similarity index 100% rename from imednet/validation/_base.py rename to src/imednet/validation/_base.py diff --git a/imednet/validation/cache.py b/src/imednet/validation/cache.py similarity index 100% rename from imednet/validation/cache.py rename to src/imednet/validation/cache.py diff --git a/imednet/validation/data_dictionary.py b/src/imednet/validation/data_dictionary.py similarity index 100% rename from imednet/validation/data_dictionary.py rename to src/imednet/validation/data_dictionary.py diff --git a/imednet/validation/schema.py b/src/imednet/validation/schema.py similarity index 100% rename from imednet/validation/schema.py rename to src/imednet/validation/schema.py diff --git a/imednet/workflows/__init__.py b/src/imednet/workflows/__init__.py similarity index 100% rename from imednet/workflows/__init__.py rename to src/imednet/workflows/__init__.py diff --git a/imednet/workflows/data_extraction.py b/src/imednet/workflows/data_extraction.py similarity index 100% rename from imednet/workflows/data_extraction.py rename to src/imednet/workflows/data_extraction.py diff --git a/imednet/workflows/job_poller.py b/src/imednet/workflows/job_poller.py similarity index 100% rename from imednet/workflows/job_poller.py rename to src/imednet/workflows/job_poller.py diff --git a/imednet/workflows/namespace.py b/src/imednet/workflows/namespace.py similarity index 100% rename from imednet/workflows/namespace.py rename to src/imednet/workflows/namespace.py diff --git a/imednet/workflows/query_management.py b/src/imednet/workflows/query_management.py similarity index 100% rename from imednet/workflows/query_management.py rename to src/imednet/workflows/query_management.py diff --git a/imednet/workflows/record_mapper.py b/src/imednet/workflows/record_mapper.py similarity index 100% rename from imednet/workflows/record_mapper.py rename to src/imednet/workflows/record_mapper.py diff --git a/imednet/workflows/record_update.py b/src/imednet/workflows/record_update.py similarity index 100% rename from imednet/workflows/record_update.py rename to src/imednet/workflows/record_update.py diff --git a/imednet/workflows/register_subjects.py b/src/imednet/workflows/register_subjects.py similarity index 100% rename from imednet/workflows/register_subjects.py rename to src/imednet/workflows/register_subjects.py diff --git a/imednet/workflows/study_structure.py b/src/imednet/workflows/study_structure.py similarity index 100% rename from imednet/workflows/study_structure.py rename to src/imednet/workflows/study_structure.py diff --git a/imednet/workflows/subject_data.py b/src/imednet/workflows/subject_data.py similarity index 100% rename from imednet/workflows/subject_data.py rename to src/imednet/workflows/subject_data.py