Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
228 commits
Select commit Hold shift + click to select a range
8df6354
chaning from setup.py install to pyproject.toml
jmxpearson Nov 17, 2022
a1b82b5
excluding more folders
jmxpearson Nov 17, 2022
25f71eb
adding entry point for code
jmxpearson Nov 18, 2022
1229e02
changed name of entry point
jmxpearson Nov 18, 2022
84bf339
command line now supports --actor-path
jmxpearson Nov 21, 2022
a4fadee
cleaning up imports
jmxpearson Nov 21, 2022
dfc78c0
adding docstring
jmxpearson Nov 21, 2022
f5c88d9
pinning version number for pyarrow
jmxpearson Nov 21, 2022
6ccb6fc
fixing syntax for pinning pyarrow
jmxpearson Dec 20, 2022
cd7c702
chaning from setup.py install to pyproject.toml
jmxpearson Nov 17, 2022
4dc197f
excluding more folders
jmxpearson Nov 17, 2022
010ddf6
adding entry point for code
jmxpearson Nov 18, 2022
e97a280
changed name of entry point
jmxpearson Nov 18, 2022
a628b33
command line now supports --actor-path
jmxpearson Nov 21, 2022
5d75376
cleaning up imports
jmxpearson Nov 21, 2022
64bdfaa
adding docstring
jmxpearson Nov 21, 2022
39f03e0
pinning version number for pyarrow
jmxpearson Nov 21, 2022
d719fe3
fixing syntax for pinning pyarrow
jmxpearson Dec 20, 2022
4740ab6
Merge branch 'install' of github.com:project-improv/improv into install
jmxpearson Dec 23, 2022
eafd5f3
chaning from setup.py install to pyproject.toml
jmxpearson Nov 17, 2022
b45ba85
excluding more folders
jmxpearson Nov 17, 2022
93928bd
adding entry point for code
jmxpearson Nov 18, 2022
5a0b36d
changed name of entry point
jmxpearson Nov 18, 2022
81957d4
command line now supports --actor-path
jmxpearson Nov 21, 2022
b08cbaf
cleaning up imports
jmxpearson Nov 21, 2022
611b351
adding docstring
jmxpearson Nov 21, 2022
efeca00
pinning version number for pyarrow
jmxpearson Nov 21, 2022
2e1a470
fixing syntax for pinning pyarrow
jmxpearson Dec 20, 2022
322531b
chaning from setup.py install to pyproject.toml
jmxpearson Nov 17, 2022
00532ac
Merge branch 'install' of github.com:project-improv/improv into install
jmxpearson Dec 23, 2022
fae22b4
switching command line over to click
jmxpearson Dec 23, 2022
f6c948d
adding tests for command line interface
jmxpearson Dec 23, 2022
96fcbf9
adding support for optional dependencies
jmxpearson Dec 28, 2022
835cce9
more test dependencies
jmxpearson Dec 28, 2022
a34a84a
adding dependencies for docs
jmxpearson Dec 28, 2022
9afe05e
allowing for multiple actor paths
jmxpearson Dec 28, 2022
412dc6c
fixing broken tests
jmxpearson Jan 9, 2023
3676a53
adding minimal demo yaml file
jmxpearson Jan 13, 2023
f142cdf
Merge branch 'install' into dev
myniax1024 Jan 29, 2023
b7323f9
Merge branch 'dev' of github.com:project-improv/improv into dev
myniax1024 Feb 9, 2023
704f4e7
stubbed out tests
myniax1024 Mar 29, 2023
cff5ebc
main tests for runManager
myniax1024 Mar 29, 2023
ca47bc1
Merge branch 'dev' of github.com:project-improv/improv into dev
myniax1024 Mar 29, 2023
52058b9
added additional tests
myniax1024 May 13, 2023
b2297c4
copied over CI config and changed to include windows testing
myniax1024 May 13, 2023
cabe674
stubbed out tests
myniax1024 Mar 29, 2023
403671c
main tests for runManager
myniax1024 Mar 29, 2023
4b1484b
added additional tests
myniax1024 May 13, 2023
3ee7e18
copied over CI config and changed to include windows testing
myniax1024 May 13, 2023
56938c6
Merge branch 'run_manager_tests' of github.com:project-improv/improv …
myniax1024 May 14, 2023
9aa76b5
Merge branch 'dev' of github.com:project-improv/improv into dev
myniax1024 May 14, 2023
1fd0c72
adding WSL setup to windows
jmxpearson May 16, 2023
be926d5
try that again
jmxpearson May 16, 2023
f25dcb6
trying wsl shell
jmxpearson May 16, 2023
e24e759
trying wsl shell; fixing syntax
jmxpearson May 16, 2023
f906dbf
installing python in wsl shell
jmxpearson May 16, 2023
92374a2
changing CI
myniax1024 May 19, 2023
6987bea
Merge branch 'run_manager_tests' of github.com:project-improv/improv …
myniax1024 May 19, 2023
1483f3d
attempting to install python in wsl
myniax1024 May 19, 2023
94c5d43
fixing upgrade/update
myniax1024 May 19, 2023
3b3b1b8
only python install
myniax1024 May 19, 2023
cc77d3f
add back apt-get
myniax1024 May 19, 2023
5caacc5
piping to yes pt2
myniax1024 May 19, 2023
6ce7108
failing fast
myniax1024 May 22, 2023
d022051
forcing yes
myniax1024 May 22, 2023
222ecd8
added -y to apt-get
myniax1024 May 31, 2023
cf89df2
retrying actions
myniax1024 May 31, 2023
fc5a2c0
resolved conflict
myniax1024 May 31, 2023
d06ab76
Merge branch 'dev' into run_manager_tests
myniax1024 May 31, 2023
64e3759
changing to python3
myniax1024 May 31, 2023
90a9e5a
changing to python3 and upgrading pip
myniax1024 May 31, 2023
cea3b30
adding build
myniax1024 May 31, 2023
f4ce17d
breaking up build install
myniax1024 May 31, 2023
227832f
upgrading pip
myniax1024 May 31, 2023
af50814
checking pytest install
myniax1024 Jun 2, 2023
5c297fc
specifying shell
myniax1024 Jun 2, 2023
b5fa2e2
syntax changes
myniax1024 Jun 2, 2023
279e14c
CI
myniax1024 Jun 5, 2023
ae58847
ignoring tui tests
myniax1024 Jun 5, 2023
09ad636
Revert "ignoring tui tests"
myniax1024 Jun 5, 2023
89faaf2
Revert "CI"
myniax1024 Jun 5, 2023
dc2549d
Revert "syntax changes"
myniax1024 Jun 5, 2023
1cdedcc
reduced to windows only
myniax1024 Jun 5, 2023
3394847
reverting back to commit b5fa2e2 and ignoring tui tests
myniax1024 Jun 5, 2023
78c377d
revert fix
myniax1024 Jun 5, 2023
5a043b4
testing all env
myniax1024 Jun 5, 2023
e5157d6
verbose output
myniax1024 Jun 5, 2023
e915b99
specifying test directory
myniax1024 Jun 5, 2023
19540c5
ignoring last few tests
myniax1024 Jun 5, 2023
b158d68
ignoring rmtests
myniax1024 Jun 8, 2023
12eefbc
no pytest
myniax1024 Jun 8, 2023
612913e
ignoring more tests
myniax1024 Jun 22, 2023
25fbd53
windows only
myniax1024 Jun 22, 2023
74c879b
windows only pt 2
myniax1024 Jun 22, 2023
8910815
more ignore
myniax1024 Jun 22, 2023
b3cf36d
basic testing
myniax1024 Jun 23, 2023
22d93fe
only actor
myniax1024 Jun 23, 2023
06991d8
skipping set store
myniax1024 Jun 23, 2023
c1c056d
repush
myniax1024 Jun 23, 2023
a53e21a
skipping setcomm
myniax1024 Jun 23, 2023
324720b
full skip
myniax1024 Jun 23, 2023
f766e34
skipping actor tests
myniax1024 Jun 23, 2023
224b87c
skipping setLinkIn
myniax1024 Jun 23, 2023
848e744
single test
myniax1024 Jun 28, 2023
ce70c18
repush
myniax1024 Jun 28, 2023
63ec5f4
repush
myniax1024 Jun 28, 2023
ec131c7
Revert "skipping setLinkIn"
myniax1024 Jun 28, 2023
b2b3fe1
full revert
myniax1024 Jun 28, 2023
99a8b68
changing to single test
myniax1024 Jun 28, 2023
af18741
only set store
myniax1024 Jun 28, 2023
d6e99b9
skipping tests
myniax1024 Jun 28, 2023
d63a1c9
retest
myniax1024 Jul 13, 2023
6f48bc0
repush
myniax1024 Jul 13, 2023
8cbfb18
fixing confs
myniax1024 Jul 13, 2023
a396a2c
fixing confs
myniax1024 Jul 13, 2023
c2e4ae9
fixing confs
myniax1024 Jul 13, 2023
2d0e83a
fixing merge confs
myniax1024 Jul 13, 2023
b29b8b4
Merge branch 'dev' of github.com:project-improv/improv into dev
myniax1024 Jul 13, 2023
7d56ac3
Merge branch 'dev' into run_manager_tests
myniax1024 Jul 13, 2023
6bd2cf4
skipping
myniax1024 Jul 13, 2023
28a8c90
repush
myniax1024 Jul 13, 2023
c4721af
adding cd
myniax1024 Jul 13, 2023
86c8513
pwd
myniax1024 Jul 13, 2023
34cd7df
removing cd
myniax1024 Jul 13, 2023
8d0b3b8
inspecting file tree
myniax1024 Jul 13, 2023
3a58a18
isolate repr
myniax1024 Jul 14, 2023
1256c07
checking store connect
myniax1024 Jul 14, 2023
fafa873
inspecting tmp
myniax1024 Jul 17, 2023
3ebd25a
repush
myniax1024 Jul 17, 2023
9a78ff6
disabling store connection
myniax1024 Jul 21, 2023
520b384
full test
myniax1024 Jul 21, 2023
81b4da8
removing debug skips and restricting to test_actor
myniax1024 Jul 21, 2023
c16ade2
cleaning syntax
myniax1024 Jul 21, 2023
ed82b90
store connect
myniax1024 Jul 27, 2023
32dee1f
added live logs
myniax1024 Jul 28, 2023
fd6f971
restricting reattempts
myniax1024 Jul 28, 2023
9594d87
no linux
myniax1024 Jul 28, 2023
c168663
no retry
myniax1024 Jul 28, 2023
c5bc220
repush
myniax1024 Jul 28, 2023
e107d4d
adding sleep
myniax1024 Aug 18, 2023
4212786
Merge branch 'dev' into run_manager_tests
myniax1024 Aug 18, 2023
518ca9e
adding more logging
myniax1024 Aug 18, 2023
d8af78b
Merge branch 'run_manager_tests' of github.com:project-improv/improv …
myniax1024 Aug 18, 2023
effad0b
using big loop instead of sleep
myniax1024 Aug 18, 2023
904f8da
removing time calls
myniax1024 Aug 18, 2023
dcfe9c5
adding logs and ubuntu test
myniax1024 Aug 18, 2023
1affd84
repush:
myniax1024 Aug 18, 2023
ae294dd
testing delay
myniax1024 Aug 24, 2023
d2f9c51
testing delay
myniax1024 Aug 24, 2023
dd12c3b
removing delay
myniax1024 Aug 24, 2023
4280aed
different delay method
myniax1024 Aug 24, 2023
ca2140e
different way to delay
myniax1024 Aug 24, 2023
f051d68
no try/except
myniax1024 Aug 25, 2023
34a52bd
debugging store connect
jmxpearson Oct 2, 2023
bfec6d3
debugging store connect
jmxpearson Oct 2, 2023
cbe2637
try compiling pyzmq from binary
jmxpearson Oct 6, 2023
f16ca4c
try again
jmxpearson Oct 6, 2023
2c2b00d
using Ubuntu on WSL
jmxpearson Oct 6, 2023
b2793b6
logging change
jmxpearson Oct 6, 2023
d13def1
another try; fewer versions
jmxpearson Oct 6, 2023
53c0c82
setting timeout on store fixture
jmxpearson Oct 6, 2023
29fce7d
trying it the old way
jmxpearson Oct 6, 2023
d1af36a
hard coding store location
jmxpearson Oct 6, 2023
9dd0c20
restoring random store file name
jmxpearson Oct 6, 2023
55bbdfd
no redirect of store stdout
jmxpearson Oct 6, 2023
e557db2
reverting
jmxpearson Oct 6, 2023
5b3b575
different CI order
jmxpearson Oct 6, 2023
7a63d50
different CI order
jmxpearson Oct 6, 2023
7a97dba
more directories
jmxpearson Oct 6, 2023
de9a745
more directories
jmxpearson Oct 6, 2023
747477d
distro name
jmxpearson Oct 6, 2023
9718220
removing downgrade
jmxpearson Oct 6, 2023
14b10e2
setting github.workspace
jmxpearson Oct 6, 2023
7815cf7
setting github.workspace
jmxpearson Oct 6, 2023
94ef332
setting github.workspace
jmxpearson Oct 6, 2023
e829711
making sure to source to get path right in WSL
jmxpearson Oct 13, 2023
675902e
changing directories
jmxpearson Oct 13, 2023
9afc1b0
changing path
jmxpearson Oct 13, 2023
943c5d6
housecleaning
jmxpearson Nov 16, 2023
f158ab7
changing wsl bash prefs
jmxpearson Nov 23, 2023
7cbbf1e
check store location
jmxpearson Nov 23, 2023
4eee2d4
more verbose store output
jmxpearson Nov 23, 2023
cca937f
reverting
jmxpearson Nov 23, 2023
7bf1d57
store location local
jmxpearson Nov 24, 2023
a9835ef
store location local
jmxpearson Nov 24, 2023
0dd0766
unlimited ulimit
jmxpearson Nov 24, 2023
f4c3825
printing stdout from store
jmxpearson Nov 24, 2023
eb4a6cd
reverting; try starting store
jmxpearson Nov 24, 2023
fd6db77
reverting store_loc
jmxpearson Nov 24, 2023
4efa41b
more ci hijinks
jmxpearson Nov 24, 2023
60e08dc
reverting CI.yaml
jmxpearson Nov 24, 2023
9da52db
new test
jmxpearson Nov 24, 2023
1547ad9
is it kill?
jmxpearson Nov 24, 2023
d2cbe38
more messages
jmxpearson Nov 24, 2023
4083b6e
wait first
jmxpearson Nov 24, 2023
bc5ca71
more messages
jmxpearson Nov 24, 2023
5153160
more print msgs
jmxpearson Nov 24, 2023
9507441
slow it down
jmxpearson Nov 24, 2023
bf4515b
trying something with scope
jmxpearson Nov 24, 2023
5fb5d0c
just try not to clean up
jmxpearson Nov 24, 2023
d726599
more timing
jmxpearson Nov 24, 2023
9e754bc
no kill
jmxpearson Nov 24, 2023
b3898f8
try different tests
jmxpearson Nov 24, 2023
d7421c6
getting rid of Popen.wait
jmxpearson Nov 24, 2023
8ea016d
safe case
jmxpearson Nov 24, 2023
d260416
minimal hang
jmxpearson Nov 24, 2023
4afb0a2
dummy test
jmxpearson Nov 24, 2023
5f22cf7
more stuff
jmxpearson Nov 24, 2023
d5e1313
building back up
jmxpearson Nov 24, 2023
a29d79d
building back up
jmxpearson Nov 24, 2023
2251ca5
try deleting store
jmxpearson Nov 24, 2023
97b5ed7
forget about killing
jmxpearson Nov 25, 2023
6e89ea0
try shell=True
jmxpearson Nov 25, 2023
d8ec252
try terminate
jmxpearson Nov 25, 2023
7950414
wait only
jmxpearson Nov 25, 2023
759d734
overkill
jmxpearson Nov 25, 2023
cf254f9
flagging
jmxpearson Nov 25, 2023
ea24683
go nuclear
jmxpearson Nov 25, 2023
1f68dfc
maybe not enough time to make store?
jmxpearson Nov 25, 2023
37dfecd
try build pyarrow from source
jmxpearson Nov 25, 2023
77d19a9
try that again
jmxpearson Nov 25, 2023
6f7d39d
try that again; nope
jmxpearson Nov 25, 2023
36fe953
Merge branch 'run_manager_tests' of github.com:project-improv/improv …
jmxpearson Nov 27, 2023
9e7b3cb
make it like azure
jmxpearson Nov 27, 2023
45acb72
more alignment with azure
jmxpearson Nov 27, 2023
ba818c8
trying release
jmxpearson Nov 28, 2023
607b14c
try removing store cleanup
jmxpearson Nov 28, 2023
bab5adb
reverting
jmxpearson Nov 28, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 44 additions & 10 deletions .github/workflows/CI.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,28 @@ jobs:

