diff --git a/wizard-work/ledger/README.md b/wizard-work/ledger/README.md new file mode 100644 index 0000000..b525a94 --- /dev/null +++ b/wizard-work/ledger/README.md @@ -0,0 +1,41 @@ +# UN Member States — Admission Table + +**Topic:** United Nations member states and their date of admission +**Lane:** Extract — data extraction and tables +**Artifact:** `un_member_states.csv` (primary), `un_member_states.json` (machine-readable) + +## Source + +- Wikipedia — "List of member states of the United Nations" + `https://en.wikipedia.org/wiki/List_of_member_states_of_the_United_Nations` +- Extracted from the live page via `web_extract` (real fetch, no stale cache): + `https://en.wikipedia.org/wiki/List_of_member_states_of_the_United_Nations` + → cached raw page: `/root/.hermes/profiles/ledger/cache/web/en.wikipedia.org-00a059c52c.md` +- Parser: `/root/.hermes/wizard-outputs/ledger/extract_un_member_states.py` +- Verification (exit-code verdict): `/root/.hermes/wizard-outputs/ledger/check_ledger.py` + +## Schema + +| Column | Meaning | +|-------------------|------------------------------------------------| +| `country` | UN member state (official name as listed) | +| `date_of_admission` | Date of admission (e.g. `24 October 1945`) | +| `year` | Calendar year of admission | +| `is_founding_member` | `true` when the state was admitted in 1945 (the 51 original members of the UN) | + +## Provenance & counts + +- Member states: **193** (per the page's summary line: "193 United Nations member states") +- Founding members (admitted 1945): **49** — the 51 original members of the UN, minus + the 2 that were dissolved without a UN successor (Czechoslovakia, Yugoslavia; members + ended 1992) plus the Republic of China's seat, which continues in the table as "China" + (People's Republic of China, admitted 1945). 51 − 2 = 49 ✓. +- Admission years range: **1945** (earliest) to **2011** (South Sudan, latest). + +## Notes + +- Notes column from the source table was intentionally dropped: it is prose with + variable length and embedded markup; only the two stable columns + (`country`, `date_of_admission`) are material to this table extract. +- Founding-member flag derives purely from `year == 1945`, which is directly + verifiable from the source table. diff --git a/wizard-work/ledger/check_ledger.py b/wizard-work/ledger/check_ledger.py new file mode 100644 index 0000000..d44597c --- /dev/null +++ b/wizard-work/ledger/check_ledger.py @@ -0,0 +1,97 @@ +#!/usr/bin/env python3 +"""Verify the UN member-states extraction artifact. + +Exit code 0 = correct, 1 = any check failed. +Pure assertions on the artifacts; no network, no external data. +""" +import csv +import json +import sys +from datetime import datetime + +OUT = "/root/.hermes/wizard-outputs/ledger" +csv_path = f"{OUT}/un_member_states.csv" +json_path = f"{OUT}/un_member_states.json" + +failures = [] + + +def check(name, cond, msg=None): + if not cond: + failures.append((name, msg or "")) + + +def parse_date(s): + return datetime.strptime(s.strip(), "%d %B %Y") + + +# --- CSV ------------------------------------------------------------------- +with open(csv_path, encoding="utf-8", newline="") as fh: + reader = csv.DictReader(fh) + rows = list(reader) + headers = reader.fieldnames + +check("csv.exists", True) +check("csv.headers", headers == ["country", "date_of_admission", "year", "is_founding_member"]) +check("csv.rowcount", len(rows) == 193, f"got {len(rows)} rows, expected 193") +check("csv.no_empty_cells", all( + r.get("country", "").strip() and r.get("date_of_admission", "").strip() for r in rows +)) + +# rows are chronologically sorted (verified below); first is a 1945 admission, +# last is the 2011 admission. +if rows: + first_date = parse_date(rows[0]["date_of_admission"]) + last_date = parse_date(rows[-1]["date_of_admission"]) + check("csv.first_year", first_date.year == 1945, rows[0]["date_of_admission"]) + check("csv.last_year", last_date.year == 2011, rows[-1]["date_of_admission"]) + +# chronological order + date/year/founding consistency +prev = None +for r in rows: + d = parse_date(r["date_of_admission"]) + y = d.year + check("csv.year.match." + r["country"], int(r["year"]) == y) + expected_founding = "true" if y == 1945 else "false" + check("csv.founding.match." + r["country"], + r["is_founding_member"].strip().lower() == expected_founding) + if prev is not None: + check("csv.sorted." + r["country"], d >= prev) + prev = d + +# --- JSON ------------------------------------------------------------------ +with open(json_path, encoding="utf-8") as fh: + jrows = json.load(fh) +check("json.exists", True) +check("json.rowcount", len(jrows) == 193) +check("json.keys", all(list(r.keys()) == ["country", "date_of_admission", "year", "is_founding_member"] for r in jrows)) + +canonical = [] +for r in rows: + d = parse_date(r["date_of_admission"]) + canonical.append({ + "country": r["country"], + "date_of_admission": r["date_of_admission"], + "year": d.year, + "is_founding_member": r["is_founding_member"].strip().lower() == "true", + }) +check("json.match_csv", jrows == canonical) + +# --- Cross-check ----------------------------------------------------------- +check("csv.founding_count", sum(1 for r in rows if r["is_founding_member"].strip().lower() == "true") == 49, + "expected 49 founding members (admitted 1945)") + +# presence spot-checks +by_country = {r["country"]: r for r in rows} +check("csv.has_afghanistan", "Afghanistan" in by_country and by_country["Afghanistan"]["date_of_admission"] == "19 November 1946") +check("csv.has_zimbabwe", "Zimbabwe" in by_country and by_country["Zimbabwe"]["date_of_admission"] == "25 August 1980") + +print("member_states:", len(rows)) +print("founding_1945:", sum(1 for r in rows if r["is_founding_member"].strip().lower() == "true")) +print("years:", min(int(r["year"]) for r in rows), "to", max(int(r["year"]) for r in rows)) +if failures: + print("FAILED CHECKS:") + for name, msg in failures: + print(f" - {name}" + (f": {msg}" if msg else "")) + sys.exit(1) +print("ALL CHECKS PASSED") diff --git a/wizard-work/ledger/extract_un_member_states.py b/wizard-work/ledger/extract_un_member_states.py new file mode 100644 index 0000000..b2ee035 --- /dev/null +++ b/wizard-work/ledger/extract_un_member_states.py @@ -0,0 +1,70 @@ +#!/usr/bin/env python3 +"""Extract the UN member states table (Country | Date of admission) from the +Wikipedia 'List of member states of the United Nations' page. + +Source (real web_extract result, saved from en.wikipedia.org): + /root/.hermes/profiles/ledger/cache/web/en.wikipedia.org-00a059c52c.md + +Output (written to the artifact dir): + un_member_states.csv - Country, Date_of_admission, Year, Is_founding_member + un_member_states.json - same records as a JSON array + +Only the 193 current member states are emitted; separator rows and the table +header are filtered out. Founding member == admitted in 1945 (the 51 original +members of the United Nations, per the page's "Current members" section). +""" +import csv +import json +import os +import re +from datetime import datetime + +SRC = "/root/.hermes/profiles/ledger/cache/web/en.wikipedia.org-00a059c52c.md" +OUT = "/root/.hermes/wizard-outputs/ledger" + +os.makedirs(OUT, exist_ok=True) + +# Match rows like: || Afghanistan | 19 November 1946 | | +# country/date use non-greedy capture; notes capture is greedy so notes that +# contain ' | ' are kept whole. +ROW_RE = re.compile(r"^\| (.+?) \| (.+?) \| (.*)$", re.M) + +records = [] +for m in ROW_RE.finditer(open(SRC, encoding="utf-8").read()): + country = m.group(1).strip() + date = m.group(2).strip() + # Skip table header and Markdown separator rows. + if country.lower().startswith("member state") or date.lower().startswith("date"): + continue + if country in ("---", "") or date in ("---", ""): + continue + if not re.match(r"^\d{1,2} \w+ \d{4}$", date): + continue + d = datetime.strptime(date, "%d %B %Y") + records.append({ + "country": country, + "date_of_admission": date, + "year": d.year, + "is_founding_member": (d.year == 1945), + }) + +records.sort(key=lambda r: datetime.strptime(r["date_of_admission"], "%d %B %Y")) + +csv_path = os.path.join(OUT, "un_member_states.csv") +with open(csv_path, "w", encoding="utf-8", newline="") as fh: + writer = csv.DictWriter( + fh, fieldnames=["country", "date_of_admission", "year", "is_founding_member"] + ) + writer.writeheader() + writer.writerows(records) + +json_path = os.path.join(OUT, "un_member_states.json") +with open(json_path, "w", encoding="utf-8") as fh: + json.dump(records, fh, ensure_ascii=False, indent=2) + +print("rows_emitted:", len(records)) +print("columns:", list(records[0].keys()) if records else None) +print("founding_1945:", sum(1 for r in records if r["is_founding_member"])) +print("years:", sorted(set(r["year"] for r in records))) +print("csv:", csv_path) +print("json:", json_path) diff --git a/wizard-work/ledger/un_member_states.csv b/wizard-work/ledger/un_member_states.csv new file mode 100644 index 0000000..e53ed8f --- /dev/null +++ b/wizard-work/ledger/un_member_states.csv @@ -0,0 +1,194 @@ +country,date_of_admission,year,is_founding_member +Argentina,24 October 1945,1945,True +Belarus,24 October 1945,1945,True +Brazil,24 October 1945,1945,True +Chile,24 October 1945,1945,True +China,24 October 1945,1945,True +Cuba,24 October 1945,1945,True +Denmark,24 October 1945,1945,True +Dominican Republic,24 October 1945,1945,True +Egypt,24 October 1945,1945,True +El Salvador,24 October 1945,1945,True +France,24 October 1945,1945,True +Haiti,24 October 1945,1945,True +Iran (Islamic Republic of),24 October 1945,1945,True +Lebanon,24 October 1945,1945,True +Luxembourg,24 October 1945,1945,True +New Zealand,24 October 1945,1945,True +Nicaragua,24 October 1945,1945,True +Paraguay,24 October 1945,1945,True +Philippines,24 October 1945,1945,True +Poland,24 October 1945,1945,True +Russian Federation,24 October 1945,1945,True +Saudi Arabia,24 October 1945,1945,True +Syrian Arab Republic,24 October 1945,1945,True +Türkiye,24 October 1945,1945,True +Ukraine,24 October 1945,1945,True +United Kingdom of Great Britain and Northern Ireland,24 October 1945,1945,True +United States of America,24 October 1945,1945,True +Greece,25 October 1945,1945,True +India,30 October 1945,1945,True +Peru,31 October 1945,1945,True +Australia,1 November 1945,1945,True +Costa Rica,2 November 1945,1945,True +Liberia,2 November 1945,1945,True +Colombia,5 November 1945,1945,True +Mexico,7 November 1945,1945,True +South Africa,7 November 1945,1945,True +Canada,9 November 1945,1945,True +Ethiopia,13 November 1945,1945,True +Panama,13 November 1945,1945,True +Bolivia,14 November 1945,1945,True +Venezuela (Bolivarian Republic of),15 November 1945,1945,True +Guatemala,21 November 1945,1945,True +Norway,27 November 1945,1945,True +Netherlands (Kingdom of the),10 December 1945,1945,True +Honduras,17 December 1945,1945,True +Uruguay,18 December 1945,1945,True +Ecuador,21 December 1945,1945,True +Iraq,21 December 1945,1945,True +Belgium,27 December 1945,1945,True +Afghanistan,19 November 1946,1946,False +Iceland,19 November 1946,1946,False +Sweden,19 November 1946,1946,False +Thailand,16 December 1946,1946,False +Pakistan,30 September 1947,1947,False +Yemen,30 September 1947,1947,False +Myanmar,19 April 1948,1948,False +Israel,11 May 1949,1949,False +Indonesia,28 September 1950,1950,False +Albania,14 December 1955,1955,False +Austria,14 December 1955,1955,False +Bulgaria,14 December 1955,1955,False +Cambodia,14 December 1955,1955,False +Finland,14 December 1955,1955,False +Hungary,14 December 1955,1955,False +Ireland,14 December 1955,1955,False +Italy,14 December 1955,1955,False +Jordan,14 December 1955,1955,False +Lao People's Democratic Republic,14 December 1955,1955,False +Libya,14 December 1955,1955,False +Nepal,14 December 1955,1955,False +Portugal,14 December 1955,1955,False +Romania,14 December 1955,1955,False +Spain,14 December 1955,1955,False +Sri Lanka,14 December 1955,1955,False +Morocco,12 November 1956,1956,False +Sudan,12 November 1956,1956,False +Tunisia,12 November 1956,1956,False +Japan,18 December 1956,1956,False +Ghana,8 March 1957,1957,False +Malaysia,17 September 1957,1957,False +Guinea,12 December 1958,1958,False +Benin,20 September 1960,1960,False +Burkina Faso,20 September 1960,1960,False +Cameroon,20 September 1960,1960,False +Central African Republic,20 September 1960,1960,False +Chad,20 September 1960,1960,False +Congo,20 September 1960,1960,False +Côte d'Ivoire,20 September 1960,1960,False +Cyprus,20 September 1960,1960,False +Democratic Republic of the Congo,20 September 1960,1960,False +Gabon,20 September 1960,1960,False +Madagascar,20 September 1960,1960,False +Niger,20 September 1960,1960,False +Somalia,20 September 1960,1960,False +Togo,20 September 1960,1960,False +Mali,28 September 1960,1960,False +Senegal,28 September 1960,1960,False +Nigeria,7 October 1960,1960,False +Sierra Leone,27 September 1961,1961,False +Mauritania,27 October 1961,1961,False +Mongolia,27 October 1961,1961,False +United Republic of Tanzania,14 December 1961,1961,False +Burundi,18 September 1962,1962,False +Jamaica,18 September 1962,1962,False +Rwanda,18 September 1962,1962,False +Trinidad and Tobago,18 September 1962,1962,False +Algeria,8 October 1962,1962,False +Uganda,25 October 1962,1962,False +Kuwait,14 May 1963,1963,False +Kenya,16 December 1963,1963,False +Malawi,1 December 1964,1964,False +Malta,1 December 1964,1964,False +Zambia,1 December 1964,1964,False +Gambia (Republic of The),21 September 1965,1965,False +Maldives,21 September 1965,1965,False +Singapore,21 September 1965,1965,False +Guyana,20 September 1966,1966,False +Botswana,17 October 1966,1966,False +Lesotho,17 October 1966,1966,False +Barbados,9 December 1966,1966,False +Mauritius,24 April 1968,1968,False +Eswatini,24 September 1968,1968,False +Equatorial Guinea,12 November 1968,1968,False +Fiji,13 October 1970,1970,False +Bahrain,21 September 1971,1971,False +Bhutan,21 September 1971,1971,False +Qatar,21 September 1971,1971,False +Oman,7 October 1971,1971,False +United Arab Emirates,9 December 1971,1971,False +"Bahamas, The",18 September 1973,1973,False +Germany,18 September 1973,1973,False +Bangladesh,17 September 1974,1974,False +Grenada,17 September 1974,1974,False +Guinea Bissau,17 September 1974,1974,False +Cabo Verde,16 September 1975,1975,False +Mozambique,16 September 1975,1975,False +Sao Tome and Principe,16 September 1975,1975,False +Papua New Guinea,10 October 1975,1975,False +Comoros,12 November 1975,1975,False +Suriname,4 December 1975,1975,False +Seychelles,21 September 1976,1976,False +Angola,1 December 1976,1976,False +Samoa,15 December 1976,1976,False +Djibouti,20 September 1977,1977,False +Vietnam,20 September 1977,1977,False +Solomon Islands,19 September 1978,1978,False +Dominica,18 December 1978,1978,False +Saint Lucia,18 September 1979,1979,False +Zimbabwe,25 August 1980,1980,False +Saint Vincent and the Grenadines,16 September 1980,1980,False +Vanuatu,15 September 1981,1981,False +Belize,25 September 1981,1981,False +Antigua and Barbuda,11 November 1981,1981,False +Saint Kitts and Nevis,23 September 1983,1983,False +Brunei,21 September 1984,1984,False +Namibia,23 April 1990,1990,False +Liechtenstein,18 September 1990,1990,False +Democratic People's Republic of Korea,17 September 1991,1991,False +Estonia,17 September 1991,1991,False +Latvia,17 September 1991,1991,False +Lithuania,17 September 1991,1991,False +Marshall Islands,17 September 1991,1991,False +Micronesia (Federated States of),17 September 1991,1991,False +Republic of Korea,17 September 1991,1991,False +Armenia,2 March 1992,1992,False +Azerbaijan,2 March 1992,1992,False +Kazakhstan,2 March 1992,1992,False +Kyrgyzstan,2 March 1992,1992,False +Republic of Moldova,2 March 1992,1992,False +San Marino,2 March 1992,1992,False +Tajikistan,2 March 1992,1992,False +Turkmenistan,2 March 1992,1992,False +Uzbekistan,2 March 1992,1992,False +Bosnia and Herzegovina,22 May 1992,1992,False +Croatia,22 May 1992,1992,False +Slovenia,22 May 1992,1992,False +Georgia,31 July 1992,1992,False +Czechia,19 January 1993,1993,False +Slovakia,19 January 1993,1993,False +North Macedonia,8 April 1993,1993,False +Eritrea,28 May 1993,1993,False +Monaco,28 May 1993,1993,False +Andorra,28 July 1993,1993,False +Palau,15 December 1994,1994,False +Kiribati,14 September 1999,1999,False +Nauru,14 September 1999,1999,False +Tonga,14 September 1999,1999,False +Tuvalu,5 September 2000,2000,False +Serbia,1 November 2000,2000,False +Switzerland,10 September 2002,2002,False +Timor-Leste,27 September 2002,2002,False +Montenegro,28 June 2006,2006,False +South Sudan,14 July 2011,2011,False diff --git a/wizard-work/ledger/un_member_states.json b/wizard-work/ledger/un_member_states.json new file mode 100644 index 0000000..a61d3a9 --- /dev/null +++ b/wizard-work/ledger/un_member_states.json @@ -0,0 +1,1160 @@ +[ + { + "country": "Argentina", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Belarus", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Brazil", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Chile", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "China", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Cuba", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Denmark", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Dominican Republic", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Egypt", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "El Salvador", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "France", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Haiti", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Iran (Islamic Republic of)", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Lebanon", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Luxembourg", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "New Zealand", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Nicaragua", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Paraguay", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Philippines", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Poland", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Russian Federation", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Saudi Arabia", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Syrian Arab Republic", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Türkiye", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Ukraine", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "United Kingdom of Great Britain and Northern Ireland", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "United States of America", + "date_of_admission": "24 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Greece", + "date_of_admission": "25 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "India", + "date_of_admission": "30 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Peru", + "date_of_admission": "31 October 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Australia", + "date_of_admission": "1 November 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Costa Rica", + "date_of_admission": "2 November 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Liberia", + "date_of_admission": "2 November 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Colombia", + "date_of_admission": "5 November 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Mexico", + "date_of_admission": "7 November 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "South Africa", + "date_of_admission": "7 November 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Canada", + "date_of_admission": "9 November 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Ethiopia", + "date_of_admission": "13 November 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Panama", + "date_of_admission": "13 November 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Bolivia", + "date_of_admission": "14 November 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Venezuela (Bolivarian Republic of)", + "date_of_admission": "15 November 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Guatemala", + "date_of_admission": "21 November 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Norway", + "date_of_admission": "27 November 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Netherlands (Kingdom of the)", + "date_of_admission": "10 December 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Honduras", + "date_of_admission": "17 December 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Uruguay", + "date_of_admission": "18 December 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Ecuador", + "date_of_admission": "21 December 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Iraq", + "date_of_admission": "21 December 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Belgium", + "date_of_admission": "27 December 1945", + "year": 1945, + "is_founding_member": true + }, + { + "country": "Afghanistan", + "date_of_admission": "19 November 1946", + "year": 1946, + "is_founding_member": false + }, + { + "country": "Iceland", + "date_of_admission": "19 November 1946", + "year": 1946, + "is_founding_member": false + }, + { + "country": "Sweden", + "date_of_admission": "19 November 1946", + "year": 1946, + "is_founding_member": false + }, + { + "country": "Thailand", + "date_of_admission": "16 December 1946", + "year": 1946, + "is_founding_member": false + }, + { + "country": "Pakistan", + "date_of_admission": "30 September 1947", + "year": 1947, + "is_founding_member": false + }, + { + "country": "Yemen", + "date_of_admission": "30 September 1947", + "year": 1947, + "is_founding_member": false + }, + { + "country": "Myanmar", + "date_of_admission": "19 April 1948", + "year": 1948, + "is_founding_member": false + }, + { + "country": "Israel", + "date_of_admission": "11 May 1949", + "year": 1949, + "is_founding_member": false + }, + { + "country": "Indonesia", + "date_of_admission": "28 September 1950", + "year": 1950, + "is_founding_member": false + }, + { + "country": "Albania", + "date_of_admission": "14 December 1955", + "year": 1955, + "is_founding_member": false + }, + { + "country": "Austria", + "date_of_admission": "14 December 1955", + "year": 1955, + "is_founding_member": false + }, + { + "country": "Bulgaria", + "date_of_admission": "14 December 1955", + "year": 1955, + "is_founding_member": false + }, + { + "country": "Cambodia", + "date_of_admission": "14 December 1955", + "year": 1955, + "is_founding_member": false + }, + { + "country": "Finland", + "date_of_admission": "14 December 1955", + "year": 1955, + "is_founding_member": false + }, + { + "country": "Hungary", + "date_of_admission": "14 December 1955", + "year": 1955, + "is_founding_member": false + }, + { + "country": "Ireland", + "date_of_admission": "14 December 1955", + "year": 1955, + "is_founding_member": false + }, + { + "country": "Italy", + "date_of_admission": "14 December 1955", + "year": 1955, + "is_founding_member": false + }, + { + "country": "Jordan", + "date_of_admission": "14 December 1955", + "year": 1955, + "is_founding_member": false + }, + { + "country": "Lao People's Democratic Republic", + "date_of_admission": "14 December 1955", + "year": 1955, + "is_founding_member": false + }, + { + "country": "Libya", + "date_of_admission": "14 December 1955", + "year": 1955, + "is_founding_member": false + }, + { + "country": "Nepal", + "date_of_admission": "14 December 1955", + "year": 1955, + "is_founding_member": false + }, + { + "country": "Portugal", + "date_of_admission": "14 December 1955", + "year": 1955, + "is_founding_member": false + }, + { + "country": "Romania", + "date_of_admission": "14 December 1955", + "year": 1955, + "is_founding_member": false + }, + { + "country": "Spain", + "date_of_admission": "14 December 1955", + "year": 1955, + "is_founding_member": false + }, + { + "country": "Sri Lanka", + "date_of_admission": "14 December 1955", + "year": 1955, + "is_founding_member": false + }, + { + "country": "Morocco", + "date_of_admission": "12 November 1956", + "year": 1956, + "is_founding_member": false + }, + { + "country": "Sudan", + "date_of_admission": "12 November 1956", + "year": 1956, + "is_founding_member": false + }, + { + "country": "Tunisia", + "date_of_admission": "12 November 1956", + "year": 1956, + "is_founding_member": false + }, + { + "country": "Japan", + "date_of_admission": "18 December 1956", + "year": 1956, + "is_founding_member": false + }, + { + "country": "Ghana", + "date_of_admission": "8 March 1957", + "year": 1957, + "is_founding_member": false + }, + { + "country": "Malaysia", + "date_of_admission": "17 September 1957", + "year": 1957, + "is_founding_member": false + }, + { + "country": "Guinea", + "date_of_admission": "12 December 1958", + "year": 1958, + "is_founding_member": false + }, + { + "country": "Benin", + "date_of_admission": "20 September 1960", + "year": 1960, + "is_founding_member": false + }, + { + "country": "Burkina Faso", + "date_of_admission": "20 September 1960", + "year": 1960, + "is_founding_member": false + }, + { + "country": "Cameroon", + "date_of_admission": "20 September 1960", + "year": 1960, + "is_founding_member": false + }, + { + "country": "Central African Republic", + "date_of_admission": "20 September 1960", + "year": 1960, + "is_founding_member": false + }, + { + "country": "Chad", + "date_of_admission": "20 September 1960", + "year": 1960, + "is_founding_member": false + }, + { + "country": "Congo", + "date_of_admission": "20 September 1960", + "year": 1960, + "is_founding_member": false + }, + { + "country": "Côte d'Ivoire", + "date_of_admission": "20 September 1960", + "year": 1960, + "is_founding_member": false + }, + { + "country": "Cyprus", + "date_of_admission": "20 September 1960", + "year": 1960, + "is_founding_member": false + }, + { + "country": "Democratic Republic of the Congo", + "date_of_admission": "20 September 1960", + "year": 1960, + "is_founding_member": false + }, + { + "country": "Gabon", + "date_of_admission": "20 September 1960", + "year": 1960, + "is_founding_member": false + }, + { + "country": "Madagascar", + "date_of_admission": "20 September 1960", + "year": 1960, + "is_founding_member": false + }, + { + "country": "Niger", + "date_of_admission": "20 September 1960", + "year": 1960, + "is_founding_member": false + }, + { + "country": "Somalia", + "date_of_admission": "20 September 1960", + "year": 1960, + "is_founding_member": false + }, + { + "country": "Togo", + "date_of_admission": "20 September 1960", + "year": 1960, + "is_founding_member": false + }, + { + "country": "Mali", + "date_of_admission": "28 September 1960", + "year": 1960, + "is_founding_member": false + }, + { + "country": "Senegal", + "date_of_admission": "28 September 1960", + "year": 1960, + "is_founding_member": false + }, + { + "country": "Nigeria", + "date_of_admission": "7 October 1960", + "year": 1960, + "is_founding_member": false + }, + { + "country": "Sierra Leone", + "date_of_admission": "27 September 1961", + "year": 1961, + "is_founding_member": false + }, + { + "country": "Mauritania", + "date_of_admission": "27 October 1961", + "year": 1961, + "is_founding_member": false + }, + { + "country": "Mongolia", + "date_of_admission": "27 October 1961", + "year": 1961, + "is_founding_member": false + }, + { + "country": "United Republic of Tanzania", + "date_of_admission": "14 December 1961", + "year": 1961, + "is_founding_member": false + }, + { + "country": "Burundi", + "date_of_admission": "18 September 1962", + "year": 1962, + "is_founding_member": false + }, + { + "country": "Jamaica", + "date_of_admission": "18 September 1962", + "year": 1962, + "is_founding_member": false + }, + { + "country": "Rwanda", + "date_of_admission": "18 September 1962", + "year": 1962, + "is_founding_member": false + }, + { + "country": "Trinidad and Tobago", + "date_of_admission": "18 September 1962", + "year": 1962, + "is_founding_member": false + }, + { + "country": "Algeria", + "date_of_admission": "8 October 1962", + "year": 1962, + "is_founding_member": false + }, + { + "country": "Uganda", + "date_of_admission": "25 October 1962", + "year": 1962, + "is_founding_member": false + }, + { + "country": "Kuwait", + "date_of_admission": "14 May 1963", + "year": 1963, + "is_founding_member": false + }, + { + "country": "Kenya", + "date_of_admission": "16 December 1963", + "year": 1963, + "is_founding_member": false + }, + { + "country": "Malawi", + "date_of_admission": "1 December 1964", + "year": 1964, + "is_founding_member": false + }, + { + "country": "Malta", + "date_of_admission": "1 December 1964", + "year": 1964, + "is_founding_member": false + }, + { + "country": "Zambia", + "date_of_admission": "1 December 1964", + "year": 1964, + "is_founding_member": false + }, + { + "country": "Gambia (Republic of The)", + "date_of_admission": "21 September 1965", + "year": 1965, + "is_founding_member": false + }, + { + "country": "Maldives", + "date_of_admission": "21 September 1965", + "year": 1965, + "is_founding_member": false + }, + { + "country": "Singapore", + "date_of_admission": "21 September 1965", + "year": 1965, + "is_founding_member": false + }, + { + "country": "Guyana", + "date_of_admission": "20 September 1966", + "year": 1966, + "is_founding_member": false + }, + { + "country": "Botswana", + "date_of_admission": "17 October 1966", + "year": 1966, + "is_founding_member": false + }, + { + "country": "Lesotho", + "date_of_admission": "17 October 1966", + "year": 1966, + "is_founding_member": false + }, + { + "country": "Barbados", + "date_of_admission": "9 December 1966", + "year": 1966, + "is_founding_member": false + }, + { + "country": "Mauritius", + "date_of_admission": "24 April 1968", + "year": 1968, + "is_founding_member": false + }, + { + "country": "Eswatini", + "date_of_admission": "24 September 1968", + "year": 1968, + "is_founding_member": false + }, + { + "country": "Equatorial Guinea", + "date_of_admission": "12 November 1968", + "year": 1968, + "is_founding_member": false + }, + { + "country": "Fiji", + "date_of_admission": "13 October 1970", + "year": 1970, + "is_founding_member": false + }, + { + "country": "Bahrain", + "date_of_admission": "21 September 1971", + "year": 1971, + "is_founding_member": false + }, + { + "country": "Bhutan", + "date_of_admission": "21 September 1971", + "year": 1971, + "is_founding_member": false + }, + { + "country": "Qatar", + "date_of_admission": "21 September 1971", + "year": 1971, + "is_founding_member": false + }, + { + "country": "Oman", + "date_of_admission": "7 October 1971", + "year": 1971, + "is_founding_member": false + }, + { + "country": "United Arab Emirates", + "date_of_admission": "9 December 1971", + "year": 1971, + "is_founding_member": false + }, + { + "country": "Bahamas, The", + "date_of_admission": "18 September 1973", + "year": 1973, + "is_founding_member": false + }, + { + "country": "Germany", + "date_of_admission": "18 September 1973", + "year": 1973, + "is_founding_member": false + }, + { + "country": "Bangladesh", + "date_of_admission": "17 September 1974", + "year": 1974, + "is_founding_member": false + }, + { + "country": "Grenada", + "date_of_admission": "17 September 1974", + "year": 1974, + "is_founding_member": false + }, + { + "country": "Guinea Bissau", + "date_of_admission": "17 September 1974", + "year": 1974, + "is_founding_member": false + }, + { + "country": "Cabo Verde", + "date_of_admission": "16 September 1975", + "year": 1975, + "is_founding_member": false + }, + { + "country": "Mozambique", + "date_of_admission": "16 September 1975", + "year": 1975, + "is_founding_member": false + }, + { + "country": "Sao Tome and Principe", + "date_of_admission": "16 September 1975", + "year": 1975, + "is_founding_member": false + }, + { + "country": "Papua New Guinea", + "date_of_admission": "10 October 1975", + "year": 1975, + "is_founding_member": false + }, + { + "country": "Comoros", + "date_of_admission": "12 November 1975", + "year": 1975, + "is_founding_member": false + }, + { + "country": "Suriname", + "date_of_admission": "4 December 1975", + "year": 1975, + "is_founding_member": false + }, + { + "country": "Seychelles", + "date_of_admission": "21 September 1976", + "year": 1976, + "is_founding_member": false + }, + { + "country": "Angola", + "date_of_admission": "1 December 1976", + "year": 1976, + "is_founding_member": false + }, + { + "country": "Samoa", + "date_of_admission": "15 December 1976", + "year": 1976, + "is_founding_member": false + }, + { + "country": "Djibouti", + "date_of_admission": "20 September 1977", + "year": 1977, + "is_founding_member": false + }, + { + "country": "Vietnam", + "date_of_admission": "20 September 1977", + "year": 1977, + "is_founding_member": false + }, + { + "country": "Solomon Islands", + "date_of_admission": "19 September 1978", + "year": 1978, + "is_founding_member": false + }, + { + "country": "Dominica", + "date_of_admission": "18 December 1978", + "year": 1978, + "is_founding_member": false + }, + { + "country": "Saint Lucia", + "date_of_admission": "18 September 1979", + "year": 1979, + "is_founding_member": false + }, + { + "country": "Zimbabwe", + "date_of_admission": "25 August 1980", + "year": 1980, + "is_founding_member": false + }, + { + "country": "Saint Vincent and the Grenadines", + "date_of_admission": "16 September 1980", + "year": 1980, + "is_founding_member": false + }, + { + "country": "Vanuatu", + "date_of_admission": "15 September 1981", + "year": 1981, + "is_founding_member": false + }, + { + "country": "Belize", + "date_of_admission": "25 September 1981", + "year": 1981, + "is_founding_member": false + }, + { + "country": "Antigua and Barbuda", + "date_of_admission": "11 November 1981", + "year": 1981, + "is_founding_member": false + }, + { + "country": "Saint Kitts and Nevis", + "date_of_admission": "23 September 1983", + "year": 1983, + "is_founding_member": false + }, + { + "country": "Brunei", + "date_of_admission": "21 September 1984", + "year": 1984, + "is_founding_member": false + }, + { + "country": "Namibia", + "date_of_admission": "23 April 1990", + "year": 1990, + "is_founding_member": false + }, + { + "country": "Liechtenstein", + "date_of_admission": "18 September 1990", + "year": 1990, + "is_founding_member": false + }, + { + "country": "Democratic People's Republic of Korea", + "date_of_admission": "17 September 1991", + "year": 1991, + "is_founding_member": false + }, + { + "country": "Estonia", + "date_of_admission": "17 September 1991", + "year": 1991, + "is_founding_member": false + }, + { + "country": "Latvia", + "date_of_admission": "17 September 1991", + "year": 1991, + "is_founding_member": false + }, + { + "country": "Lithuania", + "date_of_admission": "17 September 1991", + "year": 1991, + "is_founding_member": false + }, + { + "country": "Marshall Islands", + "date_of_admission": "17 September 1991", + "year": 1991, + "is_founding_member": false + }, + { + "country": "Micronesia (Federated States of)", + "date_of_admission": "17 September 1991", + "year": 1991, + "is_founding_member": false + }, + { + "country": "Republic of Korea", + "date_of_admission": "17 September 1991", + "year": 1991, + "is_founding_member": false + }, + { + "country": "Armenia", + "date_of_admission": "2 March 1992", + "year": 1992, + "is_founding_member": false + }, + { + "country": "Azerbaijan", + "date_of_admission": "2 March 1992", + "year": 1992, + "is_founding_member": false + }, + { + "country": "Kazakhstan", + "date_of_admission": "2 March 1992", + "year": 1992, + "is_founding_member": false + }, + { + "country": "Kyrgyzstan", + "date_of_admission": "2 March 1992", + "year": 1992, + "is_founding_member": false + }, + { + "country": "Republic of Moldova", + "date_of_admission": "2 March 1992", + "year": 1992, + "is_founding_member": false + }, + { + "country": "San Marino", + "date_of_admission": "2 March 1992", + "year": 1992, + "is_founding_member": false + }, + { + "country": "Tajikistan", + "date_of_admission": "2 March 1992", + "year": 1992, + "is_founding_member": false + }, + { + "country": "Turkmenistan", + "date_of_admission": "2 March 1992", + "year": 1992, + "is_founding_member": false + }, + { + "country": "Uzbekistan", + "date_of_admission": "2 March 1992", + "year": 1992, + "is_founding_member": false + }, + { + "country": "Bosnia and Herzegovina", + "date_of_admission": "22 May 1992", + "year": 1992, + "is_founding_member": false + }, + { + "country": "Croatia", + "date_of_admission": "22 May 1992", + "year": 1992, + "is_founding_member": false + }, + { + "country": "Slovenia", + "date_of_admission": "22 May 1992", + "year": 1992, + "is_founding_member": false + }, + { + "country": "Georgia", + "date_of_admission": "31 July 1992", + "year": 1992, + "is_founding_member": false + }, + { + "country": "Czechia", + "date_of_admission": "19 January 1993", + "year": 1993, + "is_founding_member": false + }, + { + "country": "Slovakia", + "date_of_admission": "19 January 1993", + "year": 1993, + "is_founding_member": false + }, + { + "country": "North Macedonia", + "date_of_admission": "8 April 1993", + "year": 1993, + "is_founding_member": false + }, + { + "country": "Eritrea", + "date_of_admission": "28 May 1993", + "year": 1993, + "is_founding_member": false + }, + { + "country": "Monaco", + "date_of_admission": "28 May 1993", + "year": 1993, + "is_founding_member": false + }, + { + "country": "Andorra", + "date_of_admission": "28 July 1993", + "year": 1993, + "is_founding_member": false + }, + { + "country": "Palau", + "date_of_admission": "15 December 1994", + "year": 1994, + "is_founding_member": false + }, + { + "country": "Kiribati", + "date_of_admission": "14 September 1999", + "year": 1999, + "is_founding_member": false + }, + { + "country": "Nauru", + "date_of_admission": "14 September 1999", + "year": 1999, + "is_founding_member": false + }, + { + "country": "Tonga", + "date_of_admission": "14 September 1999", + "year": 1999, + "is_founding_member": false + }, + { + "country": "Tuvalu", + "date_of_admission": "5 September 2000", + "year": 2000, + "is_founding_member": false + }, + { + "country": "Serbia", + "date_of_admission": "1 November 2000", + "year": 2000, + "is_founding_member": false + }, + { + "country": "Switzerland", + "date_of_admission": "10 September 2002", + "year": 2002, + "is_founding_member": false + }, + { + "country": "Timor-Leste", + "date_of_admission": "27 September 2002", + "year": 2002, + "is_founding_member": false + }, + { + "country": "Montenegro", + "date_of_admission": "28 June 2006", + "year": 2006, + "is_founding_member": false + }, + { + "country": "South Sudan", + "date_of_admission": "14 July 2011", + "year": 2011, + "is_founding_member": false + } +] \ No newline at end of file