Skip to content

Commit 16709d5

Browse files
Merge pull request #76 from oele-isis-vanderbilt/dev_zmq_aiohttp
Change Networking to use ZeroMQ and AIOHTTP
2 parents c4f272b + 3284b1b commit 16709d5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+3937
-2090
lines changed

.github/workflows/changelog.yml

Lines changed: 0 additions & 20 deletions
This file was deleted.

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ jobs:
6666
6767
- name: Perform tests
6868
run: |
69-
coverage run --source=chimerapy -m pytest test/
69+
coverage run --source=chimerapy -m pytest --reruns 5 --reruns-delay 5 test/
7070
coverage combine
7171
7272
- name: Upload coverage data to coveralls.io

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22
.vimspector.json
33
/.vscode
44

5-
# Ignore the test data - sensitivie
5+
# Ignore the test data - sensitive
66
test/logs/
77
test/test_output/
8+
examples/runs/
89

910
# Ignoring the documentation site
1011
site/

CHANGELOG.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# ChimeraPy CHANGELOG
2+
3+
## 0.0.8 (2023-01-23)
4+
5+
#### New Features
6+
7+
* (logging): Made logging available outside of ChimeraPy, made testing of Nodes easier, simplified the Manager's API, make the worker transfer local files through moving files, fixed WIndows timeout bugs.
8+
* (logging): Added feature where DEBUG messages from ChimeraPy can be disabled from outside the package.
9+
* (meta): Added Manager saving meta data to the logdir.
10+
* (transfer): Made the Worker transfer its archives to the Manager.
11+
* (tabular): Added tabular record to Node API along with pandas as a dependency.
12+
* (audio): Adding the functionality to record audio through the Node API and multithreading.
13+
* (data): Started the development of the Node API to save video, audio, tabular, and images during the cluster execution. Using PyAudio (had to add to setup.cfg and Dockerfile) for audio capture. Added SaveHandler as the thread to save incoming data. Made tests for Record and its children classes.
14+
* (node): Added to the Graph API the ability to specify which Node should be followed during the execution of a step function. Now Nodes can specify if they want to execute according to a high-frequency or low-frequency input data source.
15+
* (windows): Made all test pass on Windows.
16+
#### Fixes
17+
18+
* (Windows): logging and networking correction.
19+
* (Windows): Fixing that Windows has restrictions on valid characters for the directory names.
20+
* (transfer): Added wait for nodes to finish saving data before starting the transfer process, changed the API to incorporate waits within the Manager's user API, and updated documentation to reflect this. Updated the version to 0.0.6.
21+
* (docker): Change in log printouts caused mock worker to fail. Fixed the issue.
22+
* (imports): Made dill recursively include members of Node, thereby removing errors caused by missing global variables.
23+
* (graph): Accidently removed add_edges_from method, causing tests to fail.
24+
* (dependencies): adding ``multiprocess`` dependency to ``setup.cfg``.
25+
* (windows): Change ``Node`` parent from ``multiprocessing.Process`` to ``multiprocess.Process``, which is a fork of the build-in library that uses ``dill`` instead of ``pickle``. Passed the test of having the ``Manager`` and ``Worker`` being in separate terminals. Now we need to test between computers.
26+
#### Performance improvements
27+
28+
* (transfer): removed the use of jsonpickle to increase performance and allow the streaming of full resolution video.
29+
#### Refactorings
30+
31+
* (networking): Refactored the server and client to avoid code repetition. Handled exceptions better when it comes to networking. Added initial package distribution system within the Manager and Worker.
32+
* (test): Started relocating the data nodes to separate file and began the testing of data transfer.
33+
#### Docs
34+
35+
* (dependencies): Started creating documentation on how to deal with dependencies used by a custom data pipeline.
36+
* (windows): Removed the warning in README.md that stated ChimeraPy does not work with Windows. Now Windows, Linux, and MacOS are supported.
37+
* (changelog): added automatic CHANGELOG GitHub Actions Workflow, fixed PYPI logo rendering, and added some links in the developer docs
38+
#### Others
39+
40+
* (examples): Updated examples to use the new Manager API.
41+
* (PIPY): Made README.md work with PIPY.
42+
* (coverage): Made coverage account for multiprocessing and multithreading.
43+
* (version): Updated version and fixed PYPI image loading issue.
44+
* (coverage): Made the coverage command account for multiprocessing.
45+
* (version): updating version to 0.0.4
46+
* (passing): Finally made all test pass with the new networking component.
47+
* (p2p): Got the p2p setup test passing.
48+
* (transfer): Added more test (docker) for the file transfer between Manager and Worker.

0 commit comments

Comments
 (0)