mccode-plumber 0.13.1__tar.gz → 0.13.2__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.
- {mccode_plumber-0.13.1/src/mccode_plumber.egg-info → mccode_plumber-0.13.2}/PKG-INFO +3 -3
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/pyproject.toml +2 -2
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2/src/mccode_plumber.egg-info}/PKG-INFO +3 -3
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber.egg-info/requires.txt +2 -2
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/tests/test_splitrun.py +28 -15
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/.github/workflows/pip.yml +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/.github/workflows/wheels.yml +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/.gitignore +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/README.md +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/setup.cfg +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/__init__.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/conductor.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/epics.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/file_writer_control/CommandChannel.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/file_writer_control/CommandHandler.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/file_writer_control/CommandStatus.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/file_writer_control/InThreadStatusTracker.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/file_writer_control/JobHandler.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/file_writer_control/JobStatus.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/file_writer_control/KafkaTopicUrl.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/file_writer_control/StateExtractor.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/file_writer_control/WorkerFinder.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/file_writer_control/WorkerJobPool.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/file_writer_control/WorkerStatus.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/file_writer_control/WriteJob.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/file_writer_control/__init__.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/forwarder.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/kafka.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/manage/__init__.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/manage/efu.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/manage/ensure.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/manage/epics.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/manage/forwarder.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/manage/manager.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/manage/orchestrate.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/manage/writer.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/mccode.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/splitrun.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/utils.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/writer.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber.egg-info/SOURCES.txt +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber.egg-info/dependency_links.txt +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber.egg-info/entry_points.txt +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber.egg-info/top_level.txt +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/tests/test_epics.py +0 -0
- {mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/tests/test_writer.py +0 -0
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mccode-plumber
|
|
3
|
-
Version: 0.13.
|
|
3
|
+
Version: 0.13.2
|
|
4
4
|
Author-email: Gregory Tucker <gregory.tucker@ess.eu>
|
|
5
5
|
Classifier: License :: OSI Approved :: BSD License
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
7
7
|
Requires-Dist: p4p
|
|
8
8
|
Requires-Dist: kafka-python>=2.2.11
|
|
9
9
|
Requires-Dist: ess-streaming-data-types>=0.14.0
|
|
10
|
-
Requires-Dist: restage>=0.8.
|
|
10
|
+
Requires-Dist: restage>=0.8.2
|
|
11
11
|
Requires-Dist: mccode-to-kafka>=0.2.2
|
|
12
|
-
Requires-Dist: moreniius>=0.5.
|
|
12
|
+
Requires-Dist: moreniius>=0.5.1
|
|
13
13
|
Requires-Dist: icecream
|
|
14
14
|
Requires-Dist: ephemeral-port-reserve
|
|
15
15
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mccode-plumber
|
|
3
|
-
Version: 0.13.
|
|
3
|
+
Version: 0.13.2
|
|
4
4
|
Author-email: Gregory Tucker <gregory.tucker@ess.eu>
|
|
5
5
|
Classifier: License :: OSI Approved :: BSD License
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
7
7
|
Requires-Dist: p4p
|
|
8
8
|
Requires-Dist: kafka-python>=2.2.11
|
|
9
9
|
Requires-Dist: ess-streaming-data-types>=0.14.0
|
|
10
|
-
Requires-Dist: restage>=0.8.
|
|
10
|
+
Requires-Dist: restage>=0.8.2
|
|
11
11
|
Requires-Dist: mccode-to-kafka>=0.2.2
|
|
12
|
-
Requires-Dist: moreniius>=0.5.
|
|
12
|
+
Requires-Dist: moreniius>=0.5.1
|
|
13
13
|
Requires-Dist: icecream
|
|
14
14
|
Requires-Dist: ephemeral-port-reserve
|
|
15
15
|
|
|
@@ -1,27 +1,20 @@
|
|
|
1
1
|
import unittest
|
|
2
|
+
from mccode_plumber.splitrun import make_parser
|
|
3
|
+
from restage.splitrun import args_fixup
|
|
2
4
|
|
|
3
|
-
# FIXME These tests exercise internal details of the splitrun parser,
|
|
4
|
-
# which we don't depend on since we _always_ call `parse_splitrun({our parser}`)
|
|
5
|
-
# which rearranges ArgParse's results before returning
|
|
6
|
-
# (args, parameters, precision) therefore, directly checking the ArgParse result
|
|
7
|
-
# is fraught and these tests may fail at any internal change in restage
|
|
8
|
-
# TODO A future restage release will include an `args_fixup` function that can be used
|
|
9
|
-
# to get the correct output args of `parse_splitrun` in our testing here.
|
|
10
5
|
|
|
11
6
|
class SplitrunTestCase(unittest.TestCase):
|
|
12
7
|
def test_parsing(self):
|
|
13
|
-
from mccode_plumber.splitrun import make_parser
|
|
14
8
|
parser = make_parser()
|
|
15
|
-
args = parser.parse_args(['--broker', 'l:9092', '--source', 'm', '-n', '10000', 'inst.h5', '--', 'a=1:4', 'b=2:5'])
|
|
9
|
+
args = args_fixup(parser.parse_args(['--broker', 'l:9092', '--source', 'm', '-n', '10000', 'inst.h5', '--', 'a=1:4', 'b=2:5']))
|
|
16
10
|
self.assertEqual(args.instrument, 'inst.h5')
|
|
17
11
|
self.assertEqual(args.broker, 'l:9092')
|
|
18
12
|
self.assertEqual(args.source, 'm')
|
|
19
|
-
self.assertEqual(args.ncount,
|
|
13
|
+
self.assertEqual(args.ncount, 10000)
|
|
20
14
|
self.assertEqual(args.parameters, ['a=1:4', 'b=2:5'])
|
|
21
15
|
self.assertFalse(args.parallel)
|
|
22
16
|
|
|
23
17
|
def test_mixed_order_throws(self):
|
|
24
|
-
from mccode_plumber.splitrun import make_parser
|
|
25
18
|
parser = make_parser()
|
|
26
19
|
parser.prog = "{{This failed before but works now? Why did it stop throwing?}}"
|
|
27
20
|
pa = parser.parse_args
|
|
@@ -39,18 +32,38 @@ class SplitrunTestCase(unittest.TestCase):
|
|
|
39
32
|
self.assertEqual(sort_args(['inst.h5', '-n', '10000', 'a=1:4', 'b=2:5']), ['-n', '10000', 'inst.h5', 'a=1:4', 'b=2:5'])
|
|
40
33
|
|
|
41
34
|
def test_sorted_mixed_order_does_not_throw(self):
|
|
42
|
-
from mccode_plumber.splitrun import make_parser
|
|
43
35
|
from mccode_antlr.run.runner import sort_args
|
|
44
36
|
parser = make_parser()
|
|
45
|
-
args = parser.parse_args(sort_args(['inst.h5', '--broker', 'www.github.com:9093', '--source', 'dev/null',
|
|
46
|
-
'-n', '123', '--parallel', '--', 'a=1:4', 'b=2:5']))
|
|
37
|
+
args = args_fixup(parser.parse_args(sort_args(['inst.h5', '--broker', 'www.github.com:9093', '--source', 'dev/null',
|
|
38
|
+
'-n', '123', '--parallel', '--', 'a=1:4', 'b=2:5'])))
|
|
47
39
|
self.assertEqual(args.instrument, 'inst.h5')
|
|
48
40
|
self.assertEqual(args.broker, 'www.github.com:9093')
|
|
49
41
|
self.assertEqual(args.source, 'dev/null')
|
|
50
|
-
self.assertEqual(args.ncount,
|
|
42
|
+
self.assertEqual(args.ncount, 123)
|
|
51
43
|
self.assertEqual(args.parameters, ['a=1:4', 'b=2:5'])
|
|
52
44
|
self.assertTrue(args.parallel)
|
|
53
45
|
|
|
46
|
+
def test_ncount_limits(self):
|
|
47
|
+
args = args_fixup(make_parser().parse_args([
|
|
48
|
+
'inst.json', '--broker', 'l:9092', '--source', 'm',
|
|
49
|
+
'-n', '1M', '--nmin', '100k', '--nmax', '1G'
|
|
50
|
+
]))
|
|
51
|
+
self.assertEqual(args.ncount, 10**6)
|
|
52
|
+
self.assertEqual(args.nmin, 100000)
|
|
53
|
+
self.assertEqual(args.nmax, 10**9)
|
|
54
|
+
args = args_fixup(make_parser().parse_args([
|
|
55
|
+
'inst.json', '--broker', 'l:9092', '--source', 'm', '-n', '100k]1M[1G'
|
|
56
|
+
]))
|
|
57
|
+
self.assertEqual(args.ncount, 10 ** 6)
|
|
58
|
+
self.assertEqual(args.nmin, 100000)
|
|
59
|
+
self.assertEqual(args.nmax, 10 ** 9)
|
|
60
|
+
args = args_fixup(make_parser().parse_args([
|
|
61
|
+
'inst.json', '--broker', 'l:9092', '--source', 'm', '-n', '1-1Ki+Mi'
|
|
62
|
+
]))
|
|
63
|
+
self.assertEqual(args.ncount, 2**10)
|
|
64
|
+
self.assertEqual(args.nmin, 1)
|
|
65
|
+
self.assertEqual(args.nmax, 2**20)
|
|
66
|
+
|
|
54
67
|
|
|
55
68
|
if __name__ == '__main__':
|
|
56
69
|
unittest.main()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/file_writer_control/JobHandler.py
RENAMED
|
File without changes
|
{mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/file_writer_control/JobStatus.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/file_writer_control/WriteJob.py
RENAMED
|
File without changes
|
{mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber/file_writer_control/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{mccode_plumber-0.13.1 → mccode_plumber-0.13.2}/src/mccode_plumber.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|