Skip to content

Commit

Permalink
Initial revision to metadata
Browse files Browse the repository at this point in the history
Signed-off-by: Daniel Hardman <[email protected]>
  • Loading branch information
dhh1128 committed Aug 6, 2019
1 parent c949361 commit a9ad499
Show file tree
Hide file tree
Showing 51 changed files with 226 additions and 179 deletions.
4 changes: 2 additions & 2 deletions 0000-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ solution that comes out of this doc?

The following lists the implementations (if any) of this RFC. Please do a pull request to add your implementation. If the implementation is open source, include a link to the repo or to the implementation within the repo. Please be consistent in the "Name" field so that a mechanical processing of the RFCs can generate a list of all RFCs supported by an Aries implementation.

Name | Link | Implementation Notes
--- | --- | ---
Name / Link | Implementation Notes
--- | ---
| |

10 changes: 8 additions & 2 deletions code/rfcs.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,8 @@ def walk():


_impl_pat = re.compile(r'^[ \t]*#+[ \t]*Implementations?[ \t]*$', re.M)
_impl_table_head_pat = re.compile(r'^[ \t]*(\|[ \t]*)?Name[ \t]*[|](.*?)[|](.*?)\n[ \t]*([|][ \t]*)?-+[ \t]*[|](.*?)[|](.*?)\n', re.M)
_impl_table_row_pat = re.compile(r'((.*?)[|](.*?)[|](.*?))\n')
_impl_table_head_pat = re.compile(r'^[ \t]*([|][ \t]*)?Name(.*?)[|](.*?)\n[ \t]*([|][ \t]*)?-+(.*?)*[|](.*?)\n', re.M)
_impl_table_row_pat = re.compile(r'((.*?)[|](.*?))\n')

def get_impl_table(txt):
"""
Expand Down Expand Up @@ -121,3 +121,9 @@ def walk_headers(txt):
"""
for match in header_pat.finditer(txt):
yield match


_name_from_link_extractor_pat = re.compile('.*?\[(.*?)]')
def normalize_impl_name(name_and_maybe_link_cell):
x = name_and_maybe_link_cell
if '[' in x:
41 changes: 41 additions & 0 deletions code/test_rfcs.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,47 @@ def e(rfc, msg):
errors.append(rfc.relpath.replace('README.md','') + ': ' + msg)
for rfc in rfcs.walk():
if not bool(rfc.title): e(rfc, 'no title found')
if rfc.category not in rfc.relpath: e(rfc, 'category does not match path')
if rfc.category[:-1] not in rfc.tags: e(rfc, 'category not in tags')
opposite_category = 'feature' if rfc.category == 'concepts' else 'concept'
if opposite_category in rfc.tags: e(rfc, 'opposite category in tags')
if rfc.status not in rfcs.status_list: e(rfc, 'status is not canonical')
if not re.match(r'\d{4}$', rfc.num): e(rfc, 'num is not 4 digits')
if not re.search(r'\d{4}-\d{2}-\d{2}', rfc.since): e(rfc, 'since does not contain yyyy-mm-dd')
if rfc.start_date:
if not re.search(r'\d{4}-\d{2}-\d{2}', rfc.start_date): e(rfc, 'start_date does not contain yyyy-mm-dd')
if bool(rfc.authors):
if '@' in rfc.authors:
if not re.search(r'\[.*?\]\([^)]+@.*?\)', rfc.authors): e(rfc, 'email is not clickable')
else:
e(rfc, 'no authors found')
if ','.join(rfc.tags) != ','.join(rfc.tags).lower(): e(rfc, 'tags are case-sensitive')
if rfc.supersedes:
if not re.search(r'\[.*?\]\(.*?\)', rfc.supersedes): e(rfc, 'supersedes does not contain hyperlink')
if rfc.superseded_by:
if not re.search(r'\[.*?\]\(.*?\)', rfc.superseded_by): e(rfc, 'superseded_by does not contain hyperlink')
if rfc.impl_count > 0:
if rfc.status == 'PROPOSED': e(rfc, 'should not be PROPOSED if it has an impl')
if errors:
msg = '\n' + '\n'.join(errors)
raise BaseException(msg)


