async-graph-data-flow 1.4.0__tar.gz → 1.5.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (21) hide show
  1. async_graph_data_flow-1.5.0/CHANGELOG.md +60 -0
  2. {async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/LICENSE.txt +1 -1
  3. async_graph_data_flow-1.5.0/MANIFEST.in +1 -0
  4. {async-graph-data-flow-1.4.0/src/async_graph_data_flow.egg-info → async_graph_data_flow-1.5.0}/PKG-INFO +27 -23
  5. {async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/README.md +13 -12
  6. {async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/pyproject.toml +16 -14
  7. {async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/src/async_graph_data_flow/executor.py +2 -2
  8. async_graph_data_flow-1.5.0/src/async_graph_data_flow/py.typed +0 -0
  9. {async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0/src/async_graph_data_flow.egg-info}/PKG-INFO +27 -23
  10. {async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/src/async_graph_data_flow.egg-info/SOURCES.txt +3 -0
  11. async_graph_data_flow-1.5.0/src/async_graph_data_flow.egg-info/requires.txt +14 -0
  12. async-graph-data-flow-1.4.0/src/async_graph_data_flow.egg-info/requires.txt +0 -12
  13. {async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/setup.cfg +0 -0
  14. {async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/src/async_graph_data_flow/__init__.py +0 -0
  15. {async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/src/async_graph_data_flow/graph.py +0 -0
  16. {async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/src/async_graph_data_flow.egg-info/dependency_links.txt +0 -0
  17. {async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/src/async_graph_data_flow.egg-info/not-zip-safe +0 -0
  18. {async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/src/async_graph_data_flow.egg-info/top_level.txt +0 -0
  19. {async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/tests/test_executor.py +0 -0
  20. {async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/tests/test_graph.py +0 -0
  21. {async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/tests/test_version_number.py +0 -0
@@ -0,0 +1,60 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
6
+ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased] - YYYY-MM-DD
9
+
10
+ ### Added
11
+
12
+ ### Changed
13
+
14
+ ### Deprecated
15
+
16
+ ### Removed
17
+
18
+ ### Fixed
19
+
20
+ ### Security
21
+
22
+ ## [1.5.0] - 2024-10-30
23
+
24
+ ### Added
25
+ - Python 3.13 is officially supported and tested on CI. (#11)
26
+
27
+ ### Changed
28
+ - Migrated the docs to the Read The Docs site. (#11)
29
+
30
+ ## [1.4.0] - 2023-11-30
31
+
32
+ ### Added
33
+ - Python 3.12 is officially supported and tested on CI.
34
+ - Added a technical notes page to the Sphinx documentation.
35
+
36
+ ## [1.3.0] - 2023-06-20
37
+
38
+ ### Added
39
+ - `AsyncGraph.add_node` has the new keyword argument `check_async_gen`
40
+ to optionally disable the async generator function check for advanced usage.
41
+
42
+ ## [1.2.0] - 2023-04-25
43
+
44
+ ### Added
45
+ - An `AsyncExecutor` instance now has the `start_nodes` property.
46
+ It maps start nodes to their arguments passed in at the beginning of graph execution.
47
+
48
+ ### Fixed
49
+ - Before a graph executes, the `exceptions` property of an `AsyncExecutor` instance
50
+ now returns `None`. Previously, accessing this property before graph execute
51
+ would raise an exception.
52
+
53
+ ## [1.1.0] - 2023-03-02
54
+
55
+ ### Added
56
+ - Keep track of and expose exceptions. (#6)
57
+
58
+ ## [1.0.0] - 2023-01-05
59
+
60
+ First release!
@@ -1,4 +1,4 @@
1
- Copyright (c) 2022-2023, Civis Analytics
1
+ Copyright (c) 2022-2024, Civis Analytics
2
2
  All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without
@@ -0,0 +1 @@
1
+ include CHANGELOG.md
@@ -1,9 +1,10 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: async-graph-data-flow
3
- Version: 1.4.0
3
+ Version: 1.5.0
4
4
  Summary: Asynchronous functions that pass data along a directed acyclic graph
5
5
  Author-email: Civis Analytics <opensource@civisanalytics.com>
6
6
  License: BSD 3-Clause
7
+ Project-URL: Documentation, https://async-graph-data-flow.readthedocs.io
7
8
  Project-URL: Source, https://github.com/civisanalytics/async-graph-data-flow
8
9
  Keywords: async,asynchronous,asyncio,data flow,graph
9
10
  Classifier: Development Status :: 5 - Production/Stable
@@ -17,21 +18,23 @@ Classifier: Programming Language :: Python :: 3 :: Only
17
18
  Classifier: Programming Language :: Python :: 3.10
18
19
  Classifier: Programming Language :: Python :: 3.11
19
20
  Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
20
22
  Classifier: Framework :: AsyncIO
21
23
  Requires-Python: >=3.10
22
24
  Description-Content-Type: text/markdown
23
25
  License-File: LICENSE.txt
24
26
  Provides-Extra: dev
25
- Requires-Dist: black==23.11.0; extra == "dev"
26
- Requires-Dist: flake8==6.1.0; extra == "dev"
27
- Requires-Dist: pytest==7.4.3; extra == "dev"
28
- Requires-Dist: build==1.0.3; extra == "dev"
29
- Requires-Dist: twine==4.0.2; extra == "dev"
30
- Requires-Dist: Sphinx==7.2.6; extra == "dev"
31
- Requires-Dist: furo==2023.9.10; extra == "dev"
32
- Requires-Dist: numpydoc==1.6.0; extra == "dev"
33
- Requires-Dist: sphinx-copybutton==0.5.2; extra == "dev"
34
- Requires-Dist: sphinxcontrib-mermaid==0.9.2; extra == "dev"
27
+ Requires-Dist: black==24.10.0; extra == "dev"
28
+ Requires-Dist: flake8==7.1.1; extra == "dev"
29
+ Requires-Dist: pytest==8.3.3; extra == "dev"
30
+ Requires-Dist: build==1.2.2; extra == "dev"
31
+ Requires-Dist: twine==5.1.1; extra == "dev"
32
+ Provides-Extra: docs
33
+ Requires-Dist: Sphinx==8.1.3; extra == "docs"
34
+ Requires-Dist: furo==2024.8.6; extra == "docs"
35
+ Requires-Dist: numpydoc==1.8.0; extra == "docs"
36
+ Requires-Dist: sphinx-copybutton==0.5.2; extra == "docs"
37
+ Requires-Dist: sphinxcontrib-mermaid==1.0.0; extra == "docs"
35
38
 
36
39
  # async-graph-data-flow
37
40
 
@@ -41,7 +44,7 @@ Requires-Dist: sphinxcontrib-mermaid==0.9.2; extra == "dev"
41
44
 
42
45
  ## Full Documentation
43
46
 
44
- Please visit https://civisanalytics.github.io/async-graph-data-flow
47
+ Please visit https://async-graph-data-flow.readthedocs.io
45
48
 
46
49
  Please also check out this
47
50
  [blog post](https://www.civisanalytics.com/blog/open-source-software-release-introducing-async-graph-data-flow-a-python-library-for-efficient-data-pipelines/)
@@ -71,17 +74,18 @@ flake8 src tests examples
71
74
  black --check src tests examples
72
75
  ```
73
76
 
74
- ## For Maintainers
77
+ ## Building Documentation
75
78
 
76
- To update the Sphinx documentation,
77
- the source files that need editing are under `docs/source/`;
78
- everything else under `docs/` is auto-generated.
79
- After the manual updates under `docs/source/` are ready,
80
- the HTML pages are updated as follows:
79
+ We use the Sphinx framework. The documentation source files are in `docs/source/`.
80
+ These files can be updated as necessary.
81
81
 
82
- ```bash
83
- rm -r docs/_sources docs/_static && rm docs/*.html
82
+ The public documentation is accessible at https://async-graph-data-flow.readthedocs.io.
83
+ The doc build is configured by `.readthedocs.yaml`.
84
+ Normally, even when we need to update the documentation or make a new release of async-graph-data-flow,
85
+ neither this configuration YAML file nor Civis's account on the Read the Docs site need any updates.
86
+ The builds by the Read The Docs site generate the necessary files (the HTML pages and other things)
87
+ for the public documentation. All these auto-generated files are explicitly not versioned (see `.gitignore`).
84
88
 
85
- # Run the following command *twice* -- certain HTML updates only show up after multiple `sphinx-build` runs.
86
- sphinx-build docs/source docs
87
- ```
89
+ To build the documentation locally (for testing and development),
90
+ install the full doc-related dependencies: `pip install -r docs/requirements.txt`,
91
+ then run `sphinx-build -b html docs/ docs/build/`.
@@ -6,7 +6,7 @@
6
6
 
7
7
  ## Full Documentation
8
8
 
9
- Please visit https://civisanalytics.github.io/async-graph-data-flow
9
+ Please visit https://async-graph-data-flow.readthedocs.io
10
10
 
11
11
  Please also check out this
12
12
  [blog post](https://www.civisanalytics.com/blog/open-source-software-release-introducing-async-graph-data-flow-a-python-library-for-efficient-data-pipelines/)
@@ -36,17 +36,18 @@ flake8 src tests examples
36
36
  black --check src tests examples
37
37
  ```
38
38
 
39
- ## For Maintainers
39
+ ## Building Documentation
40
40
 
41
- To update the Sphinx documentation,
42
- the source files that need editing are under `docs/source/`;
43
- everything else under `docs/` is auto-generated.
44
- After the manual updates under `docs/source/` are ready,
45
- the HTML pages are updated as follows:
41
+ We use the Sphinx framework. The documentation source files are in `docs/source/`.
42
+ These files can be updated as necessary.
46
43
 
47
- ```bash
48
- rm -r docs/_sources docs/_static && rm docs/*.html
44
+ The public documentation is accessible at https://async-graph-data-flow.readthedocs.io.
45
+ The doc build is configured by `.readthedocs.yaml`.
46
+ Normally, even when we need to update the documentation or make a new release of async-graph-data-flow,
47
+ neither this configuration YAML file nor Civis's account on the Read the Docs site need any updates.
48
+ The builds by the Read The Docs site generate the necessary files (the HTML pages and other things)
49
+ for the public documentation. All these auto-generated files are explicitly not versioned (see `.gitignore`).
49
50
 
50
- # Run the following command *twice* -- certain HTML updates only show up after multiple `sphinx-build` runs.
51
- sphinx-build docs/source docs
52
- ```
51
+ To build the documentation locally (for testing and development),
52
+ install the full doc-related dependencies: `pip install -r docs/requirements.txt`,
53
+ then run `sphinx-build -b html docs/ docs/build/`.
@@ -1,10 +1,10 @@
1
1
  [build-system]
2
- requires = ["setuptools >= 65.3.0", "wheel"]
2
+ requires = ["setuptools >= 69.0.0", "wheel"]
3
3
  build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "async-graph-data-flow"
7
- version = "1.4.0"
7
+ version = "1.5.0"
8
8
  description = "Asynchronous functions that pass data along a directed acyclic graph"
9
9
  readme = "README.md"
10
10
  requires-python = ">= 3.10"
@@ -29,29 +29,31 @@ classifiers = [
29
29
  "Programming Language :: Python :: 3.10",
30
30
  "Programming Language :: Python :: 3.11",
31
31
  "Programming Language :: Python :: 3.12",
32
+ "Programming Language :: Python :: 3.13",
32
33
  "Framework :: AsyncIO",
33
34
  ]
34
35
 
35
36
  [project.urls]
37
+ Documentation = "https://async-graph-data-flow.readthedocs.io"
36
38
  Source = "https://github.com/civisanalytics/async-graph-data-flow"
37
39
 
38
40
  [project.optional-dependencies]
39
41
  dev = [
40
42
  # Running tests and linters
41
- "black == 23.11.0",
42
- "flake8 == 6.1.0",
43
- "pytest == 7.4.3",
43
+ "black == 24.10.0",
44
+ "flake8 == 7.1.1",
45
+ "pytest == 8.3.3",
44
46
 
45
47
  # Managing source distributions
46
- "build == 1.0.3",
47
- "twine == 4.0.2",
48
-
49
- # Documentation
50
- "Sphinx == 7.2.6",
51
- "furo == 2023.9.10",
52
- "numpydoc == 1.6.0",
48
+ "build == 1.2.2",
49
+ "twine == 5.1.1",
50
+ ]
51
+ docs = [
52
+ "Sphinx == 8.1.3",
53
+ "furo == 2024.8.6",
54
+ "numpydoc == 1.8.0",
53
55
  "sphinx-copybutton == 0.5.2",
54
- "sphinxcontrib-mermaid == 0.9.2",
56
+ "sphinxcontrib-mermaid == 1.0.0",
55
57
  ]
56
58
 
57
59
  [tool.setuptools.packages.find]
@@ -62,5 +64,5 @@ zip-safe = false
62
64
  package-dir = { "" = "src" }
63
65
 
64
66
  [tool.pytest.ini_options]
65
- addopts = "-vv --durations=0"
67
+ addopts = "-vv --durations=0 --strict-markers"
66
68
  testpaths = ["tests"]
@@ -106,7 +106,7 @@ class AsyncExecutor:
106
106
  node_filter: Iterable[str] | None = None,
107
107
  time_interval: int | None = None,
108
108
  logger: logging.Logger | None = None,
109
- ):
109
+ ) -> None:
110
110
  """Turn on and configure data flow logging.
111
111
 
112
112
  For a long-running graph execution,
@@ -148,7 +148,7 @@ class AsyncExecutor:
148
148
  if logger and isinstance(logger, logging.Logger):
149
149
  self._logger = logger
150
150
 
151
- def turn_off_data_flow_logging(self):
151
+ def turn_off_data_flow_logging(self) -> None:
152
152
  """Turn off data flow logging."""
153
153
  self._data_flow_logging = False
154
154
 
@@ -1,9 +1,10 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: async-graph-data-flow
3
- Version: 1.4.0
3
+ Version: 1.5.0
4
4
  Summary: Asynchronous functions that pass data along a directed acyclic graph
5
5
  Author-email: Civis Analytics <opensource@civisanalytics.com>
6
6
  License: BSD 3-Clause
7
+ Project-URL: Documentation, https://async-graph-data-flow.readthedocs.io
7
8
  Project-URL: Source, https://github.com/civisanalytics/async-graph-data-flow
8
9
  Keywords: async,asynchronous,asyncio,data flow,graph
9
10
  Classifier: Development Status :: 5 - Production/Stable
@@ -17,21 +18,23 @@ Classifier: Programming Language :: Python :: 3 :: Only
17
18
  Classifier: Programming Language :: Python :: 3.10
18
19
  Classifier: Programming Language :: Python :: 3.11
19
20
  Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
20
22
  Classifier: Framework :: AsyncIO
21
23
  Requires-Python: >=3.10
22
24
  Description-Content-Type: text/markdown
23
25
  License-File: LICENSE.txt
24
26
  Provides-Extra: dev
25
- Requires-Dist: black==23.11.0; extra == "dev"
26
- Requires-Dist: flake8==6.1.0; extra == "dev"
27
- Requires-Dist: pytest==7.4.3; extra == "dev"
28
- Requires-Dist: build==1.0.3; extra == "dev"
29
- Requires-Dist: twine==4.0.2; extra == "dev"
30
- Requires-Dist: Sphinx==7.2.6; extra == "dev"
31
- Requires-Dist: furo==2023.9.10; extra == "dev"
32
- Requires-Dist: numpydoc==1.6.0; extra == "dev"
33
- Requires-Dist: sphinx-copybutton==0.5.2; extra == "dev"
34
- Requires-Dist: sphinxcontrib-mermaid==0.9.2; extra == "dev"
27
+ Requires-Dist: black==24.10.0; extra == "dev"
28
+ Requires-Dist: flake8==7.1.1; extra == "dev"
29
+ Requires-Dist: pytest==8.3.3; extra == "dev"
30
+ Requires-Dist: build==1.2.2; extra == "dev"
31
+ Requires-Dist: twine==5.1.1; extra == "dev"
32
+ Provides-Extra: docs
33
+ Requires-Dist: Sphinx==8.1.3; extra == "docs"
34
+ Requires-Dist: furo==2024.8.6; extra == "docs"
35
+ Requires-Dist: numpydoc==1.8.0; extra == "docs"
36
+ Requires-Dist: sphinx-copybutton==0.5.2; extra == "docs"
37
+ Requires-Dist: sphinxcontrib-mermaid==1.0.0; extra == "docs"
35
38
 
36
39
  # async-graph-data-flow
37
40
 
@@ -41,7 +44,7 @@ Requires-Dist: sphinxcontrib-mermaid==0.9.2; extra == "dev"
41
44
 
42
45
  ## Full Documentation
43
46
 
44
- Please visit https://civisanalytics.github.io/async-graph-data-flow
47
+ Please visit https://async-graph-data-flow.readthedocs.io
45
48
 
46
49
  Please also check out this
47
50
  [blog post](https://www.civisanalytics.com/blog/open-source-software-release-introducing-async-graph-data-flow-a-python-library-for-efficient-data-pipelines/)
@@ -71,17 +74,18 @@ flake8 src tests examples
71
74
  black --check src tests examples
72
75
  ```
73
76
 
74
- ## For Maintainers
77
+ ## Building Documentation
75
78
 
76
- To update the Sphinx documentation,
77
- the source files that need editing are under `docs/source/`;
78
- everything else under `docs/` is auto-generated.
79
- After the manual updates under `docs/source/` are ready,
80
- the HTML pages are updated as follows:
79
+ We use the Sphinx framework. The documentation source files are in `docs/source/`.
80
+ These files can be updated as necessary.
81
81
 
82
- ```bash
83
- rm -r docs/_sources docs/_static && rm docs/*.html
82
+ The public documentation is accessible at https://async-graph-data-flow.readthedocs.io.
83
+ The doc build is configured by `.readthedocs.yaml`.
84
+ Normally, even when we need to update the documentation or make a new release of async-graph-data-flow,
85
+ neither this configuration YAML file nor Civis's account on the Read the Docs site need any updates.
86
+ The builds by the Read The Docs site generate the necessary files (the HTML pages and other things)
87
+ for the public documentation. All these auto-generated files are explicitly not versioned (see `.gitignore`).
84
88
 
85
- # Run the following command *twice* -- certain HTML updates only show up after multiple `sphinx-build` runs.
86
- sphinx-build docs/source docs
87
- ```
89
+ To build the documentation locally (for testing and development),
90
+ install the full doc-related dependencies: `pip install -r docs/requirements.txt`,
91
+ then run `sphinx-build -b html docs/ docs/build/`.
@@ -1,9 +1,12 @@
1
+ CHANGELOG.md
1
2
  LICENSE.txt
3
+ MANIFEST.in
2
4
  README.md
3
5
  pyproject.toml
4
6
  src/async_graph_data_flow/__init__.py
5
7
  src/async_graph_data_flow/executor.py
6
8
  src/async_graph_data_flow/graph.py
9
+ src/async_graph_data_flow/py.typed
7
10
  src/async_graph_data_flow.egg-info/PKG-INFO
8
11
  src/async_graph_data_flow.egg-info/SOURCES.txt
9
12
  src/async_graph_data_flow.egg-info/dependency_links.txt
@@ -0,0 +1,14 @@
1
+
2
+ [dev]
3
+ black==24.10.0
4
+ flake8==7.1.1
5
+ pytest==8.3.3
6
+ build==1.2.2
7
+ twine==5.1.1
8
+
9
+ [docs]
10
+ Sphinx==8.1.3
11
+ furo==2024.8.6
12
+ numpydoc==1.8.0
13
+ sphinx-copybutton==0.5.2
14
+ sphinxcontrib-mermaid==1.0.0
@@ -1,12 +0,0 @@
1
-
2
- [dev]
3
- black==23.11.0
4
- flake8==6.1.0
5
- pytest==7.4.3
6
- build==1.0.3
7
- twine==4.0.2
8
- Sphinx==7.2.6
9
- furo==2023.9.10
10
- numpydoc==1.6.0
11
- sphinx-copybutton==0.5.2
12
- sphinxcontrib-mermaid==0.9.2