protocol-governed-computing 5.0.0__tar.gz → 6.0.1__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.
Files changed (17) hide show
  1. protocol_governed_computing-6.0.1/PKG-INFO +63 -0
  2. protocol_governed_computing-6.0.1/README.md +34 -0
  3. {protocol_governed_computing-5.0.0 → protocol_governed_computing-6.0.1}/pgc/cli.py +39 -5
  4. protocol_governed_computing-6.0.1/pgc/composition.py +15 -0
  5. protocol_governed_computing-6.0.1/protocol_governed_computing.egg-info/PKG-INFO +63 -0
  6. {protocol_governed_computing-5.0.0 → protocol_governed_computing-6.0.1}/protocol_governed_computing.egg-info/SOURCES.txt +1 -0
  7. protocol_governed_computing-6.0.1/protocol_governed_computing.egg-info/requires.txt +12 -0
  8. {protocol_governed_computing-5.0.0 → protocol_governed_computing-6.0.1}/pyproject.toml +14 -13
  9. protocol_governed_computing-5.0.0/PKG-INFO +0 -415
  10. protocol_governed_computing-5.0.0/README.md +0 -387
  11. protocol_governed_computing-5.0.0/protocol_governed_computing.egg-info/PKG-INFO +0 -415
  12. protocol_governed_computing-5.0.0/protocol_governed_computing.egg-info/requires.txt +0 -11
  13. {protocol_governed_computing-5.0.0 → protocol_governed_computing-6.0.1}/pgc/__init__.py +0 -0
  14. {protocol_governed_computing-5.0.0 → protocol_governed_computing-6.0.1}/protocol_governed_computing.egg-info/dependency_links.txt +0 -0
  15. {protocol_governed_computing-5.0.0 → protocol_governed_computing-6.0.1}/protocol_governed_computing.egg-info/entry_points.txt +0 -0
  16. {protocol_governed_computing-5.0.0 → protocol_governed_computing-6.0.1}/protocol_governed_computing.egg-info/top_level.txt +0 -0
  17. {protocol_governed_computing-5.0.0 → protocol_governed_computing-6.0.1}/setup.cfg +0 -0
