pharmadata 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. pharmadata-0.1.0/LICENSE +177 -0
  2. pharmadata-0.1.0/NOTICE +139 -0
  3. pharmadata-0.1.0/PKG-INFO +71 -0
  4. pharmadata-0.1.0/README.md +39 -0
  5. pharmadata-0.1.0/conftest.py +64 -0
  6. pharmadata-0.1.0/pyproject.toml +226 -0
  7. pharmadata-0.1.0/pyproject.toml.orig +205 -0
  8. pharmadata-0.1.0/src/pharmadata/__init__.py +41 -0
  9. pharmadata-0.1.0/src/pharmadata/_core/__init__.py +1 -0
  10. pharmadata-0.1.0/src/pharmadata/_core/collection.py +119 -0
  11. pharmadata-0.1.0/src/pharmadata/_core/data.py +295 -0
  12. pharmadata-0.1.0/src/pharmadata/_core/meta.py +159 -0
  13. pharmadata-0.1.0/src/pharmadata/_core/output_format.py +139 -0
  14. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotadam/_collection.json +6 -0
  15. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotadam/_meta.json +3140 -0
  16. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotadam/adadas.parquet +0 -0
  17. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotadam/adae.parquet +0 -0
  18. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotadam/adcibc.parquet +0 -0
  19. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotadam/adlbc.parquet +0 -0
  20. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotadam/adlbcpv.parquet +0 -0
  21. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotadam/adlbh.parquet +0 -0
  22. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotadam/adlbhpv.parquet +0 -0
  23. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotadam/adlbhy.parquet +0 -0
  24. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotadam/adnpix.parquet +0 -0
  25. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotadam/adsl.parquet +0 -0
  26. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotadam/adtte.parquet +0 -0
  27. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotadam/advs.parquet +0 -0
  28. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/_collection.json +6 -0
  29. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/_meta.json +3321 -0
  30. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/ae.parquet +0 -0
  31. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/cm.parquet +0 -0
  32. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/dm.parquet +0 -0
  33. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/ds.parquet +0 -0
  34. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/ex.parquet +0 -0
  35. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/lbch.parquet +0 -0
  36. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/lbhe.parquet +0 -0
  37. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/lbur.parquet +0 -0
  38. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/mh.parquet +0 -0
  39. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/qsco.parquet +0 -0
  40. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/qsda.parquet +0 -0
  41. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/qsgi.parquet +0 -0
  42. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/qshi.parquet +0 -0
  43. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/qsmm.parquet +0 -0
  44. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/qsni.parquet +0 -0
  45. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/relrec.parquet +0 -0
  46. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/sc.parquet +0 -0
  47. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/se.parquet +0 -0
  48. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/suppae.parquet +0 -0
  49. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/suppdm.parquet +0 -0
  50. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/suppds.parquet +0 -0
  51. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/supplbch.parquet +0 -0
  52. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/supplbhe.parquet +0 -0
  53. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/supplbur.parquet +0 -0
  54. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/sv.parquet +0 -0
  55. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/ta.parquet +0 -0
  56. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/te.parquet +0 -0
  57. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/ti.parquet +0 -0
  58. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/ts.parquet +0 -0
  59. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/tv.parquet +0 -0
  60. pharmadata-0.1.0/src/pharmadata/_data/cdiscpilotsdtm/vs.parquet +0 -0
  61. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/_collection.json +6 -0
  62. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/_meta.json +14421 -0
  63. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adab.parquet +0 -0
  64. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adae.parquet +0 -0
  65. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adapet_neuro.parquet +0 -0
  66. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adbcva_ophtha.parquet +0 -0
  67. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adce_vaccine.parquet +0 -0
  68. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adcm.parquet +0 -0
  69. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adcoeq_metabolic.parquet +0 -0
  70. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adeg.parquet +0 -0
  71. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adex.parquet +0 -0
  72. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adface_vaccine.parquet +0 -0
  73. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adis_vaccine.parquet +0 -0
  74. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adlb.parquet +0 -0
  75. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adlb_metabolic.parquet +0 -0
  76. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adlb_neuro.parquet +0 -0
  77. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adlbhy.parquet +0 -0
  78. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/admh.parquet +0 -0
  79. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adnv_neuro.parquet +0 -0
  80. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adoe_ophtha.parquet +0 -0
  81. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adpc.parquet +0 -0
  82. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adpp.parquet +0 -0
  83. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adppk.parquet +0 -0
  84. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adrs_onco.parquet +0 -0
  85. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adsl.parquet +0 -0
  86. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adsl_vaccine.parquet +0 -0
  87. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adtpet_neuro.parquet +0 -0
  88. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adtr_onco.parquet +0 -0
  89. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/adtte_onco.parquet +0 -0
  90. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/advfq_ophtha.parquet +0 -0
  91. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/advs.parquet +0 -0
  92. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/advs_metabolic.parquet +0 -0
  93. pharmadata-0.1.0/src/pharmadata/_data/pharmaverseadam/advs_peds.parquet +0 -0
  94. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/_collection.json +6 -0
  95. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/_meta.json +7518 -0
  96. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/ae.parquet +0 -0
  97. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/ae_ophtha.parquet +0 -0
  98. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/ag_neuro.parquet +0 -0
  99. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/be.parquet +0 -0
  100. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/ce_vaccine.parquet +0 -0
  101. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/cm.parquet +0 -0
  102. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/dm.parquet +0 -0
  103. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/dm_metabolic.parquet +0 -0
  104. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/dm_neuro.parquet +0 -0
  105. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/dm_peds.parquet +0 -0
  106. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/dm_vaccine.parquet +0 -0
  107. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/ds.parquet +0 -0
  108. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/eg.parquet +0 -0
  109. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/ex.parquet +0 -0
  110. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/ex_ophtha.parquet +0 -0
  111. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/ex_vaccine.parquet +0 -0
  112. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/face_vaccine.parquet +0 -0
  113. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/is_ada.parquet +0 -0
  114. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/is_vaccine.parquet +0 -0
  115. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/lb.parquet +0 -0
  116. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/lb_metabolic.parquet +0 -0
  117. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/lb_neuro.parquet +0 -0
  118. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/lb_onco_pcwg3.parquet +0 -0
  119. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/mb.parquet +0 -0
  120. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/mh.parquet +0 -0
  121. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/ms.parquet +0 -0
  122. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/nv_neuro.parquet +0 -0
  123. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/oe_ophtha.parquet +0 -0
  124. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/pc.parquet +0 -0
  125. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/pp.parquet +0 -0
  126. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/qs_metabolic.parquet +0 -0
  127. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/qs_ophtha.parquet +0 -0
  128. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/rs_onco.parquet +0 -0
  129. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/rs_onco_ca125.parquet +0 -0
  130. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/rs_onco_imwg.parquet +0 -0
  131. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/rs_onco_irecist.parquet +0 -0
  132. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/rs_onco_lymphoma.parquet +0 -0
  133. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/rs_onco_pcwg3.parquet +0 -0
  134. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/rs_onco_recist.parquet +0 -0
  135. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/sc_ophtha.parquet +0 -0
  136. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/sdg_db.parquet +0 -0
  137. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/smq_db.parquet +0 -0
  138. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/suppae.parquet +0 -0
  139. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/suppce_vaccine.parquet +0 -0
  140. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/suppdm.parquet +0 -0
  141. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/suppdm_vaccine.parquet +0 -0
  142. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/suppds.parquet +0 -0
  143. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/suppex_vaccine.parquet +0 -0
  144. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/suppface_vaccine.parquet +0 -0
  145. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/suppis_vaccine.parquet +0 -0
  146. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/suppnv_neuro.parquet +0 -0
  147. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/supprs_onco_ca125.parquet +0 -0
  148. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/supprs_onco_imwg.parquet +0 -0
  149. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/supptr_onco.parquet +0 -0
  150. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/sv.parquet +0 -0
  151. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/tr_onco.parquet +0 -0
  152. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/tr_onco_recist.parquet +0 -0
  153. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/ts.parquet +0 -0
  154. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/tu_onco.parquet +0 -0
  155. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/tu_onco_recist.parquet +0 -0
  156. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/vs.parquet +0 -0
  157. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/vs_metabolic.parquet +0 -0
  158. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/vs_peds.parquet +0 -0
  159. pharmadata-0.1.0/src/pharmadata/_data/pharmaversesdtm/vs_vaccine.parquet +0 -0
  160. pharmadata-0.1.0/src/pharmadata/cdiscpilotadam/__init__.py +136 -0
  161. pharmadata-0.1.0/src/pharmadata/cdiscpilotadam/__init__.pyi +647 -0
  162. pharmadata-0.1.0/src/pharmadata/cdiscpilotsdtm/__init__.py +136 -0
  163. pharmadata-0.1.0/src/pharmadata/cdiscpilotsdtm/__init__.pyi +845 -0
  164. pharmadata-0.1.0/src/pharmadata/pharmaverseadam/__init__.py +136 -0
  165. pharmadata-0.1.0/src/pharmadata/pharmaverseadam/__init__.pyi +2690 -0
  166. pharmadata-0.1.0/src/pharmadata/pharmaversesdtm/__init__.py +136 -0
  167. pharmadata-0.1.0/src/pharmadata/pharmaversesdtm/__init__.pyi +1772 -0
  168. pharmadata-0.1.0/src/pharmadata/py.typed +0 -0
  169. pharmadata-0.1.0/tests/__init__.py +1 -0
  170. pharmadata-0.1.0/tests/_helpers.py +67 -0
  171. pharmadata-0.1.0/tests/test_datasets.py +156 -0
  172. pharmadata-0.1.0/tests/test_generated.py +78 -0
  173. pharmadata-0.1.0/tests/test_package.py +16 -0
