From 455568c15a522c06846958d1659105f8d21fcac4 Mon Sep 17 00:00:00 2001 From: Linus Gasser Date: Fri, 1 Sep 2023 15:34:36 +0200 Subject: [PATCH] Update template Updated the template, the README.md and the data.py 'type' should be for all projects, but many are missing. So should be done in a separate issue --- README.md | 93 +++++++++++++++++++++++++++-------------- data.py | 65 ++++++++++++++-------------- data/DCL/projects.yaml | 3 +- data/DCSL/projects.yaml | 3 ++ data/DLAB/projects.yaml | 7 ++++ data/template.yaml | 10 ++--- 6 files changed, 112 insertions(+), 69 deletions(-) diff --git a/README.md b/README.md index 7f89c304..c2a34336 100644 --- a/README.md +++ b/README.md @@ -37,43 +37,57 @@ in `(brackets)`. ### Needed ```yaml - (url_path): - name: (lowercase short name) - description: > - (Short description, will be shown under the name) - contacts: - - name: (Full Name) - email: (name@institution.org) - tags: - - (Add tags, if possible out of the existing ones) - type: (Application / Library) - date_added: (YYYY-MM-DD) - date_updated: (YYYY-MM-DD) +url_path: + name: (lowercase short name) + description: > + (Short description, will be shown under the name) + categories: ( "Privacy" | "Blockchain" | "Verification" | "Security" | + "Learning" | "Other" ) + applications": ( "Finance" | "Health" | "Gov" | "Infra" | "Info" | "Other" ) + tags: + - (Add tags, if possible out of the existing ones) + date_added: (YYYY-MM-DD) ``` ### Optional ```yaml - layman_desc: > - (A 2-3 sentence description for somebody with general knowledge) - tech_desc: > - (A more detailed description in 2-3 sentences for somebody knowledgeable in the subject) - url: (URL for a home page) - code: - type: (Lab Github, Personal Gihub, zip files, ...) - url: (https://...) - date_last_commit: (YYYY-MM-DD) - language: (What the majority of the code is written in - license: (BSD, GPL 3+, MPL 2+, Apache, ...) - maturity: (1|2|3) - information: (zero or more of:) - - type: (Paper | Video | Article | Blog Post | Demo | Web Page | Documentation) - title: (Short title) - url: (https:.. - for papers, don't use arxiv, but the conference link) - notes: (this is optional) - - label: (what will be shown in front of the note) - text: (the text of the note) - url: (the URL for the tag) + layman_desc: > + (A 2-3 sentence description for somebody with general knowledge) + tech_desc: > + (A more detailed description in 2-3 sentences for somebody knowledgeable in the subject) + type: ( "Application" | "Library" | "Framework" | "Toolset" | "Simulation" | "Experiments" ) + notes: (Additional description) + url: (URL for a home page) + contacts: + - name: (Full Name) + email: (name@institution.org) + code: + type: (Lab Github, Personal Gihub, zip files, ...) + url: (https://...) + date_last_commit: (YYYY-MM-DD) + doc: (url to documentation) + lines_of_code: (# of codelines) + c4dt_contact: (Email of a special contact, defaults to c4dt-dev@listes.epfl.ch) + language: (What the majority of the code is written in) + license: (BSD, GPL 3+, MPL 2+, Apache, ...) + information: (zero or more of:) + - type: (Paper | Video | Article | Blog Post | Demo | Web Page | Documentation) + title: (Short title) + url: (https:.. - for papers, don't use arxiv, but the conference link) + notes: (this is optional) + - label: (what will be shown in front of the note) + text: (the text of the note) + url: (the URL for the tag) + maturity: (1|2|3) + incubator: + work: (What C4DT did for the project) + products: + type: ( Demo | Hands-on | Pilot | App ) + url: (https://...) + title: (Description of this product) + code: (https:// of the code) + date_updated: (YYYY-MM-DD) ``` ## Run the application locally @@ -135,3 +149,18 @@ Restart Apache: ``` $ sudo /etc/init.d/apache2 restart ``` + +# Contributing + +To contribute to this repository, please install the pre-commit hooks: + +``` +pre-commit install +``` + +This will run the linter before committing. +If you already committed, you can run it like this: + +``` +pre-commit run --all +``` diff --git a/data.py b/data.py index ade86733..9a776255 100644 --- a/data.py +++ b/data.py @@ -52,31 +52,6 @@ "Info", "Other" ])), - sy.Optional("notes"): sy.Str(), - sy.Optional("url"): sy.Url(), - sy.Optional("layman_desc"): sy.Str(), - sy.Optional("tech_desc"): sy.Str(), - sy.Optional("code"): sy.Map({ - "type": sy.Str(), - sy.Optional("url"): sy.Url(), - sy.Optional("date_last_commit"): sy.Datetime(), - }), - sy.Optional("doc"): sy.Url(), - sy.Optional("lines_of_code"): sy.Str(), - sy.Optional("contacts"): sy.Seq( - sy.Map({ - "name": sy.Str(), - sy.Optional("email"): sy.Email(), - sy.Optional("url"): sy.Url(), - }), - ), - sy.Optional( - "c4dt_contact", - default={"name": "C4DT team", "email": "c4dt-dev@listes.epfl.ch"} - ): sy.Map({ - "name": sy.Str(), - "email": sy.Email(), - }), "tags": sy.Seq(sy.Enum([ "Access Control", "Anonymity", "Attack", "Benchmark", "Binary", "Bluetooth", "Byzantine Resilience", @@ -96,14 +71,42 @@ "TensorFlow", "Tor", "Zero-Knowledge Proofs" ])), - sy.Optional("language"): sy.Str(), + "date_added": sy.Datetime(), + + sy.Optional("layman_desc"): sy.Str(), + sy.Optional("tech_desc"): sy.Str(), sy.Optional("type"): sy.CommaSeparated(sy.Enum([ "Application", "Library", "Framework", "Toolset", "Simulation", - ])), + "Experiments", + ])), + sy.Optional("notes"): sy.Str(), + sy.Optional("url"): sy.Url(), + sy.Optional("contacts"): sy.Seq( + sy.Map({ + "name": sy.Str(), + sy.Optional("email"): sy.Email(), + sy.Optional("url"): sy.Url(), + }), + ), + sy.Optional("code"): sy.Map({ + "type": sy.Str(), + sy.Optional("url"): sy.Url(), + sy.Optional("date_last_commit"): sy.Datetime(), + }), + sy.Optional("doc"): sy.Url(), + sy.Optional("lines_of_code"): sy.Str(), + sy.Optional( + "c4dt_contact", + default={"name": "C4DT team", "email": "c4dt-dev@listes.epfl.ch"} + ): sy.Map({ + "name": sy.Str(), + "email": sy.Email(), + }), + sy.Optional("language"): sy.Str(), sy.Optional("license"): sy.CommaSeparated(sy.Enum([ "AGPL-3.0", "GPL-2.0", "GPL-3.0", @@ -135,8 +138,6 @@ ), }), ), - "date_added": sy.Datetime(), - sy.Optional("date_updated"): sy.Datetime(), sy.Optional("maturity"): sy.Int(), sy.Optional("incubator"): sy.Map({ "work": sy.Str(), @@ -148,8 +149,10 @@ sy.Optional("code"): sy.Str(), }), ) - }) | sy.EmptyList(), - }) + }), + sy.Optional("date_updated"): sy.Datetime() + | sy.EmptyList(), + }), ) }) diff --git a/data/DCL/projects.yaml b/data/DCL/projects.yaml index e4648b36..a73dd1dc 100644 --- a/data/DCL/projects.yaml +++ b/data/DCL/projects.yaml @@ -619,6 +619,7 @@ projects: - Learning applications: - Info + type: Library description: Regularizer for failing neurons layman_desc: > How is a neural network changing its output in presence of failing node? This project provides a regularizer adapting itself to @@ -659,7 +660,7 @@ projects: tags: - Concurrency - Network - type: Application + type: Simulation language: C information: - type: Paper diff --git a/data/DCSL/projects.yaml b/data/DCSL/projects.yaml index cc04af8f..9ee3279f 100644 --- a/data/DCSL/projects.yaml +++ b/data/DCSL/projects.yaml @@ -5,6 +5,7 @@ projects: - Security applications: - Infra + type: Library description: GoLang extension to allow a programmer to execute a goroutine within an enclave tech_desc: > Trusted Execution Environments (TEEs), such as Intel SGX enclaves, use hardware to ensure the confidentiality and integrity of @@ -65,6 +66,7 @@ projects: - Other applications: - Infra + type: Experiments description: Improved scalable and fault-tolerant distributed architecture tech_desc: > Cloud platform services must simultaneously be scalable, meet low tail latency service-level objectives, and be resilient to a @@ -100,6 +102,7 @@ projects: - Other applications: - Infra + type: Experiments description: L4 load balancer for cloud provider tech_desc: > Connection Redirect LoAd Balancer is a new scheme for L4 load balancing targeting specifically internal cloud workloads. diff --git a/data/DLAB/projects.yaml b/data/DLAB/projects.yaml index fc5155ab..94b0bdd7 100644 --- a/data/DLAB/projects.yaml +++ b/data/DLAB/projects.yaml @@ -6,6 +6,7 @@ projects: - Privacy applications: - Infra + type: Experiments description: Privacy-preserving classification layman_desc: > Today, large amounts of valuable data are distributed among millions of user-held devices, such as personal computers, phones, or @@ -39,6 +40,7 @@ projects: - Learning applications: - Info + type: Application description: Invariant natural language modeling layman_desc: > Modern pretrained language models are critical components for natural language processing. Yet, they suffer from spurious @@ -61,6 +63,7 @@ projects: - Learning applications: - Info + type: Experiments description: Improved entity linking layman_desc: > In natural language processing, entity linking, i.e. the task of assigning a unique identity to entities (for example "Paris" in a @@ -91,6 +94,7 @@ projects: - Learning applications: - Info + type: Experiments description: Corpus of quotations from a decade of news layman_desc: > News from half a million of website, over the last 15 years, labelled by writer. Quotebank shows that it can accurately associate any @@ -124,6 +128,7 @@ projects: - Learning applications: - Info + type: Experiments tags: - Survey description: Differentially Private Propensity Scores for Bias Correction @@ -153,6 +158,7 @@ projects: - Learning applications: - Info + type: Experiments tags: - Natural Language description: Autoregressive information extraction system @@ -178,6 +184,7 @@ projects: - Learning applications: - Info + type: Experiments tags: - Natural Language description: Exploiting Asymmetry for Synthetic Training Data Generation diff --git a/data/template.yaml b/data/template.yaml index 11603c09..9c95123e 100644 --- a/data/template.yaml +++ b/data/template.yaml @@ -1,23 +1,22 @@ (path): name: + description: > categories: applications: - description: > + tags: layman_desc: > tech_desc: > + type: + url: contacts: - name: email: - url: - tags: - type: code: type: Lab Github url: https:// date_last_commit: language: license: - maturity: (1|2|3) information: - type: Paper title: "" @@ -26,5 +25,6 @@ - label: text: url: + maturity: (1|2|3) date_added: date_updated: