vortrace 0.1__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 (85) hide show
  1. vortrace-0.1/.github/workflows/draft-pdf.yml +28 -0
  2. vortrace-0.1/.github/workflows/unit-test.yml +61 -0
  3. vortrace-0.1/.github/workflows/wheels.yml +33 -0
  4. vortrace-0.1/.gitignore +25 -0
  5. vortrace-0.1/.pylintrc +444 -0
  6. vortrace-0.1/.readthedocs.yaml +18 -0
  7. vortrace-0.1/CLAUDE.md +101 -0
  8. vortrace-0.1/CMakeLists.txt +120 -0
  9. vortrace-0.1/LICENSE +58 -0
  10. vortrace-0.1/PKG-INFO +134 -0
  11. vortrace-0.1/README.md +99 -0
  12. vortrace-0.1/cmake/vortraceConfig.cmake.in +3 -0
  13. vortrace-0.1/docs/Makefile +28 -0
  14. vortrace-0.1/docs/algorithm.rst +70 -0
  15. vortrace-0.1/docs/api/cpp.rst +327 -0
  16. vortrace-0.1/docs/api/index.rst +8 -0
  17. vortrace-0.1/docs/api/python.rst +34 -0
  18. vortrace-0.1/docs/changelog.rst +22 -0
  19. vortrace-0.1/docs/conf.py +63 -0
  20. vortrace-0.1/docs/contributing.rst +61 -0
  21. vortrace-0.1/docs/edgecases.rst +110 -0
  22. vortrace-0.1/docs/generate_images.py +436 -0
  23. vortrace-0.1/docs/index.rst +64 -0
  24. vortrace-0.1/docs/installation.rst +110 -0
  25. vortrace-0.1/docs/make.bat +35 -0
  26. vortrace-0.1/docs/quickstart.rst +112 -0
  27. vortrace-0.1/docs/tutorials/arbitrary_rays.rst +81 -0
  28. vortrace-0.1/docs/tutorials/grid_projection.rst +131 -0
  29. vortrace-0.1/docs/tutorials/index.rst +19 -0
  30. vortrace-0.1/docs/tutorials/io.rst +94 -0
  31. vortrace-0.1/docs/tutorials/multifield.rst +100 -0
  32. vortrace-0.1/docs/tutorials/periodic.rst +83 -0
  33. vortrace-0.1/docs/tutorials/plotting.rst +56 -0
  34. vortrace-0.1/docs/tutorials/rotations.rst +101 -0
  35. vortrace-0.1/docs/tutorials/single_ray.rst +89 -0
  36. vortrace-0.1/docs/tutorials/slicing.rst +67 -0
  37. vortrace-0.1/docs/tutorials/volume_rendering.rst +160 -0
  38. vortrace-0.1/examples/CMakeLists.txt +22 -0
  39. vortrace-0.1/examples/basic_projection.cpp +73 -0
  40. vortrace-0.1/examples/hdf5_reader.hpp +74 -0
  41. vortrace-0.1/examples/multifield.cpp +128 -0
  42. vortrace-0.1/examples/periodic.cpp +65 -0
  43. vortrace-0.1/examples/single_ray.cpp +63 -0
  44. vortrace-0.1/examples/slicing.cpp +57 -0
  45. vortrace-0.1/examples/volume_rendering.cpp +107 -0
  46. vortrace-0.1/include/brute_projection.hpp +29 -0
  47. vortrace-0.1/include/mytypes.hpp +28 -0
  48. vortrace-0.1/include/nanoflann.hpp +2048 -0
  49. vortrace-0.1/include/pointcloud.hpp +75 -0
  50. vortrace-0.1/include/projection.hpp +28 -0
  51. vortrace-0.1/include/ray.hpp +80 -0
  52. vortrace-0.1/include/reduction.hpp +33 -0
  53. vortrace-0.1/include/slice.hpp +29 -0
  54. vortrace-0.1/include/vortrace.hpp +10 -0
  55. vortrace-0.1/paper/paper.bib +258 -0
  56. vortrace-0.1/paper/paper.md +91 -0
  57. vortrace-0.1/pyproject.toml +48 -0
  58. vortrace-0.1/requirements.txt +7 -0
  59. vortrace-0.1/src/bindings.cpp +274 -0
  60. vortrace-0.1/src/brute_projection.cpp +124 -0
  61. vortrace-0.1/src/pointcloud.cpp +298 -0
  62. vortrace-0.1/src/projection.cpp +75 -0
  63. vortrace-0.1/src/ray.cpp +440 -0
  64. vortrace-0.1/src/reduction.cpp +101 -0
  65. vortrace-0.1/src/slice.cpp +81 -0
  66. vortrace-0.1/tests/conftest.py +19 -0
  67. vortrace-0.1/tests/test_cpp.cpp +185 -0
  68. vortrace-0.1/tests/test_data/cosmo_box.hdf5 +0 -0
  69. vortrace-0.1/tests/test_data/galaxy_interaction-proj.npy +0 -0
  70. vortrace-0.1/tests/test_data/galaxy_interaction.hdf5 +0 -0
  71. vortrace-0.1/tests/test_degenerate.py +92 -0
  72. vortrace-0.1/tests/test_grid.py +117 -0
  73. vortrace-0.1/tests/test_io.py +114 -0
  74. vortrace-0.1/tests/test_multifield.py +312 -0
  75. vortrace-0.1/tests/test_openmp.py +219 -0
  76. vortrace-0.1/tests/test_padding.py +256 -0
  77. vortrace-0.1/tests/test_periodic.py +325 -0
  78. vortrace-0.1/tests/test_plot.py +72 -0
  79. vortrace-0.1/tests/test_volume_render.py +239 -0
  80. vortrace-0.1/tests/test_vortrace.py +59 -0
  81. vortrace-0.1/vortrace/__init__.py +19 -0
  82. vortrace-0.1/vortrace/grid.py +203 -0
  83. vortrace-0.1/vortrace/io.py +215 -0
  84. vortrace-0.1/vortrace/plot.py +106 -0
  85. vortrace-0.1/vortrace/vortrace.py +348 -0
