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.
- async_graph_data_flow-1.5.0/CHANGELOG.md +60 -0
- {async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/LICENSE.txt +1 -1
- async_graph_data_flow-1.5.0/MANIFEST.in +1 -0
- {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
- {async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/README.md +13 -12
- {async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/pyproject.toml +16 -14
- {async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/src/async_graph_data_flow/executor.py +2 -2
- async_graph_data_flow-1.5.0/src/async_graph_data_flow/py.typed +0 -0
- {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
- {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
- async_graph_data_flow-1.5.0/src/async_graph_data_flow.egg-info/requires.txt +14 -0
- async-graph-data-flow-1.4.0/src/async_graph_data_flow.egg-info/requires.txt +0 -12
- {async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/setup.cfg +0 -0
- {async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/src/async_graph_data_flow/__init__.py +0 -0
- {async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/src/async_graph_data_flow/graph.py +0 -0
- {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
- {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
- {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
- {async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/tests/test_executor.py +0 -0
- {async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/tests/test_graph.py +0 -0
- {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!
|
|
@@ -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.
|
|
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==
|
|
26
|
-
Requires-Dist: flake8==
|
|
27
|
-
Requires-Dist: pytest==
|
|
28
|
-
Requires-Dist: build==1.
|
|
29
|
-
Requires-Dist: twine==
|
|
30
|
-
|
|
31
|
-
Requires-Dist:
|
|
32
|
-
Requires-Dist:
|
|
33
|
-
Requires-Dist:
|
|
34
|
-
Requires-Dist:
|
|
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://
|
|
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
|
-
##
|
|
77
|
+
## Building Documentation
|
|
75
78
|
|
|
76
|
-
|
|
77
|
-
|
|
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
|
-
|
|
83
|
-
|
|
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
|
-
|
|
86
|
-
|
|
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://
|
|
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
|
-
##
|
|
39
|
+
## Building Documentation
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
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
|
-
|
|
48
|
-
|
|
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
|
-
|
|
51
|
-
|
|
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 >=
|
|
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.
|
|
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 ==
|
|
42
|
-
"flake8 ==
|
|
43
|
-
"pytest ==
|
|
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.
|
|
47
|
-
"twine ==
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
"Sphinx ==
|
|
51
|
-
"furo ==
|
|
52
|
-
"numpydoc == 1.
|
|
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.
|
|
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"]
|
{async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/src/async_graph_data_flow/executor.py
RENAMED
|
@@ -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
|
|
|
File without changes
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: async-graph-data-flow
|
|
3
|
-
Version: 1.
|
|
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==
|
|
26
|
-
Requires-Dist: flake8==
|
|
27
|
-
Requires-Dist: pytest==
|
|
28
|
-
Requires-Dist: build==1.
|
|
29
|
-
Requires-Dist: twine==
|
|
30
|
-
|
|
31
|
-
Requires-Dist:
|
|
32
|
-
Requires-Dist:
|
|
33
|
-
Requires-Dist:
|
|
34
|
-
Requires-Dist:
|
|
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://
|
|
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
|
-
##
|
|
77
|
+
## Building Documentation
|
|
75
78
|
|
|
76
|
-
|
|
77
|
-
|
|
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
|
-
|
|
83
|
-
|
|
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
|
-
|
|
86
|
-
|
|
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
|
|
File without changes
|
{async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/src/async_graph_data_flow/__init__.py
RENAMED
|
File without changes
|
{async-graph-data-flow-1.4.0 → async_graph_data_flow-1.5.0}/src/async_graph_data_flow/graph.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|