@@ -0,0 +1,63 @@
1
+ Metadata-Version: 2.4
2
+ Name: protocol-governed-computing
3
+ Version: 6.0.1
4
+ Summary: Protocol-Governed Computing — installs the full toolchain and reports whether an environment is ready to compile, seal, and execute
5
+ Author-email: Bhash Ganti <bachipeachy@gmail.com>
6
+ License-Expression: Apache-2.0
7
+ Project-URL: Homepage, https://omnibachi.org/
8
+ Project-URL: Repository, https://github.com/protocol-governed-computing
9
+ Project-URL: Standard, https://doi.org/10.5281/zenodo.22150616
10
+ Keywords: protocol-governed-computing,pgc,governance,authorization,sdlc
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Topic :: Software Development :: Compilers
16
+ Requires-Python: >=3.10
17
+ Description-Content-Type: text/markdown
18
+ Requires-Dist: pgc-governance==6.0.0
19
+ Requires-Dist: pgc-workloads==6.0.0
20
+ Requires-Dist: pgc-domains==6.0.0
21
+ Requires-Dist: pgc-compiler==6.0.0
22
+ Requires-Dist: pgc-runtime==6.0.0
23
+ Requires-Dist: pgc-assembler==6.0.0
24
+ Requires-Dist: pgc-transport==6.0.0
25
+ Requires-Dist: pgc-inspector==6.0.0
26
+ Requires-Dist: pgc-transformation==6.0.0
27
+ Provides-Extra: blockchain
28
+ Requires-Dist: pgc-domains[blockchain]==6.0.0; extra == "blockchain"
29
+
30
+ # Protocol-Governed Computing
31
+
32
+ **Software that runs only what it has declared, and proves it.**
33
+
34
+ In Protocol-Governed Computing (PGC), declarations decide what a system does. They name who may ask,
35
+ which input is admitted, which steps run, and what each step may touch. PGC compiles the declarations
36
+ and seals them into a **snapshot**. The runtime checks the snapshot is unchanged, executes only what it
37
+ declares, refuses everything else, and records a trace of every run.
38
+
39
+ ## Choose where to start
40
+
41
+ | You want to | Start here |
42
+ |---|---|
43
+ | See PGC run on your machine in a few minutes | [**Demos**](https://github.com/protocol-governed-computing/pgc_install/blob/main/README_DEMO.md) |
44
+ | Build, run and extend PGC from its parts | [**Developer guide**](https://github.com/protocol-governed-computing/pgc_install/blob/main/README_DEV.md) |
45
+ | Verify the sealed composition a paper cites | [`pgc_release`](https://github.com/protocol-governed-computing/pgc_release) |
46
+ | Read the standard PGC implements | https://doi.org/10.5281/zenodo.22150616 |
47
+
48
+ ## This package
49
+
50
+ This repository publishes `protocol-governed-computing`, the whole toolchain in one install. It
51
+ brings in the nine component packages, pinned to one composition, and puts the `pgc` command on your
52
+ path.
53
+
54
+ ```bash
55
+ pip install protocol-governed-computing
56
+ ```
57
+
58
+ The toolchain carries no declarations. To build and run a platform, follow the
59
+ [developer guide](https://github.com/protocol-governed-computing/pgc_install/blob/main/README_DEV.md).
60
+ To see one run without building anything, start with the
61
+ [demos](https://github.com/protocol-governed-computing/pgc_install/blob/main/README_DEMO.md).
62
+
63
+ **Something failed?** Please [open an issue](https://github.com/protocol-governed-computing/pgc_install/issues).
@@ -0,0 +1,34 @@
1
+ # Protocol-Governed Computing
2
+
3
+ **Software that runs only what it has declared, and proves it.**
4
+
5
+ In Protocol-Governed Computing (PGC), declarations decide what a system does. They name who may ask,
6
+ which input is admitted, which steps run, and what each step may touch. PGC compiles the declarations
7
+ and seals them into a **snapshot**. The runtime checks the snapshot is unchanged, executes only what it
8
+ declares, refuses everything else, and records a trace of every run.
9
+
10
+ ## Choose where to start
11
+
12
+ | You want to | Start here |
13
+ |---|---|
14
+ | See PGC run on your machine in a few minutes | [**Demos**](https://github.com/protocol-governed-computing/pgc_install/blob/main/README_DEMO.md) |
15
+ | Build, run and extend PGC from its parts | [**Developer guide**](https://github.com/protocol-governed-computing/pgc_install/blob/main/README_DEV.md) |
16
+ | Verify the sealed composition a paper cites | [`pgc_release`](https://github.com/protocol-governed-computing/pgc_release) |
17
+ | Read the standard PGC implements | https://doi.org/10.5281/zenodo.22150616 |
18
+
19
+ ## This package
20
+
21
+ This repository publishes `protocol-governed-computing`, the whole toolchain in one install. It
22
+ brings in the nine component packages, pinned to one composition, and puts the `pgc` command on your
23
+ path.
24
+
25
+ ```bash
26
+ pip install protocol-governed-computing
27
+ ```
28
+
29
+ The toolchain carries no declarations. To build and run a platform, follow the
30
+ [developer guide](https://github.com/protocol-governed-computing/pgc_install/blob/main/README_DEV.md).
31
+ To see one run without building anything, start with the
32
+ [demos](https://github.com/protocol-governed-computing/pgc_install/blob/main/README_DEMO.md).
33
+
34
+ **Something failed?** Please [open an issue](https://github.com/protocol-governed-computing/pgc_install/issues).
@@ -20,6 +20,7 @@ FAMILY = [
20
20
  ("pgc-assembler", "projections → sealed snapshot"),
21
21
  ("pgc-runtime", "snapshot → governed execution"),
22
22
  ("pgc-inspector", "snapshot → read-only inspection"),
23
+ ("pgc-transport", "requests → the governed boundary (HTTP and command line)"),
23
24
  ("pgc-transformation", "change request → protocol artifacts"),
24
25
  ("pgc-governance", "governance surface implementations"),
25
26
  ("pgc-workloads", "conformance workload implementations"),
@@ -29,6 +30,27 @@ FAMILY = [
29
30
  STANDARD = "https://doi.org/10.5281/zenodo.22150616"
30
31
 
31
32
 
33
+ def _composition() -> tuple[str, str, dict[str, str]] | None:
34
+ """The composition this distribution was published as, or None for a source install.
35
+
36
+ `pgc/composition.py` is generated when a composition is published. A source tree has none, and
37
+ that is a fact to report rather than an error.
38
+ """
39
+ try:
40
+ from pgc import composition
41
+ except ImportError:
42
+ return None
43
+ return composition.PUBLIC, composition.SNAPSHOT_ID, composition.PINS
44
+
45
+
46
+ def _own_version() -> str:
47
+ """This distribution's version. It moves on its own; the composition is named by `PUBLIC`."""
48
+ try:
49
+ return md.version("protocol-governed-computing")
50
+ except md.PackageNotFoundError:
51
+ return "-"
52
+
53
+
32
54
  def _installed() -> list[tuple[str, str, str]]:
33
55
  rows = []
34
56
  for dist, role in FAMILY:
@@ -65,12 +87,22 @@ def main(argv: list[str] | None = None) -> int:
65
87
  return 0
66
88
 
67
89
  print("Protocol-Governed Computing\n")
90
+ composed = _composition()
91
+ if composed:
92
+ print(f" composition {composed[0]}, snapshot {composed[1][:16]}…")
93
+ print(f" installed as protocol-governed-computing {_own_version()}\n")
94
+ else:
95
+ print(" composition: none recorded — this is a source install\n")
96
+ pins = composed[2] if composed else {}
68
97
  print(" toolchain")
69
- missing = 0
98
+ missing = drifted = 0
70
99
  for dist, ver, role in _installed():
71
100
  if ver == "-":
72
101
  missing += 1
73
- print(f" {dist:<20} {ver:<8} {role}")
102
+ pinned = pins.get(dist)
103
+ off = pinned is not None and ver not in ("-", pinned)
104
+ drifted += off
105
+ print(f" {dist:<20} {ver:<8} {role}" + (f" (composition pins {pinned})" if off else ""))
74
106
 
75
107
  print("\n environment")
76
108
  ready = True
@@ -81,7 +113,7 @@ def main(argv: list[str] | None = None) -> int:
81
113
 
82
114
  print()
83
115
  if missing:
84
- print(f" {missing} package(s) not installed — `pip install pgc` installs the family.")
116
+ print(f" {missing} package(s) not installed — `pip install protocol-governed-computing` installs the family.")
85
117
  if not ready:
86
118
  print(" PGC_PLATFORM_ROOT must point at a governance repository (the directory")
87
119
  print(" containing registry/). The declarations are not shipped in any wheel:")
@@ -89,10 +121,12 @@ def main(argv: list[str] | None = None) -> int:
89
121
  print(" governs a build rather than a wheel's stale copy competing with a repo.")
90
122
  print("\n git clone https://github.com/protocol-governed-computing/software_governance")
91
123
  print(" export PGC_PLATFORM_ROOT=$PWD/software_governance")
92
- if not missing and ready:
124
+ if drifted:
125
+ print(f" {drifted} package(s) differ from the composition's pins — this is not {composed[0]}.")
126
+ if not missing and ready and not drifted:
93
127
  print(" Ready: toolchain installed and a governance surface is anchored.")
94
128
  print(f"\n standard: {STANDARD}")
95
- return 0 if (ready and not missing) else 1
129
+ return 0 if (ready and not missing and not drifted) else 1
96
130
 
97
131
 
98
132
  if __name__ == "__main__":
@@ -0,0 +1,15 @@
1
+ """The composition this distribution installs. Generated by `compose_release.py`; never edit."""
2
+
3
+ PUBLIC = 'v6'
4
+ SNAPSHOT_ID = '13e3c5bb502e2548389f5787caa9438247ee34f9d510ce6a8a3ed980fdf974d1'
5
+ PINS = {
6
+ 'pgc-governance': '6.0.0',
7
+ 'pgc-workloads': '6.0.0',
8
+ 'pgc-domains': '6.0.0',
9
+ 'pgc-compiler': '6.0.0',
10
+ 'pgc-runtime': '6.0.0',
11
+ 'pgc-assembler': '6.0.0',
12
+ 'pgc-transport': '6.0.0',
13
+ 'pgc-inspector': '6.0.0',
14
+ 'pgc-transformation': '6.0.0',
15
+ }
@@ -0,0 +1,63 @@
1
+ Metadata-Version: 2.4
2
+ Name: protocol-governed-computing
3
+ Version: 6.0.1
4
+ Summary: Protocol-Governed Computing — installs the full toolchain and reports whether an environment is ready to compile, seal, and execute
5
+ Author-email: Bhash Ganti <bachipeachy@gmail.com>
6
+ License-Expression: Apache-2.0
7
+ Project-URL: Homepage, https://omnibachi.org/
8
+ Project-URL: Repository, https://github.com/protocol-governed-computing
9
+ Project-URL: Standard, https://doi.org/10.5281/zenodo.22150616
10
+ Keywords: protocol-governed-computing,pgc,governance,authorization,sdlc
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Topic :: Software Development :: Compilers
16
+ Requires-Python: >=3.10
17
+ Description-Content-Type: text/markdown
18
+ Requires-Dist: pgc-governance==6.0.0
19
+ Requires-Dist: pgc-workloads==6.0.0
20
+ Requires-Dist: pgc-domains==6.0.0
21
+ Requires-Dist: pgc-compiler==6.0.0
22
+ Requires-Dist: pgc-runtime==6.0.0
23
+ Requires-Dist: pgc-assembler==6.0.0
24
+ Requires-Dist: pgc-transport==6.0.0
25
+ Requires-Dist: pgc-inspector==6.0.0
26
+ Requires-Dist: pgc-transformation==6.0.0
27
+ Provides-Extra: blockchain
28
+ Requires-Dist: pgc-domains[blockchain]==6.0.0; extra == "blockchain"
29
+
30
+ # Protocol-Governed Computing
31
+
32
+ **Software that runs only what it has declared, and proves it.**
33
+
34
+ In Protocol-Governed Computing (PGC), declarations decide what a system does. They name who may ask,
35
+ which input is admitted, which steps run, and what each step may touch. PGC compiles the declarations
36
+ and seals them into a **snapshot**. The runtime checks the snapshot is unchanged, executes only what it
37
+ declares, refuses everything else, and records a trace of every run.
38
+
39
+ ## Choose where to start
40
+
41
+ | You want to | Start here |
42
+ |---|---|
43
+ | See PGC run on your machine in a few minutes | [**Demos**](https://github.com/protocol-governed-computing/pgc_install/blob/main/README_DEMO.md) |
44
+ | Build, run and extend PGC from its parts | [**Developer guide**](https://github.com/protocol-governed-computing/pgc_install/blob/main/README_DEV.md) |
45
+ | Verify the sealed composition a paper cites | [`pgc_release`](https://github.com/protocol-governed-computing/pgc_release) |
46
+ | Read the standard PGC implements | https://doi.org/10.5281/zenodo.22150616 |
47
+
48
+ ## This package
49
+
50
+ This repository publishes `protocol-governed-computing`, the whole toolchain in one install. It
51
+ brings in the nine component packages, pinned to one composition, and puts the `pgc` command on your
52
+ path.
53
+
54
+ ```bash
55
+ pip install protocol-governed-computing
56
+ ```
57
+
58
+ The toolchain carries no declarations. To build and run a platform, follow the
59
+ [developer guide](https://github.com/protocol-governed-computing/pgc_install/blob/main/README_DEV.md).
60
+ To see one run without building anything, start with the
61
+ [demos](https://github.com/protocol-governed-computing/pgc_install/blob/main/README_DEMO.md).
62
+
63
+ **Something failed?** Please [open an issue](https://github.com/protocol-governed-computing/pgc_install/issues).
@@ -2,6 +2,7 @@ README.md
2
2
  pyproject.toml
3
3
  pgc/__init__.py
4
4
  pgc/cli.py
5
+ pgc/composition.py
5
6
  protocol_governed_computing.egg-info/PKG-INFO
6
7
  protocol_governed_computing.egg-info/SOURCES.txt
7
8
  protocol_governed_computing.egg-info/dependency_links.txt
@@ -0,0 +1,12 @@
1
+ pgc-governance==6.0.0
2
+ pgc-workloads==6.0.0
3
+ pgc-domains==6.0.0
4
+ pgc-compiler==6.0.0
5
+ pgc-runtime==6.0.0
6
+ pgc-assembler==6.0.0
7
+ pgc-transport==6.0.0
8
+ pgc-inspector==6.0.0
9
+ pgc-transformation==6.0.0
10
+
11
+ [blockchain]
12
+ pgc-domains[blockchain]==6.0.0
@@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
7
7
  # composition takes the full project name. The import package and the console script are unaffected:
8
8
  # a user still runs `pgc`.
9
9
  name = "protocol-governed-computing"
10
- version = "5.0.0"
10
+ version = "6.0.1"
11
11
  description = "Protocol-Governed Computing — installs the full toolchain and reports whether an environment is ready to compile, seal, and execute"
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.10"
@@ -24,24 +24,25 @@ classifiers = [
24
24
  "Topic :: Software Development :: Compilers",
25
25
  ]
26
26
 
27
- # The whole family, pinned to one composition. PGC versions the composition:
28
- # the repos release together and the governance closure forces lockstep, so a
29
- # mixed-version install is not a supported configuration.
27
+ # The whole family, pinned to one composition. `compose_release.py` writes these pins from
28
+ # `pgc_release/composition.json`, the record of which version of each distribution the composition
29
+ # holds. Never edit them by hand.
30
30
  dependencies = [
31
- "pgc-compiler==5.0.0",
32
- "pgc-assembler==5.0.0",
33
- "pgc-runtime==5.0.0",
34
- "pgc-inspector==5.0.0",
35
- "pgc-transformation==5.0.0",
36
- "pgc-governance==5.0.0",
37
- "pgc-workloads==5.0.0",
38
- "pgc-domains==5.0.0",
31
+ "pgc-governance==6.0.0",
32
+ "pgc-workloads==6.0.0",
33
+ "pgc-domains==6.0.0",
34
+ "pgc-compiler==6.0.0",
35
+ "pgc-runtime==6.0.0",
36
+ "pgc-assembler==6.0.0",
37
+ "pgc-transport==6.0.0",
38
+ "pgc-inspector==6.0.0",
39
+ "pgc-transformation==6.0.0",
39
40
  ]
40
41
 
41
42
  # The blockchain domain's capability transforms need Keccak-256, which is optional in pgc-domains
42
43
  # for the same reason it is optional there: the core compile path imports none of it.
43
44
  [project.optional-dependencies]
44
- blockchain = ["pgc-domains[blockchain]==5.0.0"]
45
+ blockchain = ["pgc-domains[blockchain]==6.0.0"]
45
46
 
46
47
  [project.scripts]
47
48
  pgc = "pgc.cli:main"