runs-on: ${{matrix.os}}
strategy:
fail-fast: false
fail-fast: true
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10"]
os: [ubuntu-latest, macos-latest] # [ubuntu-latest, macos-latest, windows-latest]
python-version: ["3.9"] #["3.7", "3.8", "3.9", "3.10"]
os: [windows-latest] # [ubuntu-latest, macos-latest, windows-latest]

steps:
- uses: actions/checkout@v3
- name: Setup WSL (Windows)
if: startsWith(matrix.os, 'windows')
uses: Vampire/setup-wsl@v2.0.1
with:
distribution: Ubuntu-22.04
wsl-shell-command: bash
- name: Setup Python on WSL
if: startsWith(matrix.os, 'windows')
shell: wsl-bash {0}
run: |
pwd
sudo apt-get update -y
sudo apt-get install -y python3-pip
sudo apt-get install -y python3.10-venv
- name: clone repo
uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
Expand All @@ -32,16 +47,36 @@ jobs:
- name: Install package (Ubuntu)
if: startsWith(matrix.os, 'ubuntu')
run: |
pip install -e .[tests,lint] --no-binary pyzmq
pip install -e .[tests,lint] --no-binary pyzmq
- name: Install package (Mac)
if: startsWith(matrix.os, 'macos')
run: |
pip install -e .[tests,lint]
pip install -e .[tests]
- name: Install package (Windows)
if: startsWith(matrix.os, 'windows')
shell: wsl-bash {0}
run: |
pip install --upgrade pip setuptools
pip install build
pip install flake8 pytest
python3 -m build
pip install -e .[tests,lint] --no-binary pyzmq