@@ -0,0 +1,177 @@
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
@@ -0,0 +1,139 @@
1
+ This product bundles software and data that originate from other projects.
2
+ The Apache License, Version 2.0 applies to this product as a whole; the
3
+ notices below identify what is third-party and under what terms it may be
4
+ redistributed.
5
+
6
+ --------------------------------------------------------------------------------
7
+ 1. Upstream R packages (code, data and documentation)
8
+ --------------------------------------------------------------------------------
9
+
10
+ Derived from:
11
+
12
+ * pharmaverseadam - "ADaM Test Data for the 'Pharmaverse' Family of
13
+ Packages", taken from an upstream development version
14
+ https://github.com/pharmaverse/pharmaverseadam
15
+ shipped as the pharmadata.pharmaverseadam collection
16
+ * pharmaversesdtm - "SDTM Test Data for the 'Pharmaverse' Family of
17
+ Packages", taken from an upstream development version
18
+ https://github.com/pharmaverse/pharmaversesdtm
19
+ shipped as the pharmadata.pharmaversesdtm collection
20
+
21
+ Both upstream packages are also published on CRAN. This product has its own
22
+ version (0.1.0) that does not identify an upstream release; data-raw/export
23
+ scripts read the upstream sources, so running them against your own checkout
24
+ reproduces these inputs without the shipped parquet files.
25
+
26
+ Both are licensed under the Apache License, Version 2.0 or later (their
27
+ DESCRIPTION files declare `License: Apache License (>= 2)` and
28
+ `License: Apache License (>= 2.0)` respectively), and their copyright
29
+ holders - the entries with role "cph" in the Authors@R field of their
30
+ DESCRIPTION files - are:
31
+
32
+ Copyright Cytel Inc.
33
+ Copyright F. Hoffmann-La Roche AG
34
+ Copyright GlaxoSmithKline LLC
35
+
36
+ The ADaM datasets come from the admiral template scripts
37
+ (https://github.com/pharmaverse/admiral, Apache-2.0) applied to the SDTM
38
+ datasets above. Their labels, types, mandatory flags and roles come from
39
+ `pharmaverseadam/inst/extdata/adams-specs.json`, drawn from the CDISC ADaM
40
+ Implementation Guide.
41
+
42
+ Changes made by this product (per Apache-2.0 Section4(b)):
43
+
44
+ * `.rda` -> Parquet conversion, plus per-dataset metadata tables
45
+ exported alongside (the pharmaverseadam and pharmaversesdtm collections);
46
+ * bytes that are invalid UTF-8 in the upstream `.rda` (for example the
47
+ 0x92 right single quotation mark in the `ts` dataset) are re-decoded as
48
+ CP1252, and an empty character is exported as a Parquet null - the missing
49
+ value it stands for. No other value is edited;
50
+ * column labels and roles are additionally embedded in the Parquet files as
51
+ Arrow field metadata, and a merged `_meta.json` plus generated IDE stubs and
52
+ MkDocs documentation are added.
53
+
54
+ --------------------------------------------------------------------------------
55
+ 2. The CDISC pilot submission packages, redistributed directly
56
+ --------------------------------------------------------------------------------
57
+
58
+ The pharmadata.cdiscpilotadam and pharmadata.cdiscpilotsdtm collections are
59
+ built from two archives published by the PHUSE Scripts repository:
60
+
61
+ * data/adam/cdiscpilot_update1.zip
62
+ * data/sdtm/cdiscpilot_update2.zip
63
+ https://github.com/phuse-org/phuse-scripts
64
+
65
+ They are the CDISC SDTM/ADaM Pilot Project's own submission packages as updated
66
+ by the PHUSE Test Data Factory working group (the repository's
67
+ `data/sdtm/README.md` names those updates). The PHUSE Scripts repository is
68
+ licensed under the MIT (Expat) licence, names no copyright holder, and is in its
69
+ `LICENSE.md`. The data inside the archives is CDISC's; section 3 records the
70
+ terms it carries.
71
+
72
+ Changes made by this product (per Apache-2.0 Section4(b)):
73
+
74
+ * SAS transport files (`.xpt`) -> Parquet conversion, and the per-dataset
75
+ metadata tables are exported alongside (the cdiscpilotadam and cdiscpilotsdtm
76
+ collections, sharing a common helper);
77
+ * a blank character is exported as a Parquet null, the missing value it stands
78
+ for: the SAS transport format has no missing character value, so a text
79
+ variable a record does not use is written there as an empty string;
80
+ * the dataset label, the structure, the mandatory flags and the roles are read
81
+ from the Define-XML 2.0 each archive ships, and the column labels from the
82
+ transport files' own variable labels with the Define-XML as fallback;
83
+ * those labels and roles are additionally embedded in the Parquet files as
84
+ Arrow field metadata, and a merged `_meta.json` plus generated IDE stubs and
85
+ MkDocs documentation are added.
86
+
87
+ No other data value is edited: the conversion is a container change, and the
88
+ metadata published beside the data is the one the submission package itself
89
+ records.
90
+
91
+ --------------------------------------------------------------------------------
92
+ 3. The CDISC pilot project data at the root of the chain
93
+ --------------------------------------------------------------------------------
94
+
95
+ Both routes above lead back to the CDISC SDTM/ADaM Pilot Project, whose files are
96
+ published at
97
+
98
+ https://github.com/cdisc-org/sdtm-adam-pilot-project
99
+
100
+ and that repository states a Terms of Use for the data, of which the following
101
+ conditions travel with any redistribution:
102
+
103
+ * attribution back to CDISC is required, and users must not be misled about
104
+ the origin of the data;
105
+ * the data may not be sublicensed or distributed for a fee;
106
+ * the data may not be used to compete with CDISC, or in any manner that
107
+ violates a law or regulation;
108
+ * the data is provided "AS IS", without warranties of any kind, and CDISC
109
+ disclaims the currency, accuracy, relevance and completeness of it.
110
+
111
+ This product is distributed free of charge, attributes CDISC as the source of the
112
+ underlying data, and makes no claim that the data is fit for any regulatory or
113
+ analytical purpose: it is synthetic test data for exercising software.
114
+
115
+ Note that the pilot project's Terms of Use also ask that the data not be
116
+ "disassembled, reverse engineered, decompiled, modified, or altered". The
117
+ upstream pharmaverse packages already rework it, and this product's Parquet
118
+ conversion is a format change that reads a blank character as the missing value
119
+ it stands for. If a stricter reading of that clause matters to your use case, the
120
+ regeneration programs in `data-raw/` rebuild the same datasets from the upstream
121
+ sources without shipping Parquet files.
122
+
123
+ --------------------------------------------------------------------------------
124
+ 4. CDISC standards documentation
125
+ --------------------------------------------------------------------------------
126
+
127
+ CDISC standards and Implementation Guides are copyrighted by CDISC, which grants
128
+ open public use of its published standards (https://www.cdisc.org/). This product
129
+ reproduces the variable names, labels, mandatory flags and roles recorded in the
130
+ upstream specs and Define-XML files; it does not reproduce the Implementation
131
+ Guide documents themselves.
132
+
133
+ --------------------------------------------------------------------------------
134
+ 5. No endorsement
135
+ --------------------------------------------------------------------------------
136
+
137
+ Cytel, F. Hoffmann-La Roche AG, GlaxoSmithKline LLC, CDISC, PHUSE and the
138
+ pharmaverse initiative are not affiliated with this product and do not endorse it.
139
+ The datasets carry no real subject data: they are simulated test data.
@@ -0,0 +1,71 @@
1
+ Metadata-Version: 2.4
2
+ Name: pharmadata
3
+ Version: 0.1.0
4
+ Summary: CDISC SDTM and ADaM test datasets in Python for clinical programming
5
+ Keywords: cdisc,adam,sdtm,clinical-trials,test-data,pyarrow,polars
6
+ License-Expression: Apache-2.0
7
+ License-File: LICENSE
8
+ License-File: NOTICE
9
+ Classifier: Development Status :: 3 - Alpha
10
+ Classifier: Operating System :: OS Independent
11
+ Classifier: Intended Audience :: Science/Research
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Programming Language :: Python :: 3.14
18
+ Classifier: Topic :: Scientific/Engineering
19
+ Classifier: Typing :: Typed
20
+ Requires-Dist: pyarrow>=15
21
+ Requires-Dist: polars>=1.31
22
+ Requires-Dist: tzdata>=2024.1
23
+ Requires-Dist: pandas>=3.0 ; extra == 'pandas'
24
+ Requires-Python: >=3.11
25
+ Project-URL: Homepage, https://github.com/ynsec37/pharmadata
26
+ Project-URL: Repository, https://github.com/ynsec37/pharmadata
27
+ Project-URL: Documentation, https://ynsec37.github.io/pharmadata/
28
+ Project-URL: Issues, https://github.com/ynsec37/pharmadata/issues
29
+ Project-URL: Changelog, https://github.com/ynsec37/pharmadata/blob/main/docs/changelog.md
30
+ Provides-Extra: pandas
31
+ Description-Content-Type: text/markdown
32
+
33
+ <div align="center">
34
+
35
+ <em>CDISC SDTM and ADaM Test Datasets in Python for Clinical Programming</em>
36
+
37
+ [![CI](https://github.com/ynsec37/pharmadata/actions/workflows/ci.yml/badge.svg)](https://github.com/ynsec37/pharmadata/actions/workflows/ci.yml)
38
+ [![Coverage](https://codecov.io/gh/ynsec37/pharmadata/branch/main/graph/badge.svg)](https://codecov.io/gh/ynsec37/pharmadata)
39
+ [![PyPI](https://img.shields.io/pypi/v/pharmadata.svg)](https://pypi.org/project/pharmadata/)
40
+
41
+ </div>
42
+
43
+ ## Installation
44
+
45
+ ```bash
46
+ pip install pharmadata
47
+ ```
48
+
49
+ ## Quick start
50
+
51
+ ```python
52
+ from pharmadata import pharmaverseadam as adam
53
+
54
+ adsl = adam.adsl
55
+ adsl_meta = adam.adsl_meta
56
+
57
+ # Other datasets
58
+ from pharmadata import pharmaversesdtm, cdiscpilotadam, cdiscpilotsdtm
59
+ ```
60
+
61
+ Default output is polars, `set_output_pandas()` switches to pandas.
62
+
63
+ ## Credits
64
+
65
+ Data from the following projects. They are gratefully acknowledged for making the data available.
66
+
67
+ - [pharmaverseadam](https://github.com/pharmaverse/pharmaverseadam)
68
+ - [pharmaversesdtm](https://github.com/pharmaverse/pharmaversesdtm)
69
+ - [phuse-org/phuse-scripts](https://github.com/phuse-org/phuse-scripts)
70
+
71
+ See [NOTICE](NOTICE)
@@ -0,0 +1,39 @@
1
+ <div align="center">
2
+
3
+ <em>CDISC SDTM and ADaM Test Datasets in Python for Clinical Programming</em>
4
+
5
+ [![CI](https://github.com/ynsec37/pharmadata/actions/workflows/ci.yml/badge.svg)](https://github.com/ynsec37/pharmadata/actions/workflows/ci.yml)
6
+ [![Coverage](https://codecov.io/gh/ynsec37/pharmadata/branch/main/graph/badge.svg)](https://codecov.io/gh/ynsec37/pharmadata)
7
+ [![PyPI](https://img.shields.io/pypi/v/pharmadata.svg)](https://pypi.org/project/pharmadata/)
8
+
9
+ </div>
10
+
11
+ ## Installation
12
+
13
+ ```bash
14
+ pip install pharmadata
15
+ ```
16
+
17
+ ## Quick start
18
+
19
+ ```python
20
+ from pharmadata import pharmaverseadam as adam
21
+
22
+ adsl = adam.adsl
23
+ adsl_meta = adam.adsl_meta
24
+
25
+ # Other datasets
26
+ from pharmadata import pharmaversesdtm, cdiscpilotadam, cdiscpilotsdtm
27
+ ```
28
+
29
+ Default output is polars, `set_output_pandas()` switches to pandas.
30
+
31
+ ## Credits
32
+
33
+ Data from the following projects. They are gratefully acknowledged for making the data available.
34
+
35
+ - [pharmaverseadam](https://github.com/pharmaverse/pharmaverseadam)
36
+ - [pharmaversesdtm](https://github.com/pharmaverse/pharmaversesdtm)
37
+ - [phuse-org/phuse-scripts](https://github.com/phuse-org/phuse-scripts)
38
+
39
+ See [NOTICE](NOTICE)
@@ -0,0 +1,64 @@
1
+ """Fixtures for every collected item: the tests/ suite and the src/ doctests.
2
+
3
+ Sits at the root - the common ancestor of the two trees - so the docstring
4
+ examples collected from src/ (``--doctest-modules``) run with the same fixtures
5
+ as the tests.
6
+ """
7
+
8
+ from collections.abc import Iterator, MutableMapping
9
+
10
+ import pytest
11
+
12
+ import pharmadata
13
+ from pharmadata import (
14
+ cdiscpilotadam,
15
+ cdiscpilotsdtm,
16
+ pharmaverseadam,
17
+ pharmaversesdtm,
18
+ set_output_polars,
19
+ )
20
+ from pharmadata._core import collection, data, meta
21
+
22
+ _FACADES = (cdiscpilotadam, cdiscpilotsdtm, pharmaverseadam, pharmaversesdtm)
23
+
24
+ # Every @cache in _core: file-reading functions cache parsed parquet/JSON, so a
25
+ # test patching the data source must start from a cold cache.
26
+ _CACHED = (
27
+ data.data_dir,
28
+ data.raw_meta,
29
+ data.dataset_names,
30
+ data.load_dataset,
31
+ data.dataset_doc,
32
+ data.shape,
33
+ data._meta_tables_table,
34
+ data._meta_specs_table,
35
+ collection._load_polars,
36
+ collection._load_pandas,
37
+ meta.build,
38
+ )
39
+
40
+
41
+ @pytest.fixture(autouse=True)
42
+ def _reset_output_format() -> Iterator[None]:
43
+ """Leave the output format on polars around every item, doctests included."""
44
+ set_output_polars()
45
+ yield
46
+ set_output_polars()
47
+
48
+
49
+ @pytest.fixture(autouse=True)
50
+ def _clear_caches() -> Iterator[None]:
51
+ """Drop every @cache so no test reads another test's parsed data or metadata."""
52
+ for fn in _CACHED:
53
+ fn.cache_clear()
54
+ yield
55
+ for fn in _CACHED:
56
+ fn.cache_clear()
57
+
58
+
59
+ @pytest.fixture(autouse=True)
60
+ def _doctest_namespace(doctest_namespace: MutableMapping[str, object]) -> None:
61
+ """Give the src/ docstring examples the package-level names they call."""
62
+ doctest_namespace["pharmadata"] = pharmadata
63
+ for facade in _FACADES:
64
+ doctest_namespace[facade.__name__.rsplit(".", 1)[-1]] = facade