@geode/opengeodeweb-back 0.0.0-semantically-released

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 (88) hide show
  1. package/.gitattributes +2 -0
  2. package/.github/workflows/Branch-protection.yml +11 -0
  3. package/.github/workflows/CD.yml +53 -0
  4. package/.github/workflows/prepare_pr.yml +11 -0
  5. package/.pylintrc +536 -0
  6. package/.pypirc +6 -0
  7. package/CHANGELOG.md +1223 -0
  8. package/COPYLEFT +4 -0
  9. package/LICENSE +21 -0
  10. package/README.md +32 -0
  11. package/app.py +54 -0
  12. package/config.py +29 -0
  13. package/generate_schemas.js +82 -0
  14. package/package.json +31 -0
  15. package/pyproject.toml +48 -0
  16. package/requirements.in +15 -0
  17. package/requirements.txt +116 -0
  18. package/src/OpenGeodeWeb_Back.egg-info/PKG-INFO +74 -0
  19. package/src/OpenGeodeWeb_Back.egg-info/SOURCES.txt +22 -0
  20. package/src/OpenGeodeWeb_Back.egg-info/dependency_links.txt +1 -0
  21. package/src/OpenGeodeWeb_Back.egg-info/requires.txt +28 -0
  22. package/src/OpenGeodeWeb_Back.egg-info/top_level.txt +1 -0
  23. package/src/opengeodeweb_back/__init__.py +0 -0
  24. package/src/opengeodeweb_back/geode_functions.py +330 -0
  25. package/src/opengeodeweb_back/geode_objects.py +429 -0
  26. package/src/opengeodeweb_back/inspector_functions.py +483 -0
  27. package/src/opengeodeweb_back/routes/blueprint_routes.py +178 -0
  28. package/src/opengeodeweb_back/routes/schemas/allowed_files.json +20 -0
  29. package/src/opengeodeweb_back/routes/schemas/allowed_objects.json +16 -0
  30. package/src/opengeodeweb_back/routes/schemas/geode_objects_and_output_extensions.json +21 -0
  31. package/src/opengeodeweb_back/routes/schemas/geographic_coordinate_systems.json +17 -0
  32. package/src/opengeodeweb_back/routes/schemas/missing_files.json +16 -0
  33. package/src/opengeodeweb_back/routes/schemas/upload_file.json +15 -0
  34. package/tests/__init__.py +0 -0
  35. package/tests/conftest.py +12 -0
  36. package/tests/corbi.og_brep +0 -0
  37. package/tests/data/test.bmp +0 -0
  38. package/tests/data/test.dat +11 -0
  39. package/tests/data/test.dev +121 -0
  40. package/tests/data/test.dxf +4184 -0
  41. package/tests/data/test.grdecl +2555 -0
  42. package/tests/data/test.jpg +0 -0
  43. package/tests/data/test.lso +3637 -0
  44. package/tests/data/test.ml +78770 -0
  45. package/tests/data/test.msh +800 -0
  46. package/tests/data/test.obj +24 -0
  47. package/tests/data/test.og_brep +0 -0
  48. package/tests/data/test.og_edc2d +0 -0
  49. package/tests/data/test.og_edc3d +0 -0
  50. package/tests/data/test.og_grp +0 -0
  51. package/tests/data/test.og_hso3d +0 -0
  52. package/tests/data/test.og_img2d +3 -0
  53. package/tests/data/test.og_img3d +0 -0
  54. package/tests/data/test.og_lrgd2d +0 -0
  55. package/tests/data/test.og_lrgd3d +0 -0
  56. package/tests/data/test.og_psf2d +0 -0
  57. package/tests/data/test.og_psf3d +0 -0
  58. package/tests/data/test.og_pso3d +0 -0
  59. package/tests/data/test.og_pts2d +0 -0
  60. package/tests/data/test.og_pts3d +0 -0
  61. package/tests/data/test.og_rgd2d +0 -0
  62. package/tests/data/test.og_rgd3d +0 -0
  63. package/tests/data/test.og_sctn +0 -0
  64. package/tests/data/test.og_strm +0 -0
  65. package/tests/data/test.og_tsf2d +0 -0
  66. package/tests/data/test.og_tsf3d +0 -0
  67. package/tests/data/test.og_tso3d +0 -0
  68. package/tests/data/test.og_vts +0 -0
  69. package/tests/data/test.og_xsctn +0 -0
  70. package/tests/data/test.ply +20 -0
  71. package/tests/data/test.png +0 -0
  72. package/tests/data/test.shp +0 -0
  73. package/tests/data/test.shx +0 -0
  74. package/tests/data/test.shz +0 -0
  75. package/tests/data/test.smesh +2049 -0
  76. package/tests/data/test.stl +7191 -0
  77. package/tests/data/test.svg +144 -0
  78. package/tests/data/test.ts +266 -0
  79. package/tests/data/test.txt +11 -0
  80. package/tests/data/test.vo +49 -0
  81. package/tests/data/test.vti +3 -0
  82. package/tests/data/test.vtp +212 -0
  83. package/tests/data/test.vtu +3585 -0
  84. package/tests/data/test.wl +76 -0
  85. package/tests/data/test__ascii@@ +1003 -0
  86. package/tests/test_functions.py +291 -0
  87. package/tests/test_routes.py +131 -0
  88. package/tmp.3491.json +0 -0
