Spaces:
Running
Running
File size: 5,535 Bytes
cb5b71d bc133ae cb5b71d e92e659 cb5b71d bc133ae cb5b71d bc133ae cb5b71d e92e659 cb5b71d bc133ae |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
import enum
import streamlit as st
from core.names import find_unique_name
from core.state import Metadata
# List from:
LICENSES_URL = "https://huggingface.co/docs/hub/repositories-licenses"
LICENSES = {
"Unknown": "unknown",
"Other": "other",
"Apache license 2.0": "apache-2.0",
"MIT": "mit",
"OpenRAIL license family": "openrail",
"BigScience OpenRAIL-M": "bigscience-openrail-m",
"CreativeML OpenRAIL-M": "creativeml-openrail-m",
"BigScience BLOOM RAIL 1.0": "bigscience-bloom-rail-1.0",
"BigCode Open RAIL-M v1": "bigcode-openrail-m",
"Academic Free License v3.0": "afl-3.0",
"Artistic license 2.0": "artistic-2.0",
"Boost Software License 1.0": "bsl-1.0",
"BSD license family": "bsd",
"BSD 2-clause “Simplified” license": "bsd-2-clause",
"BSD 3-clause “New” or “Revised” license": "bsd-3-clause",
"BSD 3-clause Clear license": "bsd-3-clause-clear",
"Computational Use of Data Agreement": "c-uda",
"Creative Commons license family": "cc",
"Creative Commons Zero v1.0 Universal": "cc0-1.0",
"Creative Commons Attribution 2.0": "cc-by-2.0",
"Creative Commons Attribution 2.5": "cc-by-2.5",
"Creative Commons Attribution 3.0": "cc-by-3.0",
"Creative Commons Attribution 4.0": "cc-by-4.0",
"Creative Commons Attribution Share Alike 3.0": "cc-by-sa-3.0",
"Creative Commons Attribution Share Alike 4.0": "cc-by-sa-4.0",
"Creative Commons Attribution Non Commercial 2.0": "cc-by-nc-2.0",
"Creative Commons Attribution Non Commercial 3.0": "cc-by-nc-3.0",
"Creative Commons Attribution Non Commercial 4.0": "cc-by-nc-4.0",
"Creative Commons Attribution No Derivatives 4.0": "cc-by-nd-4.0",
"Creative Commons Attribution Non Commercial No Derivatives 3.0": "cc-by-nc-nd-3.0",
"Creative Commons Attribution Non Commercial No Derivatives 4.0": "cc-by-nc-nd-4.0",
"Creative Commons Attribution Non Commercial Share Alike 2.0": "cc-by-nc-sa-2.0",
"Creative Commons Attribution Non Commercial Share Alike 3.0": "cc-by-nc-sa-3.0",
"Creative Commons Attribution Non Commercial Share Alike 4.0": "cc-by-nc-sa-4.0",
"Community Data License Agreement – Sharing, Version 1.0": "cdla-sharing-1.0",
"Community Data License Agreement – Permissive, Version 1.0": "cdla-permissive-1.0",
"Community Data License Agreement – Permissive, Version 2.0": "cdla-permissive-2.0",
"Do What The F*ck You Want To Public License": "wtfpl",
"Educational Community License v2.0": "ecl-2.0",
"Eclipse Public License 1.0": "epl-1.0",
"Eclipse Public License 2.0": "epl-2.0",
"European Union Public License 1.1": "eupl-1.1",
"GNU Affero General Public License v3.0": "agpl-3.0",
"GNU Free Documentation License family": "gfdl",
"GNU General Public License family": "gpl",
"GNU General Public License v2.0": "gpl-2.0",
"GNU General Public License v3.0": "gpl-3.0",
"GNU Lesser General Public License family": "lgpl",
"GNU Lesser General Public License v2.1": "lgpl-2.1",
"GNU Lesser General Public License v3.0": "lgpl-3.0",
"ISC": "isc",
"LaTeX Project Public License v1.3c": "lppl-1.3c",
"Microsoft Public License": "ms-pl",
"Mozilla Public License 2.0": "mpl-2.0",
"Open Data Commons License Attribution family": "odc-by",
"Open Database License family": "odbl",
"Open Rail++-M License": "openrail++",
"Open Software License 3.0": "osl-3.0",
"PostgreSQL License": "postgresql",
"SIL Open Font License 1.1": "ofl-1.1",
"University of Illinois/NCSA Open Source License": "ncsa",
"The Unlicense": "unlicense",
"zLib License": "zlib",
"Open Data Commons Public Domain Dedication and License": "pddl",
"Lesser General Public License For Linguistic Resources": "lgpl-lr",
"DeepFloyd IF Research License Agreement": "deepfloyd-if-license",
"Llama 2 Community License Agreement": "llama2",
}
def find_license_index(code: str) -> int | None:
"""Finds the index in the list of LICENSES."""
for index, license_code in enumerate(LICENSES.values()):
if license_code == code:
return index
return None
class MetadataEvent(enum.Enum):
"""Event that triggers a metadata change."""
NAME = "NAME"
DESCRIPTION = "DESCRIPTION"
URL = "URL"
LICENSE = "LICENSE"
CITATION = "CITATION"
VERSION = "VERSION"
DATA_BIASES = "DATA_BIASES"
DATA_COLLECTION = "DATA_COLLECTION"
PERSONAL_SENSITIVE_INFORMATION = "PERSONAL_SENSITIVE_INFORMATION"
def handle_metadata_change(event: MetadataEvent, metadata: Metadata, key: str):
if event == MetadataEvent.NAME:
metadata.name = find_unique_name(set(), st.session_state[key])
elif event == MetadataEvent.DESCRIPTION:
metadata.description = st.session_state[key]
elif event == MetadataEvent.LICENSE:
metadata.license = LICENSES.get(st.session_state[key])
elif event == MetadataEvent.CITATION:
metadata.citation = st.session_state[key]
elif event == MetadataEvent.URL:
metadata.url = st.session_state[key]
elif event == MetadataEvent.VERSION:
metadata.version = st.session_state[key]
elif event == MetadataEvent.DATA_BIASES:
metadata.data_biases = st.session_state[key]
elif event == MetadataEvent.DATA_COLLECTION:
metadata.data_collection = st.session_state[key]
elif event == MetadataEvent.PERSONAL_SENSITIVE_INFORMATION:
metadata.personal_sensitive_information = st.session_state[key]
|