@@ -0,0 +1,28 @@
1
+ name: Draft PDF
2
+ on:
3
+ push:
4
+ paths:
5
+ - paper/**
6
+ - .github/workflows/draft-pdf.yml
7
+
8
+ jobs:
9
+ paper:
10
+ runs-on: ubuntu-latest
11
+ name: Paper Draft
12
+ steps:
13
+ - name: Checkout
14
+ uses: actions/checkout@v4
15
+ - name: Build draft PDF
16
+ uses: openjournals/openjournals-draft-action@master
17
+ with:
18
+ journal: joss
19
+ # This should be the path to the paper within your repo.
20
+ paper-path: paper/paper.md
21
+ - name: Upload
22
+ uses: actions/upload-artifact@v4
23
+ with:
24
+ name: paper
25
+ # This is the output path where Pandoc will write the compiled
26
+ # PDF. Note, this should be the same directory as the input
27
+ # paper.md
28
+ path: paper/paper.pdf
@@ -0,0 +1,61 @@
1
+ name: Vortrace unit testing
2
+
3
+ on:
4
+ push:
5
+ pull_request:
6
+
7
+ jobs:
8
+ build:
9
+ runs-on: ${{ matrix.os }}
10
+ strategy:
11
+ matrix:
12
+ os: [ubuntu-latest, macos-latest]
13
+ python-version: ["3.8", "3.11"]
14
+
15
+ steps:
16
+ - uses: actions/checkout@v3
17
+
18
+ - name: Cache pip
19
+ uses: actions/cache@v3
20
+ with:
21
+ path: ~/.cache/pip
22
+ key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
23
+ restore-keys: |
24
+ ${{ runner.os }}-pip-
25
+
26
+ - name: Set up Python ${{ matrix.python-version }}
27
+ uses: actions/setup-python@v3
28
+ with:
29
+ python-version: ${{ matrix.python-version }}
30
+
31
+ - name: Install Catch2
32
+ run: |
33
+ if [ "${{ runner.os }}" = "Linux" ]; then
34
+ sudo apt-get update
35
+ sudo apt-get install -y catch2
36
+ else
37
+ brew update
38
+ brew install catch2 libomp
39
+ fi
40
+
41
+ - name: Install dependencies
42
+ run: |
43
+ pip install --upgrade pip
44
+ pip install cmake scikit-build pybind11[global]
45
+ pip install .
46
+ pip install pylint pytest h5py
47
+
48
+ - name: Lint with pylint
49
+ run: |
50
+ pylint --rcfile=.pylintrc vortrace
51
+
52
+ - name: Test with pytest
53
+ run: |
54
+ pytest
55
+
56
+ - name: Test with catch2
57
+ run: |
58
+ mkdir build && cd build
59
+ cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_CPP_TESTS=ON
60
+ cmake --build .
61
+ ctest --output-on-failure
@@ -0,0 +1,33 @@
1
+ name: Build
2
+
3
+ on: [push, pull_request]
4
+
5
+ jobs:
6
+ build_wheels:
7
+ name: Build wheels on ${{ matrix.os }}
8
+ runs-on: ${{ matrix.os }}
9
+ strategy:
10
+ matrix:
11
+ os: [ubuntu-latest, ubuntu-24.04-arm, macos-15-intel, macos-latest]
12
+ # os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, windows-11-arm, macos-15-intel, macos-latest]
13
+
14
+ steps:
15
+ - uses: actions/checkout@v6
16
+ with:
17
+ persist-credentials: false
18
+
19
+ # Used to host cibuildwheel
20
+ - uses: actions/setup-python@v6
21
+
22
+ - name: Install cibuildwheel
23
+ run: python -m pip install cibuildwheel==3.4.0
24
+
25
+ - name: Build wheels
26
+ run: python -m cibuildwheel --output-dir wheelhouse
27
+ env:
28
+ CIBW_BEFORE_ALL_MACOS: brew install libomp
29
+
30
+ - uses: actions/upload-artifact@v6
31
+ with:
32
+ name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
33
+ path: ./wheelhouse/*.whl
@@ -0,0 +1,25 @@
1
+ build*/
2
+ vortrace.cpython-37m-darwin.so
3
+ vortrace.egg-info/
4
+ __pycache__/
5
+ dist/
6
+
7
+ vorenv/
8
+ venv*/
9
+ wheelhouse/
10
+
11
+ .ipynb_checkpoints/
12
+
13
+ .vscode/
14
+ .eggs/
15
+
16
+ *.so
17
+ run/
18
+ .DS_Store
19
+ .cache/
20
+ docs/_build/
21
+ docs/images/*.png
22
+ pytest-of-abeane/
23
+ .claude/
24
+ paper/paper.crossref
25
+ paper/paper.pdf
vortrace-0.1/.pylintrc ADDED
@@ -0,0 +1,444 @@
1
+ # This Pylint rcfile contains a best-effort configuration to uphold the
2
+ # best-practices and style described in the Google Python style guide:
3
+ # https://google.github.io/styleguide/pyguide.html
4
+ #
5
+ # Its canonical open-source location is:
6
+ # https://google.github.io/styleguide/pylintrc
7
+
8
+ [MASTER]
9
+
10
+ # Files or directories to be skipped. They should be base names, not paths.
11
+ ignore=third_party
12
+
13
+ # Files or directories matching the regex patterns are skipped. The regex
14
+ # matches against base names, not paths.
15
+ ignore-patterns=
16
+
17
+ # Pickle collected data for later comparisons.
18
+ persistent=no
19
+
20
+ # List of plugins (as comma separated values of python modules names) to load,
21
+ # usually to register additional checkers.
22
+ load-plugins=
23
+
24
+ # Use multiple processes to speed up Pylint.
25
+ jobs=4
26
+
27
+ # Allow loading of arbitrary C extensions. Extensions are imported into the
28
+ # active Python interpreter and may run arbitrary code.
29
+ unsafe-load-any-extension=no
30
+
31
+
32
+ [MESSAGES CONTROL]
33
+
34
+ # Only show warnings with the listed confidence levels. Leave empty to show
35
+ # all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED
36
+ confidence=
37
+
38
+ # Enable the message, report, category or checker with the given id(s). You can
39
+ # either give multiple identifier separated by comma (,) or put this option
40
+ # multiple time (only on the command line, not in the configuration file where
41
+ # it should appear only once). See also the "--disable" option for examples.
42
+ #enable=
43
+
44
+ # Disable the message, report, category or checker with the given id(s). You
45
+ # can either give multiple identifiers separated by comma (,) or put this
46
+ # option multiple times (only on the command line, not in the configuration
47
+ # file where it should appear only once).You can also use "--disable=all" to
48
+ # disable everything first and then reenable specific checks. For example, if
49
+ # you want to run only the similarities checker, you can use "--disable=all
50
+ # --enable=similarities". If you want to run only the classes checker, but have
51
+ # no Warning level messages displayed, use"--disable=all --enable=classes
52
+ # --disable=W"
53
+ disable=abstract-method,
54
+ apply-builtin,
55
+ arguments-differ,
56
+ attribute-defined-outside-init,
57
+ backtick,
58
+ bad-option-value,
59
+ basestring-builtin,
60
+ buffer-builtin,
61
+ c-extension-no-member,
62
+ consider-using-enumerate,
63
+ cmp-builtin,
64
+ cmp-method,
65
+ coerce-builtin,
66
+ coerce-method,
67
+ delslice-method,
68
+ div-method,
69
+ duplicate-code,
70
+ eq-without-hash,
71
+ execfile-builtin,
72
+ file-builtin,
73
+ filter-builtin-not-iterating,
74
+ fixme,
75
+ getslice-method,
76
+ global-statement,
77
+ hex-method,
78
+ idiv-method,
79
+ implicit-str-concat-in-sequence,
80
+ import-error,
81
+ import-self,
82
+ import-star-module-level,
83
+ inconsistent-return-statements,
84
+ input-builtin,
85
+ intern-builtin,
86
+ invalid-str-codec,
87
+ locally-disabled,
88
+ long-builtin,
89
+ long-suffix,
90
+ map-builtin-not-iterating,
91
+ misplaced-comparison-constant,
92
+ missing-function-docstring,
93
+ metaclass-assignment,
94
+ next-method-called,
95
+ next-method-defined,
96
+ no-absolute-import,
97
+ no-else-break,
98
+ no-else-continue,
99
+ no-else-raise,
100
+ no-else-return,
101
+ no-init, # added
102
+ no-member,
103
+ no-name-in-module,
104
+ no-self-use,
105
+ nonzero-method,
106
+ oct-method,
107
+ old-division,
108
+ old-ne-operator,
109
+ old-octal-literal,
110
+ old-raise-syntax,
111
+ parameter-unpacking,
112
+ print-statement,
113
+ raising-string,
114
+ range-builtin-not-iterating,
115
+ raw_input-builtin,
116
+ rdiv-method,
117
+ reduce-builtin,
118
+ relative-import,
119
+ reload-builtin,
120
+ round-builtin,
121
+ setslice-method,
122
+ signature-differs,
123
+ standarderror-builtin,
124
+ suppressed-message,
125
+ inconsistent-quotes,
126
+ sys-max-int,
127
+ too-few-public-methods,
128
+ too-many-ancestors,
129
+ too-many-arguments,
130
+ too-many-boolean-expressions,
131
+ too-many-branches,
132
+ too-many-instance-attributes,
133
+ too-many-locals,
134
+ too-many-nested-blocks,
135
+ too-many-public-methods,
136
+ too-many-return-statements,
137
+ too-many-statements,
138
+ trailing-newlines,
139
+ unichr-builtin,
140
+ unicode-builtin,
141
+ unnecessary-pass,
142
+ unpacking-in-except,
143
+ useless-else-on-loop,
144
+ useless-object-inheritance,
145
+ useless-suppression,
146
+ using-cmp-argument,
147
+ import-outside-toplevel,
148
+ cyclic-import,
149
+ wrong-import-order,
150
+ xrange-builtin,
151
+ zip-builtin-not-iterating,
152
+
153
+
154
+ [REPORTS]
155
+
156
+ # Set the output format. Available formats are text, parseable, colorized, msvs
157
+ # (visual studio) and html. You can also give a reporter class, eg
158
+ # mypackage.mymodule.MyReporterClass.
159
+ output-format=text
160
+
161
+ # Put messages in a separate file for each module / package specified on the
162
+ # command line instead of printing them on stdout. Reports (if any) will be
163
+ # written in a file name "pylint_global.[txt|html]". This option is deprecated
164
+ # and it will be removed in Pylint 2.0.
165
+ # files-output=no
166
+
167
+ # Tells whether to display a full report or only the messages
168
+ reports=no
169
+
170
+ # Python expression which should return a note less than 10 (10 is the highest
171
+ # note). You have access to the variables errors warning, statement which
172
+ # respectively contain the number of errors / warnings messages and the total
173
+ # number of statements analyzed. This is used by the global evaluation report
174
+ # (RP0004).
175
+ evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
176
+
177
+ # Template used to display messages. This is a python new-style format string
178
+ # used to format the message information. See doc for all details
179
+ #msg-template=
180
+
181
+
182
+ [BASIC]
183
+
184
+ # Good variable names which should always be accepted, separated by a comma
185
+ good-names=main,_
186
+
187
+ # Bad variable names which should always be refused, separated by a comma
188
+ bad-names=
189
+
190
+ # Colon-delimited sets of names that determine each other's naming style when
191
+ # the name regexes allow several styles.
192
+ name-group=
193
+
194
+ # Include a hint for the correct naming format with invalid-name
195
+ include-naming-hint=no
196
+
197
+ # List of decorators that produce properties, such as abc.abstractproperty. Add
198
+ # to this list to register other decorators that produce valid properties.
199
+ property-classes=abc.abstractproperty,cached_property.cached_property,cached_property.threaded_cached_property,cached_property.cached_property_with_ttl,cached_property.threaded_cached_property_with_ttl
200
+
201
+ # Regular expression matching correct function names
202
+ function-rgx=^(?:(?P<exempt>setUp|tearDown|setUpModule|tearDownModule)|(?P<camel_case>_?[A-Z][a-zA-Z0-9]*)|(?P<snake_case>_?[a-z][a-z0-9_]*))$
203
+
204
+ # Regular expression matching correct variable names
205
+ variable-rgx=^[a-z][a-z0-9_]*$
206
+
207
+ # Regular expression matching correct constant names
208
+ const-rgx=^(_?[A-Z][A-Z0-9_]*|__[a-z0-9_]+__|_?[a-z][a-z0-9_]*)$
209
+
210
+ # Regular expression matching correct attribute names
211
+ attr-rgx=^_{0,2}[a-z][a-z0-9_]*$
212
+
213
+ # Regular expression matching correct argument names
214
+ argument-rgx=^[a-z][a-z0-9_]*$
215
+
216
+ # Regular expression matching correct class attribute names
217
+ class-attribute-rgx=^(_?[A-Z][A-Z0-9_]*|__[a-z0-9_]+__|_?[a-z][a-z0-9_]*)$
218
+
219
+ # Regular expression matching correct inline iteration names
220
+ inlinevar-rgx=^[a-z][a-z0-9_]*$
221
+
222
+ # Regular expression matching correct class names
223
+ class-rgx=^_?[A-Z][a-zA-Z0-9]*$
224
+
225
+ # Regular expression matching correct module names
226
+ module-rgx=^(_?[a-z][a-z0-9_]*|__init__)$
227
+
228
+ # Regular expression matching correct method names
229
+ method-rgx=(?x)^(?:(?P<exempt>_[a-z0-9_]+__|runTest|setUp|tearDown|setUpTestCase|tearDownTestCase|setupSelf|tearDownClass|setUpClass|(test|assert)_*[A-Z0-9][a-zA-Z0-9_]*|next)|(?P<camel_case>_{0,2}[A-Z][a-zA-Z0-9_]*)|(?P<snake_case>_{0,2}[a-z][a-z0-9_]*))$
230
+
231
+ # Regular expression which should only match function or class names that do
232
+ # not require a docstring.
233
+ no-docstring-rgx=(__.*__|main|test.*|.*test|.*Test)$
234
+
235
+ # Minimum line length for functions/classes that require docstrings, shorter
236
+ # ones are exempt.
237
+ docstring-min-length=10
238
+
239
+
240
+ [TYPECHECK]
241
+
242
+ # List of decorators that produce context managers, such as
243
+ # contextlib.contextmanager. Add to this list to register other decorators that
244
+ # produce valid context managers.
245
+ contextmanager-decorators=contextlib.contextmanager,contextlib2.contextmanager
246
+
247
+ # Tells whether missing members accessed in mixin class should be ignored. A
248
+ # mixin class is detected if its name ends with "mixin" (case insensitive).
249
+ ignore-mixin-members=yes
250
+
251
+ # List of module names for which member attributes should not be checked
252
+ # (useful for modules/projects where namespaces are manipulated during runtime
253
+ # and thus existing member attributes cannot be deduced by static analysis. It
254
+ # supports qualified module names, as well as Unix pattern matching.
255
+ ignored-modules=
256
+
257
+ # List of class names for which member attributes should not be checked (useful
258
+ # for classes with dynamically set attributes). This supports the use of
259
+ # qualified names.
260
+ ignored-classes=optparse.Values,thread._local,_thread._local
261
+
262
+ # List of members which are set dynamically and missed by pylint inference
263
+ # system, and so shouldn't trigger E1101 when accessed. Python regular
264
+ # expressions are accepted.
265
+ generated-members=
266
+
267
+
268
+ [FORMAT]
269
+
270
+ # Maximum number of characters on a single line.
271
+ max-line-length=80
272
+
273
+ # TODO(https://github.com/PyCQA/pylint/issues/3352): Direct pylint to exempt
274
+ # lines made too long by directives to pytype.
275
+
276
+ # Regexp for a line that is allowed to be longer than the limit.
277
+ ignore-long-lines=(?x)(
278
+ ^\s*(\#\ )?<?https?://\S+>?$|
279
+ ^\s*(from\s+\S+\s+)?import\s+.+$)
280
+
281
+ # Allow the body of an if to be on the same line as the test if there is no
282
+ # else.
283
+ single-line-if-stmt=yes
284
+
285
+ # List of optional constructs for which whitespace checking is disabled. `dict-
286
+ # separator` is used to allow tabulation in dicts, etc.: {1 : 1,\n222: 2}.
287
+ # `trailing-comma` allows a space between comma and closing bracket: (a, ).
288
+ # `empty-line` allows space-only lines.
289
+ # no-space-check=
290
+
291
+ # Maximum number of lines in a module
292
+ max-module-lines=99999
293
+
294
+ # String used as indentation unit. The internal Google style guide mandates 2
295
+ # spaces. Google's externaly-published style guide says 4, consistent with
296
+ # PEP 8. Here, we use 2 spaces, for conformity with many open-sourced Google
297
+ # projects (like TensorFlow).
298
+ indent-string=' '
299
+
300
+ # Number of spaces of indent required inside a hanging or continued line.
301
+ indent-after-paren=4
302
+
303
+ # Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
304
+ expected-line-ending-format=
305
+
306
+
307
+ [MISCELLANEOUS]
308
+
309
+ # List of note tags to take in consideration, separated by a comma.
310
+ notes=TODO
311
+
312
+
313
+ [STRING]
314
+
315
+ # This flag controls whether inconsistent-quotes generates a warning when the
316
+ # character used as a quote delimiter is used inconsistently within a module.
317
+ check-quote-consistency=yes
318
+
319
+
320
+ [VARIABLES]
321
+
322
+ # Tells whether we should check for unused import in __init__ files.
323
+ init-import=no
324
+
325
+ # A regular expression matching the name of dummy variables (i.e. expectedly
326
+ # not used).
327
+ dummy-variables-rgx=^\*{0,2}(_$|unused_|dummy_)
328
+
329
+ # List of additional names supposed to be defined in builtins. Remember that
330
+ # you should avoid to define new builtins when possible.
331
+ additional-builtins=
332
+
333
+ # List of strings which can identify a callback function by name. A callback
334
+ # name must start or end with one of those strings.
335
+ callbacks=cb_,_cb
336
+
337
+ # List of qualified module names which can have objects that can redefine
338
+ # builtins.
339
+ redefining-builtins-modules=six,six.moves,past.builtins,future.builtins,functools
340
+
341
+
342
+ [LOGGING]
343
+
344
+ # Logging modules to check that the string format arguments are in logging
345
+ # function parameter format
346
+ logging-modules=logging,absl.logging,tensorflow.io.logging
347
+
348
+
349
+ [SIMILARITIES]
350
+
351
+ # Minimum lines number of a similarity.
352
+ min-similarity-lines=4
353
+
354
+ # Ignore comments when computing similarities.
355
+ ignore-comments=yes
356
+
357
+ # Ignore docstrings when computing similarities.
358
+ ignore-docstrings=yes
359
+
360
+ # Ignore imports when computing similarities.
361
+ ignore-imports=no
362
+
363
+
364
+ [SPELLING]
365
+
366
+ # Spelling dictionary name. Available dictionaries: none. To make it working
367
+ # install python-enchant package.
368
+ spelling-dict=
369
+
370
+ # List of comma separated words that should not be checked.
371
+ spelling-ignore-words=
372
+
373
+ # A path to a file that contains private dictionary; one word per line.
374
+ spelling-private-dict-file=
375
+
376
+ # Tells whether to store unknown words to indicated private dictionary in
377
+ # --spelling-private-dict-file option instead of raising a message.
378
+ spelling-store-unknown-words=no
379
+
380
+
381
+ [IMPORTS]
382
+
383
+ # Deprecated modules which should not be used, separated by a comma
384
+ deprecated-modules=regsub,
385
+ TERMIOS,
386
+ Bastion,
387
+ rexec,
388
+ sets
389
+
390
+ # Create a graph of every (i.e. internal and external) dependencies in the
391
+ # given file (report RP0402 must not be disabled)
392
+ import-graph=
393
+
394
+ # Create a graph of external dependencies in the given file (report RP0402 must
395
+ # not be disabled)
396
+ ext-import-graph=
397
+
398
+ # Create a graph of internal dependencies in the given file (report RP0402 must
399
+ # not be disabled)
400
+ int-import-graph=
401
+
402
+ # Force import order to recognize a module as part of the standard
403
+ # compatibility libraries.
404
+ known-standard-library=
405
+
406
+ # Force import order to recognize a module as part of a third party library.
407
+ known-third-party=enchant, absl
408
+
409
+ # Analyse import fallback blocks. This can be used to support both Python 2 and
410
+ # 3 compatible code, which means that the block might have code that exists
411
+ # only in one or another interpreter, leading to false positives when analysed.
412
+ analyse-fallback-blocks=no
413
+
414
+
415
+ [CLASSES]
416
+
417
+ # List of method names used to declare (i.e. assign) instance attributes.
418
+ defining-attr-methods=__init__,
419
+ __new__,
420
+ setUp
421
+
422
+ # List of member names, which should be excluded from the protected access
423
+ # warning.
424
+ exclude-protected=_asdict,
425
+ _fields,
426
+ _replace,
427
+ _source,
428
+ _make
429
+
430
+ # List of valid names for the first argument in a class method.
431
+ valid-classmethod-first-arg=cls,
432
+ class_
433
+
434
+ # List of valid names for the first argument in a metaclass class method.
435
+ valid-metaclass-classmethod-first-arg=mcs
436
+
437
+
438
+ [EXCEPTIONS]
439
+
440
+ # Exceptions that will emit a warning when being caught. Defaults to
441
+ # "Exception"
442
+ overgeneral-exceptions=builtins.StandardError,
443
+ builtins.Exception,
444
+ builtins.BaseException
@@ -0,0 +1,18 @@
1
+ version: 2
2
+
3
+ build:
4
+ os: ubuntu-22.04
5
+ tools:
6
+ python: "3.11"
7
+ apt_packages:
8
+ - cmake
9
+
10
+ sphinx:
11
+ configuration: docs/conf.py
12
+
13
+ python:
14
+ install:
15
+ - method: pip
16
+ path: .
17
+ extra_requirements:
18
+ - docs