deepsensor 0.4.2__tar.gz → 0.4.3__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 (128) hide show
  1. deepsensor-0.4.3/.all-contributorsrc +225 -0
  2. deepsensor-0.4.3/.gitattributes +1 -0
  3. deepsensor-0.4.3/.github/ISSUE_TEMPLATE/BUG-REPORT.yml +57 -0
  4. deepsensor-0.4.3/.github/ISSUE_TEMPLATE/FEATURE-REQUEST.yml +55 -0
  5. deepsensor-0.4.3/.github/ISSUE_TEMPLATE/config.yml +5 -0
  6. deepsensor-0.4.3/.github/pull_request_template.md +20 -0
  7. deepsensor-0.4.3/.github/workflows/docs.yml +32 -0
  8. deepsensor-0.4.3/.github/workflows/publish.yml +42 -0
  9. deepsensor-0.4.3/.github/workflows/style.yml +25 -0
  10. deepsensor-0.4.3/.github/workflows/tests.yml +51 -0
  11. deepsensor-0.4.3/.gitignore +14 -0
  12. deepsensor-0.4.3/.pre-commit-config.yaml +9 -0
  13. deepsensor-0.4.3/CITATION.cff +42 -0
  14. deepsensor-0.4.3/CODE_OF_CONDUCT.md +118 -0
  15. deepsensor-0.4.3/CONTRIBUTING.md +269 -0
  16. deepsensor-0.4.3/LICENSE +21 -0
  17. {deepsensor-0.4.2 → deepsensor-0.4.3}/PKG-INFO +50 -29
  18. {deepsensor-0.4.2 → deepsensor-0.4.3}/README.md +9 -7
  19. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/__init__.py +1 -1
  20. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/active_learning/acquisition_fns.py +29 -52
  21. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/active_learning/algorithms.py +8 -12
  22. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/config.py +1 -3
  23. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/data/loader.py +24 -40
  24. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/data/processor.py +18 -34
  25. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/data/sources.py +9 -14
  26. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/data/task.py +20 -35
  27. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/data/utils.py +8 -9
  28. deepsensor-0.4.3/deepsensor/errors.py +29 -0
  29. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/eval/metrics.py +1 -2
  30. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/model/convnp.py +40 -63
  31. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/model/defaults.py +3 -6
  32. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/model/model.py +15 -28
  33. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/model/nps.py +5 -10
  34. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/model/pred.py +15 -22
  35. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/plot.py +9 -19
  36. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/tensorflow/__init__.py +1 -0
  37. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/torch/__init__.py +1 -0
  38. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/train/train.py +4 -5
  39. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor.egg-info/PKG-INFO +50 -29
  40. deepsensor-0.4.3/deepsensor.egg-info/SOURCES.txt +119 -0
  41. deepsensor-0.4.3/deepsensor.egg-info/requires.txt +43 -0
  42. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor.egg-info/top_level.txt +0 -1
  43. deepsensor-0.4.3/docs/_config.yml +95 -0
  44. deepsensor-0.4.3/docs/_static/index_api.svg +97 -0
  45. deepsensor-0.4.3/docs/_static/index_community.svg +58 -0
  46. deepsensor-0.4.3/docs/_static/index_community2.pdf +0 -0
  47. deepsensor-0.4.3/docs/_static/index_community2.png +0 -0
  48. deepsensor-0.4.3/docs/_static/index_contribute.svg +76 -0
  49. deepsensor-0.4.3/docs/_static/index_getting_started.svg +66 -0
  50. deepsensor-0.4.3/docs/_static/index_user_guide.svg +67 -0
  51. deepsensor-0.4.3/docs/_toc.yml +62 -0
  52. deepsensor-0.4.3/docs/community/code_of_conduct.md +2 -0
  53. deepsensor-0.4.3/docs/community/contributing.md +2 -0
  54. deepsensor-0.4.3/docs/community/faq.md +97 -0
  55. deepsensor-0.4.3/docs/community/index.md +7 -0
  56. deepsensor-0.4.3/docs/community/roadmap.md +24 -0
  57. deepsensor-0.4.3/docs/contact.md +5 -0
  58. deepsensor-0.4.3/docs/getting-started/data_requirements.ipynb +448 -0
  59. deepsensor-0.4.3/docs/getting-started/index.md +5 -0
  60. deepsensor-0.4.3/docs/getting-started/installation.md +78 -0
  61. deepsensor-0.4.3/docs/getting-started/overview.md +47 -0
  62. deepsensor-0.4.3/docs/index.md +73 -0
  63. deepsensor-0.4.3/docs/reference/active_learning/acquisition_fns.rst +7 -0
  64. deepsensor-0.4.3/docs/reference/active_learning/algorithms.rst +8 -0
  65. deepsensor-0.4.3/docs/reference/active_learning/index.md +1 -0
  66. deepsensor-0.4.3/docs/reference/data/index.md +1 -0
  67. deepsensor-0.4.3/docs/reference/data/loader.rst +11 -0
  68. deepsensor-0.4.3/docs/reference/data/processor.rst +8 -0
  69. deepsensor-0.4.3/docs/reference/data/sources.rst +8 -0
  70. deepsensor-0.4.3/docs/reference/data/task.rst +8 -0
  71. deepsensor-0.4.3/docs/reference/data/utils.rst +8 -0
  72. deepsensor-0.4.3/docs/reference/index.md +3 -0
  73. deepsensor-0.4.3/docs/reference/model/convnp.rst +8 -0
  74. deepsensor-0.4.3/docs/reference/model/defaults.rst +8 -0
  75. deepsensor-0.4.3/docs/reference/model/index.md +1 -0
  76. deepsensor-0.4.3/docs/reference/model/model.rst +8 -0
  77. deepsensor-0.4.3/docs/reference/model/nps.rst +8 -0
  78. deepsensor-0.4.3/docs/reference/model/pred.rst +8 -0
  79. deepsensor-0.4.3/docs/reference/plot.rst +8 -0
  80. deepsensor-0.4.3/docs/reference/tensorflow/index.rst +7 -0
  81. deepsensor-0.4.3/docs/reference/torch/index.rst +7 -0
  82. deepsensor-0.4.3/docs/reference/train/index.md +1 -0
  83. deepsensor-0.4.3/docs/reference/train/train.rst +8 -0
  84. deepsensor-0.4.3/docs/references.bib +10 -0
  85. deepsensor-0.4.3/docs/research_ideas.md +71 -0
  86. deepsensor-0.4.3/docs/resources.md +27 -0
  87. deepsensor-0.4.3/docs/user-guide/acquisition_functions.ipynb +1059 -0
  88. deepsensor-0.4.3/docs/user-guide/active_learning.ipynb +476 -0
  89. deepsensor-0.4.3/docs/user-guide/convnp.ipynb +602 -0
  90. deepsensor-0.4.3/docs/user-guide/data_processor.ipynb +480 -0
  91. deepsensor-0.4.3/docs/user-guide/deepsensor_design.md +60 -0
  92. deepsensor-0.4.3/docs/user-guide/extending.ipynb +608 -0
  93. deepsensor-0.4.3/docs/user-guide/index.md +10 -0
  94. deepsensor-0.4.3/docs/user-guide/prediction.ipynb +1557 -0
  95. deepsensor-0.4.3/docs/user-guide/task.ipynb +377 -0
  96. deepsensor-0.4.3/docs/user-guide/task_loader.ipynb +1030 -0
  97. deepsensor-0.4.3/docs/user-guide/training.ipynb +515 -0
  98. deepsensor-0.4.3/figs/DeepSensorLogo.png +0 -0
  99. deepsensor-0.4.3/figs/DeepSensorLogo2.png +0 -0
  100. deepsensor-0.4.3/figs/convnp_arch.png +0 -0
  101. deepsensor-0.4.3/figs/deepsensor_application_examples.png +0 -0
  102. deepsensor-0.4.3/figs/deepsensor_design.png +0 -0
  103. deepsensor-0.4.3/pyproject.toml +106 -0
  104. deepsensor-0.4.3/setup.cfg +4 -0
  105. {deepsensor-0.4.2 → deepsensor-0.4.3}/tests/test_data_processor.py +6 -12
  106. {deepsensor-0.4.2 → deepsensor-0.4.3}/tests/test_model.py +12 -17
  107. {deepsensor-0.4.2 → deepsensor-0.4.3}/tests/test_task_loader.py +34 -7
  108. {deepsensor-0.4.2 → deepsensor-0.4.3}/tests/utils.py +2 -4
  109. deepsensor-0.4.3/tox.ini +20 -0
  110. deepsensor-0.4.2/deepsensor/errors.py +0 -20
  111. deepsensor-0.4.2/deepsensor.egg-info/SOURCES.txt +0 -45
  112. deepsensor-0.4.2/deepsensor.egg-info/not-zip-safe +0 -1
  113. deepsensor-0.4.2/deepsensor.egg-info/requires.txt +0 -20
  114. deepsensor-0.4.2/pyproject.toml +0 -19
  115. deepsensor-0.4.2/setup.cfg +0 -52
  116. deepsensor-0.4.2/setup.py +0 -4
  117. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/active_learning/__init__.py +0 -0
  118. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/data/__init__.py +0 -0
  119. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/eval/__init__.py +0 -0
  120. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/model/__init__.py +0 -0
  121. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/py.typed +0 -0
  122. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor/train/__init__.py +0 -0
  123. {deepsensor-0.4.2 → deepsensor-0.4.3}/deepsensor.egg-info/dependency_links.txt +0 -0
  124. {deepsensor-0.4.2 → deepsensor-0.4.3}/tests/__init__.py +0 -0
  125. {deepsensor-0.4.2 → deepsensor-0.4.3}/tests/test_active_learning.py +0 -0
  126. {deepsensor-0.4.2 → deepsensor-0.4.3}/tests/test_plotting.py +0 -0
  127. {deepsensor-0.4.2 → deepsensor-0.4.3}/tests/test_task.py +0 -0
  128. {deepsensor-0.4.2 → deepsensor-0.4.3}/tests/test_training.py +0 -0
