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.
- protocol_governed_computing-6.0.1/PKG-INFO +63 -0
- protocol_governed_computing-6.0.1/README.md +34 -0
- {protocol_governed_computing-5.0.0 → protocol_governed_computing-6.0.1}/pgc/cli.py +39 -5
- protocol_governed_computing-6.0.1/pgc/composition.py +15 -0
- protocol_governed_computing-6.0.1/protocol_governed_computing.egg-info/PKG-INFO +63 -0
- {protocol_governed_computing-5.0.0 → protocol_governed_computing-6.0.1}/protocol_governed_computing.egg-info/SOURCES.txt +1 -0
- protocol_governed_computing-6.0.1/protocol_governed_computing.egg-info/requires.txt +12 -0
- {protocol_governed_computing-5.0.0 → protocol_governed_computing-6.0.1}/pyproject.toml +14 -13
- protocol_governed_computing-5.0.0/PKG-INFO +0 -415
- protocol_governed_computing-5.0.0/README.md +0 -387
- protocol_governed_computing-5.0.0/protocol_governed_computing.egg-info/PKG-INFO +0 -415
- protocol_governed_computing-5.0.0/protocol_governed_computing.egg-info/requires.txt +0 -11
- {protocol_governed_computing-5.0.0 → protocol_governed_computing-6.0.1}/pgc/__init__.py +0 -0
- {protocol_governed_computing-5.0.0 → protocol_governed_computing-6.0.1}/protocol_governed_computing.egg-info/dependency_links.txt +0 -0
- {protocol_governed_computing-5.0.0 → protocol_governed_computing-6.0.1}/protocol_governed_computing.egg-info/entry_points.txt +0 -0
- {protocol_governed_computing-5.0.0 → protocol_governed_computing-6.0.1}/protocol_governed_computing.egg-info/top_level.txt +0 -0
- {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
|
-
|
|
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
|
|
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
|
|
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).
|
|
@@ -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 = "
|
|
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.
|
|
28
|
-
# the
|
|
29
|
-
#
|
|
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-
|
|
32
|
-
"pgc-
|
|
33
|
-
"pgc-
|
|
34
|
-
"pgc-
|
|
35
|
-
"pgc-
|
|
36
|
-
"pgc-
|
|
37
|
-
"pgc-
|
|
38
|
-
"pgc-
|
|
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]==
|
|
45
|
+
blockchain = ["pgc-domains[blockchain]==6.0.0"]
|
|
45
46
|
|
|
46
47
|
[project.scripts]
|
|
47
48
|
pgc = "pgc.cli:main"
|