def test_impls():
errors = []
def e(rfc, msg):
errors.append(rfcs.relpath(rfc).replace('README.md','') + ': ' + msg)
pretty_for_normalized_names = {}
normalized_for_base_uri = {}
def map
for abspath in rfcs.walk_files():
with open(abspath, 'wt') as f:
txt = f.read()
impl_table = rfcs.get_impl_table(txt)
bad_count = False
for row in impl_table:
if (not bad_count) and len(row) != 2: e(abspath, 'row in impl table does not have 2 columns')

if rfc.category not in rfc.relpath: e(rfc, 'category does not match path')
if rfc.category[:-1] not in rfc.tags: e(rfc, 'category not in tags')
opposite_category = 'feature' if rfc.category == 'concepts' else 'concept'
Expand Down
22 changes: 11 additions & 11 deletions concepts/0003-protocols/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -301,14 +301,14 @@ or poorly supported by current tools.

The following lists the implementations (if any) of this RFC. Please do a pull request to add your implementation. If the implementation is open source, include a link to the repo or to the implementation within the repo. Please be consistent in the "Name" field so that a mechanical processing of the RFCs can generate a list of all RFCs supported by an Aries implementation.

Name | Link | Implementation Notes
--- | --- | ---
Indy Cloud Agent - Python | https://github.com/hyperledger/indy-agent/python | Reference agent implementation contributed by Sovrin Foundation and Community
Streetcred AgentFramework | https://github.com/streetcred-id/agent-framework | .NET framework for building agents of all types
Streetcred.id | https://streetcred.id/ | Commercial mobile and web app built using Streetcred AgentFramework
Aries Cloud Agent - Python | https://github.com/hyperledger/aries-cloudagent-python | Contributed by the government of British Columbia.
Aries Static Agent - Python | https://github.com/hyperledger/aries-staticagent-python | Useful for cron jobs and other simple, automated use cases.
Aries Go Framework | https://github.com/hyperledger/aries-framework-go | For building agents, hubs and other DIDComm features in GoLang.
Connect.Me | https://www.evernym.com/blog/connect-me-sovrin-digital-wallet/ | Free mobile app from Evernym. Installed via app store on iOS and Android.
Verity | https://www.evernym.com/products/ | Commercially licensed enterprise agent, SaaS or on-prem.
Aries Protocol Test Suite | https://github.com/hyperledger/aries-protocol-test-suite |
Name / Link | Implementation Notes
--- | ---
[Indy Cloud Agent - Python](https://github.com/hyperledger/indy-agent/python) | several protocols, circa Feb 2019
[Streetcred AgentFramework](https://github.com/streetcred-id/agent-framework) | several protocols, circa Feb 2019
[Streetcred.id](https://streetcred.id/) | several protocols, circa Feb 2019
[Aries Cloud Agent - Python](https://github.com/hyperledger/aries-cloudagent-python) | numerous protocols plus extension mechanism for pluggable protocols
[Aries Static Agent - Python](https://github.com/hyperledger/aries-staticagent-python) | 2 or 3 protocols
[Aries Go Framework](https://github.com/hyperledger/aries-framework-go) | DID Exchange
[Connect.Me](https://www.evernym.com/blog/connect-me-sovrin-digital-wallet/) | mature but proprietary protocols; community protocols in process
[Verity](https://www.evernym.com/products/) | mature but proprietary protocols; community protocols in process
[Aries Protocol Test Suite](https://github.com/hyperledger/aries-protocol-test-suite) | 2 or 3 core protocols; active work to implement all that are ACCEPTED, since this tests conformance of other agents
6 changes: 3 additions & 3 deletions concepts/0003-protocols/tictactoe/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -314,6 +314,6 @@ https://github.com/hyperledger/indy-hipe/blob/569357c6/text/localized-messages/R

The following lists the implementations (if any) of this RFC. Please do a pull request to add your implementation. If the implementation is open source, include a link to the repo or to the implementation within the repo. Please be consistent in the "Name" field so that a mechanical processing of the RFCs can generate a list of all RFCs supported by an Aries implementation.

Name | Link | Implementation Notes
--- | --- | ---
Verity | https://www.evernym.com/products/ | Commercially licensed enterprise agent, SaaS or on-prem.
Name / Link | Implementation Notes
--- | ---
[Verity](https://www.evernym.com/products/) | Commercially licensed enterprise agent, SaaS or on-prem.
24 changes: 12 additions & 12 deletions concepts/0004-agents/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ or in its Getting Started Guide.
* Hang out and ask questions on `#aries` on [chat.hyperledger.org](https://chat.hyperledger.org).
* Use the mailing list: [[email protected]](mailto:[email protected])
* Follow the Aries Cloud Agent - Python [Getting Started Guide (for developers)](https://github.com/hyperledger/aries-cloudagent-python/tree/master/docs/GettingStartedAriesDev)
* Study the [Aries Protocol Test Suite](https://github.com/hyperledger/aries-protocol-test-suite)
* Study the [Aries Protocol Test Suite](https://github.com/hyperledger/aries-protocol-test-suite) |
* Study the sample mobile agent at [github.com/sovrin-foundation/connector-app](https://github.com/sovrin-foundation/connector-app).
* Browse other [RFCs](../../index.md).
* Attend the Aries working group on Wednesdays. (See [HL community calendar](https://wiki.hyperledger.org/display/HYP/Calendar+of+Public+Meetings) for details; note that the default timezone is GMT.)
Expand Down Expand Up @@ -491,15 +491,15 @@ the agents described here.

The following lists the implementations (if any) of this RFC. Please do a pull request to add your implementation. If the implementation is open source, include a link to the repo or to the implementation within the repo. Please be consistent in the "Name" field so that a mechanical processing of the RFCs can generate a list of all RFCs supported by an Aries implementation.

Name | Link | Implementation Notes
--- | --- | ---
Indy Cloud Agent - Python | https://github.com/hyperledger/indy-agent/python | Reference agent implementation contributed by Sovrin Foundation and Community
Streetcred AgentFramework | https://github.com/streetcred-id/agent-framework | .NET framework for building agents of all types
Streetcred.id | https://streetcred.id/ | Commercial mobile and web app built using Streetcred AgentFramework
Aries Cloud Agent - Python | https://github.com/hyperledger/aries-cloudagent-python | Contributed by the government of British Columbia.
Aries Static Agent - Python | https://github.com/hyperledger/aries-staticagent-python | Useful for cron jobs and other simple, automated use cases.
Aries Go Framework | https://github.com/hyperledger/aries-framework-go | For building agents, hubs and other DIDComm features in GoLang.
Connect.Me | https://www.evernym.com/blog/connect-me-sovrin-digital-wallet/ | Free mobile app from Evernym. Installed via app store on iOS and Android.
Verity | https://www.evernym.com/products/ | Commercially licensed enterprise agent, SaaS or on-prem.
Aries Protocol Test Suite | https://github.com/hyperledger/aries-protocol-test-suite |
Name / Link | Implementation Notes
--- | ---
[Indy Cloud Agent - Python](https://github.com/hyperledger/indy-agent/python) | Reference agent implementation contributed by Sovrin Foundation and Community
[Streetcred AgentFramework](https://github.com/streetcred-id/agent-framework) | .NET framework for building agents of all types
[Streetcred.id](https://streetcred.id/) | Commercial mobile and web app built using Streetcred AgentFramework
[Aries Cloud Agent - Python](https://github.com/hyperledger/aries-cloudagent-python) | Contributed by the government of British Columbia.
[Aries Static Agent - Python](https://github.com/hyperledger/aries-staticagent-python) | Useful for cron jobs and other simple, automated use cases.
[Aries Go Framework](https://github.com/hyperledger/aries-framework-go) | For building agents, hubs and other DIDComm features in GoLang.
[Connect.Me](https://www.evernym.com/blog/connect-me-sovrin-digital-wallet/) | Free mobile app from Evernym. Installed via app store on iOS and Android.
[Verity](https://www.evernym.com/products/) | Commercially licensed enterprise agent, SaaS or on-prem.
[Aries Protocol Test Suite](https://github.com/hyperledger/aries-protocol-test-suite) |

22 changes: 11 additions & 11 deletions concepts/0005-didcomm/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -171,15 +171,15 @@ The following RFCs profide additional information:

The following lists the implementations (if any) of this RFC. Please do a pull request to add your implementation. If the implementation is open source, include a link to the repo or to the implementation within the repo. Please be consistent in the "Name" field so that a mechanical processing of the RFCs can generate a list of all RFCs supported by an Aries implementation.

Name | Link | Implementation Notes
--- | --- | ---
Indy Cloud Agent - Python | https://github.com/hyperledger/indy-agent/python | Reference agent implementation contributed by Sovrin Foundation and Community
Streetcred AgentFramework | https://github.com/streetcred-id/agent-framework | .NET framework for building agents of all types
Streetcred.id | https://streetcred.id/ | Commercial mobile and web app built using Streetcred AgentFramework
Aries Cloud Agent - Python | https://github.com/hyperledger/aries-cloudagent-python | Contributed by the government of British Columbia.
Aries Static Agent - Python | https://github.com/hyperledger/aries-staticagent-python | Useful for cron jobs and other simple, automated use cases.
Aries Go Framework | https://github.com/hyperledger/aries-framework-go | For building agents, hubs and other DIDComm features in GoLang.
Connect.Me | https://www.evernym.com/blog/connect-me-sovrin-digital-wallet/ | Free mobile app from Evernym. Installed via app store on iOS and Android.
Verity | https://www.evernym.com/products/ | Commercially licensed enterprise agent, SaaS or on-prem.
Aries Protocol Test Suite | https://github.com/hyperledger/aries-protocol-test-suite |
Name / Link | Implementation Notes
--- | ---
[Indy Cloud Agent - Python](https://github.com/hyperledger/indy-agent/python) | Reference agent implementation contributed by Sovrin Foundation and Community
[Streetcred AgentFramework](https://github.com/streetcred-id/agent-framework) | .NET framework for building agents of all types
[Streetcred.id](https://streetcred.id/) | Commercial mobile and web app built using Streetcred AgentFramework
[Aries Cloud Agent - Python](https://github.com/hyperledger/aries-cloudagent-python) | Contributed by the government of British Columbia.
[Aries Static Agent - Python](https://github.com/hyperledger/aries-staticagent-python) | Useful for cron jobs and other simple, automated use cases.
[Aries Go Framework](https://github.com/hyperledger/aries-framework-go) | For building agents, hubs and other DIDComm features in GoLang.
[Connect.Me](https://www.evernym.com/blog/connect-me-sovrin-digital-wallet/) | Free mobile app from Evernym. Installed via app store on iOS and Android.
[Verity](https://www.evernym.com/products/) | Commercially licensed enterprise agent, SaaS or on-prem.
[Aries Protocol Test Suite](https://github.com/hyperledger/aries-protocol-test-suite) |

4 changes: 2 additions & 2 deletions concepts/0006-ssi-notation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -760,6 +760,6 @@ explored here, so it would have to be expanded before it could be complete.

The following lists the implementations (if any) of this RFC. Please do a pull request to add your implementation. If the implementation is open source, include a link to the repo or to the implementation within the repo. Please be consistent in the "Name" field so that a mechanical processing of the RFCs can generate a list of all RFCs supported by an Aries implementation.

Name | Link | Implementation Notes
--- | --- | ---
Name / Link | Implementation Notes
--- | ---
Peer DID Method Spec | https://openssi.github.io/peer-did-method-spec/ |
14 changes: 7 additions & 7 deletions concepts/0008-message-id-and-threading/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -249,11 +249,11 @@ If you're aware of relevant prior-art, please add it here.

The following lists the implementations (if any) of this RFC. Please do a pull request to add your implementation. If the implementation is open source, include a link to the repo or to the implementation within the repo. Please be consistent in the "Name" field so that a mechanical processing of the RFCs can generate a list of all RFCs supported by an Aries implementation.

Name | Link | Implementation Notes
--- | --- | ---
Aries Cloud Agent - Python | https://github.com/hyperledger/aries-cloudagent-python | Contributed by the government of British Columbia.
Aries Static Agent - Python | https://github.com/hyperledger/aries-staticagent-python | Useful for cron jobs and other simple, automated use cases.
Connect.Me | https://www.evernym.com/blog/connect-me-sovrin-digital-wallet/ | Free mobile app from Evernym. Installed via app store on iOS and Android.
Verity | https://www.evernym.com/products/ | Commercially licensed enterprise agent, SaaS or on-prem.
Aries Protocol Test Suite | https://github.com/hyperledger/aries-protocol-test-suite |
Name / Link | Implementation Notes
--- | ---
[Aries Cloud Agent - Python](https://github.com/hyperledger/aries-cloudagent-python) | Contributed by the government of British Columbia.
[Aries Static Agent - Python](https://github.com/hyperledger/aries-staticagent-python) | Useful for cron jobs and other simple, automated use cases.
[Connect.Me](https://www.evernym.com/blog/connect-me-sovrin-digital-wallet/) | Free mobile app from Evernym. Installed via app store on iOS and Android.
[Verity](https://www.evernym.com/products/) | Commercially licensed enterprise agent, SaaS or on-prem.
[Aries Protocol Test Suite](https://github.com/hyperledger/aries-protocol-test-suite) |

22 changes: 11 additions & 11 deletions concepts/0011-decorators/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -255,16 +255,16 @@ in a declarative style: [ [Lacunas Everywhere](https://codecraft.co/2014/07/16/l

The following lists the implementations (if any) of this RFC. Please do a pull request to add your implementation. If the implementation is open source, include a link to the repo or to the implementation within the repo. Please be consistent in the "Name" field so that a mechanical processing of the RFCs can generate a list of all RFCs supported by an Aries implementation.

Name | Link | Implementation Notes
--- | --- | ---
Name / Link | Implementation Notes
--- | ---
Aries RFCs | [RFC 0008](../0008-message-id-and-threading/README.md), [RFC 0017](../0017-attachments/README.md), [RFC 0015](../../features/0015-acks/README.md), [RFC 0023](../../features/0023-did-exchange/README.md), [RFC 0056](../../features/0056-service-decorator/README.md), [RFC 0075](../../features/0075-payment-decorators/README.md)| many implemented RFCs depend on decorators...
Indy Cloud Agent - Python | https://github.com/hyperledger/indy-agent/python | Reference agent implementation contributed by Sovrin Foundation and Community
Streetcred AgentFramework | https://github.com/streetcred-id/agent-framework | .NET framework for building agents of all types
Streetcred.id | https://streetcred.id/ | Commercial mobile and web app built using Streetcred AgentFramework
Aries Cloud Agent - Python | https://github.com/hyperledger/aries-cloudagent-python | Contributed by the government of British Columbia.
Aries Static Agent - Python | https://github.com/hyperledger/aries-staticagent-python | Useful for cron jobs and other simple, automated use cases.
Aries Go Framework | https://github.com/hyperledger/aries-framework-go | For building agents, hubs and other DIDComm features in GoLang.
Connect.Me | https://www.evernym.com/blog/connect-me-sovrin-digital-wallet/ | Free mobile app from Evernym. Installed via app store on iOS and Android.
Verity | https://www.evernym.com/products/ | Commercially licensed enterprise agent, SaaS or on-prem.
Aries Protocol Test Suite | https://github.com/hyperledger/aries-protocol-test-suite |
[Indy Cloud Agent - Python](https://github.com/hyperledger/indy-agent/python) | Reference agent implementation contributed by Sovrin Foundation and Community
[Streetcred AgentFramework](https://github.com/streetcred-id/agent-framework) | .NET framework for building agents of all types
[Streetcred.id](https://streetcred.id/) | Commercial mobile and web app built using Streetcred AgentFramework
[Aries Cloud Agent - Python](https://github.com/hyperledger/aries-cloudagent-python) | Contributed by the government of British Columbia.
[Aries Static Agent - Python](https://github.com/hyperledger/aries-staticagent-python) | Useful for cron jobs and other simple, automated use cases.
[Aries Go Framework](https://github.com/hyperledger/aries-framework-go) | For building agents, hubs and other DIDComm features in GoLang.
[Connect.Me](https://www.evernym.com/blog/connect-me-sovrin-digital-wallet/) | Free mobile app from Evernym. Installed via app store on iOS and Android.
[Verity](https://www.evernym.com/products/) | Commercially licensed enterprise agent, SaaS or on-prem.
[Aries Protocol Test Suite](https://github.com/hyperledger/aries-protocol-test-suite) |

Loading

0 comments on commit a9ad499

Please sign in to comment.