@@ -0,0 +1,225 @@
1
+ {
2
+ "projectName": "deepsensor",
3
+ "projectOwner": "alan-turing-institute",
4
+ "skipCI": true,
5
+ "files": [
6
+ "README.md"
7
+ ],
8
+ "commitType": "docs",
9
+ "commitConvention": "angular",
10
+ "contributorsPerLine": 7,
11
+ "contributorsSortAlphabetically": true,
12
+ "contributors": [
13
+ {
14
+ "login": "kallewesterling",
15
+ "name": "Kalle Westerling",
16
+ "avatar_url": "https://avatars.githubusercontent.com/u/7298727?v=4",
17
+ "profile": "http://www.westerling.nu",
18
+ "contributions": [
19
+ "doc",
20
+ "infra",
21
+ "ideas",
22
+ "projectManagement",
23
+ "promotion",
24
+ "question"
25
+ ]
26
+ },
27
+ {
28
+ "login": "tom-andersson",
29
+ "name": "Tom Andersson",
30
+ "avatar_url": "https://avatars.githubusercontent.com/u/26459412?v=4",
31
+ "profile": "https://www.bas.ac.uk/profile/tomand",
32
+ "contributions": [
33
+ "code",
34
+ "research",
35
+ "maintenance",
36
+ "bug",
37
+ "test",
38
+ "tutorial",
39
+ "doc",
40
+ "review",
41
+ "talk",
42
+ "question"
43
+ ]
44
+ },
45
+ {
46
+ "login": "acocac",
47
+ "name": "Alejandro ©",
48
+ "avatar_url": "https://avatars.githubusercontent.com/u/13321552?v=4",
49
+ "profile": "https://github.com/acocac",
50
+ "contributions": [
51
+ "userTesting",
52
+ "bug",
53
+ "mentoring",
54
+ "ideas",
55
+ "research",
56
+ "code",
57
+ "test"
58
+ ]
59
+ },
60
+ {
61
+ "login": "wesselb",
62
+ "name": "Wessel",
63
+ "avatar_url": "https://avatars.githubusercontent.com/u/1444448?v=4",
64
+ "profile": "http://wessel.ai",
65
+ "contributions": [
66
+ "research",
67
+ "code",
68
+ "ideas"
69
+ ]
70
+ },
71
+ {
72
+ "login": "scotthosking",
73
+ "name": "Scott Hosking",
74
+ "avatar_url": "https://avatars.githubusercontent.com/u/10783052?v=4",
75
+ "profile": "https://scotthosking.com",
76
+ "contributions": [
77
+ "fundingFinding",
78
+ "ideas",
79
+ "projectManagement"
80
+ ]
81
+ },
82
+ {
83
+ "login": "patel-zeel",
84
+ "name": "Zeel B Patel",
85
+ "avatar_url": "https://avatars.githubusercontent.com/u/59758528?v=4",
86
+ "profile": "http://patel-zeel.github.io",
87
+ "contributions": [
88
+ "bug",
89
+ "code",
90
+ "userTesting",
91
+ "ideas"
92
+ ]
93
+ },
94
+ {
95
+ "login": "jonas-scholz123",
96
+ "name": "Jonas Scholz",
97
+ "avatar_url": "https://avatars.githubusercontent.com/u/37850411?v=4",
98
+ "profile": "https://github.com/jonas-scholz123",
99
+ "contributions": [
100
+ "userTesting",
101
+ "research",
102
+ "code",
103
+ "bug",
104
+ "ideas"
105
+ ]
106
+ },
107
+ {
108
+ "login": "nilsleh",
109
+ "name": "Nils Lehmann",
110
+ "avatar_url": "https://avatars.githubusercontent.com/u/35272119?v=4",
111
+ "profile": "https://nilsleh.info/",
112
+ "contributions": [
113
+ "ideas",
114
+ "userTesting",
115
+ "bug"
116
+ ]
117
+ },
118
+ {
119
+ "login": "kenzaxtazi",
120
+ "name": "Kenza Tazi",
121
+ "avatar_url": "https://avatars.githubusercontent.com/u/43008274?v=4",
122
+ "profile": "http://kenzaxtazi.github.io",
123
+ "contributions": [
124
+ "ideas"
125
+ ]
126
+ },
127
+ {
128
+ "login": "polpel",
129
+ "name": "Paolo Pelucchi",
130
+ "avatar_url": "https://avatars.githubusercontent.com/u/56694450?v=4",
131
+ "profile": "https://github.com/polpel",
132
+ "contributions": [
133
+ "userTesting",
134
+ "bug"
135
+ ]
136
+ },
137
+ {
138
+ "login": "RohitRathore1",
139
+ "name": "Rohit Singh Rathaur",
140
+ "avatar_url": "https://avatars.githubusercontent.com/u/42641738?v=4",
141
+ "profile": "https://rohitrathore.netlify.app/",
142
+ "contributions": [
143
+ "code"
144
+ ]
145
+ },
146
+ {
147
+ "login": "magnusross",
148
+ "name": "Magnus Ross",
149
+ "avatar_url": "https://avatars.githubusercontent.com/u/51709759?v=4",
150
+ "profile": "http://magnusross.github.io/about",
151
+ "contributions": [
152
+ "tutorial",
153
+ "data"
154
+ ]
155
+ },
156
+ {
157
+ "login": "annavaughan",
158
+ "name": "Anna Vaughan",
159
+ "avatar_url": "https://avatars.githubusercontent.com/u/45528489?v=4",
160
+ "profile": "https://github.com/annavaughan",
161
+ "contributions": [
162
+ "research"
163
+ ]
164
+ },
165
+ {
166
+ "login": "ots22",
167
+ "name": "ots22",
168
+ "avatar_url": "https://avatars.githubusercontent.com/u/5434836?v=4",
169
+ "profile": "https://github.com/ots22",
170
+ "contributions": [
171
+ "ideas"
172
+ ]
173
+ },
174
+ {
175
+ "login": "JimCircadian",
176
+ "name": "Jim Circadian",
177
+ "avatar_url": "https://avatars.githubusercontent.com/u/731727?v=4",
178
+ "profile": "http://inconsistentrecords.co.uk",
179
+ "contributions": [
180
+ "ideas",
181
+ "projectManagement",
182
+ "maintenance"
183
+ ]
184
+ },
185
+ {
186
+ "login": "davidwyld",
187
+ "name": "David Wyld",
188
+ "avatar_url": "https://avatars.githubusercontent.com/u/24752124?v=4",
189
+ "profile": "http://davidwyld.uk",
190
+ "contributions": [
191
+ "doc",
192
+ "test",
193
+ "maintenance",
194
+ "bug"
195
+ ]
196
+ },
197
+ {
198
+ "login": "vinayakrana",
199
+ "name": "vinayakrana",
200
+ "avatar_url": "https://avatars.githubusercontent.com/u/95575600?v=4",
201
+ "profile": "https://github.com/vinayakrana",
202
+ "contributions": [
203
+ "doc"
204
+ ]
205
+ },
206
+ {
207
+ "login": "DaniJonesOcean",
208
+ "name": "Dani Jones",
209
+ "avatar_url": "https://avatars.githubusercontent.com/u/11757453?v=4",
210
+ "profile": "https://github.com/DaniJonesOcean",
211
+ "contributions": [
212
+ "bug"
213
+ ]
214
+ },
215
+ {
216
+ "login": "holzwolf",
217
+ "name": "holzwolf",
218
+ "avatar_url": "https://avatars.githubusercontent.com/u/135216528?v=4",
219
+ "profile": "https://github.com/holzwolf",
220
+ "contributions": [
221
+ "bug"
222
+ ]
223
+ }
224
+ ]
225
+ }
@@ -0,0 +1 @@
1
+ notebooks/** linguist-vendored
@@ -0,0 +1,57 @@
1
+ name: "🐛 Bug Report"
2
+ description: Report a suspected bug in the DeepSensor package.
3
+ title: "Potential bug: <title>"
4
+ labels: [
5
+ "bug"
6
+ ]
7
+ body:
8
+ - type: textarea
9
+ id: description
10
+ attributes:
11
+ label: "Description"
12
+ description: Please enter a specific description of your issue
13
+ placeholder: Short and specific description of your incident...
14
+ validations:
15
+ required: true
16
+ - type: textarea
17
+ id: reprod
18
+ attributes:
19
+ label: "Reproduction steps"
20
+ description: Please enter the steps that you took so we can try to reproduce the issue.
21
+ value: |
22
+ 1. Go to '...'
23
+ 2. Click on '....'
24
+ 3. Scroll down to '....'
25
+ 4. See error
26
+ render: bash
27
+ validations:
28
+ required: true
29
+ - type: textarea
30
+ id: version
31
+ attributes:
32
+ label: "Version"
33
+ description: Please tell us which version of DeepSensor you're using.
34
+ validations:
35
+ required: true
36
+ - type: textarea
37
+ id: screenshot
38
+ attributes:
39
+ label: "Screenshots"
40
+ description: If applicable, add screenshots to help explain your problem.
41
+ value: |
42
+ ![DESCRIPTION](LINK.png)
43
+ render: bash
44
+ validations:
45
+ required: false
46
+ - type: dropdown
47
+ id: os
48
+ attributes:
49
+ label: "OS"
50
+ description: Which OS are you using?
51
+ multiple: true
52
+ options:
53
+ - Windows
54
+ - Linux
55
+ - Mac
56
+ validations:
57
+ required: false
@@ -0,0 +1,55 @@
1
+ name: "💡 Feature Request"
2
+ description: Submit a new feature request for the DeepSensor package.
3
+ title: "Potential new feature: <title>"
4
+ labels: [
5
+ "enhancement"
6
+ ]
7
+ body:
8
+ - type: textarea
9
+ id: summary
10
+ attributes:
11
+ label: "Summary"
12
+ description: Provide a brief explanation of the feature.
13
+ placeholder: Describe your feature request in a few lines.
14
+ validations:
15
+ required: true
16
+ - type: textarea
17
+ id: basic_example
18
+ attributes:
19
+ label: "Basic Example"
20
+ description: Indicate here some basic examples of your feature.
21
+ placeholder: A few specific words about your feature request.
22
+ validations:
23
+ required: true
24
+ - type: textarea
25
+ id: drawbacks
26
+ attributes:
27
+ label: "Drawbacks"
28
+ description: What are the drawbacks/impacts of your feature request?
29
+ placeholder: Identify the drawbacks and impacts while being neutral on your feature request.
30
+ validations:
31
+ required: true
32
+ - type: textarea
33
+ id: unresolved_question
34
+ attributes:
35
+ label: "Unresolved questions"
36
+ description: What questions still remain unresolved?
37
+ placeholder: Identify any unresolved issues.
38
+ validations:
39
+ required: false
40
+ - type: textarea
41
+ id: implementation_pr
42
+ attributes:
43
+ label: "Implementation PR"
44
+ description: Pull request used (if you have submitted a pull request).
45
+ placeholder: "#<Pull Request ID>"
46
+ validations:
47
+ required: false
48
+ - type: textarea
49
+ id: reference_issues
50
+ attributes:
51
+ label: "Reference Issues"
52
+ description: Issues that the new feature might resolve (if it addresses any existing issues).
53
+ placeholder: "#<Issues IDs>"
54
+ validations:
55
+ required: false
@@ -0,0 +1,5 @@
1
+ blank_issues_enabled: true
2
+ contact_links:
3
+ - name: Slack channel
4
+ url: https://ai4environment.slack.com/archives/C05NQ76L87R
5
+ about: Join our Slack channel to ask and answer questions about DeepSensor.
@@ -0,0 +1,20 @@
1
+ <!-- Thank you for your contribution to DeepSensor! -->
2
+ <!-- Please fill out the details in the pull request description below as appropriate -->
3
+ <!-- Ensure that you abide by the code of conduct -->
4
+
5
+ ## :pencil: Description
6
+ <!-- Please provide a clear description of the changes that are introduced in this pull request and why -->
7
+ <!-- It also helps to explain any justification or options you're aware of -->
8
+ <!-- If this pull request relates to an issue, please include the issue number here, e.g. #42 -->
9
+
10
+
11
+ ## :white_check_mark: Checklist before requesting a review
12
+ (See the contributing guide for more details on these steps.)
13
+ - [ ] I have installed developer dependencies with `pip install .[dev]` and running `pre-commit install` (or alternatively, manually running `ruff format` before commiting)
14
+
15
+ If changing or adding source code:
16
+ - [ ] tests are included and are passing (run `pytest`).
17
+ - [ ] documentation is included or updated as relevant, including docstrings.
18
+
19
+ If changing or adding documentation:
20
+ - [ ] docs build successfully (`jupyter-book build docs --all`) and the changes look good from a manual inspection of the HTML in `docs/_build/html/`.
@@ -0,0 +1,32 @@
1
+ name: Docs
2
+ on: [push, pull_request, workflow_dispatch]
3
+ permissions:
4
+ contents: write
5
+ jobs:
6
+ docs:
7
+ runs-on: ubuntu-latest
8
+ steps:
9
+ - uses: actions/checkout@v4
10
+ - uses: actions/setup-python@v5
11
+ with:
12
+ python-version: 3.11
13
+ - uses: nikeee/setup-pandoc@v1
14
+ - name: "Upgrade pip"
15
+ run: pip install --upgrade pip
16
+ - name: "Install dependencies"
17
+ run: pip install -e .[docs]
18
+ - name: "Run jupyter-book"
19
+ run: jupyter-book build docs --all
20
+ - name: "Verify Jupyter Book output"
21
+ run: |
22
+ echo "Contents of docs/_build/html:"
23
+ ls -la docs/_build/html || exit 1
24
+ test -f docs/_build/html/index.html
25
+ - name: "Deploy"
26
+ uses: peaceiris/actions-gh-pages@v4
27
+ if: ${{ github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/docs') }}
28
+ with:
29
+ publish_branch: gh-pages
30
+ github_token: ${{ secrets.GITHUB_TOKEN }}
31
+ publish_dir: docs/_build/html/
32
+ force_orphan: true
@@ -0,0 +1,42 @@
1
+ # This workflow will upload a Python package using Twine when a release is
2
+ # created. For more information see the following link:
3
+ # https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries
4
+
5
+ name: Publish to PyPI
6
+
7
+ on:
8
+ release:
9
+ types: [published]
10
+
11
+ jobs:
12
+ deploy:
13
+ name: Build and publish Python 🐍 distributions 📦 to PyPI and TestPyPI
14
+ runs-on: ubuntu-latest
15
+
16
+ # https://github.com/pypa/gh-action-pypi-publish#trusted-publishing
17
+ permissions:
18
+ id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
19
+
20
+ environment:
21
+ name: pypi
22
+ url: https://pypi.org/p/deepsensor
23
+
24
+ steps:
25
+ - uses: actions/checkout@v3
26
+ - name: Set up Python
27
+ uses: actions/setup-python@v4
28
+ with:
29
+ python-version: "3.x"
30
+
31
+ - name: Install dependencies
32
+ run: |
33
+ python -m pip install --upgrade pip
34
+ pip install -U setuptools wheel twine build
35
+
36
+ - name: Build and publish
37
+ run: python -m build
38
+
39
+ - name: Publish distribution 📦 to PyPI
40
+ uses: pypa/gh-action-pypi-publish@release/v1
41
+ with:
42
+ verbose: true
@@ -0,0 +1,25 @@
1
+ name: Code Style
2
+
3
+ on:
4
+ - push
5
+ - pull_request
6
+
7
+ jobs:
8
+ test:
9
+ runs-on: ubuntu-latest
10
+ strategy:
11
+ matrix:
12
+ python-version: [3.8]
13
+ steps:
14
+ - uses: actions/checkout@v2
15
+ - name: Set up Python ${{ matrix.python-version }}
16
+ uses: actions/setup-python@v2
17
+ with:
18
+ python-version: ${{ matrix.python-version }}
19
+ - name: Install Ruff
20
+ run: |
21
+ python -m pip install --upgrade pip
22
+ pip install ruff
23
+ - name: Check style
24
+ run: |
25
+ ruff check
@@ -0,0 +1,51 @@
1
+ name: Tests
2
+
3
+ on:
4
+ push:
5
+ pull_request:
6
+ workflow_dispatch:
7
+ schedule:
8
+ - cron: "5 0 * * 2" # run weekly tests
9
+
10
+ jobs:
11
+ test:
12
+ runs-on: ${{ matrix.os }}
13
+ strategy:
14
+ matrix:
15
+ os: [ubuntu-latest]
16
+ python-version: ['3.9', '3.13']
17
+
18
+ steps:
19
+ - uses: actions/checkout@v6
20
+ - name: Set up Python ${{ matrix.python-version }}
21
+ uses: actions/setup-python@v6
22
+ with:
23
+ python-version: ${{ matrix.python-version }}
24
+ - name: Free Disk Space (Ubuntu)
25
+ uses: jlumbroso/free-disk-space@main
26
+ - name: Print space
27
+ run: df -h
28
+ - name: Install dependencies
29
+ run: |
30
+ python -m pip install --upgrade pip
31
+ pip install .[test,tf,torch]
32
+ - name: Test with pytest
33
+ run: pytest
34
+ - name: Run coveralls
35
+ run: coveralls --service=github
36
+ env:
37
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
38
+ COVERALLS_FLAG_NAME: ${{ matrix.test-name }}
39
+ COVERALLS_PARALLEL: true
40
+
41
+
42
+ finish:
43
+ name: Finish Coveralls
44
+ needs: test
45
+ runs-on: ubuntu-latest
46
+ steps:
47
+ - name: Finish Coveralls
48
+ uses: coverallsapp/github-action@v2
49
+ with:
50
+ github-token: ${{ secrets.github_token }}
51
+ parallel-finished: true
@@ -0,0 +1,14 @@
1
+ *.iml
2
+ *.xml
3
+ *.pyc
4
+ .vscode/
5
+ .DS_Store
6
+ .tox-info.*
7
+ .coverage
8
+ build/
9
+ dist/*
10
+ .tox/
11
+ _build
12
+ *.png
13
+ deepsensor.egg-info/
14
+ .venv/
@@ -0,0 +1,9 @@
1
+ repos:
2
+ - repo: https://github.com/astral-sh/ruff-pre-commit
3
+ # Ruff version.
4
+ rev: v0.7.0
5
+ hooks:
6
+ # Run the linter.
7
+ - id: ruff
8
+ # Run the formatter.
9
+ - id: ruff-format
@@ -0,0 +1,42 @@
1
+ # This CITATION.cff file was generated with cffinit.
2
+ # Visit https://bit.ly/cffinit to generate yours today!
3
+
4
+ cff-version: 1.2.0
5
+ title: 'DeepSensor: A Python package for modelling environmental data with convolutional neural processes'
6
+ message: >-
7
+ If you use DeepSensor in your research, please cite it
8
+ using the information below.
9
+ type: software
10
+ authors:
11
+ - given-names: Tom Robin
12
+ family-names: Andersson
13
+ email: tomandersson3@gmail.com
14
+ affiliation: Google DeepMind
15
+ orcid: 'https://orcid.org/0000-0002-1556-9932'
16
+ repository-code: 'https://github.com/alan-turing-institute/deepsensor'
17
+ abstract: >-
18
+ DeepSensor is a Python package for modelling environmental
19
+ data with convolutional neural processes (ConvNPs).
20
+ ConvNPs are versatile deep learning models capable of
21
+ ingesting multiple environmental data streams of varying
22
+ modalities and resolutions, handling missing data, and
23
+ predicting at arbitrary target locations with uncertainty.
24
+ DeepSensor allows users to tackle a diverse array of
25
+ environmental prediction tasks, including downscaling
26
+ (super-resolution), sensor placement, gap-filling, and
27
+ forecasting. The library includes a user-friendly
28
+ pandas/xarray interface, automatic unnormalisation of
29
+ model predictions, active learning functionality,
30
+ integration with both PyTorch and TensorFlow, and model
31
+ customisation. DeepSensor streamlines and simplifies the
32
+ environmental data modelling pipeline, enabling
33
+ researchers and practitioners to harness the potential of
34
+ ConvNPs for complex environmental prediction challenges.
35
+ keywords:
36
+ - machine learning
37
+ - environmental science
38
+ - neural processes
39
+ - active learning
40
+ license: MIT
41
+ version: 0.4.3
42
+ date-released: '2026-05-06'