package/.gitattributes ADDED
@@ -0,0 +1,2 @@
1
+ tests/data/test.og_img2d filter=lfs diff=lfs merge=lfs -text
2
+ tests/data/test.vti filter=lfs diff=lfs merge=lfs -text
@@ -0,0 +1,11 @@
1
+ name: Check branch origin
2
+
3
+ on:
4
+ pull_request:
5
+
6
+ jobs:
7
+ check-branch-protection:
8
+ uses: Geode-solutions/actions/.github/workflows/branch-protection.yml@master
9
+ with:
10
+ branch_from: 'next'
11
+ branch_to: 'master'
@@ -0,0 +1,53 @@
1
+ name: CD
2
+
3
+ on:
4
+ push:
5
+ branches: [master, next]
6
+
7
+ jobs:
8
+ build:
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - name: Checkout
12
+ uses: actions/checkout@v4
13
+ with:
14
+ fetch-depth: 0
15
+ token: ${{ secrets.TOKEN }}
16
+ - name: Python Semantic Release
17
+ uses: python-semantic-release/python-semantic-release@master
18
+ id: semantic-release
19
+ with:
20
+ github_token: ${{ secrets.TOKEN }}
21
+ - name: Build
22
+ run: |
23
+ python3 -m pip install --upgrade build
24
+ python3 -m build
25
+ - name: Upload PYPI
26
+ if: steps.semantic-release.outputs.released == 'true'
27
+ run: |
28
+ python3 -m pip install twine
29
+ python3 -m twine upload --repository pypi dist/* -u __token__ -p ${{ secrets.PYPI_TOKEN }}
30
+ - name: Setup NODE
31
+ uses: actions/setup-node@v3
32
+ with:
33
+ registry-url: "https://registry.npmjs.org"
34
+ node-version: "20.x"
35
+ - name: Upload NPM
36
+ if: steps.semantic-release.outputs.released == 'true'
37
+ run: |
38
+ pwd
39
+ cd ${{ github.workspace }}
40
+ npm i
41
+ npm run json
42
+ jq -c '.version = steps.semantic-release.outputs.version' package.json > tmp.$$.json && mv tmp.$$.json package.json
43
+ npm publish
44
+ env:
45
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
46
+ - name: Merge master -> next
47
+ if: github.ref == 'refs/heads/master'
48
+ uses: devmasx/merge-branch@master
49
+ with:
50
+ type: now
51
+ from_branch: master
52
+ target_branch: next
53
+ github_token: ${{ github.token }}
@@ -0,0 +1,11 @@
1
+ name: Prepare PR
2
+
3
+ on:
4
+ pull_request:
5
+ branches:
6
+ - next
7
+
8
+ jobs:
9
+ prepare:
10
+ uses: Geode-solutions/actions/.github/workflows/py-prepare-pr.yml@master
11
+ secrets: inherit
package/.pylintrc ADDED
@@ -0,0 +1,536 @@
1
+ [tool.pylint.main]
2
+ # Analyse import fallback blocks. This can be used to support both Python 2 and 3
3
+ # compatible code, which means that the block might have code that exists only in
4
+ # one or another interpreter, leading to false positives when analysed.
5
+ # analyse-fallback-blocks =
6
+
7
+ # Clear in-memory caches upon conclusion of linting. Useful if running pylint in
8
+ # a server-like mode.
9
+ # clear-cache-post-run =
10
+
11
+ # Always return a 0 (non-error) status code, even if lint errors are found. This
12
+ # is primarily useful in continuous integration scripts.
13
+ # exit-zero =
14
+
15
+ # A comma-separated list of package or module names from where C extensions may
16
+ # be loaded. Extensions are loading into the active Python interpreter and may
17
+ # run arbitrary code.
18
+ # extension-pkg-allow-list =
19
+
20
+ # A comma-separated list of package or module names from where C extensions may
21
+ # be loaded. Extensions are loading into the active Python interpreter and may
22
+ # run arbitrary code. (This is an alternative name to extension-pkg-allow-list
23
+ # for backward compatibility.)
24
+ # extension-pkg-whitelist =
25
+
26
+ # Return non-zero exit code if any of these messages/categories are detected,
27
+ # even if score is above --fail-under value. Syntax same as enable. Messages
28
+ # specified are enabled, while categories only check already-enabled messages.
29
+ # fail-on =
30
+
31
+ # Specify a score threshold under which the program will exit with error.
32
+ fail-under = 10
33
+
34
+ # Interpret the stdin as a python script, whose filename needs to be passed as
35
+ # the module_or_package argument.
36
+ # from-stdin =
37
+
38
+ # Files or directories to be skipped. They should be base names, not paths.
39
+ ignore = ["CVS"]
40
+
41
+ # Add files or directories matching the regular expressions patterns to the
42
+ # ignore-list. The regex matches against paths and can be in Posix or Windows
43
+ # format. Because '\\' represents the directory delimiter on Windows systems, it
44
+ # can't be used as an escape character.
45
+ # ignore-paths =
46
+
47
+ # Files or directories matching the regular expression patterns are skipped. The
48
+ # regex matches against base names, not paths. The default value ignores Emacs
49
+ # file locks
50
+ ignore-patterns = ["^\\.#"]
51
+
52
+ # List of module names for which member attributes should not be checked (useful
53
+ # for modules/projects where namespaces are manipulated during runtime and thus
54
+ # existing member attributes cannot be deduced by static analysis). It supports
55
+ # qualified module names, as well as Unix pattern matching.
56
+ # ignored-modules =
57
+
58
+ # Python code to execute, usually for sys.path manipulation such as
59
+ # pygtk.require().
60
+ # init-hook =
61
+
62
+ # Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the
63
+ # number of processors available to use, and will cap the count on Windows to
64
+ # avoid hangs.
65
+ jobs = 1
66
+
67
+ # Control the amount of potential inferred values when inferring a single object.
68
+ # This can help the performance when dealing with large functions or complex,
69
+ # nested conditions.
70
+ limit-inference-results = 100
71
+
72
+ # List of plugins (as comma separated values of python module names) to load,
73
+ # usually to register additional checkers.
74
+ # load-plugins =
75
+
76
+ # Pickle collected data for later comparisons.
77
+ persistent = true
78
+
79
+ # Minimum Python version to use for version dependent checks. Will default to the
80
+ # version used to run pylint.
81
+ py-version = "3.9"
82
+
83
+ # Discover python modules and packages in the file system subtree.
84
+ # recursive =
85
+
86
+ # Add paths to the list of the source roots. Supports globbing patterns. The
87
+ # source root is an absolute path or a path relative to the current working
88
+ # directory used to determine a package namespace for modules located under the
89
+ # source root.
90
+ # source-roots =
91
+
92
+ # When enabled, pylint would attempt to guess common misconfiguration and emit
93
+ # user-friendly hints instead of false-positive error messages.
94
+ suggestion-mode = true
95
+
96
+ # Allow loading of arbitrary C extensions. Extensions are imported into the
97
+ # active Python interpreter and may run arbitrary code.
98
+ # unsafe-load-any-extension =
99
+
100
+ [tool.pylint.basic]
101
+ # Naming style matching correct argument names.
102
+ argument-naming-style = "snake_case"
103
+
104
+ # Regular expression matching correct argument names. Overrides argument-naming-
105
+ # style. If left empty, argument names will be checked with the set naming style.
106
+ # argument-rgx =
107
+
108
+ # Naming style matching correct attribute names.
109
+ attr-naming-style = "snake_case"
110
+
111
+ # Regular expression matching correct attribute names. Overrides attr-naming-
112
+ # style. If left empty, attribute names will be checked with the set naming
113
+ # style.
114
+ # attr-rgx =
115
+
116
+ # Bad variable names which should always be refused, separated by a comma.
117
+ bad-names = ["foo", "bar", "baz", "toto", "tutu", "tata"]
118
+
119
+ # Bad variable names regexes, separated by a comma. If names match any regex,
120
+ # they will always be refused
121
+ # bad-names-rgxs =
122
+
123
+ # Naming style matching correct class attribute names.
124
+ class-attribute-naming-style = "any"
125
+
126
+ # Regular expression matching correct class attribute names. Overrides class-
127
+ # attribute-naming-style. If left empty, class attribute names will be checked
128
+ # with the set naming style.
129
+ # class-attribute-rgx =
130
+
131
+ # Naming style matching correct class constant names.
132
+ class-const-naming-style = "UPPER_CASE"
133
+
134
+ # Regular expression matching correct class constant names. Overrides class-
135
+ # const-naming-style. If left empty, class constant names will be checked with
136
+ # the set naming style.
137
+ # class-const-rgx =
138
+
139
+ # Naming style matching correct class names.
140
+ class-naming-style = "PascalCase"
141
+
142
+ # Regular expression matching correct class names. Overrides class-naming-style.
143
+ # If left empty, class names will be checked with the set naming style.
144
+ # class-rgx =
145
+
146
+ # Naming style matching correct constant names.
147
+ const-naming-style = "UPPER_CASE"
148
+
149
+ # Regular expression matching correct constant names. Overrides const-naming-
150
+ # style. If left empty, constant names will be checked with the set naming style.
151
+ # const-rgx =
152
+
153
+ # Minimum line length for functions/classes that require docstrings, shorter ones
154
+ # are exempt.
155
+ docstring-min-length = -1
156
+
157
+ # Naming style matching correct function names.
158
+ function-naming-style = "snake_case"
159
+
160
+ # Regular expression matching correct function names. Overrides function-naming-
161
+ # style. If left empty, function names will be checked with the set naming style.
162
+ # function-rgx =
163
+
164
+ # Good variable names which should always be accepted, separated by a comma.
165
+ good-names = ["i", "j", "k", "ex", "Run", "_"]
166
+
167
+ # Good variable names regexes, separated by a comma. If names match any regex,
168
+ # they will always be accepted
169
+ # good-names-rgxs =
170
+
171
+ # Include a hint for the correct naming format with invalid-name.
172
+ # include-naming-hint =
173
+
174
+ # Naming style matching correct inline iteration names.
175
+ inlinevar-naming-style = "any"
176
+
177
+ # Regular expression matching correct inline iteration names. Overrides
178
+ # inlinevar-naming-style. If left empty, inline iteration names will be checked
179
+ # with the set naming style.
180
+ # inlinevar-rgx =
181
+
182
+ # Naming style matching correct method names.
183
+ method-naming-style = "snake_case"
184
+
185
+ # Regular expression matching correct method names. Overrides method-naming-
186
+ # style. If left empty, method names will be checked with the set naming style.
187
+ # method-rgx =
188
+
189
+ # Naming style matching correct module names.
190
+ module-naming-style = "snake_case"
191
+
192
+ # Regular expression matching correct module names. Overrides module-naming-
193
+ # style. If left empty, module names will be checked with the set naming style.
194
+ # module-rgx =
195
+
196
+ # Colon-delimited sets of names that determine each other's naming style when the
197
+ # name regexes allow several styles.
198
+ # name-group =
199
+
200
+ # Regular expression which should only match function or class names that do not
201
+ # require a docstring.
202
+ no-docstring-rgx = "^_"
203
+
204
+ # List of decorators that produce properties, such as abc.abstractproperty. Add
205
+ # to this list to register other decorators that produce valid properties. These
206
+ # decorators are taken in consideration only for invalid-name.
207
+ property-classes = ["abc.abstractproperty"]
208
+
209
+ # Regular expression matching correct type alias names. If left empty, type alias
210
+ # names will be checked with the set naming style.
211
+ # typealias-rgx =
212
+
213
+ # Regular expression matching correct type variable names. If left empty, type
214
+ # variable names will be checked with the set naming style.
215
+ # typevar-rgx =
216
+
217
+ # Naming style matching correct variable names.
218
+ variable-naming-style = "snake_case"
219
+
220
+ # Regular expression matching correct variable names. Overrides variable-naming-
221
+ # style. If left empty, variable names will be checked with the set naming style.
222
+ # variable-rgx =
223
+
224
+ [tool.pylint.classes]
225
+ # Warn about protected attribute access inside special methods
226
+ # check-protected-access-in-special-methods =
227
+
228
+ # List of method names used to declare (i.e. assign) instance attributes.
229
+ defining-attr-methods = ["__init__", "__new__", "setUp", "asyncSetUp", "__post_init__"]
230
+
231
+ # List of member names, which should be excluded from the protected access
232
+ # warning.
233
+ exclude-protected = ["_asdict", "_fields", "_replace", "_source", "_make", "os._exit"]
234
+
235
+ # List of valid names for the first argument in a class method.
236
+ valid-classmethod-first-arg = ["cls"]
237
+
238
+ # List of valid names for the first argument in a metaclass class method.
239
+ valid-metaclass-classmethod-first-arg = ["mcs"]
240
+
241
+ [tool.pylint.design]
242
+ # List of regular expressions of class ancestor names to ignore when counting
243
+ # public methods (see R0903)
244
+ # exclude-too-few-public-methods =
245
+
246
+ # List of qualified class names to ignore when counting class parents (see R0901)
247
+ # ignored-parents =
248
+
249
+ # Maximum number of arguments for function / method.
250
+ max-args = 5
251
+
252
+ # Maximum number of attributes for a class (see R0902).
253
+ max-attributes = 7
254
+
255
+ # Maximum number of boolean expressions in an if statement (see R0916).
256
+ max-bool-expr = 5
257
+
258
+ # Maximum number of branch for function / method body.
259
+ max-branches = 12
260
+
261
+ # Maximum number of locals for function / method body.
262
+ max-locals = 15
263
+
264
+ # Maximum number of parents for a class (see R0901).
265
+ max-parents = 7
266
+
267
+ # Maximum number of public methods for a class (see R0904).
268
+ max-public-methods = 20
269
+
270
+ # Maximum number of return / yield for function / method body.
271
+ max-returns = 6
272
+
273
+ # Maximum number of statements in function / method body.
274
+ max-statements = 50
275
+
276
+ # Minimum number of public methods for a class (see R0903).
277
+ min-public-methods = 2
278
+
279
+ [tool.pylint.exceptions]
280
+ # Exceptions that will emit a warning when caught.
281
+ overgeneral-exceptions = ["builtins.BaseException", "builtins.Exception"]
282
+
283
+ [tool.pylint.format]
284
+ # Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
285
+ # expected-line-ending-format =
286
+
287
+ # Regexp for a line that is allowed to be longer than the limit.
288
+ ignore-long-lines = "^\\s*(# )?<?https?://\\S+>?$"
289
+
290
+ # Number of spaces of indent required inside a hanging or continued line.
291
+ indent-after-paren = 4
292
+
293
+ # String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
294
+ # tab).
295
+ indent-string = " "
296
+
297
+ # Maximum number of characters on a single line.
298
+ max-line-length = 100
299
+
300
+ # Maximum number of lines in a module.
301
+ max-module-lines = 1000
302
+
303
+ # Allow the body of a class to be on the same line as the declaration if body
304
+ # contains single statement.
305
+ # single-line-class-stmt =
306
+
307
+ # Allow the body of an if to be on the same line as the test if there is no else.
308
+ # single-line-if-stmt =
309
+
310
+ [tool.pylint.imports]
311
+ # List of modules that can be imported at any level, not just the top level one.
312
+ # allow-any-import-level =
313
+
314
+ # Allow explicit reexports by alias from a package __init__.
315
+ # allow-reexport-from-package =
316
+
317
+ # Allow wildcard imports from modules that define __all__.
318
+ # allow-wildcard-with-all =
319
+
320
+ # Deprecated modules which should not be used, separated by a comma.
321
+ # deprecated-modules =
322
+
323
+ # Output a graph (.gv or any supported image format) of external dependencies to
324
+ # the given file (report RP0402 must not be disabled).
325
+ # ext-import-graph =
326
+
327
+ # Output a graph (.gv or any supported image format) of all (i.e. internal and
328
+ # external) dependencies to the given file (report RP0402 must not be disabled).
329
+ # import-graph =
330
+
331
+ # Output a graph (.gv or any supported image format) of internal dependencies to
332
+ # the given file (report RP0402 must not be disabled).
333
+ # int-import-graph =
334
+
335
+ # Force import order to recognize a module as part of the standard compatibility
336
+ # libraries.
337
+ # known-standard-library =
338
+
339
+ # Force import order to recognize a module as part of a third party library.
340
+ known-third-party = ["enchant"]
341
+
342
+ # Couples of modules and preferred modules, separated by a comma.
343
+ # preferred-modules =
344
+
345
+ [tool.pylint.logging]
346
+ # The type of string formatting that logging methods do. `old` means using %
347
+ # formatting, `new` is for `{}` formatting.
348
+ logging-format-style = "old"
349
+
350
+ # Logging modules to check that the string format arguments are in logging
351
+ # function parameter format.
352
+ logging-modules = ["logging"]
353
+
354
+ [tool.pylint."messages control"]
355
+ # Only show warnings with the listed confidence levels. Leave empty to show all.
356
+ # Valid levels: HIGH, CONTROL_FLOW, INFERENCE, INFERENCE_FAILURE, UNDEFINED.
357
+ confidence = ["HIGH", "CONTROL_FLOW", "INFERENCE", "INFERENCE_FAILURE", "UNDEFINED"]
358
+
359
+ # Disable the message, report, category or checker with the given id(s). You can
360
+ # either give multiple identifiers separated by comma (,) or put this option
361
+ # multiple times (only on the command line, not in the configuration file where
362
+ # it should appear only once). You can also use "--disable=all" to disable
363
+ # everything first and then re-enable specific checks. For example, if you want
364
+ # to run only the similarities checker, you can use "--disable=all
365
+ # --enable=similarities". If you want to run only the classes checker, but have
366
+ # no Warning level messages displayed, use "--disable=all --enable=classes
367
+ # --disable=W".
368
+ disable = ["raw-checker-failed", "bad-inline-option", "locally-disabled", "file-ignored", "suppressed-message", "useless-suppression", "deprecated-pragma", "use-symbolic-message-instead", "use-implicit-booleaness-not-comparison-to-string", "use-implicit-booleaness-not-comparison-to-zero"]
369
+
370
+ # Enable the message, report, category or checker with the given id(s). You can
371
+ # either give multiple identifier separated by comma (,) or put this option
372
+ # multiple time (only on the command line, not in the configuration file where it
373
+ # should appear only once). See also the "--disable" option for examples.
374
+ # enable =
375
+
376
+ [tool.pylint.method_args]
377
+ # List of qualified names (i.e., library.method) which require a timeout
378
+ # parameter e.g. 'requests.api.get,requests.api.post'
379
+ timeout-methods = ["requests.api.delete", "requests.api.get", "requests.api.head", "requests.api.options", "requests.api.patch", "requests.api.post", "requests.api.put", "requests.api.request"]
380
+
381
+ [tool.pylint.miscellaneous]
382
+ # List of note tags to take in consideration, separated by a comma.
383
+ notes = ["FIXME", "XXX", "TODO"]
384
+
385
+ # Regular expression of note tags to take in consideration.
386
+ # notes-rgx =
387
+
388
+ [tool.pylint.refactoring]
389
+ # Maximum number of nested blocks for function / method body
390
+ max-nested-blocks = 5
391
+
392
+ # Complete name of functions that never returns. When checking for inconsistent-
393
+ # return-statements if a never returning function is called then it will be
394
+ # considered as an explicit return statement and no message will be printed.
395
+ never-returning-functions = ["sys.exit", "argparse.parse_error"]
396
+
397
+ [tool.pylint.reports]
398
+ # Python expression which should return a score less than or equal to 10. You
399
+ # have access to the variables 'fatal', 'error', 'warning', 'refactor',
400
+ # 'convention', and 'info' which contain the number of messages in each category,
401
+ # as well as 'statement' which is the total number of statements analyzed. This
402
+ # score is used by the global evaluation report (RP0004).
403
+ evaluation = "max(0, 0 if fatal else 10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10))"
404
+
405
+ # Template used to display messages. This is a python new-style format string
406
+ # used to format the message information. See doc for all details.
407
+ # msg-template =
408
+
409
+ # Set the output format. Available formats are: text, parseable, colorized, json2
410
+ # (improved json format), json (old json format) and msvs (visual studio). You
411
+ # can also give a reporter class, e.g. mypackage.mymodule.MyReporterClass.
412
+ # output-format =
413
+
414
+ # Tells whether to display a full report or only the messages.
415
+ # reports =
416
+
417
+ # Activate the evaluation score.
418
+ score = true
419
+
420
+ [tool.pylint.similarities]
421
+ # Comments are removed from the similarity computation
422
+ ignore-comments = true
423
+
424
+ # Docstrings are removed from the similarity computation
425
+ ignore-docstrings = true
426
+
427
+ # Imports are removed from the similarity computation
428
+ ignore-imports = true
429
+
430
+ # Signatures are removed from the similarity computation
431
+ ignore-signatures = true
432
+
433
+ # Minimum lines number of a similarity.
434
+ min-similarity-lines = 4
435
+
436
+ [tool.pylint.spelling]
437
+ # Limits count of emitted suggestions for spelling mistakes.
438
+ max-spelling-suggestions = 4
439
+
440
+ # Spelling dictionary name. No available dictionaries : You need to install both
441
+ # the python package and the system dependency for enchant to work.
442
+ # spelling-dict =
443
+
444
+ # List of comma separated words that should be considered directives if they
445
+ # appear at the beginning of a comment and should not be checked.
446
+ spelling-ignore-comment-directives = "fmt: on,fmt: off,noqa:,noqa,nosec,isort:skip,mypy:"
447
+
448
+ # List of comma separated words that should not be checked.
449
+ # spelling-ignore-words =
450
+
451
+ # A path to a file that contains the private dictionary; one word per line.
452
+ # spelling-private-dict-file =
453
+
454
+ # Tells whether to store unknown words to the private dictionary (see the
455
+ # --spelling-private-dict-file option) instead of raising a message.
456
+ # spelling-store-unknown-words =
457
+
458
+ [tool.pylint.typecheck]
459
+ # List of decorators that produce context managers, such as
460
+ # contextlib.contextmanager. Add to this list to register other decorators that
461
+ # produce valid context managers.
462
+ contextmanager-decorators = ["contextlib.contextmanager"]
463
+
464
+ # List of members which are set dynamically and missed by pylint inference
465
+ # system, and so shouldn't trigger E1101 when accessed. Python regular
466
+ # expressions are accepted.
467
+ # generated-members =
468
+
469
+ # Tells whether missing members accessed in mixin class should be ignored. A
470
+ # class is considered mixin if its name matches the mixin-class-rgx option.
471
+ # Tells whether to warn about missing members when the owner of the attribute is
472
+ # inferred to be None.
473
+ ignore-none = true
474
+
475
+ # This flag controls whether pylint should warn about no-member and similar
476
+ # checks whenever an opaque object is returned when inferring. The inference can
477
+ # return multiple potential results while evaluating a Python object, but some
478
+ # branches might not be evaluated, which results in partial inference. In that
479
+ # case, it might be useful to still emit no-member and other checks for the rest
480
+ # of the inferred objects.
481
+ ignore-on-opaque-inference = true
482
+
483
+ # List of symbolic message names to ignore for Mixin members.
484
+ ignored-checks-for-mixins = ["no-member", "not-async-context-manager", "not-context-manager", "attribute-defined-outside-init"]
485
+
486
+ # List of class names for which member attributes should not be checked (useful
487
+ # for classes with dynamically set attributes). This supports the use of
488
+ # qualified names.
489
+ ignored-classes = ["optparse.Values", "thread._local", "_thread._local", "argparse.Namespace"]
490
+
491
+ # Show a hint with possible names when a member name was not found. The aspect of
492
+ # finding the hint is based on edit distance.
493
+ missing-member-hint = true
494
+
495
+ # The minimum edit distance a name should have in order to be considered a
496
+ # similar match for a missing member name.
497
+ missing-member-hint-distance = 1
498
+
499
+ # The total number of similar names that should be taken in consideration when
500
+ # showing a hint for a missing member.
501
+ missing-member-max-choices = 1
502
+
503
+ # Regex pattern to define which classes are considered mixins.
504
+ mixin-class-rgx = ".*[Mm]ixin"
505
+
506
+ # List of decorators that change the signature of a decorated function.
507
+ # signature-mutators =
508
+
509
+ [tool.pylint.variables]
510
+ # List of additional names supposed to be defined in builtins. Remember that you
511
+ # should avoid defining new builtins when possible.
512
+ # additional-builtins =
513
+
514
+ # Tells whether unused global variables should be treated as a violation.
515
+ allow-global-unused-variables = true
516
+
517
+ # List of names allowed to shadow builtins
518
+ # allowed-redefined-builtins =
519
+
520
+ # List of strings which can identify a callback function by name. A callback name
521
+ # must start or end with one of those strings.
522
+ callbacks = ["cb_", "_cb"]
523
+
524
+ # A regular expression matching the name of dummy variables (i.e. expected to not
525
+ # be used).
526
+ dummy-variables-rgx = "_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_"
527
+
528
+ # Argument names that match this expression will be ignored.
529
+ ignored-argument-names = "_.*|^ignored_|^unused_"
530
+
531
+ # Tells whether we should check for unused import in __init__ files.
532
+ # init-import =
533
+
534
+ # List of qualified module names which can have objects that can redefine
535
+ # builtins.
536
+ redefining-builtins-modules = ["six.moves", "past.builtins", "future.builtins", "builtins", "io"]
package/.pypirc ADDED
@@ -0,0 +1,6 @@
1
+ [distutils]
2
+ index-servers = pypi
3
+
4
+ [pypi]
5
+ username = __token__
6
+ password = <PyPI token>