{"id":1123,"name":"OSDG","description":"Tool that assigns Sustainable Development Goals labels to your input.","url":"https://github.com/osdg-ai/osdg-tool","last_synced_at":"2026-04-16T19:01:01.584Z","repository":{"id":37138095,"uuid":"319319034","full_name":"osdg-ai/osdg-tool","owner":"osdg-ai","description":"OSDG is an open-source tool that maps and connects activities to the UN Sustainable Development Goals (SDGs) by identifying SDG-relevant content in any text. The tool is available online at www.osdg.ai. API access available for research purposes. ","archived":false,"fork":false,"pushed_at":"2023-02-02T09:38:02.000Z","size":34012,"stargazers_count":47,"open_issues_count":6,"forks_count":10,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-12T17:08:00.512Z","etag":null,"topics":["machine-learning","machine-learning-algorithms","machine-translation","ml","open-source","osdg","sdg","sdg-data","sdgs","sustainability","sustainability-score","sustainable-development","sustainable-development-goals","united-nations"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/osdg-ai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-12-07T12:52:16.000Z","updated_at":"2026-04-10T08:28:03.000Z","dependencies_parsed_at":"2023-09-21T19:46:38.830Z","dependency_job_id":null,"html_url":"https://github.com/osdg-ai/osdg-tool","commit_stats":{"total_commits":8,"total_committers":3,"mean_commits":"2.6666666666666665","dds":0.375,"last_synced_commit":"0b830a211d39c4b4fd374ac16e2bf1b4d20cbfa2"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/osdg-ai/osdg-tool","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osdg-ai%2Fosdg-tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osdg-ai%2Fosdg-tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osdg-ai%2Fosdg-tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osdg-ai%2Fosdg-tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/osdg-ai","download_url":"https://codeload.github.com/osdg-ai/osdg-tool/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osdg-ai%2Fosdg-tool/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31808518,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T11:13:53.975Z","status":"ssl_error","status_checked_at":"2026-04-14T11:13:53.299Z","response_time":153,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"osdg-ai","name":"OSDG","uuid":"74975722","kind":"organization","description":"Open Source SDG Classification Tool","email":"info@osdg.ai","website":"https://osdg.ai","location":null,"twitter":"OSDG_ai","company":null,"icon_url":"https://avatars.githubusercontent.com/u/74975722?v=4","repositories_count":2,"last_synced_at":"2023-03-04T07:26:46.899Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/osdg-ai","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-14T14:26:47.014Z","updated_at":"2023-03-04T07:26:46.907Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/osdg-ai","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/osdg-ai/repositories"},"packages":[],"commits":{"id":1254623,"full_name":"osdg-ai/osdg-tool","default_branch":"main","total_commits":8,"total_committers":3,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":2.6666666666666665,"dds":0.375,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-04-16T00:43:50.751Z","last_synced_commit":"0b830a211d39c4b4fd374ac16e2bf1b4d20cbfa2","created_at":"2023-03-27T11:50:14.414Z","updated_at":"2026-04-16T00:43:25.598Z","committers":[{"name":"Simonas Trepocka","email":"trepocka.simonas@gmail.com","login":"SimonasTr","count":5},{"name":"guste55","email":"65168660+guste55","login":"guste55","count":2},{"name":"Lukas Pukelis","email":"64212144+lukas-pkl","login":"lukas-pkl","count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/osdg-ai%2Fosdg-tool/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-16T00:00:20.271Z","repositories_count":6214091,"commits_count":900322977,"contributors_count":34927162,"owners_count":1144928,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"osdg-ai/osdg-tool","html_url":"https://github.com/osdg-ai/osdg-tool","last_synced_at":"2026-03-31T11:00:33.004Z","status":"error","issues_count":5,"pull_requests_count":2,"avg_time_to_close_issue":243873.0,"avg_time_to_close_pull_request":null,"issues_closed_count":1,"pull_requests_closed_count":0,"pull_request_authors_count":2,"issue_authors_count":5,"avg_comments_per_issue":0.8,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":0,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":2,"past_year_pull_requests_count":1,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-09T10:36:41.057Z","updated_at":"2026-03-31T11:00:33.004Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/osdg-ai%2Fosdg-tool","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/osdg-ai%2Fosdg-tool/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":5},"pull_request_author_associations_count":{"NONE":2},"issue_authors":{"DataStrategist":1,"Benja1972":1,"trishasba":1,"nickdickinson":1,"FromTchouaffe":1},"pull_request_authors":{"psanogo":1,"Andreluizfc":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-14T00:00:07.923Z","repositories_count":14260526,"issues_count":34617559,"pull_requests_count":113192383,"authors_count":11234464,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":2},"past_year_pull_request_author_associations_count":{"NONE":1},"past_year_issue_authors":{"FromTchouaffe":1,"nickdickinson":1},"past_year_pull_request_authors":{"psanogo":1},"maintainers":[],"active_maintainers":[]},"events":{"total":{"WatchEvent":10,"IssueCommentEvent":2},"last_year":{"WatchEvent":5,"IssueCommentEvent":1}},"keywords":["machine-learning","machine-learning-algorithms","machine-translation","ml","open-source","osdg","sdg","sdg-data","sdgs","sustainability","sustainability-score","sustainable-development","sustainable-development-goals","united-nations"],"dependencies":[{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2022-09-04T07:00:23.293Z","updated_at":"2022-09-04T07:00:23.293Z","repository_link":"https://github.com/osdg-ai/osdg-tool/blob/main/requirements.txt","dependencies":[{"id":3763721855,"package_name":"Flask","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":3763721856,"package_name":"gunicorn","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":3763721857,"package_name":"flask-restful","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":3763721858,"package_name":"flask-cors","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":3763721859,"package_name":"pickle-mixin","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":3763721860,"package_name":"gensim","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":3763721861,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":3763721862,"package_name":"spacy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":3763721863,"package_name":"itsdangerous","ecosystem":"pypi","requirements":"==1.1.0","direct":true,"kind":"runtime","optional":false},{"id":3763721864,"package_name":"Jinja2","ecosystem":"pypi","requirements":"==2.10.1","direct":true,"kind":"runtime","optional":false},{"id":3763721865,"package_name":"MarkupSafe","ecosystem":"pypi","requirements":"==1.1.1","direct":true,"kind":"runtime","optional":false},{"id":3763721866,"package_name":"Werkzeug","ecosystem":"pypi","requirements":"==0.15.4","direct":true,"kind":"runtime","optional":false},{"id":3763721867,"package_name":"azure-storage-blob","ecosystem":"pypi","requirements":"==12.3.2","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2023-09-21T19:46:38.417Z","updated_at":"2023-09-21T19:46:38.417Z","repository_link":"https://github.com/osdg-ai/osdg-tool/blob/main/Dockerfile","dependencies":[{"id":13856894659,"package_name":"nethacker/ubuntu-18-04-python-3","ecosystem":"docker","requirements":"python-3.7.3","direct":true,"kind":"build","optional":false}]}],"score":5.0689042022202315,"created_at":"2023-09-11T11:54:36.998Z","updated_at":"2026-04-16T19:01:01.586Z","avatar_url":"https://github.com/osdg-ai.png","language":"Python","category":"Sustainable Development","sub_category":"Sustainable Development Goals","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"\u003cimg src=\"/img/OSDGlogo.png\" alt=\"OSDG_Logo\" width=\"300\"/\u003e\n\n\n**OSDG** is an open-source tool that maps and connects activities to the UN Sustainable Development Goals (SDGs) by identifying SDG-relevant content in any text.\nThe OSDG tool is available free of charge at [OSDG.ai](https://www.osdg.ai/).\n\nThe tool supports the following types of input:\n\n1. **Text fragments**\n2. **PDF files**.\n\n\nThe system uses state-of-the-art neural **machine translation** models to translate the input into English. OSDG currently supports **15 languages**: English, Arabic, Danish, Dutch, Finnish, French, German, Italian, Korean, Polish, Portuguese, Russian, Spanish, Swedish, and Turkish.\n\nFor each query, we return a detailed breakdown of all SDGs found in the text, entitled the **OSDG Wheel**. You can learn more about it [here](https://osdg.ai/news/OSDG-launches-the-OSDG-Wheel-with-detailed-SDG-data-breakdowns).\n\n## Methodology\n\nOSDG 2.0 works in two stages. The first stage uses machine learning (ML) models, trained on the data collected via the OSDG Community Platform (CP). You can access this data through the [osdg-data](https://github.com/osdg-ai/osdg-data) repository. These models carry out the initial screening of texts and suggest the preliminary SDG labels. In the second stage, OSDG uses its ontology/keyword map to verify the initial labels. To assign a specific SDG label, **both the ML and ontology approaches must be in agreement**.\n\nFor a more detailed description of the methodology, please refer to **our paper on ArXiv**:\n\n📘 [OSDG 2.0: a multilingual tool for classifying text data by UN Sustainable Development Goals (SDGs)](https://arxiv.org/abs/2211.11252)\n\n## OSDG API\n\nAre you conducting research on the SDGs, and aim to publish it in a scholarly journal, present at a conference, etc.?\n\nOur API is **free** **for research purposes**. For access, please [contact us](https://osdg.ai/contact) with a short outline of your research and anticipated scope of content.\n\n## ⚠️ Repository files\n\n**OSDG 2.0** is not available on the repository due to the use of ML and ontology approaches and machine translation. To access the latest version of the tool, visit the [OSDG website](https://osdg.ai).\n\nOSDG API is available free of charge for research teams, please [contact us](https://osdg.ai/contact) for more information.\n\n🔴 **Please note:** At the moment, the files in this repository refer to a **legacy version of the tool, OSDG 1.0**.\nYou can use them to set up a legacy OSDG application via Docker. However, the results obtained may not correspond to the most recent version of the tool, OSDG 2.0.\nFor the highest quality results, please refer to the [online version of the tool](https://www.osdg.ai/), or consult us for API access.\n\n## About the team\n\nOSDG is a partnership between [PPMI](https://www.ppmi.lt/), [UNDP SDG AI Lab](https://sdgailab.org/), and a growing community of researchers led by [Dr. Nuria Bautista Puig](https://orcid.org/0000-0003-2404-0683).\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/1123","html_url":"https://ost.ecosyste.ms/projects/1123"}