PyChOpMarg 0.1__tar.gz → 0.1.3__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.
@@ -1,9 +1,10 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyChOpMarg
3
- Version: 0.1
3
+ Version: 0.1.3
4
4
  Summary: Python implementation of COM, as per IEEE 802.3-22 Annex 93A.
5
5
  Author-email: David Banas <capn.freako@gmail.com>
6
6
  License: BSD3
7
+ Project-URL: documentation, https://pychopmarg.readthedocs.io/en/latest/
7
8
  Keywords: com,channel,margin
8
9
  Classifier: Development Status :: 2 - Pre-Alpha
9
10
  Classifier: Environment :: Console
@@ -28,6 +29,9 @@ Classifier: Topic :: Utilities
28
29
  Requires-Python: <3.12,>=3.9
29
30
  Description-Content-Type: text/markdown
30
31
  License-File: LICENSE
32
+ Requires-Dist: chaco>=6.0.0
33
+ Requires-Dist: click
34
+ Requires-Dist: pyside6
31
35
  Requires-Dist: scikit-rf>=0.29
32
36
  Requires-Dist: traitsui>=8
33
37
 
@@ -1,17 +1,24 @@
1
1
  [build-system]
2
- requires = ["setuptools>=45"]
2
+ requires = [
3
+ "Cython<3",
4
+ "setuptools>=45",
5
+ "swig<4",
6
+ ]
3
7
  build-backend = "setuptools.build_meta"
4
8
 
5
9
  [project]
6
10
  name = "PyChOpMarg"
7
11
  description = "Python implementation of COM, as per IEEE 802.3-22 Annex 93A."
8
- version = "0.1"
12
+ version = "0.1.3"
9
13
  authors = [{name = "David Banas", email = "capn.freako@gmail.com"}]
10
- # urls = { documentation = "https://github.com/capn-freako/PyBERT/wiki"}
14
+ urls = { documentation = "https://pychopmarg.readthedocs.io/en/latest/"}
11
15
  readme = "README.md"
12
16
  requires-python = ">=3.9,<3.12"
13
17
  license = {text = "BSD3"}
14
18
  dependencies = [
19
+ "chaco>=6.0.0",
20
+ "click",
21
+ "pyside6",
15
22
  "scikit-rf>=0.29",
16
23
  "traitsui>=8",
17
24
  ]
@@ -40,7 +47,7 @@ classifiers=[
40
47
  ]
41
48
 
42
49
  [project.scripts]
43
- pychopmarg = "pychopmarg.com:cli"
50
+ pychopmarg = "pychopmarg.cli:cli"
44
51
 
45
52
  [tool.setuptools.packages.find]
46
53
  where = ["src"]
@@ -1,9 +1,10 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyChOpMarg
3
- Version: 0.1
3
+ Version: 0.1.3
4
4
  Summary: Python implementation of COM, as per IEEE 802.3-22 Annex 93A.
5
5
  Author-email: David Banas <capn.freako@gmail.com>
6
6
  License: BSD3
7
+ Project-URL: documentation, https://pychopmarg.readthedocs.io/en/latest/
7
8
  Keywords: com,channel,margin
8
9
  Classifier: Development Status :: 2 - Pre-Alpha
9
10
  Classifier: Environment :: Console
@@ -28,6 +29,9 @@ Classifier: Topic :: Utilities
28
29
  Requires-Python: <3.12,>=3.9
29
30
  Description-Content-Type: text/markdown
30
31
  License-File: LICENSE
32
+ Requires-Dist: chaco>=6.0.0
33
+ Requires-Dist: click
34
+ Requires-Dist: pyside6
31
35
  Requires-Dist: scikit-rf>=0.29
32
36
  Requires-Dist: traitsui>=8
33
37
 
@@ -8,6 +8,8 @@ src/PyChOpMarg.egg-info/entry_points.txt
8
8
  src/PyChOpMarg.egg-info/requires.txt
9
9
  src/PyChOpMarg.egg-info/top_level.txt
10
10
  src/pychopmarg/__init__.py
11
+ src/pychopmarg/cli.py
11
12
  src/pychopmarg/com.py
12
13
  src/pychopmarg/common.py
13
- src/pychopmarg/utility.py
14
+ src/pychopmarg/utility.py
15
+ src/pychopmarg/view.py
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ pychopmarg = pychopmarg.cli:cli
@@ -1,2 +1,5 @@
1
+ chaco>=6.0.0
2
+ click
3
+ pyside6
1
4
  scikit-rf>=0.29
2
5
  traitsui>=8
@@ -0,0 +1,23 @@
1
+ """
2
+ A Python implementation of COM, as per IEEE 802.3-22 Annex 93A.
3
+
4
+ .. moduleauthor:: David Banas <capn.freako@gmail.com>
5
+
6
+ Original Author: David Banas <capn.freako@gmail.com>
7
+
8
+ Original Date: 29 February 2024
9
+
10
+ Copyright (c) 2024 by David Banas; all rights reserved World wide.
11
+ """
12
+
13
+ from importlib.metadata import version as _get_version
14
+
15
+ # Set PEP396 version attribute
16
+ try:
17
+ __version__ = _get_version("PyChOpMarg")
18
+ except Exception:
19
+ __version__ = "(dev)"
20
+
21
+ __date__ = "March 25, 2024"
22
+ __authors__ = "David Banas"
23
+ __copy__ = "Copyright (c) 2024 David Banas"
@@ -0,0 +1,51 @@
1
+ """
2
+ Main Entry Point for PyChOpMarg when using the CLI.
3
+
4
+ Original author: David Banas <capn.freako@gmail.com>
5
+
6
+ Original date: March 25, 2024
7
+
8
+ Copyright (c) 2024 David Banas; all rights reserved World wide.
9
+ """
10
+
11
+ from pathlib import Path
12
+
13
+ import click # type: ignore
14
+
15
+ from pychopmarg import __version__
16
+ from pychopmarg.view import traits_view
17
+ from pychopmarg.com import COM
18
+
19
+
20
+ @click.group(invoke_without_command=True, context_settings=dict(help_option_names=["-h", "--help"]))
21
+ @click.pass_context
22
+ @click.version_option(version=__version__)
23
+ def cli(ctx):
24
+ """
25
+ PyChOpMarg GUI.
26
+ """
27
+
28
+ if ctx.invoked_subcommand is None: # No sub-command like `sim` given open the GUI like default.
29
+ theCOM = COM()
30
+
31
+ # Show the GUI.
32
+ theCOM.configure_traits(view=traits_view)
33
+
34
+
35
+ @cli.command(context_settings=dict(help_option_names=["-h", "--help"]))
36
+ @click.argument("config-file", type=click.Path(exists=True))
37
+ @click.option("--results", "-r", type=click.Path(), help="Override the results filename.")
38
+ def run(config_file, results):
39
+ """
40
+ Run a COM calculation without opening the GUI.
41
+
42
+ Will load the CONFIG_FILE from the given filepath, run the
43
+ COM calculation and then save the results into a file with the same name
44
+ but a different extension as the configuration file.
45
+ """
46
+ theCOM = COM()
47
+ theCOM.load_configuration(config_file)
48
+ theCOM.simulate(initial_run=True, update_plots=True)
49
+ if not results:
50
+ results = Path(config_file).with_suffix(".pychopmarg_results")
51
+ theCOM.save_results(results)