bw-processing 0.9__tar.gz → 0.9.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 (41) hide show
  1. {bw-processing-0.9/bw_processing.egg-info → bw_processing-0.9.1}/PKG-INFO +4 -4
  2. {bw-processing-0.9 → bw_processing-0.9.1}/README.md +3 -3
  3. {bw-processing-0.9 → bw_processing-0.9.1}/bw_processing/__init__.py +1 -1
  4. {bw-processing-0.9 → bw_processing-0.9.1}/bw_processing/datapackage.py +30 -24
  5. {bw-processing-0.9 → bw_processing-0.9.1}/bw_processing/io_helpers.py +2 -0
  6. {bw-processing-0.9 → bw_processing-0.9.1}/bw_processing/merging.py +2 -2
  7. {bw-processing-0.9 → bw_processing-0.9.1}/bw_processing/unique_fields.py +3 -2
  8. {bw-processing-0.9 → bw_processing-0.9.1/bw_processing.egg-info}/PKG-INFO +4 -4
  9. bw_processing-0.9.1/docs/conf.py +109 -0
  10. bw-processing-0.9/docs/conf.py +0 -48
  11. {bw-processing-0.9 → bw_processing-0.9.1}/LICENSE +0 -0
  12. {bw-processing-0.9 → bw_processing-0.9.1}/MANIFEST.in +0 -0
  13. {bw-processing-0.9 → bw_processing-0.9.1}/bw_processing/array_creation.py +0 -0
  14. {bw-processing-0.9 → bw_processing-0.9.1}/bw_processing/constants.py +0 -0
  15. {bw-processing-0.9 → bw_processing-0.9.1}/bw_processing/errors.py +0 -0
  16. {bw-processing-0.9 → bw_processing-0.9.1}/bw_processing/examples/__init__.py +0 -0
  17. {bw-processing-0.9 → bw_processing-0.9.1}/bw_processing/examples/interfaces.py +0 -0
  18. {bw-processing-0.9 → bw_processing-0.9.1}/bw_processing/examples/parquet_files.py +0 -0
  19. {bw-processing-0.9 → bw_processing-0.9.1}/bw_processing/examples/simple.zip +0 -0
  20. {bw-processing-0.9 → bw_processing-0.9.1}/bw_processing/filesystem.py +0 -0
  21. {bw-processing-0.9 → bw_processing-0.9.1}/bw_processing/indexing.py +0 -0
  22. {bw-processing-0.9 → bw_processing-0.9.1}/bw_processing/io_parquet_helpers.py +0 -0
  23. {bw-processing-0.9 → bw_processing-0.9.1}/bw_processing/io_pyarrow_helpers.py +0 -0
  24. {bw-processing-0.9 → bw_processing-0.9.1}/bw_processing/proxies.py +0 -0
  25. {bw-processing-0.9 → bw_processing-0.9.1}/bw_processing/utils.py +0 -0
  26. {bw-processing-0.9 → bw_processing-0.9.1}/bw_processing.egg-info/SOURCES.txt +0 -0
  27. {bw-processing-0.9 → bw_processing-0.9.1}/bw_processing.egg-info/dependency_links.txt +0 -0
  28. {bw-processing-0.9 → bw_processing-0.9.1}/bw_processing.egg-info/not-zip-safe +0 -0
  29. {bw-processing-0.9 → bw_processing-0.9.1}/bw_processing.egg-info/requires.txt +0 -0
  30. {bw-processing-0.9 → bw_processing-0.9.1}/bw_processing.egg-info/top_level.txt +0 -0
  31. {bw-processing-0.9 → bw_processing-0.9.1}/dev/calculation_package.py +0 -0
  32. {bw-processing-0.9 → bw_processing-0.9.1}/dev/loading.py +0 -0
  33. {bw-processing-0.9 → bw_processing-0.9.1}/dev/processed_package.py +0 -0
  34. {bw-processing-0.9 → bw_processing-0.9.1}/dev/resources.py +0 -0
  35. {bw-processing-0.9 → bw_processing-0.9.1}/dev/speed_tests.py +0 -0
  36. {bw-processing-0.9 → bw_processing-0.9.1}/pyproject.toml +0 -0
  37. {bw-processing-0.9 → bw_processing-0.9.1}/setup.cfg +0 -0
  38. {bw-processing-0.9 → bw_processing-0.9.1}/tests/fixtures/basic_arrays.py +0 -0
  39. {bw-processing-0.9 → bw_processing-0.9.1}/tests/helpers/__init__.py +0 -0
  40. {bw-processing-0.9 → bw_processing-0.9.1}/tests/helpers/basic_array_helpers.py +0 -0
  41. {bw-processing-0.9 → bw_processing-0.9.1}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: bw-processing