- name: Test with pytest
- name: Test with pytest (Mac)
if: startsWith(matrix.os, 'macos')
run: |
python -m pytest --cov=improv

# pytest -vv --cov=improv --ignore=test/test_tui.py --ignore=test/test_store_with_errors.py --ignore=test/test_runManager.py --ignore=test/test_link.py --ignore=test/test_nexus.py
- name: Test with pytest (Ubuntu)
if: startsWith(matrix.os, 'ubuntu')
run: |
pytest test/test_actor.py -vv --cov=improv
- name: Test with pytest (Windows)
if: startsWith(matrix.os, 'windows')
shell: wsl-bash {0}
run: |
# PATH=~/.local/bin:$PATH
# pytest test/test_actor.py -vv --cov=improv -k "setStore" -s
pytest test/test_actor.py -vv --cov=improv -k "foo" -s
- name: Coveralls
uses: coverallsapp/github-action@v2

Expand All @@ -67,4 +102,3 @@ jobs:
run: |
pip install flake8
flake8

2 changes: 1 addition & 1 deletion .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,4 @@ jobs:
uses: peaceiris/actions-gh-pages@v3.6.1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: docs/_build/html
publish_dir: docs/_build/html
6 changes: 6 additions & 0 deletions .vs/VSWorkspaceState.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"ExpandedNodes": [
""
],
"PreviewInSolutionExplorer": false
}
Empty file added .vs/slnx.sqlite
Empty file.
52 changes: 46 additions & 6 deletions improv/store.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,13 +102,53 @@ def connect_store(self, store_loc):
Returns the plasmaclient if successful
Updates the client internal
"""

logger.info("attempting to connect to store")
num_attempts = 100
client = None
try:
self.client = plasma.connect(store_loc, 20)
logger.info("Successfully connected to store: {} ".format(store_loc))
except Exception:
logger.exception("Cannot connect to store: {}".format(store_loc))
raise CannotConnectToStoreInterfaceError(store_loc)
return self.client
logger.info("beginning connect")
client = plasma.connect(store_loc, num_attempts)
logger.info(client)
logger.info(
"Successfully connected to store at locations {0} ".format(store_loc)
)
except Exception as e:
logger.warning(e)
logger.warning("Cannot connect to store: {0}".format(store_loc))

# for i in range(num_attempts):
# logger.info("starting loop")
# #time.sleep(1)
# #start_time = time.time()
# # delay = 4000;
# # for j in range(delay): #time.sleep() does not work for some reason
# # logger.info(f"delay tick {j}");
# # logger.info("exited for loop")



# #end_time = time.time()
# #logger.info(f"time: {-1 * start_time + end_time}")
# logger.info("finished sleep")
# try:
# logger.info("beginning connect")
# client = plasma.connect(store_loc, 1)
# logger.info(client)
# logger.info(
# "Successfully connected to store at locations {0} ".format(store_loc)
# )
# except Exception as e:
# logger.warning(e)
# logger.warning("Cannot connect to store: {0}".format(store_loc))
# if (i == num_attempts - 1):
# logger.exception("All attempts to connect to the store have failed")
# raise CannotConnectToStoreInterfaceError(store_loc)
# if (client != None):

# break

return client

def put(self, object, object_name):
"""
Expand Down
6 changes: 5 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,10 @@ exclude = ["test", "pytest", "env", "demos", "figures"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
filterwarnings = [ ]
log_cli = true
log_cli_level = "INFO"
log_cli_format = "%(asctime)s [%(levelname)8s] %(message)s (%(filename)s:%(lineno)s)"
log_cli_date_format = "%Y-%m-%d %H:%M:%S"

[tool.flake8]
# Recommend matching the black line length (default 88),
Expand All @@ -68,4 +72,4 @@ exclude = '''
demos
| build
)/
'''
'''
31 changes: 31 additions & 0 deletions test/actors/tester.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
from improv.actor import Actor, RunManager
import numpy as np
import logging; logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)

class Tester(Actor):
""" Actor intended for use within a testing environment.
"""

def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.isSetup = False
self.hasRun = False
self.hasStopped = False
self.runNum = 0

def setup(self):
self.isSetup = True

def run(self):
self.hasRun = True
with RunManager('tester', self.runMethod, self.setup, self.q_sig, self.q_comm, self.stop) as rm:
logger.info(rm)

def runMethod(self):
self.runNum += 1

def stop(self):
self.hasStopped = True


21 changes: 21 additions & 0 deletions test/store_connect.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import pyarrow.plasma as plasma

# start the store

client = plasma.connect("/tmp/plasma")

object_id = list()

object_id.append(client.put("input 0"))
object_id.append(client.put("input 1"))
object_id.append(client.put("input 2"))
object_id.append(client.put("input 3"))

print(client.get(object_id[3]))
print(client.get(object_id[2]))
print(client.get(object_id[1]))
print(client.get(object_id[0]))

print("\n")

print(client.list())
Loading