3
- Version: 0.9
3
+ Version: 0.9.1
4
4
  Summary: Tools to create structured arrays in a common format
5
5
  Home-page: https://github.com/brightway-lca/bw_processing
6
6
  Author: Chris Mutel
@@ -46,10 +46,10 @@ Library for storing numeric data for use in matrix-based calculations. Designed
46
46
  [![PyPI](https://img.shields.io/pypi/v/bw-processing.svg)][pypi status]
47
47
  [![Status](https://img.shields.io/pypi/status/bw-processing.svg)][pypi status]
48
48
  [![Python Version](https://img.shields.io/pypi/pyversions/bw-processing)][pypi status]
49
- [![License](https://img.shields.io/pypi/l/bw-processing)][license]
49
+ [![License](https://img.shields.io/pypi/l/bw_processing)][license]
50
50
 
51
51
  [![Read the documentation at https://bw-processing.readthedocs.io/](https://img.shields.io/readthedocs/bw-processing/latest.svg?label=Read%20the%20Docs)][read the docs]
52
- [![Tests](https://github.com/brightway-lca/bw-processing/actions/workflows/python-test.yml/badge.svg)][tests]
52
+ [![Testing](https://github.com/brightway-lca/bw_processing/actions/workflows/python-test.yml/badge.svg)][tests]
53
53
  [![Codecov](https://codecov.io/gh/brightway-lca/bw-processing/branch/main/graph/badge.svg)][codecov]
54
54
 
55
55
  [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)][pre-commit]
@@ -57,7 +57,7 @@ Library for storing numeric data for use in matrix-based calculations. Designed
57
57
 
58
58
  [pypi status]: https://pypi.org/project/bw-processing/
59
59
  [read the docs]: https://bw-processing.readthedocs.io/
60
- [tests]: https://github.com/brightway-lca/bw-processing/actions?workflow=Tests
60
+ [tests]: https://github.com/brightway-lca/bw_processing/actions/workflows/python-test.yml
61
61
  [codecov]: https://app.codecov.io/gh/brightway-lca/bw-processing
62
62
  [pre-commit]: https://github.com/pre-commit/pre-commit
63
63
  [black]: https://github.com/psf/black
@@ -5,10 +5,10 @@ Library for storing numeric data for use in matrix-based calculations. Designed
5
5
  [![PyPI](https://img.shields.io/pypi/v/bw-processing.svg)][pypi status]
6
6
  [![Status](https://img.shields.io/pypi/status/bw-processing.svg)][pypi status]
7
7
  [![Python Version](https://img.shields.io/pypi/pyversions/bw-processing)][pypi status]
8
- [![License](https://img.shields.io/pypi/l/bw-processing)][license]
8
+ [![License](https://img.shields.io/pypi/l/bw_processing)][license]
9
9
 
10
10
  [![Read the documentation at https://bw-processing.readthedocs.io/](https://img.shields.io/readthedocs/bw-processing/latest.svg?label=Read%20the%20Docs)][read the docs]
11
- [![Tests](https://github.com/brightway-lca/bw-processing/actions/workflows/python-test.yml/badge.svg)][tests]
11
+ [![Testing](https://github.com/brightway-lca/bw_processing/actions/workflows/python-test.yml/badge.svg)][tests]
12
12
  [![Codecov](https://codecov.io/gh/brightway-lca/bw-processing/branch/main/graph/badge.svg)][codecov]
13
13
 
14
14
  [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)][pre-commit]
@@ -16,7 +16,7 @@ Library for storing numeric data for use in matrix-based calculations. Designed
16
16
 
17
17
  [pypi status]: https://pypi.org/project/bw-processing/
18
18
  [read the docs]: https://bw-processing.readthedocs.io/
19
- [tests]: https://github.com/brightway-lca/bw-processing/actions?workflow=Tests
19
+ [tests]: https://github.com/brightway-lca/bw_processing/actions/workflows/python-test.yml
20
20
  [codecov]: https://app.codecov.io/gh/brightway-lca/bw-processing
21
21
  [pre-commit]: https://github.com/pre-commit/pre-commit
22
22
  [black]: https://github.com/psf/black
@@ -26,7 +26,7 @@ __all__ = (
26
26
  "UndefinedInterface",
27
27
  )
28
28
 
29
- __version__ = "0.9"
29
+ __version__ = "0.9.1"
30
30
 
31
31
 
32
32
  from .array_creation import create_array, create_structured_array
@@ -369,7 +369,7 @@ class Datapackage(DatapackageBase):
369
369
  "id": id_ or uuid.uuid4().hex,
370
370
  "licenses": (metadata or {}).get("licenses", DEFAULT_LICENSES),
371
371
  "resources": [],
372
- "created": datetime.datetime.utcnow().isoformat("T") + "Z",
372
+ "created": datetime.datetime.now(datetime.UTC).isoformat("T") + "Z",
373
373
  "combinatorial": combinatorial,
374
374
  "sequential": sequential,
375
375
  "seed": seed,
@@ -1053,17 +1053,16 @@ def create_datapackage(
1053
1053
  Licenses are specified as a list in ``metadata``. The default license is the `Open Data Commons Public Domain Dedication and License v1.0 <http://opendatacommons.org/licenses/pddl/>`__.
1054
1054
 
1055
1055
  Args:
1056
-
1057
- * fs: A `Filesystem`, optional. A new `MemoryFS` is used if not provided.
1058
- * name: `str`, optional. A new uuid is used if not provided.
1059
- * id_. `str`, optional. A new uuid is used if not provided.
1060
- * metadata. `dict`, optional. Metadata dictionary following datapackage specification; see above.
1061
- * combinatorial. `bool`, default `False.: Policy on how to sample columns across multiple data arrays; see readme.
1062
- * sequential. `bool`, default `False.: Policy on how to sample columns in data arrays; see readme.
1063
- * seed. `int`, optional. Seed to use in random number generator.
1064
- * sum_intra_duplicates. `bool`, default `True`. Should duplicate elements in a single data resource be summed together, or should the last value replace previous values.
1065
- * sum_inter_duplicates. `bool`, default `False`. Should duplicate elements in across data resources be summed together, or should the last value replace previous values. Order of data resources is given by the order they are added to the data package.
1066
- * matrix_serialize_format_type. `MatrixSerializeFormat`, default `MatrixSerializeFormat.NUMPY`. Matrix serialization format type.
1056
+ * fs: A ``Filesystem``, optional. A new ``MemoryFS`` is used if not provided.
1057
+ * name: ``str``, optional. A new uuid is used if not provided.
1058
+ * `id_`: ``str``, optional. A new uuid is used if not provided.
1059
+ * metadata: ``dict``, optional. Metadata dictionary following datapackage specification; see above.
1060
+ * combinatorial: ``bool``, default ``False`` .: Policy on how to sample columns across multiple data arrays; see readme.
1061
+ * sequential: ``bool``, default ``False`` .: Policy on how to sample columns in data arrays; see readme.
1062
+ * seed: ``int``, optional. Seed to use in random number generator.
1063
+ * sum_intra_duplicates: ``bool``, default ``True``. Should duplicate elements in a single data resource be summed together, or should the last value replace previous values.
1064
+ * sum_inter_duplicates: ``bool``, default ``False``. Should duplicate elements in across data resources be summed together, or should the last value replace previous values. Order of data resources is given by the order they are added to the data package.
1065
+ * matrix_serialize_format_type: ``MatrixSerializeFormat``, default ``MatrixSerializeFormat.NUMPY``. Matrix serialization format type.
1067
1066
 
1068
1067
  Returns:
1069
1068
 
@@ -1099,9 +1098,9 @@ def load_datapackage(
1099
1098
 
1100
1099
  Args:
1101
1100
 
1102
- * fs_or_obj. A `Filesystem` or an instance of `DatapackageBase`.
1103
- * mmap_mode. `str`, optional. Define memory mapping mode to use when loading Numpy arrays.
1104
- * proxy. bool, default `False`. Load proxies instead of complete Numpy arrays; see above.
1101
+ * fs_or_obj: A `Filesystem` or an instance of `DatapackageBase`.
1102
+ * mmap_mode: `str`, optional. Define memory mapping mode to use when loading Numpy arrays.
1103
+ * proxy: bool, default `False`. Load proxies instead of complete Numpy arrays; see above.
1105
1104
 
1106
1105
  Returns:
1107
1106
 
@@ -1116,22 +1115,29 @@ def load_datapackage(
1116
1115
  return obj
1117
1116
 
1118
1117
 
1119
- def simple_graph(data: dict, fs: Optional[FS] = None, **metadata):
1118
+ def simple_graph(data: dict, fs: Optional[FS] = None, **metadata)->Datapackage:
1120
1119
  """Easy creation of simple datapackages with only persistent vectors.
1121
1120
 
1122
- ``data`` is a dictionary with the form:
1121
+ Args:
1122
+ * data: is a dictionary.
1123
+ The data dictionary has the form::
1123
1124
 
1124
- ..code-block:: python
1125
+ {
1126
+ matrix_name: [
1127
+ (row_id, col_id, value, flip)
1128
+ ]
1129
+ }
1125
1130
 
1126
- matrix_name (str): [
1127
- (row id (int), col id (int), value (float), flip (bool, default False))
1128
- ]
1129
1131
 
1130
- ``fs`` is a filesystem.
1132
+ Where `row_id` and `col_id are an `int` s, value is a `float` and flip is a `bool` (False by default).
1131
1133
 
1132
- ``metadata`` are passed as kwargs to ``create_datapackage()``.
1134
+ * fs: is a filesystem.
1135
+ * metadata: are passed as kwargs to ``create_datapackage()``.
1133
1136
 
1134
- Returns the datapackage."""
1137
+ Returns:
1138
+ the datapackage.
1139
+
1140
+ """
1135
1141
  dp = create_datapackage(fs=fs, **metadata)
1136
1142
  for key, value in data.items():
1137
1143
  indices_array = np.array([row[:2] for row in value], dtype=INDICES_DTYPE)
@@ -12,8 +12,10 @@ from fs.zipfs import ZipFS
12
12
  from .constants import MatrixSerializeFormat
13
13
  from .errors import InvalidMimetype
14
14
  from .proxies import Proxy
15
+
15
16
  try:
16
17
  from .io_parquet_helpers import load_ndarray_from_parquet, save_arr_to_parquet
18
+
17
19
  PARQUET = True
18
20
  except ImportError:
19
21
  load_ndarray_from_parquet = None
@@ -30,7 +30,7 @@ def update_nrows(resource: dict, data: Any) -> dict:
30
30
  def add_resource_suffix(metadata: dict, suffix: str) -> dict:
31
31
  """Update the ``name``, ``path``, and ``group`` values to include ``suffix``. The suffix comes after the basename but after the data type suffix (e.g. indices, data).
32
32
 
33
- Given the suffix _foo" and the metadata:
33
+ Given the suffix ``_foo`` and the metadata::
34
34
 
35
35
  {
36
36
  "name": "sa-data-vector-from-dict.indices",
@@ -38,7 +38,7 @@ def add_resource_suffix(metadata: dict, suffix: str) -> dict:
38
38
  "group": "sa-data-vector-from-dict",
39
39
  }
40
40
 
41
- Returns:
41
+ It will return::
42
42
 
43
43
  {
44
44
  "name": "sa-data-vector-from-dict_foo.indices",
@@ -8,7 +8,7 @@ def greedy_set_cover(data, exclude=None, raise_error=True):
8
8
 
9
9
  Feature selection is a well known problem, and is analogous to the `set cover problem <https://en.wikipedia.org/wiki/Set_cover_problem>`__, for which there is a `well known heuristic <https://en.wikipedia.org/wiki/Set_cover_problem#Greedy_algorithm>`__.
10
10
 
11
- Example:
11
+ Example::
12
12
 
13
13
  data = [
14
14
  {'a': 1, 'b': 2, 'c': 3},
@@ -73,7 +73,7 @@ def as_unique_attributes(data, exclude=None, include=None, raise_error=False):
73
73
 
74
74
  Each element in ``data`` must have the attribute ``id``, and it must be unique. However, the field "id" is not used in selecting the unique set of attributes.
75
75
 
76
- If no set of attributes is found that uniquely identifies all features is found, all fields are used. To have this case raise an error, pass ``raise_error=True``.
76
+ If no set of attributes is found that uniquely identifies all features is found, all fields are used. To have this case raise an error, pass ``raise_error=True``.::
77
77
 
78
78
  data = [
79
79
  {},
@@ -89,6 +89,7 @@ def as_unique_attributes(data, exclude=None, include=None, raise_error=False):
89
89
 
90
90
  Raises:
91
91
  InconsistentFields: Not all features provides all fields.
92
+
92
93
  """
93
94
  include = set(include or [])
94
95
  fields = greedy_set_cover(data, exclude=exclude, raise_error=raise_error)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: bw-processing
3
- Version: 0.9
3
+ Version: 0.9.1
4
4
  Summary: Tools to create structured arrays in a common format
5
5
  Home-page: https://github.com/brightway-lca/bw_processing
6
6
  Author: Chris Mutel
@@ -46,10 +46,10 @@ Library for storing numeric data for use in matrix-based calculations. Designed
46
46
  [![PyPI](https://img.shields.io/pypi/v/bw-processing.svg)][pypi status]
47
47
  [![Status](https://img.shields.io/pypi/status/bw-processing.svg)][pypi status]
48
48
  [![Python Version](https://img.shields.io/pypi/pyversions/bw-processing)][pypi status]
49
- [![License](https://img.shields.io/pypi/l/bw-processing)][license]
49
+ [![License](https://img.shields.io/pypi/l/bw_processing)][license]
50
50
 
51
51
  [![Read the documentation at https://bw-processing.readthedocs.io/](https://img.shields.io/readthedocs/bw-processing/latest.svg?label=Read%20the%20Docs)][read the docs]
52
- [![Tests](https://github.com/brightway-lca/bw-processing/actions/workflows/python-test.yml/badge.svg)][tests]
52
+ [![Testing](https://github.com/brightway-lca/bw_processing/actions/workflows/python-test.yml/badge.svg)][tests]
53
53
  [![Codecov](https://codecov.io/gh/brightway-lca/bw-processing/branch/main/graph/badge.svg)][codecov]
54
54
 
55
55
  [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)][pre-commit]
@@ -57,7 +57,7 @@ Library for storing numeric data for use in matrix-based calculations. Designed
57
57
 
58
58
  [pypi status]: https://pypi.org/project/bw-processing/
59
59
  [read the docs]: https://bw-processing.readthedocs.io/
60
- [tests]: https://github.com/brightway-lca/bw-processing/actions?workflow=Tests
60
+ [tests]: https://github.com/brightway-lca/bw_processing/actions/workflows/python-test.yml
61
61
  [codecov]: https://app.codecov.io/gh/brightway-lca/bw-processing
62
62
  [pre-commit]: https://github.com/pre-commit/pre-commit
63
63
  [black]: https://github.com/psf/black
@@ -0,0 +1,109 @@
1
+ ### import setup ##################################################################################
2
+
3
+ import datetime
4
+
5
+ ### project information ###########################################################################
6
+
7
+ project = "Brightway Processing"
8
+ author = "Brightway Developers"
9
+ copyright = datetime.date.today().strftime("%Y") + ' Brightway Developers'
10
+
11
+ ### project configuration #########################################################################
12
+
13
+ extensions = [
14
+ # native extensions
15
+ 'sphinx.ext.autodoc',
16
+ 'sphinx.ext.autosummary',
17
+ 'sphinx.ext.mathjax',
18
+ 'sphinx.ext.viewcode',
19
+ 'sphinx.ext.intersphinx',
20
+ 'sphinx.ext.extlinks',
21
+ 'sphinx.ext.napoleon',
22
+ # theme
23
+ 'sphinx_rtd_theme',
24
+ # Markdown support
25
+ 'myst_parser',
26
+ # API documentation support
27
+ 'autoapi',
28
+ # responsive web component support
29
+ 'sphinx_design',
30
+ # copy button on code blocks
31
+ "sphinx_copybutton",
32
+ ]
33
+
34
+ exclude_patterns = ['_build']
35
+
36
+ # The master toctree document.
37
+ master_doc = 'index'
38
+
39
+ ### theme configuration ############################################################################
40
+
41
+ html_theme = "sphinx_rtd_theme"
42
+ html_title = "Brightway Processing"
43
+ html_show_sphinx = False
44
+
45
+ html_theme_options = {
46
+ 'logo_only': False,
47
+ 'display_version': True,
48
+ 'prev_next_buttons_location': 'bottom',
49
+ # Toc options
50
+ 'collapse_navigation': True,
51
+ 'sticky_navigation': True,
52
+ 'navigation_depth': 4,
53
+ 'includehidden': True,
54
+ 'titles_only': True
55
+ }
56
+
57
+ html_logo = 'https://raw.githubusercontent.com/brightway-lca/brightway-documentation/main/source/_static/logo/BW_all_white_transparent_landscape_wide.svg'
58
+ html_favicon = 'https://github.com/brightway-lca/brightway-documentation/blob/main/source/_static/logo/BW_favicon_500x500.png'
59
+
60
+ ### extension configuration ########################################################################
61
+
62
+ ## myst_parser configuration ############################################
63
+ ## https://myst-parser.readthedocs.io/en/latest/configuration.html
64
+
65
+ source_suffix = {
66
+ '.rst': 'restructuredtext',
67
+ '.md': 'markdown',
68
+ }
69
+
70
+ myst_enable_extensions = [
71
+ "amsmath",
72
+ "colon_fence",
73
+ "deflist",
74
+ "dollarmath",
75
+ "html_image",
76
+ ]
77
+
78
+ ## autoapi configuration ################################################
79
+ ## https://sphinx-autoapi.readthedocs.io/en/latest/reference/config.html#customisation-options
80
+
81
+ autoapi_options = [
82
+ 'members',
83
+ 'undoc-members',
84
+ 'private-members',
85
+ 'show-inheritance',
86
+ 'show-module-summary',
87
+ ]
88
+
89
+ autoapi_python_class_content = 'both'
90
+ autoapi_member_order = 'groupwise'
91
+ autoapi_root = 'content/api'
92
+ autoapi_keep_files = False
93
+
94
+ autoapi_dirs = [
95
+ '../bw_processing',
96
+ ]
97
+
98
+ autoapi_ignore = [
99
+ '*/data/*',
100
+ '*tests/*',
101
+ '*tests.py',
102
+ '*validation.py',
103
+ '*version.py',
104
+ '*.rst',
105
+ '*.yml',
106
+ '*.md',
107
+ '*.json',
108
+ '*.data'
109
+ ]
@@ -1,48 +0,0 @@
1
- """Sphinx configuration."""
2
- import importlib.metadata
3
- import os
4
- import shutil
5
-
6
- from sphinx.ext import apidoc
7
-
8
- # Run sphinx-apidoc
9
- # This hack is necessary since RTD does not issue `sphinx-apidoc` before running
10
- # `sphinx-build -b html . _build/html`. See Issue:
11
- # https://github.com/readthedocs/readthedocs.org/issues/1139
12
-
13
-
14
- __location__ = os.path.dirname(__file__)
15
-
16
- output_dir = os.path.join(__location__, "api")
17
- module_dir = os.path.join(__location__, "../bw_processing")
18
- try:
19
- shutil.rmtree(output_dir)
20
- except FileNotFoundError:
21
- pass
22
-
23
- try:
24
- args = f"--implicit-namespaces -f -o {output_dir} {module_dir}".split(" ")
25
- apidoc.main(args)
26
- except Exception as e:
27
- print("Running `sphinx-apidoc` failed!\n{}".format(e))
28
-
29
- # General Configuration
30
-
31
- project = "bw-processing"
32
- author = "Chris Mutel"
33
- copyright = "2023, Chris Mutel"
34
- extensions = [
35
- "sphinx.ext.autodoc",
36
- "sphinx.ext.napoleon",
37
- "myst_parser",
38
- ]
39
- source_suffix = {
40
- ".rst": "restructuredtext",
41
- ".md": "markdown",
42
- }
43
- autodoc_typehints = "description"
44
- html_theme = "furo"
45
-
46
- needs_sphinx = "5.0"
47
-
48
- version = importlib.metadata.version("bw_processing")
File without changes
File without changes
File without changes