├── .github
└── workflows
│ ├── base64-cryptocurrency-icons.yml
│ ├── country-name-to-iso-code.yml
│ ├── currency-icons.yml
│ ├── iso3166-alpha-converter.yml
│ └── rendered-country-flags.yml
├── .gitignore
├── LICENSE
├── README.md
├── base64-cryptocurrency-icons
├── .gitignore
├── README.md
├── build.ts
├── generate.sh
├── generic.png
├── index.test.js
├── package-lock.json
├── package.json
└── tsconfig.json
├── country-name-to-iso-code
├── .gitignore
├── README.md
├── generate-data.py
├── index.html
├── poetry.lock
├── pyproject.toml
└── wikipediaTables.py
├── currency-icons
├── .gitignore
├── README.md
├── fonts
│ ├── NotoSans-Regular.ttf
│ ├── NotoSansArabic-Regular.ttf
│ ├── NotoSansArabicUI-Regular.ttf
│ ├── NotoSansArmenian-Regular.ttf
│ ├── NotoSansBengali-Regular.ttf
│ ├── NotoSansBengaliUI-Regular.ttf
│ ├── NotoSansCJKjp-Regular.otf
│ ├── NotoSansCJKkr-Regular.otf
│ ├── NotoSansCJKsc-Regular.otf
│ ├── NotoSansCJKtc-Regular.otf
│ ├── NotoSansCham-Regular.ttf
│ ├── NotoSansCherokee-Regular.ttf
│ ├── NotoSansDevanagari-Regular.ttf
│ ├── NotoSansDevanagariUI-Regular.ttf
│ ├── NotoSansDisplay-Regular.ttf
│ ├── NotoSansEthiopic-Regular.ttf
│ ├── NotoSansGeorgian-Regular.ttf
│ ├── NotoSansHebrew-Regular.ttf
│ ├── NotoSansKhmer-Regular.ttf
│ ├── NotoSansKhmerUI-Regular.ttf
│ ├── NotoSansLao-Regular.ttf
│ ├── NotoSansLaoUI-Regular.ttf
│ ├── NotoSansMono-Regular.ttf
│ ├── NotoSansMyanmar-Regular.ttf
│ ├── NotoSansMyanmarUI-Regular.ttf
│ ├── NotoSansSinhala-Regular.ttf
│ ├── NotoSansSinhalaUI-Regular.ttf
│ ├── NotoSansSymbols-Regular.ttf
│ ├── NotoSansTamil-Regular.ttf
│ ├── NotoSansTamilUI-Regular.ttf
│ ├── NotoSansThai-Regular.ttf
│ └── NotoSansThaiUI-Regular.ttf
├── generate-icons.py
├── index.test.js
├── package-lock.json
├── package.json
├── poetry.lock
├── pyproject.toml
├── samples
│ ├── ANG.png
│ ├── CZK.png
│ ├── EUR.png
│ ├── GBP.png
│ └── NPR.png
├── tsconfig.json
└── wikipediaTables.py
├── iso3166-alpha-converter
├── .gitignore
├── README.md
├── generate-data.py
├── package-lock.json
├── package.json
├── poetry.lock
├── pyproject.toml
├── test.js
├── tsconfig.json
└── wikipediaTables.py
├── rendered-country-flags
├── .gitignore
├── Makefile.patch
├── README.md
├── flags
│ ├── AC.png
│ ├── AD.png
│ ├── AE.png
│ ├── AF.png
│ ├── AG.png
│ ├── AI.png
│ ├── AL.png
│ ├── AM.png
│ ├── AO.png
│ ├── AQ.png
│ ├── AR.png
│ ├── AS.png
│ ├── AT.png
│ ├── AU.png
│ ├── AW.png
│ ├── AX.png
│ ├── AZ.png
│ ├── BA.png
│ ├── BB.png
│ ├── BD.png
│ ├── BE.png
│ ├── BF.png
│ ├── BG.png
│ ├── BH.png
│ ├── BI.png
│ ├── BJ.png
│ ├── BL.png
│ ├── BM.png
│ ├── BN.png
│ ├── BO.png
│ ├── BQ.png
│ ├── BR.png
│ ├── BS.png
│ ├── BT.png
│ ├── BW.png
│ ├── BY.png
│ ├── BZ.png
│ ├── CA.png
│ ├── CC.png
│ ├── CD.png
│ ├── CF.png
│ ├── CG.png
│ ├── CH.png
│ ├── CI.png
│ ├── CK.png
│ ├── CL.png
│ ├── CM.png
│ ├── CN.png
│ ├── CO.png
│ ├── CR.png
│ ├── CU.png
│ ├── CV.png
│ ├── CW.png
│ ├── CX.png
│ ├── CY.png
│ ├── CZ.png
│ ├── DE.png
│ ├── DJ.png
│ ├── DK.png
│ ├── DM.png
│ ├── DO.png
│ ├── DZ.png
│ ├── EC.png
│ ├── EE.png
│ ├── EG.png
│ ├── EH.png
│ ├── ER.png
│ ├── ES.png
│ ├── ET.png
│ ├── EU.png
│ ├── FI.png
│ ├── FJ.png
│ ├── FK.png
│ ├── FM.png
│ ├── FO.png
│ ├── FR.png
│ ├── GA.png
│ ├── GB-ENG.png
│ ├── GB-SCT.png
│ ├── GB-WLS.png
│ ├── GB.png
│ ├── GD.png
│ ├── GE.png
│ ├── GF.png
│ ├── GG.png
│ ├── GH.png
│ ├── GI.png
│ ├── GL.png
│ ├── GM.png
│ ├── GN.png
│ ├── GP.png
│ ├── GQ.png
│ ├── GR.png
│ ├── GS.png
│ ├── GT.png
│ ├── GU.png
│ ├── GW.png
│ ├── GY.png
│ ├── HK.png
│ ├── HN.png
│ ├── HR.png
│ ├── HT.png
│ ├── HU.png
│ ├── IC.png
│ ├── ID.png
│ ├── IE.png
│ ├── IL.png
│ ├── IM.png
│ ├── IN.png
│ ├── IO.png
│ ├── IQ.png
│ ├── IR.png
│ ├── IS.png
│ ├── IT.png
│ ├── JE.png
│ ├── JM.png
│ ├── JO.png
│ ├── JP.png
│ ├── KE.png
│ ├── KG.png
│ ├── KH.png
│ ├── KI.png
│ ├── KM.png
│ ├── KN.png
│ ├── KP.png
│ ├── KR.png
│ ├── KW.png
│ ├── KY.png
│ ├── KZ.png
│ ├── LA.png
│ ├── LB.png
│ ├── LC.png
│ ├── LI.png
│ ├── LK.png
│ ├── LR.png
│ ├── LS.png
│ ├── LT.png
│ ├── LU.png
│ ├── LV.png
│ ├── LY.png
│ ├── MA.png
│ ├── MC.png
│ ├── MD.png
│ ├── ME.png
│ ├── MG.png
│ ├── MH.png
│ ├── MK.png
│ ├── ML.png
│ ├── MM.png
│ ├── MN.png
│ ├── MO.png
│ ├── MP.png
│ ├── MQ.png
│ ├── MR.png
│ ├── MS.png
│ ├── MT.png
│ ├── MU.png
│ ├── MV.png
│ ├── MW.png
│ ├── MX.png
│ ├── MY.png
│ ├── MZ.png
│ ├── NA.png
│ ├── NC.png
│ ├── NE.png
│ ├── NF.png
│ ├── NG.png
│ ├── NI.png
│ ├── NL.png
│ ├── NO.png
│ ├── NP.png
│ ├── NR.png
│ ├── NU.png
│ ├── NZ.png
│ ├── OM.png
│ ├── OT.png
│ ├── PA.png
│ ├── PE.png
│ ├── PF.png
│ ├── PG.png
│ ├── PH.png
│ ├── PK.png
│ ├── PL.png
│ ├── PM.png
│ ├── PN.png
│ ├── PR.png
│ ├── PS.png
│ ├── PT.png
│ ├── PW.png
│ ├── PY.png
│ ├── QA.png
│ ├── RE.png
│ ├── RO.png
│ ├── RS.png
│ ├── RU.png
│ ├── RW.png
│ ├── SA.png
│ ├── SB.png
│ ├── SC.png
│ ├── SD.png
│ ├── SE.png
│ ├── SG.png
│ ├── SH.png
│ ├── SI.png
│ ├── SK.png
│ ├── SL.png
│ ├── SM.png
│ ├── SN.png
│ ├── SO.png
│ ├── SR.png
│ ├── SS.png
│ ├── ST.png
│ ├── SV.png
│ ├── SX.png
│ ├── SY.png
│ ├── SZ.png
│ ├── TA.png
│ ├── TC.png
│ ├── TD.png
│ ├── TF.png
│ ├── TG.png
│ ├── TH.png
│ ├── TJ.png
│ ├── TK.png
│ ├── TL.png
│ ├── TM.png
│ ├── TN.png
│ ├── TO.png
│ ├── TR.png
│ ├── TT.png
│ ├── TV.png
│ ├── TW.png
│ ├── TZ.png
│ ├── UA.png
│ ├── UG.png
│ ├── UN.png
│ ├── US.png
│ ├── UY.png
│ ├── UZ.png
│ ├── VA.png
│ ├── VC.png
│ ├── VE.png
│ ├── VG.png
│ ├── VI.png
│ ├── VN.png
│ ├── VU.png
│ ├── WF.png
│ ├── WS.png
│ ├── XK.png
│ ├── YE.png
│ ├── YT.png
│ ├── ZA.png
│ ├── ZM.png
│ └── ZW.png
├── generate.sh
├── index.d.ts
└── package.json
└── wikipedia-tables
├── README.md
└── wikipediaTables.py
/.github/workflows/base64-cryptocurrency-icons.yml:
--------------------------------------------------------------------------------
1 | name: Base64 Cryptocurrency Icons
2 |
3 | on:
4 | push:
5 | branches: [ master ]
6 | paths:
7 | - "base64-cryptocurrency-icons/**"
8 | pull_request:
9 | schedule:
10 | # Weekly job (0:00 on Thursday)
11 | - cron: '0 0 * * 4'
12 | defaults:
13 | run:
14 | working-directory: ./base64-cryptocurrency-icons
15 |
16 | jobs:
17 | build:
18 | runs-on: ubuntu-latest
19 | steps:
20 | - uses: actions/checkout@v2
21 | - name: Get Node.js
22 | uses: actions/setup-node@v1
23 | with:
24 | node-version: '12.x'
25 | - run: npm ci
26 | - run: npm run generate
27 | - name: Upload generated files
28 | uses: actions/upload-artifact@v2
29 | with:
30 | name: generated
31 | path: base64-cryptocurrency-icons/build/
32 |
33 | test:
34 | needs: [build]
35 | runs-on: ubuntu-latest
36 | strategy:
37 | matrix:
38 | node: [ '0.12', '4', '6', '8', '10', '12', '14' ] # Major releases as described in https://nodejs.org/en/download/releases/
39 | name: Node ${{ matrix.node }} tests
40 | steps:
41 | - uses: actions/checkout@v2
42 | - name: Download artifacts from build job
43 | uses: actions/download-artifact@v2
44 | with:
45 | name: generated
46 | path: base64-cryptocurrency-icons/build
47 | - name: Setup node
48 | uses: actions/setup-node@v1
49 | with:
50 | node-version: ${{ matrix.node }}
51 | - run: npm test
52 |
53 | publish:
54 | needs: [build, test]
55 | if: ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event_name == 'schedule'
56 | runs-on: ubuntu-latest
57 | steps:
58 | - uses: actions/checkout@v2
59 | - uses: actions/setup-node@v1
60 | with:
61 | node-version: '12.x'
62 | registry-url: 'https://registry.npmjs.org'
63 | - name: Download artifacts from build job
64 | uses: actions/download-artifact@v2
65 | with:
66 | name: generated
67 | path: base64-cryptocurrency-icons/build
68 | - name: Get currently published data
69 | run: |
70 | mkdir old
71 | cd old
72 | npm init -y
73 | npm install base64-cryptocurrency-icons
74 | - name: Compare new and old data
75 | id: compare
76 | run: |
77 | if ! diff -qrN ./build/index.js ./old/node_modules/base64-cryptocurrency-icons/build/index.js; then
78 | echo "::set-output name=changed::true"
79 | git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
80 | git config user.name "$GITHUB_ACTOR"
81 | npm version patch
82 | git commit -am "Bump version"
83 | else
84 | echo "::set-output name=changed::false"
85 | fi
86 | - run: npm publish
87 | if: github.event_name == 'push' || ( steps.compare.outputs.changed == 'true' && github.event_name == 'schedule' )
88 | env:
89 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN_S }}
90 | - name: Push version changes to github repo
91 | run: git push
92 |
--------------------------------------------------------------------------------
/.github/workflows/country-name-to-iso-code.yml:
--------------------------------------------------------------------------------
1 | name: Country Name to ISO Code
2 |
3 | on:
4 | push:
5 | branches: [ master ]
6 | paths:
7 | - "country-name-to-iso-code/**"
8 | pull_request:
9 | schedule:
10 | # Weekly job (0:00 on Wednesday)
11 | - cron: '0 0 * * 3'
12 | defaults:
13 | run:
14 | working-directory: ./country-name-to-iso-code
15 |
16 | jobs:
17 | build:
18 | runs-on: ubuntu-latest
19 | steps:
20 | - uses: actions/checkout@v2
21 | - name: Set up Python
22 | uses: actions/setup-python@v2
23 | with:
24 | python-version: 3.8
25 | - uses: dschep/install-poetry-action@v1.3
26 | - name: install deps
27 | run: poetry install
28 | - name: Generate files
29 | run: poetry run python generate-data.py
30 | - name: Upload generated package files
31 | uses: actions/upload-artifact@v2
32 | with:
33 | name: package
34 | path: ./country-name-to-iso-code/data.js
35 |
36 | publish:
37 | needs: build
38 | if: ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event_name == 'schedule'
39 | runs-on: ubuntu-latest
40 | steps:
41 | - uses: actions/checkout@v2
42 | - name: Download artifacts from build job
43 | uses: actions/download-artifact@v2
44 | with:
45 | name: package
46 | path: ./country-name-to-iso-code/
47 | - run: rm .gitignore
48 | - name: Deploy to GitHub Pages
49 | uses: peaceiris/actions-gh-pages@v3.6.4
50 | with:
51 | github_token: ${{ secrets.GITHUB_TOKEN }}
52 | publish_dir: ./
53 |
--------------------------------------------------------------------------------
/.github/workflows/currency-icons.yml:
--------------------------------------------------------------------------------
1 | name: Currency Icons
2 |
3 | on:
4 | push:
5 | branches: [ master ]
6 | paths:
7 | - "currency-icons/**"
8 | pull_request:
9 | schedule:
10 | # Weekly job (0:00 on Monday)
11 | - cron: '0 0 * * 1'
12 | defaults:
13 | run:
14 | working-directory: ./currency-icons
15 |
16 | jobs:
17 | build:
18 | runs-on: ubuntu-latest
19 | steps:
20 | - uses: actions/checkout@v2
21 | - name: Set up Python
22 | uses: actions/setup-python@v2
23 | with:
24 | python-version: 3.8
25 | - uses: dschep/install-poetry-action@v1.3
26 | - name: install deps
27 | run: poetry install
28 | - name: Get Node.js
29 | uses: actions/setup-node@v1
30 | with:
31 | node-version: '12.x'
32 | - run: npm ci
33 | - name: Generate files
34 | run: npm run build
35 | - name: Upload generated package files
36 | uses: actions/upload-artifact@v2
37 | with:
38 | name: package
39 | path: currency-icons/build/
40 | - name: Upload generated icons
41 | uses: actions/upload-artifact@v2
42 | with:
43 | name: icons
44 | path: currency-icons/icons/
45 |
46 | test:
47 | needs: [build]
48 | runs-on: ubuntu-latest
49 | strategy:
50 | matrix:
51 | node: [ '0.12', '4', '6', '8', '10', '12', '14' ] # Major releases as described in https://nodejs.org/en/download/releases/
52 | name: Node ${{ matrix.node }} tests
53 | steps:
54 | - uses: actions/checkout@v2
55 | - name: Download artifacts from build job
56 | uses: actions/download-artifact@v2
57 | with:
58 | name: package
59 | path: currency-icons/build
60 | - name: Setup node
61 | uses: actions/setup-node@v1
62 | with:
63 | node-version: ${{ matrix.node }}
64 | - run: npm test
65 |
66 | publish:
67 | needs: [build, test]
68 | if: ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event_name == 'schedule'
69 | runs-on: ubuntu-latest
70 | steps:
71 | - uses: actions/checkout@v2
72 | - uses: actions/setup-node@v1
73 | with:
74 | node-version: '12.x'
75 | registry-url: 'https://registry.npmjs.org'
76 | - name: Download artifacts from build job
77 | uses: actions/download-artifact@v2
78 | with:
79 | name: package
80 | path: currency-icons/build
81 | - name: Get currently published data
82 | run: |
83 | mkdir old
84 | cd old
85 | npm init -y
86 | npm install currency-icons
87 | - name: Compare new and old data
88 | id: compare
89 | run: |
90 | if ! diff -qrN ./build/index.js ./old/node_modules/currency-icons/build/index.js; then
91 | echo "::set-output name=changed::true"
92 | git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
93 | git config user.name "$GITHUB_ACTOR"
94 | npm version patch
95 | else
96 | echo "::set-output name=changed::false"
97 | fi
98 | - run: npm publish
99 | if: github.event_name == 'push' || ( steps.compare.outputs.changed == 'true' && github.event_name == 'schedule' )
100 | env:
101 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
102 | - name: Push version changes to github repo
103 | run: git push
104 |
--------------------------------------------------------------------------------
/.github/workflows/iso3166-alpha-converter.yml:
--------------------------------------------------------------------------------
1 | name: ISO 3166 Alpha Code Converter
2 |
3 | on:
4 | push:
5 | branches: [ master ]
6 | paths:
7 | - "iso3166-alpha-converter/**"
8 | pull_request:
9 | schedule:
10 | # Weekly job (0:00 on Tuesday)
11 | - cron: '0 0 * * 2'
12 | defaults:
13 | run:
14 | working-directory: ./iso3166-alpha-converter
15 |
16 | jobs:
17 | build:
18 | runs-on: ubuntu-latest
19 | steps:
20 | - uses: actions/checkout@v2
21 | - name: Set up Python
22 | uses: actions/setup-python@v2
23 | with:
24 | python-version: 3.8
25 | - uses: dschep/install-poetry-action@v1.3
26 | - name: install deps
27 | run: poetry install
28 | - name: Get Node.js
29 | uses: actions/setup-node@v1
30 | with:
31 | node-version: '12.x'
32 | - run: npm ci
33 | - name: Generate files
34 | run: npm run build
35 | - name: Upload generated package files
36 | uses: actions/upload-artifact@v2
37 | with:
38 | name: package
39 | path: iso3166-alpha-converter/build/
40 |
41 | test:
42 | needs: [build]
43 | runs-on: ubuntu-latest
44 | strategy:
45 | matrix:
46 | node: [ '0.12', '4', '6', '8', '10', '12', '14' ] # Major releases as described in https://nodejs.org/en/download/releases/
47 | name: Node ${{ matrix.node }} tests
48 | steps:
49 | - uses: actions/checkout@v2
50 | - name: Download artifacts from build job
51 | uses: actions/download-artifact@v2
52 | with:
53 | name: package
54 | path: iso3166-alpha-converter/build
55 | - name: Setup node
56 | uses: actions/setup-node@v1
57 | with:
58 | node-version: ${{ matrix.node }}
59 | - run: npm test
60 |
61 | publish:
62 | needs: [build, test]
63 | if: ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event_name == 'schedule'
64 | runs-on: ubuntu-latest
65 | steps:
66 | - uses: actions/checkout@v2
67 | - uses: actions/setup-node@v1
68 | with:
69 | node-version: '12.x'
70 | registry-url: 'https://registry.npmjs.org'
71 | - name: Download artifacts from build job
72 | uses: actions/download-artifact@v2
73 | with:
74 | name: package
75 | path: iso3166-alpha-converter/build
76 | - name: Get currently published data
77 | run: |
78 | mkdir old
79 | cd old
80 | npm init -y
81 | npm install iso3166-alpha-converter
82 | - name: Compare new and old data
83 | id: compare
84 | run: |
85 | if ! diff -qrN ./build/index.js ./old/node_modules/iso3166-alpha-converter/build/index.js; then
86 | echo "::set-output name=changed::true"
87 | git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
88 | git config user.name "$GITHUB_ACTOR"
89 | npm version patch
90 | else
91 | echo "::set-output name=changed::false"
92 | fi
93 | - run: npm publish
94 | if: github.event_name == 'push' || ( steps.compare.outputs.changed == 'true' && github.event_name == 'schedule' )
95 | env:
96 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
97 | - name: Push version changes to github repo
98 | run: git push
99 |
--------------------------------------------------------------------------------
/.github/workflows/rendered-country-flags.yml:
--------------------------------------------------------------------------------
1 | name: Rendered country flags
2 |
3 | on:
4 | push:
5 | branches: [ master ]
6 | paths:
7 | - "rendered-country-flags/**"
8 | pull_request:
9 | defaults:
10 | run:
11 | working-directory: ./rendered-country-flags
12 |
13 | jobs:
14 | build:
15 | runs-on: ubuntu-latest
16 | steps:
17 | - uses: actions/checkout@v2
18 | - name: Generate files
19 | run: bash generate.sh
20 | - name: Upload generated package files
21 | uses: actions/upload-artifact@v2
22 | with:
23 | name: package
24 | path: ./rendered-country-flags/index.js
25 |
26 | publish:
27 | needs: build
28 | if: github.event_name == 'push' && github.ref == 'refs/heads/master'
29 | runs-on: ubuntu-latest
30 | steps:
31 | - uses: actions/checkout@v2
32 | - name: Download artifacts from build job
33 | uses: actions/download-artifact@v2
34 | with:
35 | name: package
36 | path: ./rendered-country-flags/
37 | - run: npm publish
38 | env:
39 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
40 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | build
3 | __pycache__
4 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 corollari
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Small Open Datasets
2 | > A collection of automatically-updated, ready-to-use and open-licensed datasets
3 |
4 | ## Dataset list
5 | - [Currency Icons](./currency-icons): Icons for all circulating currencies in the world, generated from Wikipedia data
6 | - [Base64 Cryptocurrency Icons](./base64-cryptocurrency-icons): A collection of base64-encoded cryptocurrency icons
7 | - [Country Name to ISO Code Converter](./country-name-to-iso-code): A simple web utility to mass convert country names to their equivalent ISO3166 codes
8 | - [ISO 3166 Alpha Code Converter](./iso3166-alpha-converter): Convert between alpha2 ('us') and alpha3 ('USA') ISO 3166 country codes
9 |
10 | ## Why use these packages
11 | There are tons of projects on the internet that also provide this same data, however I haven't been able to find any project that checks all these boxes:
12 | - [x] Is up to date
13 | - [x] Is exhaustive
14 | - [x] Is correct
15 | - [x] Provides licensing information on the data or states the source of the data
16 |
17 | This project attempts to tick all of these requirements by:
18 | - Providing the source of the dataset, along with complete licensing information
19 | - Establish weekly CI jobs that update the packages with the latest information and send notifications if anything breaks
20 | - Make sure that the source is kept up to date
21 | - Include only datasets that have permissive licenses
22 |
23 | Furthermore, I've included extra nice-to-have things for many of the datasets, such as pre-rendered currency symbols, which can be used to display a symbol that is not supported by the system font.
24 |
25 | ## Licensing
26 | Everything on this repo has been written directly by me and is under the MIT license, but the npm packages or websites generated using the code from this repo include data from external sources, which have different licenses.
27 |
28 | More concretely, most of that data is under the Creative Commons Attribution-ShareAlike 3.0 Unported License (CC BY-SA) license, the one used by wikipedia which allows anyone to do whatever you want with the data as long as you provide proper attribution.
29 |
30 | For data that is not under that license, I've made sure that it's license is permissive (eg: all allow commercial use) and can be considered open, but the specific details about each one can be found on the directory of each package.
31 |
--------------------------------------------------------------------------------
/base64-cryptocurrency-icons/.gitignore:
--------------------------------------------------------------------------------
1 | cryptocurrency-icons
2 | index.ts
3 | old
4 | pages
5 |
--------------------------------------------------------------------------------
/base64-cryptocurrency-icons/README.md:
--------------------------------------------------------------------------------
1 | # base64-cryptocurrency-icons
2 | > A collection of base64-encoded cryptocurrency icons
3 |
4 | ## Introduction
5 | This module just provides a base64-encoded version of the icons provided by [coingecko](https://www.coingecko.com/), updated weekly by a CI job and packaged into js to improve usability and speed (there's no need to read files from disk after the initial loading).
6 |
7 | Currently the package present on npm only includes the first 4500 cryptocurrencies (ordered by marketcap) to keep package size low, but if you'd like to have access to the 7,000+ cryptocurrencies on coingecko just change the constants on `build.ts`.
8 |
9 | The package also includes a generic icon that can be accessed as `GENERIC`.
10 |
11 | ## Usage
12 | ```js
13 | const icons = require('base64-cryptocurrency-icons');
14 |
15 | console.log(icons["BTC"]);
16 | {
17 | "name": "Bitcoin",
18 | "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhE..."
19 | }
20 | ```
21 |
22 | ## Features
23 | - Native Typescript types
24 | - Tracks [coingecko icons](https://coingecko.com/) through a weekly CI job
25 | - Automatic npm package publication that keeps it always up to date
26 | - Zero dependencies
27 | - Compatible with all versions of node since 0.12 (released in february 2015)
28 |
29 | ## Development
30 | ```
31 | # Setup
32 | npm install
33 | # Generate files
34 | npm run generate
35 | # Run tests
36 | npm test
37 | ```
38 | This may take a while, as coingecko's API is rate-limited and the build script throttles itself to stay under the limit.
39 |
40 | ## License
41 | - All cryptocurrency data and icons come from [coingecko](https://www.coingecko.com/), which provides their data "for free, and as-is without any warranty." ([Source](https://www.coingecko.com/en/api)) under [these Terms of Service](https://www.coingecko.com/en/api_terms), that allow anyone "to charge for your services and products that incorporate or integrates our CoinGecko API". Furthermore, I've directly messaged coingecko about the re-distribution of data in this package and they have given permission to do so.
42 | - The generic icon comes from the repository [spothq/cryptocurrency-icons](https://github.com/spothq/cryptocurrency-icons) and is licensed under the [Creative Commons Zero (CC0) license](https://github.com/spothq/cryptocurrency-icons/blob/master/LICENSE.md).
43 |
44 | ## Acknoledgements
45 | Huge thanks to coingecko for leaving their API open and acessible by everyone.
46 |
--------------------------------------------------------------------------------
/base64-cryptocurrency-icons/build.ts:
--------------------------------------------------------------------------------
1 | import { promises as fs } from 'fs';
2 | import fetch from 'node-fetch';
3 |
4 | function sleep(seconds: number) {
5 | return new Promise(resolve => setTimeout(resolve, seconds * 1000));
6 | }
7 |
8 | function base64encode(buf:Buffer):string{
9 | return "data:image/png;base64," + buf.toString('base64');
10 | }
11 |
12 | // 50 cryptocurrencies/page
13 | const firstPage = 1;
14 | const maxPage = 90; // Put a high number to get all pages
15 |
16 | (async function () {
17 | let result: {
18 | [symbol: string]: {
19 | name: string,
20 | icon: string,
21 | }
22 | } = {};
23 | let finalResult: typeof result = {};
24 |
25 | let pageOfLastError = firstPage;
26 | for (let page = firstPage; (page === firstPage || Object.keys(result).length !== 0) && page <= maxPage; page++) {
27 | try {
28 | result = {};
29 | const coins = await fetch(`https://api.coingecko.com/api/v3/coins?page=${page}`).then(res => res.json()) as {
30 | "id": string,
31 | "symbol": string,
32 | "name": string,
33 | "block_time_in_minutes": string,
34 | "image": {
35 | "thumb": string,
36 | "small": string,
37 | "large": string
38 | },
39 | "market_data": any
40 | "last_updated": string,
41 | "localization": any
42 | }[]
43 |
44 |
45 | await Promise.all(coins.map(({ symbol, name, image }) => {
46 | if (!image.small.includes('http')) { // Some crypto don't have associated images (return 'missing_small.png' as in 'supro')
47 | console.log(`Ignored ${symbol} because no image could be found for it`)
48 | return Promise.resolve()
49 | }
50 | return fetch(image.small).then(res => {
51 | if (!res.ok) {
52 | throw new Error(`Couldn't fetch ${symbol} logo`)
53 | }
54 | return res.buffer();
55 | }).then(data => {
56 | result[symbol.toUpperCase()] = {
57 | name,
58 | icon: base64encode(data)
59 | }
60 | })
61 | }))
62 |
63 | await fs.writeFile(`pages/${page}.json`, JSON.stringify(result));
64 | // For cryptocurrencies that have the same symbol only the most popular one (decided by order of inclusion in coingecko's API) is included
65 | finalResult = {...result, ...finalResult};
66 | } catch (e) {
67 | // Probably hit the rate limit of 100 requests/min
68 | if (page !== pageOfLastError) {
69 | await sleep(60);
70 | page--;
71 | pageOfLastError = page;
72 | } else {
73 | // If an error happens twice on the same page -> abort
74 | throw new Error(`Page ${page} triggered two consecutive errors, aborting`)
75 | }
76 | }
77 | }
78 |
79 | finalResult['GENERIC'] = {
80 | name: "Generic",
81 | icon: base64encode((await fs.readFile('./generic.png')))
82 | }
83 | await fs.writeFile(`index.ts`, `export = ${JSON.stringify(finalResult)} as {[symbol:string]:{name:string, icon:string}|undefined}`);
84 | })()
85 |
--------------------------------------------------------------------------------
/base64-cryptocurrency-icons/generate.sh:
--------------------------------------------------------------------------------
1 | mkdir -p pages
2 | npm run build
3 | node build/build.js
4 | npm run build
5 |
--------------------------------------------------------------------------------
/base64-cryptocurrency-icons/generic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/base64-cryptocurrency-icons/generic.png
--------------------------------------------------------------------------------
/base64-cryptocurrency-icons/index.test.js:
--------------------------------------------------------------------------------
1 | const icons = require('./build/index.js')
2 | const assert = require('assert')
3 |
4 | assert.deepEqual(icons["BTC"], {
5 | "name":"Bitcoin",
6 | "icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAB1RJREFUeNrNWglsFVUUBdxjXCLS9l/2gCjKEkEIKKioGCOCokYRjIpLFEVMhCCibAYTI27tbQvUggtI1SKClCVsCkXDvpYCteyBUigtFeid/Zr3Zv7nl/mFPzO/LS95mZ/f6Z973rvnLudNgwYJHIRwLSG0JIRehDCIEIYTwgeEMIYQRhDCEELoQwhtCeH6BpfTIISbCeFBQhhPCIsIoYgQyglBIQSTECxnis8qIZwmhP2EsIIQPiOExwkhiRAa1ofxDQmhNSGMJIS/CeEMIbDPSYSwnRAmE0InQriirkAAIYx1Vt4MACDWPEYI3xDCHbW2Q4RwNSE8TQibagHAhbOYEN4hhBsSDeJWQviCEP6rZQDRU/AphxDaJAqEiDB/1MEu1DQ3EEKPoCDaE0J+PQGInntF2PYLog0hrAlkQHpTpsyWTGkpTGnJQcGI4HKvH04sCPTgtBRWvu/ORtF81rdMZXXeM0zYNPI3Sk2yr95+VwSadvGCuIoQPneSmH8gqUmsLnyZ2VBZDGNbttwVZfb9rG/4mrXFb7AyswsThrz+di4h3BQPkIGEUOnNhZpFjLddKCSvwmA5LJO1ZcOZvmnM2p+jne8M1lZ/xJTq2eV0kYgvBSJECOu8uVCItZWj2Ng5i7XlI1jJeYRpejumzNZsHlxl21x1kpU5faQrGYU/20D0KlZ/f84PEDEPEULniwEZ7dmlogwWK29VnWKzZCMbe+ayVVUmvzaPb2Ulqz1T1h1snthp31qxz3Yt7zwJzyxCuDIWCFG1Fnom9Hdd2Sov4osNSznNRvFiNnZ8z6yesTnzb55D/pBfICcJoWcsIMN9ETyzNatzn2J97SQ2SzZzvMM8tp7VBS8wTWsbJDRjtZpM1DSEsMp/qE1mSm0i+WGdK421J7HRaOfYPLiS1fnP+90dUZO1igbSgxAqAueNWb3YOnu8OoSKfaznT2Sj4Ce2ygoj4bjaPVTO2upxTOnNvT7XIIQXo4GMClxGpCaxtvh1ZlOvZqSxOzdCaCW7E2tL3mTz2Ab3Lqn/sbpoqB83m0EIjcIJMDcwkLQU1jdnuL3nr7F2fnFCtfisfHcPm0fXue419i1hymjp9dlbRIcZzh07ggEJMU1tw+aRte5Vzu3vXuXUJjIZulysrJCVb++yAcf//BOE0F0A6UIIpYnhR0l1w04W2PnjwlyR2oT1fz51R7LjW5mm3+6V9EIbGCyA9COEs8H58ZqLH8IwEZoFNyizlV0NZ7Rg9dd+bJXtdrvWrhz7Hm/PFyljjADyMiFowfmRHiPqWtK9rFN7ZPY39s5j88ByV2QLJ011/iC/OeVLAWSYE8YC8iOffQ3LkrlHW/3x+eLT+5wmgLwdCIjkx31snTlW3b7TB1lfN4WNogVsVRTHzB92ntnP6oLBDsFDgYAMdUpj//xY5OaHKBqlcenNWJl5N2uLXpVNVrjWOk8kQ7qd8uN9QQrIrwSQAYRwLhA/Nrn5YfcaSdU7wowWrC19y7V7EnhxnnRRH7siyP6hANLNicXeeBE2LrOVmx/qGVZzB8Qgrp0Q9fxJbh8TOWfuk37ILmSjIQJIU0LY5WUH1NwnWN+YKt1FWzWKLaXCndiyO8ZObKIFnvcss65cQBaTtaXDzu+it3K+R1hBnB9/W9v8fJcneGFqbjfZ+1tk9W0FJRS1i01YWzMuRl2vsbrwJT9AthFCSrhoHBv3buT0ZevciYtH1PIi2a+rea+w8tODrMzozErWnbLG0pa9y1blYff/nC1hZVZvP4T/QRaNDpDeccmhItTOeYiNgllslm5jiyqkS9TcPWmyX7fKi9k6uYutykM1hmERpn0UjEL9HBpdxt8Ut6IY9vus9qz+/ChrK96XRsRysbhzYlWZ5I0Poh8Qku6Fre5I75ErWUo86h9DIistWlhj7+8x3Sc2iFNSIoqId94FiEaxJNIiP22uvv6LSLmhLRvhhNiJUcXjFjYPr2GrbI90L5H1zdLtbBTMZvW3gX5BiI72gZrkoHHexYdWshAMr67UtdKSpZG2fkV2CZLRkpXsDlJ1ETKQLO8FAP/Cw2xCuKYmIM0JYas3fbcbW5UH7ZUv2SzFOUXoV6XbnZrrgIxWkTAsrylB6ioxSy551EAIL8Tfn4RkIyQURqMwh/W/J9sh+pfHIknS3L/UTzS6VKQaf8mjObFdhJDuifThJJbRItItGjt/YPPEDtbzJyTiSCF6LhanBfEq8qKPXxaoRxGqieDBtNuCulH03HVRzbcGMHc55xHBRInEgThMCH39nlp1deSW+j56E+p7/6DniB0J4c96BFFACA8n6mS3GSFkO28p1BUA0X7nEUKHRJ+1X0cIrxLCnjoAcVR0fYRwS22+wtHWeXngaC0AOEUIMx3RsFFdvI9yhcOdyY7cqgQwXneOB0Tu6ikavfp6SyjZETC+cs7ljziVgVFDVhY8O04IG53qdbBzWtaoweUwHFA3OvmnnyP8TSCEKY4rfkII7zkv5gjXaZxI4/8HKsz3oSRvPxUAAAAASUVORK5CYII="
7 | })
8 |
9 | assert.notEqual(icons["GENERIC"], undefined)
10 | assert.strictEqual(icons["SOL"].name, "Solana")
11 | assert.strictEqual(icons["XTZ"].name, "Tezos")
12 |
--------------------------------------------------------------------------------
/base64-cryptocurrency-icons/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "base64-cryptocurrency-icons",
3 | "version": "1.1.20",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "@types/node": {
8 | "version": "14.0.24",
9 | "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.24.tgz",
10 | "integrity": "sha512-btt/oNOiDWcSuI721MdL8VQGnjsKjlTMdrKyTcLCKeQp/n4AAMFJ961wMbp+09y8WuGPClDEv07RIItdXKIXAA==",
11 | "dev": true
12 | },
13 | "@types/node-fetch": {
14 | "version": "2.5.7",
15 | "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.7.tgz",
16 | "integrity": "sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw==",
17 | "dev": true,
18 | "requires": {
19 | "@types/node": "*",
20 | "form-data": "^3.0.0"
21 | }
22 | },
23 | "@types/q": {
24 | "version": "1.5.4",
25 | "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz",
26 | "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==",
27 | "dev": true
28 | },
29 | "ansi-styles": {
30 | "version": "3.2.1",
31 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
32 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
33 | "dev": true,
34 | "requires": {
35 | "color-convert": "^1.9.0"
36 | }
37 | },
38 | "argparse": {
39 | "version": "1.0.10",
40 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
41 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
42 | "dev": true,
43 | "requires": {
44 | "sprintf-js": "~1.0.2"
45 | }
46 | },
47 | "asynckit": {
48 | "version": "0.4.0",
49 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
50 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
51 | "dev": true
52 | },
53 | "boolbase": {
54 | "version": "1.0.0",
55 | "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
56 | "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
57 | "dev": true
58 | },
59 | "chalk": {
60 | "version": "2.4.2",
61 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
62 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
63 | "dev": true,
64 | "requires": {
65 | "ansi-styles": "^3.2.1",
66 | "escape-string-regexp": "^1.0.5",
67 | "supports-color": "^5.3.0"
68 | }
69 | },
70 | "coa": {
71 | "version": "2.0.2",
72 | "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
73 | "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==",
74 | "dev": true,
75 | "requires": {
76 | "@types/q": "^1.5.1",
77 | "chalk": "^2.4.1",
78 | "q": "^1.1.2"
79 | }
80 | },
81 | "color-convert": {
82 | "version": "1.9.3",
83 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
84 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
85 | "dev": true,
86 | "requires": {
87 | "color-name": "1.1.3"
88 | }
89 | },
90 | "color-name": {
91 | "version": "1.1.3",
92 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
93 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
94 | "dev": true
95 | },
96 | "combined-stream": {
97 | "version": "1.0.8",
98 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
99 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
100 | "dev": true,
101 | "requires": {
102 | "delayed-stream": "~1.0.0"
103 | }
104 | },
105 | "css-select": {
106 | "version": "2.1.0",
107 | "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz",
108 | "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==",
109 | "dev": true,
110 | "requires": {
111 | "boolbase": "^1.0.0",
112 | "css-what": "^3.2.1",
113 | "domutils": "^1.7.0",
114 | "nth-check": "^1.0.2"
115 | }
116 | },
117 | "css-select-base-adapter": {
118 | "version": "0.1.1",
119 | "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz",
120 | "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==",
121 | "dev": true
122 | },
123 | "css-tree": {
124 | "version": "1.0.0-alpha.37",
125 | "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz",
126 | "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==",
127 | "dev": true,
128 | "requires": {
129 | "mdn-data": "2.0.4",
130 | "source-map": "^0.6.1"
131 | }
132 | },
133 | "css-what": {
134 | "version": "3.3.0",
135 | "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz",
136 | "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==",
137 | "dev": true
138 | },
139 | "csso": {
140 | "version": "4.0.3",
141 | "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz",
142 | "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==",
143 | "dev": true,
144 | "requires": {
145 | "css-tree": "1.0.0-alpha.39"
146 | },
147 | "dependencies": {
148 | "css-tree": {
149 | "version": "1.0.0-alpha.39",
150 | "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz",
151 | "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==",
152 | "dev": true,
153 | "requires": {
154 | "mdn-data": "2.0.6",
155 | "source-map": "^0.6.1"
156 | }
157 | },
158 | "mdn-data": {
159 | "version": "2.0.6",
160 | "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz",
161 | "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==",
162 | "dev": true
163 | }
164 | }
165 | },
166 | "define-properties": {
167 | "version": "1.1.3",
168 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
169 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
170 | "dev": true,
171 | "requires": {
172 | "object-keys": "^1.0.12"
173 | }
174 | },
175 | "delayed-stream": {
176 | "version": "1.0.0",
177 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
178 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
179 | "dev": true
180 | },
181 | "dom-serializer": {
182 | "version": "0.2.2",
183 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
184 | "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
185 | "dev": true,
186 | "requires": {
187 | "domelementtype": "^2.0.1",
188 | "entities": "^2.0.0"
189 | },
190 | "dependencies": {
191 | "domelementtype": {
192 | "version": "2.0.1",
193 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz",
194 | "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==",
195 | "dev": true
196 | }
197 | }
198 | },
199 | "domelementtype": {
200 | "version": "1.3.1",
201 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
202 | "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
203 | "dev": true
204 | },
205 | "domutils": {
206 | "version": "1.7.0",
207 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
208 | "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
209 | "dev": true,
210 | "requires": {
211 | "dom-serializer": "0",
212 | "domelementtype": "1"
213 | }
214 | },
215 | "entities": {
216 | "version": "2.0.3",
217 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz",
218 | "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==",
219 | "dev": true
220 | },
221 | "es-abstract": {
222 | "version": "1.17.6",
223 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz",
224 | "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==",
225 | "dev": true,
226 | "requires": {
227 | "es-to-primitive": "^1.2.1",
228 | "function-bind": "^1.1.1",
229 | "has": "^1.0.3",
230 | "has-symbols": "^1.0.1",
231 | "is-callable": "^1.2.0",
232 | "is-regex": "^1.1.0",
233 | "object-inspect": "^1.7.0",
234 | "object-keys": "^1.1.1",
235 | "object.assign": "^4.1.0",
236 | "string.prototype.trimend": "^1.0.1",
237 | "string.prototype.trimstart": "^1.0.1"
238 | }
239 | },
240 | "es-to-primitive": {
241 | "version": "1.2.1",
242 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
243 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
244 | "dev": true,
245 | "requires": {
246 | "is-callable": "^1.1.4",
247 | "is-date-object": "^1.0.1",
248 | "is-symbol": "^1.0.2"
249 | }
250 | },
251 | "escape-string-regexp": {
252 | "version": "1.0.5",
253 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
254 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
255 | "dev": true
256 | },
257 | "esprima": {
258 | "version": "4.0.1",
259 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
260 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
261 | "dev": true
262 | },
263 | "form-data": {
264 | "version": "3.0.0",
265 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz",
266 | "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==",
267 | "dev": true,
268 | "requires": {
269 | "asynckit": "^0.4.0",
270 | "combined-stream": "^1.0.8",
271 | "mime-types": "^2.1.12"
272 | }
273 | },
274 | "function-bind": {
275 | "version": "1.1.1",
276 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
277 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
278 | "dev": true
279 | },
280 | "has": {
281 | "version": "1.0.3",
282 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
283 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
284 | "dev": true,
285 | "requires": {
286 | "function-bind": "^1.1.1"
287 | }
288 | },
289 | "has-flag": {
290 | "version": "3.0.0",
291 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
292 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
293 | "dev": true
294 | },
295 | "has-symbols": {
296 | "version": "1.0.1",
297 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
298 | "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
299 | "dev": true
300 | },
301 | "is-callable": {
302 | "version": "1.2.0",
303 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz",
304 | "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==",
305 | "dev": true
306 | },
307 | "is-date-object": {
308 | "version": "1.0.2",
309 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
310 | "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
311 | "dev": true
312 | },
313 | "is-regex": {
314 | "version": "1.1.0",
315 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz",
316 | "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==",
317 | "dev": true,
318 | "requires": {
319 | "has-symbols": "^1.0.1"
320 | }
321 | },
322 | "is-symbol": {
323 | "version": "1.0.3",
324 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
325 | "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
326 | "dev": true,
327 | "requires": {
328 | "has-symbols": "^1.0.1"
329 | }
330 | },
331 | "js-yaml": {
332 | "version": "3.14.0",
333 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
334 | "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
335 | "dev": true,
336 | "requires": {
337 | "argparse": "^1.0.7",
338 | "esprima": "^4.0.0"
339 | }
340 | },
341 | "mdn-data": {
342 | "version": "2.0.4",
343 | "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
344 | "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==",
345 | "dev": true
346 | },
347 | "mime-db": {
348 | "version": "1.44.0",
349 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
350 | "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
351 | "dev": true
352 | },
353 | "mime-types": {
354 | "version": "2.1.27",
355 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
356 | "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
357 | "dev": true,
358 | "requires": {
359 | "mime-db": "1.44.0"
360 | }
361 | },
362 | "minimist": {
363 | "version": "1.2.8",
364 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
365 | "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
366 | "dev": true
367 | },
368 | "mkdirp": {
369 | "version": "0.5.5",
370 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
371 | "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
372 | "dev": true,
373 | "requires": {
374 | "minimist": "^1.2.5"
375 | }
376 | },
377 | "node-fetch": {
378 | "version": "2.6.7",
379 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
380 | "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
381 | "dev": true,
382 | "requires": {
383 | "whatwg-url": "^5.0.0"
384 | }
385 | },
386 | "nth-check": {
387 | "version": "1.0.2",
388 | "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
389 | "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
390 | "dev": true,
391 | "requires": {
392 | "boolbase": "~1.0.0"
393 | }
394 | },
395 | "object-inspect": {
396 | "version": "1.8.0",
397 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz",
398 | "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==",
399 | "dev": true
400 | },
401 | "object-keys": {
402 | "version": "1.1.1",
403 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
404 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
405 | "dev": true
406 | },
407 | "object.assign": {
408 | "version": "4.1.0",
409 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
410 | "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
411 | "dev": true,
412 | "requires": {
413 | "define-properties": "^1.1.2",
414 | "function-bind": "^1.1.1",
415 | "has-symbols": "^1.0.0",
416 | "object-keys": "^1.0.11"
417 | }
418 | },
419 | "object.getownpropertydescriptors": {
420 | "version": "2.1.0",
421 | "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz",
422 | "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==",
423 | "dev": true,
424 | "requires": {
425 | "define-properties": "^1.1.3",
426 | "es-abstract": "^1.17.0-next.1"
427 | }
428 | },
429 | "object.values": {
430 | "version": "1.1.1",
431 | "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz",
432 | "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==",
433 | "dev": true,
434 | "requires": {
435 | "define-properties": "^1.1.3",
436 | "es-abstract": "^1.17.0-next.1",
437 | "function-bind": "^1.1.1",
438 | "has": "^1.0.3"
439 | }
440 | },
441 | "q": {
442 | "version": "1.5.1",
443 | "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
444 | "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
445 | "dev": true
446 | },
447 | "sax": {
448 | "version": "1.2.4",
449 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
450 | "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
451 | "dev": true
452 | },
453 | "source-map": {
454 | "version": "0.6.1",
455 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
456 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
457 | "dev": true
458 | },
459 | "sprintf-js": {
460 | "version": "1.0.3",
461 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
462 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
463 | "dev": true
464 | },
465 | "stable": {
466 | "version": "0.1.8",
467 | "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
468 | "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
469 | "dev": true
470 | },
471 | "string.prototype.trimend": {
472 | "version": "1.0.1",
473 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz",
474 | "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==",
475 | "dev": true,
476 | "requires": {
477 | "define-properties": "^1.1.3",
478 | "es-abstract": "^1.17.5"
479 | }
480 | },
481 | "string.prototype.trimstart": {
482 | "version": "1.0.1",
483 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz",
484 | "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==",
485 | "dev": true,
486 | "requires": {
487 | "define-properties": "^1.1.3",
488 | "es-abstract": "^1.17.5"
489 | }
490 | },
491 | "supports-color": {
492 | "version": "5.5.0",
493 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
494 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
495 | "dev": true,
496 | "requires": {
497 | "has-flag": "^3.0.0"
498 | }
499 | },
500 | "svgo": {
501 | "version": "1.3.2",
502 | "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz",
503 | "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==",
504 | "dev": true,
505 | "requires": {
506 | "chalk": "^2.4.1",
507 | "coa": "^2.0.2",
508 | "css-select": "^2.0.0",
509 | "css-select-base-adapter": "^0.1.1",
510 | "css-tree": "1.0.0-alpha.37",
511 | "csso": "^4.0.2",
512 | "js-yaml": "^3.13.1",
513 | "mkdirp": "~0.5.1",
514 | "object.values": "^1.1.0",
515 | "sax": "~1.2.4",
516 | "stable": "^0.1.8",
517 | "unquote": "~1.1.1",
518 | "util.promisify": "~1.0.0"
519 | }
520 | },
521 | "tr46": {
522 | "version": "0.0.3",
523 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
524 | "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=",
525 | "dev": true
526 | },
527 | "typescript": {
528 | "version": "3.9.7",
529 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz",
530 | "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==",
531 | "dev": true
532 | },
533 | "unquote": {
534 | "version": "1.1.1",
535 | "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
536 | "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=",
537 | "dev": true
538 | },
539 | "util.promisify": {
540 | "version": "1.0.1",
541 | "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz",
542 | "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==",
543 | "dev": true,
544 | "requires": {
545 | "define-properties": "^1.1.3",
546 | "es-abstract": "^1.17.2",
547 | "has-symbols": "^1.0.1",
548 | "object.getownpropertydescriptors": "^2.1.0"
549 | }
550 | },
551 | "webidl-conversions": {
552 | "version": "3.0.1",
553 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
554 | "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=",
555 | "dev": true
556 | },
557 | "whatwg-url": {
558 | "version": "5.0.0",
559 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
560 | "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
561 | "dev": true,
562 | "requires": {
563 | "tr46": "~0.0.3",
564 | "webidl-conversions": "^3.0.0"
565 | }
566 | }
567 | }
568 | }
569 |
--------------------------------------------------------------------------------
/base64-cryptocurrency-icons/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "base64-cryptocurrency-icons",
3 | "version": "1.1.20",
4 | "description": "A collection of base64-encoded cryptocurrency icons",
5 | "main": "build/index.js",
6 | "scripts": {
7 | "build": "tsc",
8 | "test": "node index.test.js",
9 | "generate": "bash generate.sh"
10 | },
11 | "keywords": [
12 | "cryptocurrency",
13 | "crypto",
14 | "icons",
15 | "icon",
16 | "svg",
17 | "base64"
18 | ],
19 | "repository": {
20 | "type": "git",
21 | "url": "git+https://github.com/corollari/base64-cryptocurrency-icons.git"
22 | },
23 | "files": [
24 | "build/index.js",
25 | "build/index.d.ts"
26 | ],
27 | "types": "build/index.d.ts",
28 | "devDependencies": {
29 | "@types/node": "^14.0.24",
30 | "@types/node-fetch": "^2.5.7",
31 | "svgo": "^1.3.2",
32 | "typescript": "^3.9.6",
33 | "node-fetch": "^2.6.0"
34 | },
35 | "license": "MIT"
36 | }
37 |
--------------------------------------------------------------------------------
/base64-cryptocurrency-icons/tsconfig.json:
--------------------------------------------------------------------------------
1 | ../currency-icons/tsconfig.json
--------------------------------------------------------------------------------
/country-name-to-iso-code/.gitignore:
--------------------------------------------------------------------------------
1 | data.js
2 |
--------------------------------------------------------------------------------
/country-name-to-iso-code/README.md:
--------------------------------------------------------------------------------
1 | # Country Name -> ISO Codes
2 | > A simple web utility to mass convert country names to their equivalent ISO3166 codes
3 |
4 | Country data is directly sourced from [this wikipedia page](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes).
5 |
6 | ## Use
7 | Just visit [this page](https://onramper.github.io/small-open-datasets/country-name-to-iso-code/) and input your country names.
8 |
9 | ## Development
10 | ```bash
11 | poetry install
12 | poetry run python generate-data.py
13 | ```
14 |
15 | ## License
16 | Data comes from wikipedia and is under the [Creative Commons Attribution-ShareAlike 3.0 Unported License](https://creativecommons.org/licenses/by-sa/3.0/).
17 |
--------------------------------------------------------------------------------
/country-name-to-iso-code/generate-data.py:
--------------------------------------------------------------------------------
1 | from wikipediaTables import remove_citations, generate_table
2 | import json
3 |
4 | url = "https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes"
5 | country_table = generate_table(url)
6 |
7 | countries = []
8 | for i in range(len(country_table)):
9 | name = country_table['ISO 3166']['Country name'][i]
10 | official = country_table['Unnamed: 1_level_0']['Official state name'][i]
11 | alpha2 = country_table['ISO 3166-1']['Alpha-2 code'][i].replace('.mw-parser-output .monospaced{font-family:monospace,monospace}', '')
12 | alpha3 = country_table['ISO 3166-1']['Alpha-3 code'][i]
13 | countries.append({ "name":name, "officialName":official, "alpha2":alpha2, "alpha3":alpha3})
14 |
15 | open("data.js", "w+").write("export default " + json.dumps(countries))
16 |
--------------------------------------------------------------------------------
/country-name-to-iso-code/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Convert country name to iso code
5 |
6 |
7 |
8 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
Country name
38 |
41 |
42 |
43 |
44 |
45 |
Alpha2
46 |
47 |
48 |
49 |
50 |
51 |
Alpha 3
52 |
53 |
54 |
55 |
56 |
57 |
78 |
79 |
80 |
--------------------------------------------------------------------------------
/country-name-to-iso-code/poetry.lock:
--------------------------------------------------------------------------------
1 | # This file is automatically @generated by Poetry and should not be changed by hand.
2 |
3 | [[package]]
4 | name = "lxml"
5 | version = "4.5.2"
6 | description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API."
7 | category = "main"
8 | optional = false
9 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*"
10 | files = [
11 | {file = "lxml-4.5.2-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:74f48ec98430e06c1fa8949b49ebdd8d27ceb9df8d3d1c92e1fdc2773f003f20"},
12 | {file = "lxml-4.5.2-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e70d4e467e243455492f5de463b72151cc400710ac03a0678206a5f27e79ddef"},
13 | {file = "lxml-4.5.2-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:7ad7906e098ccd30d8f7068030a0b16668ab8aa5cda6fcd5146d8d20cbaa71b5"},
14 | {file = "lxml-4.5.2-cp27-cp27m-win32.whl", hash = "sha256:92282c83547a9add85ad658143c76a64a8d339028926d7dc1998ca029c88ea6a"},
15 | {file = "lxml-4.5.2-cp27-cp27m-win_amd64.whl", hash = "sha256:05a444b207901a68a6526948c7cc8f9fe6d6f24c70781488e32fd74ff5996e3f"},
16 | {file = "lxml-4.5.2-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:94150231f1e90c9595ccc80d7d2006c61f90a5995db82bccbca7944fd457f0f6"},
17 | {file = "lxml-4.5.2-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:bea760a63ce9bba566c23f726d72b3c0250e2fa2569909e2d83cda1534c79443"},
18 | {file = "lxml-4.5.2-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:c3f511a3c58676147c277eff0224c061dd5a6a8e1373572ac817ac6324f1b1e0"},
19 | {file = "lxml-4.5.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:59daa84aef650b11bccd18f99f64bfe44b9f14a08a28259959d33676554065a1"},
20 | {file = "lxml-4.5.2-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:c9d317efde4bafbc1561509bfa8a23c5cab66c44d49ab5b63ff690f5159b2304"},
21 | {file = "lxml-4.5.2-cp35-cp35m-win32.whl", hash = "sha256:9dc9006dcc47e00a8a6a029eb035c8f696ad38e40a27d073a003d7d1443f5d88"},
22 | {file = "lxml-4.5.2-cp35-cp35m-win_amd64.whl", hash = "sha256:08fc93257dcfe9542c0a6883a25ba4971d78297f63d7a5a26ffa34861ca78730"},
23 | {file = "lxml-4.5.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:121b665b04083a1e85ff1f5243d4a93aa1aaba281bc12ea334d5a187278ceaf1"},
24 | {file = "lxml-4.5.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:5591c4164755778e29e69b86e425880f852464a21c7bb53c7ea453bbe2633bbe"},
25 | {file = "lxml-4.5.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:cc411ad324a4486b142c41d9b2b6a722c534096963688d879ea6fa8a35028258"},
26 | {file = "lxml-4.5.2-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:1fa21263c3aba2b76fd7c45713d4428dbcc7644d73dcf0650e9d344e433741b3"},
27 | {file = "lxml-4.5.2-cp36-cp36m-win32.whl", hash = "sha256:786aad2aa20de3dbff21aab86b2fb6a7be68064cbbc0219bde414d3a30aa47ae"},
28 | {file = "lxml-4.5.2-cp36-cp36m-win_amd64.whl", hash = "sha256:e1cacf4796b20865789083252186ce9dc6cc59eca0c2e79cca332bdff24ac481"},
29 | {file = "lxml-4.5.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:80a38b188d20c0524fe8959c8ce770a8fdf0e617c6912d23fc97c68301bb9aba"},
30 | {file = "lxml-4.5.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:ecc930ae559ea8a43377e8b60ca6f8d61ac532fc57efb915d899de4a67928efd"},
31 | {file = "lxml-4.5.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:a76979f728dd845655026ab991df25d26379a1a8fc1e9e68e25c7eda43004bed"},
32 | {file = "lxml-4.5.2-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:cfd7c5dd3c35c19cec59c63df9571c67c6d6e5c92e0fe63517920e97f61106d1"},
33 | {file = "lxml-4.5.2-cp37-cp37m-win32.whl", hash = "sha256:5a9c8d11aa2c8f8b6043d845927a51eb9102eb558e3f936df494e96393f5fd3e"},
34 | {file = "lxml-4.5.2-cp37-cp37m-win_amd64.whl", hash = "sha256:4b4a111bcf4b9c948e020fd207f915c24a6de3f1adc7682a2d92660eb4e84f1a"},
35 | {file = "lxml-4.5.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5dd20538a60c4cc9a077d3b715bb42307239fcd25ef1ca7286775f95e9e9a46d"},
36 | {file = "lxml-4.5.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:2b30aa2bcff8e958cd85d907d5109820b01ac511eae5b460803430a7404e34d7"},
37 | {file = "lxml-4.5.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:aa8eba3db3d8761db161003e2d0586608092e217151d7458206e243be5a43843"},
38 | {file = "lxml-4.5.2-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8f0ec6b9b3832e0bd1d57af41f9238ea7709bbd7271f639024f2fc9d3bb01293"},
39 | {file = "lxml-4.5.2-cp38-cp38-win32.whl", hash = "sha256:107781b213cf7201ec3806555657ccda67b1fccc4261fb889ef7fc56976db81f"},
40 | {file = "lxml-4.5.2-cp38-cp38-win_amd64.whl", hash = "sha256:f161af26f596131b63b236372e4ce40f3167c1b5b5d459b29d2514bd8c9dc9ee"},
41 | {file = "lxml-4.5.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:6f767d11803dbd1274e43c8c0b2ff0a8db941e6ed0f5d44f852fb61b9d544b54"},
42 | {file = "lxml-4.5.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:d15a801d9037d7512edb2f1e196acebb16ab17bef4b25a91ea2e9a455ca353af"},
43 | {file = "lxml-4.5.2.tar.gz", hash = "sha256:cdc13a1682b2a6241080745b1953719e7fe0850b40a5c71ca574f090a1391df6"},
44 | ]
45 |
46 | [package.extras]
47 | cssselect = ["cssselect (>=0.7)"]
48 | html5 = ["html5lib"]
49 | htmlsoup = ["BeautifulSoup4"]
50 | source = ["Cython (>=0.29.7)"]
51 |
52 | [[package]]
53 | name = "numpy"
54 | version = "1.22.0"
55 | description = "NumPy is the fundamental package for array computing with Python."
56 | category = "main"
57 | optional = false
58 | python-versions = ">=3.8"
59 | files = [
60 | {file = "numpy-1.22.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3d22662b4b10112c545c91a0741f2436f8ca979ab3d69d03d19322aa970f9695"},
61 | {file = "numpy-1.22.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:11a1f3816ea82eed4178102c56281782690ab5993251fdfd75039aad4d20385f"},
62 | {file = "numpy-1.22.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5dc65644f75a4c2970f21394ad8bea1a844104f0fe01f278631be1c7eae27226"},
63 | {file = "numpy-1.22.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42c16cec1c8cf2728f1d539bd55aaa9d6bb48a7de2f41eb944697293ef65a559"},
64 | {file = "numpy-1.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a97e82c39d9856fe7d4f9b86d8a1e66eff99cf3a8b7ba48202f659703d27c46f"},
65 | {file = "numpy-1.22.0-cp310-cp310-win_amd64.whl", hash = "sha256:e41e8951749c4b5c9a2dc5fdbc1a4eec6ab2a140fdae9b460b0f557eed870f4d"},
66 | {file = "numpy-1.22.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:bece0a4a49e60e472a6d1f70ac6cdea00f9ab80ff01132f96bd970cdd8a9e5a9"},
67 | {file = "numpy-1.22.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:818b9be7900e8dc23e013a92779135623476f44a0de58b40c32a15368c01d471"},
68 | {file = "numpy-1.22.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:47ee7a839f5885bc0c63a74aabb91f6f40d7d7b639253768c4199b37aede7982"},
69 | {file = "numpy-1.22.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a024181d7aef0004d76fb3bce2a4c9f2e67a609a9e2a6ff2571d30e9976aa383"},
70 | {file = "numpy-1.22.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f71d57cc8645f14816ae249407d309be250ad8de93ef61d9709b45a0ddf4050c"},
71 | {file = "numpy-1.22.0-cp38-cp38-win32.whl", hash = "sha256:283d9de87c0133ef98f93dfc09fad3fb382f2a15580de75c02b5bb36a5a159a5"},
72 | {file = "numpy-1.22.0-cp38-cp38-win_amd64.whl", hash = "sha256:2762331de395739c91f1abb88041f94a080cb1143aeec791b3b223976228af3f"},
73 | {file = "numpy-1.22.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:76ba7c40e80f9dc815c5e896330700fd6e20814e69da9c1267d65a4d051080f1"},
74 | {file = "numpy-1.22.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0cfe07133fd00b27edee5e6385e333e9eeb010607e8a46e1cd673f05f8596595"},
75 | {file = "numpy-1.22.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6ed0d073a9c54ac40c41a9c2d53fcc3d4d4ed607670b9e7b0de1ba13b4cbfe6f"},
76 | {file = "numpy-1.22.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41388e32e40b41dd56eb37fcaa7488b2b47b0adf77c66154d6b89622c110dfe9"},
77 | {file = "numpy-1.22.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b55b953a1bdb465f4dc181758570d321db4ac23005f90ffd2b434cc6609a63dd"},
78 | {file = "numpy-1.22.0-cp39-cp39-win32.whl", hash = "sha256:5a311ee4d983c487a0ab546708edbdd759393a3dc9cd30305170149fedd23c88"},
79 | {file = "numpy-1.22.0-cp39-cp39-win_amd64.whl", hash = "sha256:a97a954a8c2f046d3817c2bce16e3c7e9a9c2afffaf0400f5c16df5172a67c9c"},
80 | {file = "numpy-1.22.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb02929b0d6bfab4c48a79bd805bd7419114606947ec8284476167415171f55b"},
81 | {file = "numpy-1.22.0.zip", hash = "sha256:a955e4128ac36797aaffd49ab44ec74a71c11d6938df83b1285492d277db5397"},
82 | ]
83 |
84 | [[package]]
85 | name = "pandas"
86 | version = "1.1.0"
87 | description = "Powerful data structures for data analysis, time series, and statistics"
88 | category = "main"
89 | optional = false
90 | python-versions = ">=3.6.1"
91 | files = [
92 | {file = "pandas-1.1.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:47a03bfef80d6812c91ed6fae43f04f2fa80a4e1b82b35aa4d9002e39529e0b8"},
93 | {file = "pandas-1.1.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:0210f8fe19c2667a3817adb6de2c4fd92b1b78e1975ca60c0efa908e0985cbdb"},
94 | {file = "pandas-1.1.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:35db623487f00d9392d8af44a24516d6cb9f274afaf73cfcfe180b9c54e007d2"},
95 | {file = "pandas-1.1.0-cp36-cp36m-win32.whl", hash = "sha256:4d1a806252001c5db7caecbe1a26e49a6c23421d85a700960f6ba093112f54a1"},
96 | {file = "pandas-1.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:9f61cca5262840ff46ef857d4f5f65679b82188709d0e5e086a9123791f721c8"},
97 | {file = "pandas-1.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:182a5aeae319df391c3df4740bb17d5300dcd78034b17732c12e62e6dd79e4a4"},
98 | {file = "pandas-1.1.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:40ec0a7f611a3d00d3c666c4cceb9aa3f5bf9fbd81392948a93663064f527203"},
99 | {file = "pandas-1.1.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:16504f915f1ae424052f1e9b7cd2d01786f098fbb00fa4e0f69d42b22952d798"},
100 | {file = "pandas-1.1.0-cp37-cp37m-win32.whl", hash = "sha256:fc714895b6de6803ac9f661abb316853d0cd657f5d23985222255ad76ccedc25"},
101 | {file = "pandas-1.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:a15835c8409d5edc50b4af93be3377b5dd3eb53517e7f785060df1f06f6da0e2"},
102 | {file = "pandas-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0bc440493cf9dc5b36d5d46bbd5508f6547ba68b02a28234cd8e81fdce42744d"},
103 | {file = "pandas-1.1.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:4b21d46728f8a6be537716035b445e7ef3a75dbd30bd31aa1b251323219d853e"},
104 | {file = "pandas-1.1.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:0227e3a6e3a22c0e283a5041f1e3064d78fbde811217668bb966ed05386d8a7e"},
105 | {file = "pandas-1.1.0-cp38-cp38-win32.whl", hash = "sha256:ed60848caadeacecefd0b1de81b91beff23960032cded0ac1449242b506a3b3f"},
106 | {file = "pandas-1.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:60e20a4ab4d4fec253557d0fc9a4e4095c37b664f78c72af24860c8adcd07088"},
107 | {file = "pandas-1.1.0.tar.gz", hash = "sha256:b39508562ad0bb3f384b0db24da7d68a2608b9ddc85b1d931ccaaa92d5e45273"},
108 | ]
109 |
110 | [package.dependencies]
111 | numpy = ">=1.15.4"
112 | python-dateutil = ">=2.7.3"
113 | pytz = ">=2017.2"
114 |
115 | [package.extras]
116 | test = ["hypothesis (>=3.58)", "pytest (>=4.0.2)", "pytest-xdist"]
117 |
118 | [[package]]
119 | name = "python-dateutil"
120 | version = "2.8.1"
121 | description = "Extensions to the standard Python datetime module"
122 | category = "main"
123 | optional = false
124 | python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
125 | files = [
126 | {file = "python-dateutil-2.8.1.tar.gz", hash = "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c"},
127 | {file = "python_dateutil-2.8.1-py2.py3-none-any.whl", hash = "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a"},
128 | ]
129 |
130 | [package.dependencies]
131 | six = ">=1.5"
132 |
133 | [[package]]
134 | name = "pytz"
135 | version = "2020.1"
136 | description = "World timezone definitions, modern and historical"
137 | category = "main"
138 | optional = false
139 | python-versions = "*"
140 | files = [
141 | {file = "pytz-2020.1-py2.py3-none-any.whl", hash = "sha256:a494d53b6d39c3c6e44c3bec237336e14305e4f29bbf800b599253057fbb79ed"},
142 | {file = "pytz-2020.1.tar.gz", hash = "sha256:c35965d010ce31b23eeb663ed3cc8c906275d6be1a34393a1d73a41febf4a048"},
143 | ]
144 |
145 | [[package]]
146 | name = "six"
147 | version = "1.15.0"
148 | description = "Python 2 and 3 compatibility utilities"
149 | category = "main"
150 | optional = false
151 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
152 | files = [
153 | {file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"},
154 | {file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"},
155 | ]
156 |
157 | [metadata]
158 | lock-version = "2.0"
159 | python-versions = "^3.8"
160 | content-hash = "8cfe93dcd91df5bf8bde8d7aad069028a306fc182b8b7bdcc44ec55911ef7c49"
161 |
--------------------------------------------------------------------------------
/country-name-to-iso-code/pyproject.toml:
--------------------------------------------------------------------------------
1 | [tool.poetry]
2 | name = "currency-icons"
3 | version = "1.0.0"
4 | description = ""
5 | authors = ["Albert "]
6 | license = "MIT"
7 |
8 | [tool.poetry.dependencies]
9 | python = "^3.8"
10 | pandas = "^1.0.5"
11 | lxml = "^4.5.2"
12 |
13 | [tool.poetry.dev-dependencies]
14 |
15 | [build-system]
16 | requires = ["poetry>=0.12"]
17 | build-backend = "poetry.masonry.api"
18 |
--------------------------------------------------------------------------------
/country-name-to-iso-code/wikipediaTables.py:
--------------------------------------------------------------------------------
1 | ../wikipedia-tables/wikipediaTables.py
--------------------------------------------------------------------------------
/currency-icons/.gitignore:
--------------------------------------------------------------------------------
1 | index.ts
2 | icons
3 |
--------------------------------------------------------------------------------
/currency-icons/README.md:
--------------------------------------------------------------------------------
1 | # Currency Icons
2 | > Icons for all circulating currencies in the world, generated from Wikipedia data. Now with automatic weekly updates!
3 |
4 | ## Samples
5 | | Code | Name | Symbol | Icon |
6 | |------|-------------------------------|--------|------|
7 | | GBP | British pound | £ |  |
8 | | EUR | Euro | € |  |
9 | | CZK | Czech koruna | Kč |  |
10 | | ANG | Netherlands Antillean guilder | ƒ |  |
11 | | NPR | Nepalese rupee | रू |  |
12 |
13 | ## Sources
14 | - Currency data comes from [this wikipedia page](https://en.wikipedia.org/wiki/List_of_circulating_currencies).
15 | - Icons are generated using the Noto Sans Light font.
16 |
17 | ## Generate
18 | ```bash
19 | poetry install
20 | npm install
21 | npm run build
22 | ```
23 |
24 | ## Use
25 | ```js
26 | import icons from 'currency-icons';
27 |
28 | console.log(icons["GBP"])
29 | {
30 | "name": "British pound",
31 | "symbol": "£",
32 | "icon": "data:image/png;base64,iVBORw0KGgoAAAANS..."
33 | }
34 | ```
35 |
36 | ## Why use this package
37 | - Others are not up-to-date or are incorrect
38 | - This is the only package that provides images, this is important because if you display currency symbols directly to your users, some of the currency symbols will be displayed as tofu (those ugly boxes) because the end user isn't using a font that supports those glyphs.
39 |
40 | ## License
41 | - Currency symbols come from wikipedia and are under the [Creative Commons Attribution-ShareAlike 3.0 Unported License](https://creativecommons.org/licenses/by-sa/3.0/).
42 | - Icons are generated using the Noto font, which is under the [SIL Open Font License (OFL)](http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL)
43 | , that has been approved by both OSI and FSF and permits free use, modification and distribution of the font or derived products.
44 |
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSans-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSans-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansArabic-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansArabic-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansArabicUI-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansArabicUI-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansArmenian-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansArmenian-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansBengali-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansBengali-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansBengaliUI-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansBengaliUI-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansCJKjp-Regular.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansCJKjp-Regular.otf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansCJKkr-Regular.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansCJKkr-Regular.otf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansCJKsc-Regular.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansCJKsc-Regular.otf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansCJKtc-Regular.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansCJKtc-Regular.otf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansCham-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansCham-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansCherokee-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansCherokee-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansDevanagari-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansDevanagari-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansDevanagariUI-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansDevanagariUI-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansDisplay-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansDisplay-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansEthiopic-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansEthiopic-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansGeorgian-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansGeorgian-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansHebrew-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansHebrew-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansKhmer-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansKhmer-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansKhmerUI-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansKhmerUI-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansLao-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansLao-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansLaoUI-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansLaoUI-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansMono-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansMono-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansMyanmar-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansMyanmar-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansMyanmarUI-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansMyanmarUI-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansSinhala-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansSinhala-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansSinhalaUI-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansSinhalaUI-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansSymbols-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansSymbols-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansTamil-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansTamil-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansTamilUI-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansTamilUI-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansThai-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansThai-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/fonts/NotoSansThaiUI-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/fonts/NotoSansThaiUI-Regular.ttf
--------------------------------------------------------------------------------
/currency-icons/generate-icons.py:
--------------------------------------------------------------------------------
1 | from wikipediaTables import remove_citations, generate_table
2 | from PIL import Image, ImageDraw, ImageFont
3 | import base64
4 | from io import BytesIO
5 | import json
6 | from os import listdir, makedirs
7 | from os.path import join
8 | from fontTools.ttLib import TTFont
9 | from fontTools.unicode import Unicode
10 |
11 | max_fontsize = 70
12 | fonts = {}
13 | for size in range(1, max_fontsize+1):
14 | fonts[size] = []
15 | for font_filename in listdir("fonts"):
16 | font_path = join("fonts", font_filename)
17 | ttfont = TTFont(font_path)
18 | for size in range(1, max_fontsize+1):
19 | fonts[size].append({
20 | "if":ImageFont.truetype(font_path, size),
21 | "tt":ttfont
22 | })
23 |
24 | def has_glyph(font, glyph):
25 | for table in font['cmap'].tables:
26 | if ord(glyph) in table.cmap.keys():
27 | return True
28 | return False
29 |
30 | def select_font(fonts, symbol):
31 | for font in fonts:
32 | symbol_present = True
33 | for char in symbol:
34 | if not has_glyph(font["tt"], char):
35 | symbol_present = False
36 | break
37 | if symbol_present:
38 | return font["if"]
39 | print("Couldn't find character "+ symbol +" in any font")
40 | raise ValueError("Couldn't find character "+ symbol +" in any font")
41 |
42 | def new_image(ww, hh):
43 | img = Image.new('RGBA', (ww, hh), (255,255,255,0))
44 | draw = ImageDraw.Draw(img)
45 | return (img, draw)
46 |
47 | def normalize_symbol(symbol):
48 | if " or " in symbol:
49 | return symbol.split(' or ')[-1]
50 | else:
51 | return symbol
52 |
53 | W, H = (50,50)
54 | scale_measurements_test = 3
55 | def get_char_measurements(symbol, font):
56 | img, draw = new_image(W*scale_measurements_test, H*scale_measurements_test)
57 | draw.text((0,0), symbol, font=font, fill=(0,0,0, 255), align='center')
58 | (left, upper, right, lower) = img.getbbox()
59 | offset_x = left
60 | offset_y = upper
61 | w = right - left
62 | h = lower - upper
63 | return offset_x, offset_y, w, h
64 |
65 | scale = 0.7
66 | def get_max_fontsize(symbol):
67 | for size in range(max_fontsize, 0, -1):
68 | font=select_font(fonts[size], symbol)
69 | _, _, w, h = get_char_measurements(symbol, font)
70 | if w < W*scale and h < H*scale:
71 | return size
72 |
73 | makedirs("icons", exist_ok=True)
74 | def build_icon(symbol, code, font):
75 | img, draw = new_image(W, H)
76 | offset_x, offset_y, w, h = get_char_measurements(symbol, font)
77 | draw.text(((W-w)/2 - offset_x,(H-h)/2 - offset_y), symbol, font=font, fill=(0,0,0, 255), align='center')
78 | buffered = BytesIO()
79 | img.save(buffered, format="PNG")
80 | img.save(join('icons', code+'.png'))
81 | return "data:image/png;base64," + base64.b64encode(buffered.getvalue()).decode("utf-8")
82 |
83 | currency_url = "https://en.wikipedia.org/wiki/List_of_circulating_currencies#List_of_circulating_currencies_by_state_or_territory"
84 | currency_table = generate_table(currency_url)
85 |
86 | '''
87 | for symbol in currency_table['Symbol orAbbrev.']:
88 | if symbol == "(none)":
89 | continue
90 | symbol = normalize_symbol(symbol)
91 | try:
92 | max_fontsize = get_max_fontsize(max_fontsize, symbol)
93 | except:
94 | continue
95 | '''
96 |
97 | currencies = {}
98 | for i in range(len(currency_table)):
99 | symbol = currency_table['Symbol orAbbrev.'][i]
100 | iso_code = currency_table['ISO code'][i]
101 | name = currency_table['Currency'][i]
102 | if symbol == "(none)" or iso_code == "(none)" or name == "(none)":
103 | continue
104 | symbol = normalize_symbol(symbol)
105 | try:
106 | size = get_max_fontsize(symbol)
107 | font = select_font(fonts[size], symbol)
108 | except:
109 | continue
110 | icon = build_icon(symbol, iso_code, font)
111 | currencies[iso_code] = { "name":name, "icon":icon, "symbol":symbol }
112 |
113 | open("index.ts", "w+").write("export = " + json.dumps(currencies) + " as {[symbol:string]:{name:string, icon:string, symbol:string}|undefined}")
114 |
--------------------------------------------------------------------------------
/currency-icons/index.test.js:
--------------------------------------------------------------------------------
1 | const icons = require('./build/index.js')
2 | const assert = require('assert')
3 |
4 | assert.strictEqual(icons["GBP"].name, "British pound")
5 | assert.strictEqual(icons["GBP"].symbol, "\u00a3")
6 | const iconStart = "data:image/png;base64,"
7 | assert.strictEqual(icons["GBP"].icon.substr(0, iconStart.length), iconStart)
8 |
--------------------------------------------------------------------------------
/currency-icons/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "currency-icons",
3 | "version": "1.0.12",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "typescript": {
8 | "version": "3.9.7",
9 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz",
10 | "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==",
11 | "dev": true
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/currency-icons/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "currency-icons",
3 | "version": "1.0.14",
4 | "description": "Icons for all currencies",
5 | "main": "build/index.js",
6 | "scripts": {
7 | "build": "poetry run python generate-icons.py && tsc",
8 | "test": "node index.test.js"
9 | },
10 | "repository": {
11 | "type": "git",
12 | "url": "git+https://github.com/corollari/currency-icons.git"
13 | },
14 | "keywords": [
15 | "currency",
16 | "icons"
17 | ],
18 | "files": [
19 | "build/index.js",
20 | "build/index.d.ts"
21 | ],
22 | "types": "build/index.d.ts",
23 | "devDependencies": {
24 | "typescript": "^3.9.6"
25 | },
26 | "author": "corollari",
27 | "license": "MIT"
28 | }
29 |
--------------------------------------------------------------------------------
/currency-icons/poetry.lock:
--------------------------------------------------------------------------------
1 | # This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand.
2 |
3 | [[package]]
4 | name = "fonttools"
5 | version = "4.13.0"
6 | description = "Tools to manipulate font files"
7 | optional = false
8 | python-versions = ">=3.6"
9 | files = [
10 | {file = "fonttools-4.13.0-py3-none-any.whl", hash = "sha256:c9fc9b1c803260e19362332d47ae2a8d701d4c085b1705bed39ac61a3f2dcb44"},
11 | {file = "fonttools-4.13.0.zip", hash = "sha256:63987cd374c39a75146748f8be8637634221e53fef15cdf76f17777676d8545a"},
12 | ]
13 |
14 | [package.extras]
15 | all = ["brotli (>=1.0.1)", "brotlipy (>=0.7.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0,<5)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "scipy", "sympy", "unicodedata2 (>=13.0.0)", "xattr", "zopfli (>=0.1.4)"]
16 | graphite = ["lz4 (>=1.7.4.2)"]
17 | interpolatable = ["munkres", "scipy"]
18 | lxml = ["lxml (>=4.0,<5)"]
19 | plot = ["matplotlib"]
20 | symfont = ["sympy"]
21 | type1 = ["xattr"]
22 | ufo = ["fs (>=2.2.0,<3)"]
23 | unicode = ["unicodedata2 (>=13.0.0)"]
24 | woff = ["brotli (>=1.0.1)", "brotlipy (>=0.7.0)", "zopfli (>=0.1.4)"]
25 |
26 | [[package]]
27 | name = "lxml"
28 | version = "4.5.2"
29 | description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API."
30 | optional = false
31 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*"
32 | files = [
33 | {file = "lxml-4.5.2-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:74f48ec98430e06c1fa8949b49ebdd8d27ceb9df8d3d1c92e1fdc2773f003f20"},
34 | {file = "lxml-4.5.2-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e70d4e467e243455492f5de463b72151cc400710ac03a0678206a5f27e79ddef"},
35 | {file = "lxml-4.5.2-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:7ad7906e098ccd30d8f7068030a0b16668ab8aa5cda6fcd5146d8d20cbaa71b5"},
36 | {file = "lxml-4.5.2-cp27-cp27m-win32.whl", hash = "sha256:92282c83547a9add85ad658143c76a64a8d339028926d7dc1998ca029c88ea6a"},
37 | {file = "lxml-4.5.2-cp27-cp27m-win_amd64.whl", hash = "sha256:05a444b207901a68a6526948c7cc8f9fe6d6f24c70781488e32fd74ff5996e3f"},
38 | {file = "lxml-4.5.2-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:94150231f1e90c9595ccc80d7d2006c61f90a5995db82bccbca7944fd457f0f6"},
39 | {file = "lxml-4.5.2-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:bea760a63ce9bba566c23f726d72b3c0250e2fa2569909e2d83cda1534c79443"},
40 | {file = "lxml-4.5.2-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:c3f511a3c58676147c277eff0224c061dd5a6a8e1373572ac817ac6324f1b1e0"},
41 | {file = "lxml-4.5.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:59daa84aef650b11bccd18f99f64bfe44b9f14a08a28259959d33676554065a1"},
42 | {file = "lxml-4.5.2-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:c9d317efde4bafbc1561509bfa8a23c5cab66c44d49ab5b63ff690f5159b2304"},
43 | {file = "lxml-4.5.2-cp35-cp35m-win32.whl", hash = "sha256:9dc9006dcc47e00a8a6a029eb035c8f696ad38e40a27d073a003d7d1443f5d88"},
44 | {file = "lxml-4.5.2-cp35-cp35m-win_amd64.whl", hash = "sha256:08fc93257dcfe9542c0a6883a25ba4971d78297f63d7a5a26ffa34861ca78730"},
45 | {file = "lxml-4.5.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:121b665b04083a1e85ff1f5243d4a93aa1aaba281bc12ea334d5a187278ceaf1"},
46 | {file = "lxml-4.5.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:5591c4164755778e29e69b86e425880f852464a21c7bb53c7ea453bbe2633bbe"},
47 | {file = "lxml-4.5.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:cc411ad324a4486b142c41d9b2b6a722c534096963688d879ea6fa8a35028258"},
48 | {file = "lxml-4.5.2-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:1fa21263c3aba2b76fd7c45713d4428dbcc7644d73dcf0650e9d344e433741b3"},
49 | {file = "lxml-4.5.2-cp36-cp36m-win32.whl", hash = "sha256:786aad2aa20de3dbff21aab86b2fb6a7be68064cbbc0219bde414d3a30aa47ae"},
50 | {file = "lxml-4.5.2-cp36-cp36m-win_amd64.whl", hash = "sha256:e1cacf4796b20865789083252186ce9dc6cc59eca0c2e79cca332bdff24ac481"},
51 | {file = "lxml-4.5.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:80a38b188d20c0524fe8959c8ce770a8fdf0e617c6912d23fc97c68301bb9aba"},
52 | {file = "lxml-4.5.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:ecc930ae559ea8a43377e8b60ca6f8d61ac532fc57efb915d899de4a67928efd"},
53 | {file = "lxml-4.5.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:a76979f728dd845655026ab991df25d26379a1a8fc1e9e68e25c7eda43004bed"},
54 | {file = "lxml-4.5.2-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:cfd7c5dd3c35c19cec59c63df9571c67c6d6e5c92e0fe63517920e97f61106d1"},
55 | {file = "lxml-4.5.2-cp37-cp37m-win32.whl", hash = "sha256:5a9c8d11aa2c8f8b6043d845927a51eb9102eb558e3f936df494e96393f5fd3e"},
56 | {file = "lxml-4.5.2-cp37-cp37m-win_amd64.whl", hash = "sha256:4b4a111bcf4b9c948e020fd207f915c24a6de3f1adc7682a2d92660eb4e84f1a"},
57 | {file = "lxml-4.5.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5dd20538a60c4cc9a077d3b715bb42307239fcd25ef1ca7286775f95e9e9a46d"},
58 | {file = "lxml-4.5.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:2b30aa2bcff8e958cd85d907d5109820b01ac511eae5b460803430a7404e34d7"},
59 | {file = "lxml-4.5.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:aa8eba3db3d8761db161003e2d0586608092e217151d7458206e243be5a43843"},
60 | {file = "lxml-4.5.2-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8f0ec6b9b3832e0bd1d57af41f9238ea7709bbd7271f639024f2fc9d3bb01293"},
61 | {file = "lxml-4.5.2-cp38-cp38-win32.whl", hash = "sha256:107781b213cf7201ec3806555657ccda67b1fccc4261fb889ef7fc56976db81f"},
62 | {file = "lxml-4.5.2-cp38-cp38-win_amd64.whl", hash = "sha256:f161af26f596131b63b236372e4ce40f3167c1b5b5d459b29d2514bd8c9dc9ee"},
63 | {file = "lxml-4.5.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:6f767d11803dbd1274e43c8c0b2ff0a8db941e6ed0f5d44f852fb61b9d544b54"},
64 | {file = "lxml-4.5.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:d15a801d9037d7512edb2f1e196acebb16ab17bef4b25a91ea2e9a455ca353af"},
65 | {file = "lxml-4.5.2.tar.gz", hash = "sha256:cdc13a1682b2a6241080745b1953719e7fe0850b40a5c71ca574f090a1391df6"},
66 | ]
67 |
68 | [package.extras]
69 | cssselect = ["cssselect (>=0.7)"]
70 | html5 = ["html5lib"]
71 | htmlsoup = ["BeautifulSoup4"]
72 | source = ["Cython (>=0.29.7)"]
73 |
74 | [[package]]
75 | name = "numpy"
76 | version = "1.19.1"
77 | description = "NumPy is the fundamental package for array computing with Python."
78 | optional = false
79 | python-versions = ">=3.6"
80 | files = [
81 | {file = "numpy-1.19.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b1cca51512299841bf69add3b75361779962f9cee7d9ee3bb446d5982e925b69"},
82 | {file = "numpy-1.19.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:c9591886fc9cbe5532d5df85cb8e0cc3b44ba8ce4367bd4cf1b93dc19713da72"},
83 | {file = "numpy-1.19.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:cf1347450c0b7644ea142712619533553f02ef23f92f781312f6a3553d031fc7"},
84 | {file = "numpy-1.19.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:ed8a311493cf5480a2ebc597d1e177231984c818a86875126cfd004241a73c3e"},
85 | {file = "numpy-1.19.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:3673c8b2b29077f1b7b3a848794f8e11f401ba0b71c49fbd26fb40b71788b132"},
86 | {file = "numpy-1.19.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:56ef7f56470c24bb67fb43dae442e946a6ce172f97c69f8d067ff8550cf782ff"},
87 | {file = "numpy-1.19.1-cp36-cp36m-win32.whl", hash = "sha256:aaf42a04b472d12515debc621c31cf16c215e332242e7a9f56403d814c744624"},
88 | {file = "numpy-1.19.1-cp36-cp36m-win_amd64.whl", hash = "sha256:082f8d4dd69b6b688f64f509b91d482362124986d98dc7dc5f5e9f9b9c3bb983"},
89 | {file = "numpy-1.19.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e4f6d3c53911a9d103d8ec9518190e52a8b945bab021745af4939cfc7c0d4a9e"},
90 | {file = "numpy-1.19.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:5b6885c12784a27e957294b60f97e8b5b4174c7504665333c5e94fbf41ae5d6a"},
91 | {file = "numpy-1.19.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:1bc0145999e8cb8aed9d4e65dd8b139adf1919e521177f198529687dbf613065"},
92 | {file = "numpy-1.19.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:5a936fd51049541d86ccdeef2833cc89a18e4d3808fe58a8abeb802665c5af93"},
93 | {file = "numpy-1.19.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:ef71a1d4fd4858596ae80ad1ec76404ad29701f8ca7cdcebc50300178db14dfc"},
94 | {file = "numpy-1.19.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:b9792b0ac0130b277536ab8944e7b754c69560dac0415dd4b2dbd16b902c8954"},
95 | {file = "numpy-1.19.1-cp37-cp37m-win32.whl", hash = "sha256:b12e639378c741add21fbffd16ba5ad25c0a1a17cf2b6fe4288feeb65144f35b"},
96 | {file = "numpy-1.19.1-cp37-cp37m-win_amd64.whl", hash = "sha256:8343bf67c72e09cfabfab55ad4a43ce3f6bf6e6ced7acf70f45ded9ebb425055"},
97 | {file = "numpy-1.19.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e45f8e981a0ab47103181773cc0a54e650b2aef8c7b6cd07405d0fa8d869444a"},
98 | {file = "numpy-1.19.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:667c07063940e934287993366ad5f56766bc009017b4a0fe91dbd07960d0aba7"},
99 | {file = "numpy-1.19.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:480fdd4dbda4dd6b638d3863da3be82873bba6d32d1fc12ea1b8486ac7b8d129"},
100 | {file = "numpy-1.19.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:935c27ae2760c21cd7354402546f6be21d3d0c806fffe967f745d5f2de5005a7"},
101 | {file = "numpy-1.19.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:309cbcfaa103fc9a33ec16d2d62569d541b79f828c382556ff072442226d1968"},
102 | {file = "numpy-1.19.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:7ed448ff4eaffeb01094959b19cbaf998ecdee9ef9932381420d514e446601cd"},
103 | {file = "numpy-1.19.1-cp38-cp38-win32.whl", hash = "sha256:de8b4a9b56255797cbddb93281ed92acbc510fb7b15df3f01bd28f46ebc4edae"},
104 | {file = "numpy-1.19.1-cp38-cp38-win_amd64.whl", hash = "sha256:92feb989b47f83ebef246adabc7ff3b9a59ac30601c3f6819f8913458610bdcc"},
105 | {file = "numpy-1.19.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:e1b1dc0372f530f26a03578ac75d5e51b3868b9b76cd2facba4c9ee0eb252ab1"},
106 | {file = "numpy-1.19.1.zip", hash = "sha256:b8456987b637232602ceb4d663cb34106f7eb780e247d51a260b84760fd8f491"},
107 | ]
108 |
109 | [[package]]
110 | name = "pandas"
111 | version = "1.0.5"
112 | description = "Powerful data structures for data analysis, time series, and statistics"
113 | optional = false
114 | python-versions = ">=3.6.1"
115 | files = [
116 | {file = "pandas-1.0.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:faa42a78d1350b02a7d2f0dbe3c80791cf785663d6997891549d0f86dc49125e"},
117 | {file = "pandas-1.0.5-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:9c31d52f1a7dd2bb4681d9f62646c7aa554f19e8e9addc17e8b1b20011d7522d"},
118 | {file = "pandas-1.0.5-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:8778a5cc5a8437a561e3276b85367412e10ae9fff07db1eed986e427d9a674f8"},
119 | {file = "pandas-1.0.5-cp36-cp36m-win32.whl", hash = "sha256:9871ef5ee17f388f1cb35f76dc6106d40cb8165c562d573470672f4cdefa59ef"},
120 | {file = "pandas-1.0.5-cp36-cp36m-win_amd64.whl", hash = "sha256:35b670b0abcfed7cad76f2834041dcf7ae47fd9b22b63622d67cdc933d79f453"},
121 | {file = "pandas-1.0.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c9410ce8a3dee77653bc0684cfa1535a7f9c291663bd7ad79e39f5ab58f67ab3"},
122 | {file = "pandas-1.0.5-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:02f1e8f71cd994ed7fcb9a35b6ddddeb4314822a0e09a9c5b2d278f8cb5d4096"},
123 | {file = "pandas-1.0.5-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:b3c4f93fcb6e97d993bf87cdd917883b7dab7d20c627699f360a8fb49e9e0b91"},
124 | {file = "pandas-1.0.5-cp37-cp37m-win32.whl", hash = "sha256:5759edf0b686b6f25a5d4a447ea588983a33afc8a0081a0954184a4a87fd0dd7"},
125 | {file = "pandas-1.0.5-cp37-cp37m-win_amd64.whl", hash = "sha256:ab8173a8efe5418bbe50e43f321994ac6673afc5c7c4839014cf6401bbdd0705"},
126 | {file = "pandas-1.0.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:13f75fb18486759da3ff40f5345d9dd20e7d78f2a39c5884d013456cec9876f0"},
127 | {file = "pandas-1.0.5-cp38-cp38-manylinux1_i686.whl", hash = "sha256:5a7cf6044467c1356b2b49ef69e50bf4d231e773c3ca0558807cdba56b76820b"},
128 | {file = "pandas-1.0.5-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:ae961f1f0e270f1e4e2273f6a539b2ea33248e0e3a11ffb479d757918a5e03a9"},
129 | {file = "pandas-1.0.5-cp38-cp38-win32.whl", hash = "sha256:f69e0f7b7c09f1f612b1f8f59e2df72faa8a6b41c5a436dde5b615aaf948f107"},
130 | {file = "pandas-1.0.5-cp38-cp38-win_amd64.whl", hash = "sha256:4c73f373b0800eb3062ffd13d4a7a2a6d522792fa6eb204d67a4fad0a40f03dc"},
131 | {file = "pandas-1.0.5.tar.gz", hash = "sha256:69c5d920a0b2a9838e677f78f4dde506b95ea8e4d30da25859db6469ded84fa8"},
132 | ]
133 |
134 | [package.dependencies]
135 | numpy = ">=1.13.3"
136 | python-dateutil = ">=2.6.1"
137 | pytz = ">=2017.2"
138 |
139 | [package.extras]
140 | test = ["hypothesis (>=3.58)", "pytest (>=4.0.2)", "pytest-xdist"]
141 |
142 | [[package]]
143 | name = "pillow"
144 | version = "10.3.0"
145 | description = "Python Imaging Library (Fork)"
146 | optional = false
147 | python-versions = ">=3.8"
148 | files = [
149 | {file = "pillow-10.3.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:90b9e29824800e90c84e4022dd5cc16eb2d9605ee13f05d47641eb183cd73d45"},
150 | {file = "pillow-10.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a2c405445c79c3f5a124573a051062300936b0281fee57637e706453e452746c"},
151 | {file = "pillow-10.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78618cdbccaa74d3f88d0ad6cb8ac3007f1a6fa5c6f19af64b55ca170bfa1edf"},
152 | {file = "pillow-10.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:261ddb7ca91fcf71757979534fb4c128448b5b4c55cb6152d280312062f69599"},
153 | {file = "pillow-10.3.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:ce49c67f4ea0609933d01c0731b34b8695a7a748d6c8d186f95e7d085d2fe475"},
154 | {file = "pillow-10.3.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:b14f16f94cbc61215115b9b1236f9c18403c15dd3c52cf629072afa9d54c1cbf"},
155 | {file = "pillow-10.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d33891be6df59d93df4d846640f0e46f1a807339f09e79a8040bc887bdcd7ed3"},
156 | {file = "pillow-10.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b50811d664d392f02f7761621303eba9d1b056fb1868c8cdf4231279645c25f5"},
157 | {file = "pillow-10.3.0-cp310-cp310-win32.whl", hash = "sha256:ca2870d5d10d8726a27396d3ca4cf7976cec0f3cb706debe88e3a5bd4610f7d2"},
158 | {file = "pillow-10.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:f0d0591a0aeaefdaf9a5e545e7485f89910c977087e7de2b6c388aec32011e9f"},
159 | {file = "pillow-10.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:ccce24b7ad89adb5a1e34a6ba96ac2530046763912806ad4c247356a8f33a67b"},
160 | {file = "pillow-10.3.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:5f77cf66e96ae734717d341c145c5949c63180842a545c47a0ce7ae52ca83795"},
161 | {file = "pillow-10.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e4b878386c4bf293578b48fc570b84ecfe477d3b77ba39a6e87150af77f40c57"},
162 | {file = "pillow-10.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fdcbb4068117dfd9ce0138d068ac512843c52295ed996ae6dd1faf537b6dbc27"},
163 | {file = "pillow-10.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9797a6c8fe16f25749b371c02e2ade0efb51155e767a971c61734b1bf6293994"},
164 | {file = "pillow-10.3.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:9e91179a242bbc99be65e139e30690e081fe6cb91a8e77faf4c409653de39451"},
165 | {file = "pillow-10.3.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:1b87bd9d81d179bd8ab871603bd80d8645729939f90b71e62914e816a76fc6bd"},
166 | {file = "pillow-10.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:81d09caa7b27ef4e61cb7d8fbf1714f5aec1c6b6c5270ee53504981e6e9121ad"},
167 | {file = "pillow-10.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:048ad577748b9fa4a99a0548c64f2cb8d672d5bf2e643a739ac8faff1164238c"},
168 | {file = "pillow-10.3.0-cp311-cp311-win32.whl", hash = "sha256:7161ec49ef0800947dc5570f86568a7bb36fa97dd09e9827dc02b718c5643f09"},
169 | {file = "pillow-10.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:8eb0908e954d093b02a543dc963984d6e99ad2b5e36503d8a0aaf040505f747d"},
170 | {file = "pillow-10.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:4e6f7d1c414191c1199f8996d3f2282b9ebea0945693fb67392c75a3a320941f"},
171 | {file = "pillow-10.3.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:e46f38133e5a060d46bd630faa4d9fa0202377495df1f068a8299fd78c84de84"},
172 | {file = "pillow-10.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:50b8eae8f7334ec826d6eeffaeeb00e36b5e24aa0b9df322c247539714c6df19"},
173 | {file = "pillow-10.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9d3bea1c75f8c53ee4d505c3e67d8c158ad4df0d83170605b50b64025917f338"},
174 | {file = "pillow-10.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19aeb96d43902f0a783946a0a87dbdad5c84c936025b8419da0a0cd7724356b1"},
175 | {file = "pillow-10.3.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:74d28c17412d9caa1066f7a31df8403ec23d5268ba46cd0ad2c50fb82ae40462"},
176 | {file = "pillow-10.3.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:ff61bfd9253c3915e6d41c651d5f962da23eda633cf02262990094a18a55371a"},
177 | {file = "pillow-10.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d886f5d353333b4771d21267c7ecc75b710f1a73d72d03ca06df49b09015a9ef"},
178 | {file = "pillow-10.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4b5ec25d8b17217d635f8935dbc1b9aa5907962fae29dff220f2659487891cd3"},
179 | {file = "pillow-10.3.0-cp312-cp312-win32.whl", hash = "sha256:51243f1ed5161b9945011a7360e997729776f6e5d7005ba0c6879267d4c5139d"},
180 | {file = "pillow-10.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:412444afb8c4c7a6cc11a47dade32982439925537e483be7c0ae0cf96c4f6a0b"},
181 | {file = "pillow-10.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:798232c92e7665fe82ac085f9d8e8ca98826f8e27859d9a96b41d519ecd2e49a"},
182 | {file = "pillow-10.3.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:4eaa22f0d22b1a7e93ff0a596d57fdede2e550aecffb5a1ef1106aaece48e96b"},
183 | {file = "pillow-10.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cd5e14fbf22a87321b24c88669aad3a51ec052eb145315b3da3b7e3cc105b9a2"},
184 | {file = "pillow-10.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1530e8f3a4b965eb6a7785cf17a426c779333eb62c9a7d1bbcf3ffd5bf77a4aa"},
185 | {file = "pillow-10.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d512aafa1d32efa014fa041d38868fda85028e3f930a96f85d49c7d8ddc0383"},
186 | {file = "pillow-10.3.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:339894035d0ede518b16073bdc2feef4c991ee991a29774b33e515f1d308e08d"},
187 | {file = "pillow-10.3.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:aa7e402ce11f0885305bfb6afb3434b3cd8f53b563ac065452d9d5654c7b86fd"},
188 | {file = "pillow-10.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0ea2a783a2bdf2a561808fe4a7a12e9aa3799b701ba305de596bc48b8bdfce9d"},
189 | {file = "pillow-10.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:c78e1b00a87ce43bb37642c0812315b411e856a905d58d597750eb79802aaaa3"},
190 | {file = "pillow-10.3.0-cp38-cp38-win32.whl", hash = "sha256:72d622d262e463dfb7595202d229f5f3ab4b852289a1cd09650362db23b9eb0b"},
191 | {file = "pillow-10.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:2034f6759a722da3a3dbd91a81148cf884e91d1b747992ca288ab88c1de15999"},
192 | {file = "pillow-10.3.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:2ed854e716a89b1afcedea551cd85f2eb2a807613752ab997b9974aaa0d56936"},
193 | {file = "pillow-10.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:dc1a390a82755a8c26c9964d457d4c9cbec5405896cba94cf51f36ea0d855002"},
194 | {file = "pillow-10.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4203efca580f0dd6f882ca211f923168548f7ba334c189e9eab1178ab840bf60"},
195 | {file = "pillow-10.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3102045a10945173d38336f6e71a8dc71bcaeed55c3123ad4af82c52807b9375"},
196 | {file = "pillow-10.3.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:6fb1b30043271ec92dc65f6d9f0b7a830c210b8a96423074b15c7bc999975f57"},
197 | {file = "pillow-10.3.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:1dfc94946bc60ea375cc39cff0b8da6c7e5f8fcdc1d946beb8da5c216156ddd8"},
198 | {file = "pillow-10.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b09b86b27a064c9624d0a6c54da01c1beaf5b6cadfa609cf63789b1d08a797b9"},
199 | {file = "pillow-10.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d3b2348a78bc939b4fed6552abfd2e7988e0f81443ef3911a4b8498ca084f6eb"},
200 | {file = "pillow-10.3.0-cp39-cp39-win32.whl", hash = "sha256:45ebc7b45406febf07fef35d856f0293a92e7417ae7933207e90bf9090b70572"},
201 | {file = "pillow-10.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:0ba26351b137ca4e0db0342d5d00d2e355eb29372c05afd544ebf47c0956ffeb"},
202 | {file = "pillow-10.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:50fd3f6b26e3441ae07b7c979309638b72abc1a25da31a81a7fbd9495713ef4f"},
203 | {file = "pillow-10.3.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:6b02471b72526ab8a18c39cb7967b72d194ec53c1fd0a70b050565a0f366d355"},
204 | {file = "pillow-10.3.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8ab74c06ffdab957d7670c2a5a6e1a70181cd10b727cd788c4dd9005b6a8acd9"},
205 | {file = "pillow-10.3.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:048eeade4c33fdf7e08da40ef402e748df113fd0b4584e32c4af74fe78baaeb2"},
206 | {file = "pillow-10.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e2ec1e921fd07c7cda7962bad283acc2f2a9ccc1b971ee4b216b75fad6f0463"},
207 | {file = "pillow-10.3.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:4c8e73e99da7db1b4cad7f8d682cf6abad7844da39834c288fbfa394a47bbced"},
208 | {file = "pillow-10.3.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:16563993329b79513f59142a6b02055e10514c1a8e86dca8b48a893e33cf91e3"},
209 | {file = "pillow-10.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:dd78700f5788ae180b5ee8902c6aea5a5726bac7c364b202b4b3e3ba2d293170"},
210 | {file = "pillow-10.3.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:aff76a55a8aa8364d25400a210a65ff59d0168e0b4285ba6bf2bd83cf675ba32"},
211 | {file = "pillow-10.3.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:b7bc2176354defba3edc2b9a777744462da2f8e921fbaf61e52acb95bafa9828"},
212 | {file = "pillow-10.3.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:793b4e24db2e8742ca6423d3fde8396db336698c55cd34b660663ee9e45ed37f"},
213 | {file = "pillow-10.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d93480005693d247f8346bc8ee28c72a2191bdf1f6b5db469c096c0c867ac015"},
214 | {file = "pillow-10.3.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c83341b89884e2b2e55886e8fbbf37c3fa5efd6c8907124aeb72f285ae5696e5"},
215 | {file = "pillow-10.3.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1a1d1915db1a4fdb2754b9de292642a39a7fb28f1736699527bb649484fb966a"},
216 | {file = "pillow-10.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a0eaa93d054751ee9964afa21c06247779b90440ca41d184aeb5d410f20ff591"},
217 | {file = "pillow-10.3.0.tar.gz", hash = "sha256:9d2455fbf44c914840c793e89aa82d0e1763a14253a000743719ae5946814b2d"},
218 | ]
219 |
220 | [package.extras]
221 | docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"]
222 | fpx = ["olefile"]
223 | mic = ["olefile"]
224 | tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"]
225 | typing = ["typing-extensions"]
226 | xmp = ["defusedxml"]
227 |
228 | [[package]]
229 | name = "python-dateutil"
230 | version = "2.8.1"
231 | description = "Extensions to the standard Python datetime module"
232 | optional = false
233 | python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
234 | files = [
235 | {file = "python-dateutil-2.8.1.tar.gz", hash = "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c"},
236 | {file = "python_dateutil-2.8.1-py2.py3-none-any.whl", hash = "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a"},
237 | ]
238 |
239 | [package.dependencies]
240 | six = ">=1.5"
241 |
242 | [[package]]
243 | name = "pytz"
244 | version = "2020.1"
245 | description = "World timezone definitions, modern and historical"
246 | optional = false
247 | python-versions = "*"
248 | files = [
249 | {file = "pytz-2020.1-py2.py3-none-any.whl", hash = "sha256:a494d53b6d39c3c6e44c3bec237336e14305e4f29bbf800b599253057fbb79ed"},
250 | {file = "pytz-2020.1.tar.gz", hash = "sha256:c35965d010ce31b23eeb663ed3cc8c906275d6be1a34393a1d73a41febf4a048"},
251 | ]
252 |
253 | [[package]]
254 | name = "six"
255 | version = "1.15.0"
256 | description = "Python 2 and 3 compatibility utilities"
257 | optional = false
258 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
259 | files = [
260 | {file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"},
261 | {file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"},
262 | ]
263 |
264 | [metadata]
265 | lock-version = "2.0"
266 | python-versions = "^3.8"
267 | content-hash = "ebc75ece3ed2b255c3b0cc70fe1f17cf91222cb4751435d4a9d9eb69bf90462f"
268 |
--------------------------------------------------------------------------------
/currency-icons/pyproject.toml:
--------------------------------------------------------------------------------
1 | [tool.poetry]
2 | name = "currency-icons"
3 | version = "1.0.0"
4 | description = ""
5 | authors = ["Albert "]
6 | license = "MIT"
7 |
8 | [tool.poetry.dependencies]
9 | python = "^3.8"
10 | pandas = "^1.0.5"
11 | lxml = "^4.5.2"
12 | Pillow = "^10.3.0"
13 | fonttools = "^4.13.0"
14 |
15 | [tool.poetry.dev-dependencies]
16 |
17 | [build-system]
18 | requires = ["poetry>=0.12"]
19 | build-backend = "poetry.masonry.api"
20 |
--------------------------------------------------------------------------------
/currency-icons/samples/ANG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/samples/ANG.png
--------------------------------------------------------------------------------
/currency-icons/samples/CZK.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/samples/CZK.png
--------------------------------------------------------------------------------
/currency-icons/samples/EUR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/samples/EUR.png
--------------------------------------------------------------------------------
/currency-icons/samples/GBP.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/samples/GBP.png
--------------------------------------------------------------------------------
/currency-icons/samples/NPR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/currency-icons/samples/NPR.png
--------------------------------------------------------------------------------
/currency-icons/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "strict": true,
5 | "esModuleInterop": true,
6 | "skipLibCheck": false,
7 | "outDir": "build",
8 | "forceConsistentCasingInFileNames": true,
9 | "noUnusedLocals": true,
10 | "declaration": true,
11 | "noUnusedParameters": true
12 | },
13 | "exclude": ["node_modules", "build"]
14 | }
15 |
--------------------------------------------------------------------------------
/currency-icons/wikipediaTables.py:
--------------------------------------------------------------------------------
1 | ../wikipedia-tables/wikipediaTables.py
--------------------------------------------------------------------------------
/iso3166-alpha-converter/.gitignore:
--------------------------------------------------------------------------------
1 | index.ts
2 |
--------------------------------------------------------------------------------
/iso3166-alpha-converter/README.md:
--------------------------------------------------------------------------------
1 | # ISO 3166 Alpha Code Converter
2 | > Convert between alpha2 ('us') and alpha3 ('USA') ISO 3166 country codes
3 |
4 | ## Usage
5 | ```js
6 | import { alpha2to3, alpha3to2 } from 'iso3166-alpha-converter'
7 | alpha2to3["us"] // -> "USA"
8 | alpha3to2["USA"] // -> "us"
9 | ```
10 |
11 | ## Development
12 | ```bash
13 | # Setup
14 | npm install
15 | poetry install
16 | # Build
17 | npm run build
18 | # Test
19 | npm test
20 | ```
21 |
22 | ## License
23 | Data comes from [this wikipedia page](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes) and is licensed under the [Creative Commons Attribution-ShareAlike 3.0 Unported License](https://creativecommons.org/licenses/by-sa/3.0/).
24 |
--------------------------------------------------------------------------------
/iso3166-alpha-converter/generate-data.py:
--------------------------------------------------------------------------------
1 | from wikipediaTables import remove_citations, generate_table
2 | import json
3 |
4 | url = "https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes"
5 | country_table = generate_table(url)
6 |
7 | alpha2to3 = {}
8 | alpha3to2 = {}
9 | for i in range(len(country_table)):
10 | alpha2 = country_table['ISO 3166-1']['Alpha-2 code'][i].replace('.mw-parser-output .monospaced{font-family:monospace,monospace}', '')
11 | alpha3 = country_table['ISO 3166-1']['Alpha-3 code'][i]
12 | if alpha2 == alpha3:
13 | print(f'No code found for {alpha2}, skipping...')
14 | continue
15 | if alpha2 == "nan":
16 | alpha2 = "NA" # When pandas encounters the text 'NA' it interprets it as a nonexisting value aka NaN, correct that
17 | alpha2=alpha2.lower()
18 | alpha2to3[alpha2]=alpha3
19 | alpha3to2[alpha3]=alpha2
20 |
21 | tsType = "{[code:string]:string|undefined}"
22 | exports = {"alpha2to3":alpha2to3, "alpha3to2": alpha3to2}
23 | open("index.ts", "w+").write(f'export = {json.dumps(exports)} as {{alpha2to3:{tsType}, alpha3to2:{tsType}}}')
24 |
25 |
--------------------------------------------------------------------------------
/iso3166-alpha-converter/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "iso3166-alpha-converter",
3 | "version": "1.0.0",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "typescript": {
8 | "version": "3.9.7",
9 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz",
10 | "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==",
11 | "dev": true
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/iso3166-alpha-converter/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "iso3166-alpha-converter",
3 | "version": "1.0.0",
4 | "description": "Convert between alpha2 ('us') and alpha3 ('USA') ISO 3166 country codes",
5 | "main": "build/index.js",
6 | "scripts": {
7 | "build": "poetry run python generate-data.py && tsc",
8 | "test": "node test.js"
9 | },
10 | "repository": {
11 | "type": "git",
12 | "url": "git+https://github.com/corollari/small-open-datasets.git"
13 | },
14 | "keywords": [
15 | "ISO3166",
16 | "country"
17 | ],
18 | "author": "corollari",
19 | "license": "MIT",
20 | "bugs": {
21 | "url": "https://github.com/corollari/small-open-datasets/issues"
22 | },
23 | "files": [
24 | "build/index.js",
25 | "build/index.d.ts"
26 | ],
27 | "types": "build/index.d.ts",
28 | "devDependencies": {
29 | "typescript": "^3.9.6"
30 | },
31 | "homepage": "https://github.com/corollari/small-open-datasets/tree/master/iso3166-alpha-converter#readme"
32 | }
33 |
--------------------------------------------------------------------------------
/iso3166-alpha-converter/poetry.lock:
--------------------------------------------------------------------------------
1 | # This file is automatically @generated by Poetry and should not be changed by hand.
2 |
3 | [[package]]
4 | name = "lxml"
5 | version = "4.9.1"
6 | description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API."
7 | category = "main"
8 | optional = false
9 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*"
10 | files = [
11 | {file = "lxml-4.9.1-cp27-cp27m-macosx_10_15_x86_64.whl", hash = "sha256:98cafc618614d72b02185ac583c6f7796202062c41d2eeecdf07820bad3295ed"},
12 | {file = "lxml-4.9.1-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c62e8dd9754b7debda0c5ba59d34509c4688f853588d75b53c3791983faa96fc"},
13 | {file = "lxml-4.9.1-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:21fb3d24ab430fc538a96e9fbb9b150029914805d551deeac7d7822f64631dfc"},
14 | {file = "lxml-4.9.1-cp27-cp27m-win32.whl", hash = "sha256:86e92728ef3fc842c50a5cb1d5ba2bc66db7da08a7af53fb3da79e202d1b2cd3"},
15 | {file = "lxml-4.9.1-cp27-cp27m-win_amd64.whl", hash = "sha256:4cfbe42c686f33944e12f45a27d25a492cc0e43e1dc1da5d6a87cbcaf2e95627"},
16 | {file = "lxml-4.9.1-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dad7b164905d3e534883281c050180afcf1e230c3d4a54e8038aa5cfcf312b84"},
17 | {file = "lxml-4.9.1-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a614e4afed58c14254e67862456d212c4dcceebab2eaa44d627c2ca04bf86837"},
18 | {file = "lxml-4.9.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:f9ced82717c7ec65a67667bb05865ffe38af0e835cdd78728f1209c8fffe0cad"},
19 | {file = "lxml-4.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:d9fc0bf3ff86c17348dfc5d322f627d78273eba545db865c3cd14b3f19e57fa5"},
20 | {file = "lxml-4.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:e5f66bdf0976ec667fc4594d2812a00b07ed14d1b44259d19a41ae3fff99f2b8"},
21 | {file = "lxml-4.9.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:fe17d10b97fdf58155f858606bddb4e037b805a60ae023c009f760d8361a4eb8"},
22 | {file = "lxml-4.9.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8caf4d16b31961e964c62194ea3e26a0e9561cdf72eecb1781458b67ec83423d"},
23 | {file = "lxml-4.9.1-cp310-cp310-win32.whl", hash = "sha256:4780677767dd52b99f0af1f123bc2c22873d30b474aa0e2fc3fe5e02217687c7"},
24 | {file = "lxml-4.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:b122a188cd292c4d2fcd78d04f863b789ef43aa129b233d7c9004de08693728b"},
25 | {file = "lxml-4.9.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:be9eb06489bc975c38706902cbc6888f39e946b81383abc2838d186f0e8b6a9d"},
26 | {file = "lxml-4.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:f1be258c4d3dc609e654a1dc59d37b17d7fef05df912c01fc2e15eb43a9735f3"},
27 | {file = "lxml-4.9.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:927a9dd016d6033bc12e0bf5dee1dde140235fc8d0d51099353c76081c03dc29"},
28 | {file = "lxml-4.9.1-cp35-cp35m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9232b09f5efee6a495a99ae6824881940d6447debe272ea400c02e3b68aad85d"},
29 | {file = "lxml-4.9.1-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:04da965dfebb5dac2619cb90fcf93efdb35b3c6994fea58a157a834f2f94b318"},
30 | {file = "lxml-4.9.1-cp35-cp35m-win32.whl", hash = "sha256:4d5bae0a37af799207140652a700f21a85946f107a199bcb06720b13a4f1f0b7"},
31 | {file = "lxml-4.9.1-cp35-cp35m-win_amd64.whl", hash = "sha256:4878e667ebabe9b65e785ac8da4d48886fe81193a84bbe49f12acff8f7a383a4"},
32 | {file = "lxml-4.9.1-cp36-cp36m-macosx_10_15_x86_64.whl", hash = "sha256:1355755b62c28950f9ce123c7a41460ed9743c699905cbe664a5bcc5c9c7c7fb"},
33 | {file = "lxml-4.9.1-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:bcaa1c495ce623966d9fc8a187da80082334236a2a1c7e141763ffaf7a405067"},
34 | {file = "lxml-4.9.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6eafc048ea3f1b3c136c71a86db393be36b5b3d9c87b1c25204e7d397cee9536"},
35 | {file = "lxml-4.9.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:13c90064b224e10c14dcdf8086688d3f0e612db53766e7478d7754703295c7c8"},
36 | {file = "lxml-4.9.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:206a51077773c6c5d2ce1991327cda719063a47adc02bd703c56a662cdb6c58b"},
37 | {file = "lxml-4.9.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:e8f0c9d65da595cfe91713bc1222af9ecabd37971762cb830dea2fc3b3bb2acf"},
38 | {file = "lxml-4.9.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:8f0a4d179c9a941eb80c3a63cdb495e539e064f8054230844dcf2fcb812b71d3"},
39 | {file = "lxml-4.9.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:830c88747dce8a3e7525defa68afd742b4580df6aa2fdd6f0855481e3994d391"},
40 | {file = "lxml-4.9.1-cp36-cp36m-win32.whl", hash = "sha256:1e1cf47774373777936c5aabad489fef7b1c087dcd1f426b621fda9dcc12994e"},
41 | {file = "lxml-4.9.1-cp36-cp36m-win_amd64.whl", hash = "sha256:5974895115737a74a00b321e339b9c3f45c20275d226398ae79ac008d908bff7"},
42 | {file = "lxml-4.9.1-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:1423631e3d51008871299525b541413c9b6c6423593e89f9c4cfbe8460afc0a2"},
43 | {file = "lxml-4.9.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:2aaf6a0a6465d39b5ca69688fce82d20088c1838534982996ec46633dc7ad6cc"},
44 | {file = "lxml-4.9.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:9f36de4cd0c262dd9927886cc2305aa3f2210db437aa4fed3fb4940b8bf4592c"},
45 | {file = "lxml-4.9.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:ae06c1e4bc60ee076292e582a7512f304abdf6c70db59b56745cca1684f875a4"},
46 | {file = "lxml-4.9.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:57e4d637258703d14171b54203fd6822fda218c6c2658a7d30816b10995f29f3"},
47 | {file = "lxml-4.9.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6d279033bf614953c3fc4a0aa9ac33a21e8044ca72d4fa8b9273fe75359d5cca"},
48 | {file = "lxml-4.9.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:a60f90bba4c37962cbf210f0188ecca87daafdf60271f4c6948606e4dabf8785"},
49 | {file = "lxml-4.9.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:6ca2264f341dd81e41f3fffecec6e446aa2121e0b8d026fb5130e02de1402785"},
50 | {file = "lxml-4.9.1-cp37-cp37m-win32.whl", hash = "sha256:27e590352c76156f50f538dbcebd1925317a0f70540f7dc8c97d2931c595783a"},
51 | {file = "lxml-4.9.1-cp37-cp37m-win_amd64.whl", hash = "sha256:eea5d6443b093e1545ad0210e6cf27f920482bfcf5c77cdc8596aec73523bb7e"},
52 | {file = "lxml-4.9.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:f05251bbc2145349b8d0b77c0d4e5f3b228418807b1ee27cefb11f69ed3d233b"},
53 | {file = "lxml-4.9.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:487c8e61d7acc50b8be82bda8c8d21d20e133c3cbf41bd8ad7eb1aaeb3f07c97"},
54 | {file = "lxml-4.9.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:8d1a92d8e90b286d491e5626af53afef2ba04da33e82e30744795c71880eaa21"},
55 | {file = "lxml-4.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:b570da8cd0012f4af9fa76a5635cd31f707473e65a5a335b186069d5c7121ff2"},
56 | {file = "lxml-4.9.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5ef87fca280fb15342726bd5f980f6faf8b84a5287fcc2d4962ea8af88b35130"},
57 | {file = "lxml-4.9.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:93e414e3206779ef41e5ff2448067213febf260ba747fc65389a3ddaa3fb8715"},
58 | {file = "lxml-4.9.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6653071f4f9bac46fbc30f3c7838b0e9063ee335908c5d61fb7a4a86c8fd2036"},
59 | {file = "lxml-4.9.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:32a73c53783becdb7eaf75a2a1525ea8e49379fb7248c3eeefb9412123536387"},
60 | {file = "lxml-4.9.1-cp38-cp38-win32.whl", hash = "sha256:1a7c59c6ffd6ef5db362b798f350e24ab2cfa5700d53ac6681918f314a4d3b94"},
61 | {file = "lxml-4.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:1436cf0063bba7888e43f1ba8d58824f085410ea2025befe81150aceb123e345"},
62 | {file = "lxml-4.9.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:4beea0f31491bc086991b97517b9683e5cfb369205dac0148ef685ac12a20a67"},
63 | {file = "lxml-4.9.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:41fb58868b816c202e8881fd0f179a4644ce6e7cbbb248ef0283a34b73ec73bb"},
64 | {file = "lxml-4.9.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:bd34f6d1810d9354dc7e35158aa6cc33456be7706df4420819af6ed966e85448"},
65 | {file = "lxml-4.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:edffbe3c510d8f4bf8640e02ca019e48a9b72357318383ca60e3330c23aaffc7"},
66 | {file = "lxml-4.9.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6d949f53ad4fc7cf02c44d6678e7ff05ec5f5552b235b9e136bd52e9bf730b91"},
67 | {file = "lxml-4.9.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:079b68f197c796e42aa80b1f739f058dcee796dc725cc9a1be0cdb08fc45b000"},
68 | {file = "lxml-4.9.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9c3a88d20e4fe4a2a4a84bf439a5ac9c9aba400b85244c63a1ab7088f85d9d25"},
69 | {file = "lxml-4.9.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4e285b5f2bf321fc0857b491b5028c5f276ec0c873b985d58d7748ece1d770dd"},
70 | {file = "lxml-4.9.1-cp39-cp39-win32.whl", hash = "sha256:ef72013e20dd5ba86a8ae1aed7f56f31d3374189aa8b433e7b12ad182c0d2dfb"},
71 | {file = "lxml-4.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:10d2017f9150248563bb579cd0d07c61c58da85c922b780060dcc9a3aa9f432d"},
72 | {file = "lxml-4.9.1-pp37-pypy37_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0538747a9d7827ce3e16a8fdd201a99e661c7dee3c96c885d8ecba3c35d1032c"},
73 | {file = "lxml-4.9.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:0645e934e940107e2fdbe7c5b6fb8ec6232444260752598bc4d09511bd056c0b"},
74 | {file = "lxml-4.9.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:6daa662aba22ef3258934105be2dd9afa5bb45748f4f702a3b39a5bf53a1f4dc"},
75 | {file = "lxml-4.9.1-pp38-pypy38_pp73-macosx_10_15_x86_64.whl", hash = "sha256:603a464c2e67d8a546ddaa206d98e3246e5db05594b97db844c2f0a1af37cf5b"},
76 | {file = "lxml-4.9.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:c4b2e0559b68455c085fb0f6178e9752c4be3bba104d6e881eb5573b399d1eb2"},
77 | {file = "lxml-4.9.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:0f3f0059891d3254c7b5fb935330d6db38d6519ecd238ca4fce93c234b4a0f73"},
78 | {file = "lxml-4.9.1-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:c852b1530083a620cb0de5f3cd6826f19862bafeaf77586f1aef326e49d95f0c"},
79 | {file = "lxml-4.9.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:287605bede6bd36e930577c5925fcea17cb30453d96a7b4c63c14a257118dbb9"},
80 | {file = "lxml-4.9.1.tar.gz", hash = "sha256:fe749b052bb7233fe5d072fcb549221a8cb1a16725c47c37e42b0b9cb3ff2c3f"},
81 | ]
82 |
83 | [package.extras]
84 | cssselect = ["cssselect (>=0.7)"]
85 | html5 = ["html5lib"]
86 | htmlsoup = ["BeautifulSoup4"]
87 | source = ["Cython (>=0.29.7)"]
88 |
89 | [[package]]
90 | name = "numpy"
91 | version = "1.19.1"
92 | description = "NumPy is the fundamental package for array computing with Python."
93 | category = "main"
94 | optional = false
95 | python-versions = ">=3.6"
96 | files = [
97 | {file = "numpy-1.19.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b1cca51512299841bf69add3b75361779962f9cee7d9ee3bb446d5982e925b69"},
98 | {file = "numpy-1.19.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:c9591886fc9cbe5532d5df85cb8e0cc3b44ba8ce4367bd4cf1b93dc19713da72"},
99 | {file = "numpy-1.19.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:cf1347450c0b7644ea142712619533553f02ef23f92f781312f6a3553d031fc7"},
100 | {file = "numpy-1.19.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:ed8a311493cf5480a2ebc597d1e177231984c818a86875126cfd004241a73c3e"},
101 | {file = "numpy-1.19.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:3673c8b2b29077f1b7b3a848794f8e11f401ba0b71c49fbd26fb40b71788b132"},
102 | {file = "numpy-1.19.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:56ef7f56470c24bb67fb43dae442e946a6ce172f97c69f8d067ff8550cf782ff"},
103 | {file = "numpy-1.19.1-cp36-cp36m-win32.whl", hash = "sha256:aaf42a04b472d12515debc621c31cf16c215e332242e7a9f56403d814c744624"},
104 | {file = "numpy-1.19.1-cp36-cp36m-win_amd64.whl", hash = "sha256:082f8d4dd69b6b688f64f509b91d482362124986d98dc7dc5f5e9f9b9c3bb983"},
105 | {file = "numpy-1.19.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e4f6d3c53911a9d103d8ec9518190e52a8b945bab021745af4939cfc7c0d4a9e"},
106 | {file = "numpy-1.19.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:5b6885c12784a27e957294b60f97e8b5b4174c7504665333c5e94fbf41ae5d6a"},
107 | {file = "numpy-1.19.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:1bc0145999e8cb8aed9d4e65dd8b139adf1919e521177f198529687dbf613065"},
108 | {file = "numpy-1.19.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:5a936fd51049541d86ccdeef2833cc89a18e4d3808fe58a8abeb802665c5af93"},
109 | {file = "numpy-1.19.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:ef71a1d4fd4858596ae80ad1ec76404ad29701f8ca7cdcebc50300178db14dfc"},
110 | {file = "numpy-1.19.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:b9792b0ac0130b277536ab8944e7b754c69560dac0415dd4b2dbd16b902c8954"},
111 | {file = "numpy-1.19.1-cp37-cp37m-win32.whl", hash = "sha256:b12e639378c741add21fbffd16ba5ad25c0a1a17cf2b6fe4288feeb65144f35b"},
112 | {file = "numpy-1.19.1-cp37-cp37m-win_amd64.whl", hash = "sha256:8343bf67c72e09cfabfab55ad4a43ce3f6bf6e6ced7acf70f45ded9ebb425055"},
113 | {file = "numpy-1.19.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e45f8e981a0ab47103181773cc0a54e650b2aef8c7b6cd07405d0fa8d869444a"},
114 | {file = "numpy-1.19.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:667c07063940e934287993366ad5f56766bc009017b4a0fe91dbd07960d0aba7"},
115 | {file = "numpy-1.19.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:480fdd4dbda4dd6b638d3863da3be82873bba6d32d1fc12ea1b8486ac7b8d129"},
116 | {file = "numpy-1.19.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:935c27ae2760c21cd7354402546f6be21d3d0c806fffe967f745d5f2de5005a7"},
117 | {file = "numpy-1.19.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:309cbcfaa103fc9a33ec16d2d62569d541b79f828c382556ff072442226d1968"},
118 | {file = "numpy-1.19.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:7ed448ff4eaffeb01094959b19cbaf998ecdee9ef9932381420d514e446601cd"},
119 | {file = "numpy-1.19.1-cp38-cp38-win32.whl", hash = "sha256:de8b4a9b56255797cbddb93281ed92acbc510fb7b15df3f01bd28f46ebc4edae"},
120 | {file = "numpy-1.19.1-cp38-cp38-win_amd64.whl", hash = "sha256:92feb989b47f83ebef246adabc7ff3b9a59ac30601c3f6819f8913458610bdcc"},
121 | {file = "numpy-1.19.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:e1b1dc0372f530f26a03578ac75d5e51b3868b9b76cd2facba4c9ee0eb252ab1"},
122 | {file = "numpy-1.19.1.zip", hash = "sha256:b8456987b637232602ceb4d663cb34106f7eb780e247d51a260b84760fd8f491"},
123 | ]
124 |
125 | [[package]]
126 | name = "pandas"
127 | version = "1.1.0"
128 | description = "Powerful data structures for data analysis, time series, and statistics"
129 | category = "main"
130 | optional = false
131 | python-versions = ">=3.6.1"
132 | files = [
133 | {file = "pandas-1.1.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:47a03bfef80d6812c91ed6fae43f04f2fa80a4e1b82b35aa4d9002e39529e0b8"},
134 | {file = "pandas-1.1.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:0210f8fe19c2667a3817adb6de2c4fd92b1b78e1975ca60c0efa908e0985cbdb"},
135 | {file = "pandas-1.1.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:35db623487f00d9392d8af44a24516d6cb9f274afaf73cfcfe180b9c54e007d2"},
136 | {file = "pandas-1.1.0-cp36-cp36m-win32.whl", hash = "sha256:4d1a806252001c5db7caecbe1a26e49a6c23421d85a700960f6ba093112f54a1"},
137 | {file = "pandas-1.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:9f61cca5262840ff46ef857d4f5f65679b82188709d0e5e086a9123791f721c8"},
138 | {file = "pandas-1.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:182a5aeae319df391c3df4740bb17d5300dcd78034b17732c12e62e6dd79e4a4"},
139 | {file = "pandas-1.1.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:40ec0a7f611a3d00d3c666c4cceb9aa3f5bf9fbd81392948a93663064f527203"},
140 | {file = "pandas-1.1.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:16504f915f1ae424052f1e9b7cd2d01786f098fbb00fa4e0f69d42b22952d798"},
141 | {file = "pandas-1.1.0-cp37-cp37m-win32.whl", hash = "sha256:fc714895b6de6803ac9f661abb316853d0cd657f5d23985222255ad76ccedc25"},
142 | {file = "pandas-1.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:a15835c8409d5edc50b4af93be3377b5dd3eb53517e7f785060df1f06f6da0e2"},
143 | {file = "pandas-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0bc440493cf9dc5b36d5d46bbd5508f6547ba68b02a28234cd8e81fdce42744d"},
144 | {file = "pandas-1.1.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:4b21d46728f8a6be537716035b445e7ef3a75dbd30bd31aa1b251323219d853e"},
145 | {file = "pandas-1.1.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:0227e3a6e3a22c0e283a5041f1e3064d78fbde811217668bb966ed05386d8a7e"},
146 | {file = "pandas-1.1.0-cp38-cp38-win32.whl", hash = "sha256:ed60848caadeacecefd0b1de81b91beff23960032cded0ac1449242b506a3b3f"},
147 | {file = "pandas-1.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:60e20a4ab4d4fec253557d0fc9a4e4095c37b664f78c72af24860c8adcd07088"},
148 | {file = "pandas-1.1.0.tar.gz", hash = "sha256:b39508562ad0bb3f384b0db24da7d68a2608b9ddc85b1d931ccaaa92d5e45273"},
149 | ]
150 |
151 | [package.dependencies]
152 | numpy = ">=1.15.4"
153 | python-dateutil = ">=2.7.3"
154 | pytz = ">=2017.2"
155 |
156 | [package.extras]
157 | test = ["hypothesis (>=3.58)", "pytest (>=4.0.2)", "pytest-xdist"]
158 |
159 | [[package]]
160 | name = "python-dateutil"
161 | version = "2.8.1"
162 | description = "Extensions to the standard Python datetime module"
163 | category = "main"
164 | optional = false
165 | python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
166 | files = [
167 | {file = "python-dateutil-2.8.1.tar.gz", hash = "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c"},
168 | {file = "python_dateutil-2.8.1-py2.py3-none-any.whl", hash = "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a"},
169 | ]
170 |
171 | [package.dependencies]
172 | six = ">=1.5"
173 |
174 | [[package]]
175 | name = "pytz"
176 | version = "2020.1"
177 | description = "World timezone definitions, modern and historical"
178 | category = "main"
179 | optional = false
180 | python-versions = "*"
181 | files = [
182 | {file = "pytz-2020.1-py2.py3-none-any.whl", hash = "sha256:a494d53b6d39c3c6e44c3bec237336e14305e4f29bbf800b599253057fbb79ed"},
183 | {file = "pytz-2020.1.tar.gz", hash = "sha256:c35965d010ce31b23eeb663ed3cc8c906275d6be1a34393a1d73a41febf4a048"},
184 | ]
185 |
186 | [[package]]
187 | name = "six"
188 | version = "1.15.0"
189 | description = "Python 2 and 3 compatibility utilities"
190 | category = "main"
191 | optional = false
192 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
193 | files = [
194 | {file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"},
195 | {file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"},
196 | ]
197 |
198 | [metadata]
199 | lock-version = "2.0"
200 | python-versions = "^3.8"
201 | content-hash = "8bcf01085ab23901036a757e780204dbe83c0ab679d4bdb61b1c4e437e9b865e"
202 |
--------------------------------------------------------------------------------
/iso3166-alpha-converter/pyproject.toml:
--------------------------------------------------------------------------------
1 | [tool.poetry]
2 | name = "iso3166-alpha-converter"
3 | version = "0.1.0"
4 | description = "Converts between alpha2 ('us') and alpha3 ('USA') ISO 3166 country codes"
5 | authors = ["Albert "]
6 | license = "MIT"
7 |
8 | [tool.poetry.dependencies]
9 | python = "^3.8"
10 | pandas = "^1.1.0"
11 | lxml = "^4.9.1"
12 |
13 | [tool.poetry.dev-dependencies]
14 |
15 | [build-system]
16 | requires = ["poetry>=0.12"]
17 | build-backend = "poetry.masonry.api"
18 |
--------------------------------------------------------------------------------
/iso3166-alpha-converter/test.js:
--------------------------------------------------------------------------------
1 | const alpha2to3 = require('./build/index.js').alpha2to3
2 | const alpha3to2 = require('./build/index.js').alpha3to2
3 | const assert = require('assert')
4 |
5 | assert.strictEqual(alpha2to3["us"], "USA")
6 | assert.strictEqual(alpha3to2["USA"], "us")
7 | Object.keys(alpha2to3).forEach(function(alpha2){
8 | assert.ok(/^[a-z]{2}$/.test(alpha2))
9 | assert.ok(/[A-Z]{3}/.test(alpha2to3[alpha2]))
10 | })
11 | Object.keys(alpha3to2).forEach(function(alpha3){
12 | assert.ok(/^[A-Z]{3}$/.test(alpha3))
13 | assert.ok(/[a-z]{2}/.test(alpha3to2[alpha3]))
14 | })
15 |
--------------------------------------------------------------------------------
/iso3166-alpha-converter/tsconfig.json:
--------------------------------------------------------------------------------
1 | ../currency-icons/tsconfig.json
--------------------------------------------------------------------------------
/iso3166-alpha-converter/wikipediaTables.py:
--------------------------------------------------------------------------------
1 | ../wikipedia-tables/wikipediaTables.py
--------------------------------------------------------------------------------
/rendered-country-flags/.gitignore:
--------------------------------------------------------------------------------
1 | index.js
2 |
--------------------------------------------------------------------------------
/rendered-country-flags/Makefile.patch:
--------------------------------------------------------------------------------
1 | diff --git a/Makefile b/Makefile
2 | index ff684625..48e0c524 100644
3 | --- a/Makefile
4 | +++ b/Makefile
5 | @@ -110,13 +110,13 @@ FLAG_GLYPH_NAMES = $(shell $(PYTHON) flag_glyph_name.py $(FLAGS))
6 | else
7 | FLAG_GLYPH_NAMES =
8 | endif
9 | -RENAMED_FLAG_NAMES = $(FLAG_GLYPH_NAMES:%=emoji_%.png)
10 | +RENAMED_FLAG_NAMES = $(FLAG_NAMES)
11 | RENAMED_FLAG_FILES = $(addprefix $(RENAMED_FLAGS_DIR)/, $(RENAMED_FLAG_NAMES))
12 |
13 | EMOJI_NAMES = $(notdir $(wildcard $(EMOJI_SRC_DIR)/emoji_u*.png))
14 | EMOJI_FILES= $(addprefix $(EMOJI_DIR)/,$(EMOJI_NAMES)))
15 |
16 | -ALL_NAMES = $(EMOJI_NAMES) $(RENAMED_FLAG_NAMES)
17 | +ALL_NAMES = $(RENAMED_FLAG_NAMES)
18 |
19 | ALL_QUANTIZED_FILES = $(addprefix $(QUANTIZED_DIR)/, $(ALL_NAMES))
20 | ALL_COMPRESSED_FILES = $(addprefix $(COMPRESSED_DIR)/, $(ALL_NAMES))
21 | @@ -184,9 +184,6 @@ $(RENAMED_FLAG_FILES): | flag-symlinks
22 | $(QUANTIZED_DIR)/%.png: $(RENAMED_FLAGS_DIR)/%.png | $(QUANTIZED_DIR)
23 | @($(PNGQUANT) $(PNGQUANTFLAGS) -o "$@" "$<"; case "$$?" in "98"|"99") echo "reuse $<"; cp $< $@;; *) exit "$$?";; esac)
24 |
25 | -$(QUANTIZED_DIR)/%.png: $(EMOJI_DIR)/%.png | $(QUANTIZED_DIR)
26 | - @($(PNGQUANT) $(PNGQUANTFLAGS) -o "$@" "$<"; case "$$?" in "98"|"99") echo "reuse $<";cp $< $@;; *) exit "$$?";; esac)
27 | -
28 | $(COMPRESSED_DIR)/%.png: $(QUANTIZED_DIR)/%.png | check_tools $(COMPRESSED_DIR)
29 | @$(ZOPFLIPNG) -y "$<" "$@" 1> /dev/null 2>&1
30 |
31 | @@ -206,14 +203,7 @@ $(COMPRESSED_DIR)/%.png: $(QUANTIZED_DIR)/%.png | check_tools $(COMPRESSED_DIR)
32 | @rm -f "$@"
33 | ttx "$<"
34 |
35 | -$(EMOJI).ttf: check_sequence $(EMOJI).tmpl.ttf $(EMOJI_BUILDER) $(PUA_ADDER) \
36 | - $(ALL_COMPRESSED_FILES) | check_tools
37 | -
38 | - @$(PYTHON) $(EMOJI_BUILDER) $(SMALL_METRICS) -V $(word 2,$^) "$@" "$(COMPRESSED_DIR)/emoji_u"
39 | - @$(PYTHON) $(PUA_ADDER) "$@" "$@-with-pua"
40 | - @$(VS_ADDER) -vs 2640 2642 2695 --dstdir '.' -o "$@-with-pua-varsel" "$@-with-pua"
41 | - @mv "$@-with-pua-varsel" "$@"
42 | - @rm "$@-with-pua"
43 | +$(EMOJI).ttf: check_sequence $(ALL_COMPRESSED_FILES) | check_tools
44 |
45 | check_sequence:
46 | ifdef BYPASS_SEQUENCE_CHECK
47 |
--------------------------------------------------------------------------------
/rendered-country-flags/README.md:
--------------------------------------------------------------------------------
1 | # rendered-country-flags
2 | > Rendered flag emojis for all countries
3 |
4 | ## Introduction
5 | This module provides a rendered and base64-encoded version of all the emoji flags present in google's Noto Color Emoji font.
6 |
7 | ## Usage
8 | ```js
9 | const icons = require('rendered-country-flags');
10 |
11 | console.log(icons["US"]);
12 | // -> "data:image/png;base64,iVBORw0KGgoAAAANSUhE..."
13 | ```
14 |
15 | ## Development
16 | ```
17 | # Generate files
18 | bash generate.sh
19 | ```
20 |
21 | If you'd like to generate the flags from source, clone [googlefonts/noto-emoji](https://github.com/googlefonts/noto-emoji), patch the `Makefile` in there using `Makefile.patch` and just build the project using the instructions provided in the README.
22 |
23 | ## License
24 | All the icons used in this package come from the noto emoji font, which is licensed under [SIL Open Font License, version 1.1](https://github.com/googlefonts/noto-emoji/blob/master/fonts/LICENSE). More concretely, the flag emojis are generated by applying a transform to a set of flag images obtained from either wikipedia (CC BY-SA license) or created by google and exempt of copyright.
25 |
--------------------------------------------------------------------------------
/rendered-country-flags/flags/AC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/AC.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/AD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/AD.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/AE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/AE.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/AF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/AF.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/AG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/AG.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/AI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/AI.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/AL.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/AL.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/AM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/AM.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/AO.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/AO.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/AQ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/AQ.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/AR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/AR.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/AS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/AS.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/AT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/AT.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/AU.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/AU.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/AW.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/AW.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/AX.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/AX.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/AZ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/AZ.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/BA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/BA.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/BB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/BB.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/BD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/BD.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/BE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/BE.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/BF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/BF.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/BG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/BG.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/BH.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/BH.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/BI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/BI.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/BJ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/BJ.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/BL.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/BL.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/BM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/BM.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/BN.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/BN.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/BO.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/BO.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/BQ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/BQ.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/BR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/BR.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/BS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/BS.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/BT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/BT.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/BW.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/BW.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/BY.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/BY.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/BZ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/BZ.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/CA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/CA.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/CC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/CC.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/CD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/CD.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/CF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/CF.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/CG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/CG.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/CH.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/CH.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/CI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/CI.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/CK.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/CK.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/CL.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/CL.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/CM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/CM.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/CN.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/CN.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/CO.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/CO.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/CR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/CR.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/CU.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/CU.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/CV.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/CV.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/CW.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/CW.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/CX.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/CX.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/CY.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/CY.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/CZ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/CZ.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/DE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/DE.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/DJ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/DJ.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/DK.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/DK.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/DM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/DM.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/DO.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/DO.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/DZ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/DZ.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/EC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/EC.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/EE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/EE.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/EG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/EG.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/EH.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/EH.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/ER.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/ER.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/ES.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/ES.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/ET.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/ET.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/EU.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/EU.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/FI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/FI.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/FJ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/FJ.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/FK.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/FK.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/FM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/FM.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/FO.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/FO.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/FR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/FR.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/GA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/GA.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/GB-ENG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/GB-ENG.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/GB-SCT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/GB-SCT.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/GB-WLS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/GB-WLS.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/GB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/GB.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/GD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/GD.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/GE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/GE.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/GF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/GF.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/GG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/GG.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/GH.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/GH.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/GI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/GI.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/GL.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/GL.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/GM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/GM.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/GN.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/GN.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/GP.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/GP.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/GQ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/GQ.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/GR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/GR.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/GS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/GS.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/GT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/GT.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/GU.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/GU.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/GW.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/GW.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/GY.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/GY.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/HK.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/HK.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/HN.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/HN.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/HR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/HR.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/HT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/HT.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/HU.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/HU.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/IC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/IC.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/ID.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/ID.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/IE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/IE.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/IL.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/IL.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/IM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/IM.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/IN.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/IN.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/IO.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/IO.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/IQ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/IQ.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/IR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/IR.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/IS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/IS.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/IT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/IT.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/JE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/JE.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/JM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/JM.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/JO.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/JO.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/JP.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/JP.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/KE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/KE.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/KG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/KG.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/KH.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/KH.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/KI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/KI.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/KM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/KM.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/KN.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/KN.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/KP.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/KP.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/KR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/KR.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/KW.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/KW.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/KY.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/KY.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/KZ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/KZ.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/LA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/LA.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/LB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/LB.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/LC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/LC.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/LI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/LI.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/LK.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/LK.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/LR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/LR.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/LS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/LS.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/LT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/LT.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/LU.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/LU.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/LV.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/LV.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/LY.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/LY.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/MA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/MA.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/MC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/MC.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/MD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/MD.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/ME.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/ME.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/MG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/MG.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/MH.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/MH.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/MK.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/MK.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/ML.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/ML.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/MM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/MM.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/MN.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/MN.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/MO.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/MO.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/MP.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/MP.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/MQ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/MQ.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/MR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/MR.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/MS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/MS.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/MT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/MT.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/MU.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/MU.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/MV.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/MV.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/MW.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/MW.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/MX.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/MX.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/MY.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/MY.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/MZ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/MZ.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/NA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/NA.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/NC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/NC.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/NE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/NE.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/NF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/NF.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/NG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/NG.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/NI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/NI.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/NL.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/NL.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/NO.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/NO.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/NP.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/NP.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/NR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/NR.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/NU.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/NU.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/NZ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/NZ.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/OM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/OM.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/OT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/OT.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/PA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/PA.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/PE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/PE.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/PF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/PF.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/PG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/PG.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/PH.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/PH.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/PK.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/PK.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/PL.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/PL.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/PM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/PM.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/PN.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/PN.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/PR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/PR.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/PS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/PS.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/PT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/PT.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/PW.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/PW.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/PY.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/PY.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/QA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/QA.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/RE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/RE.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/RO.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/RO.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/RS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/RS.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/RU.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/RU.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/RW.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/RW.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/SA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/SA.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/SB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/SB.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/SC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/SC.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/SD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/SD.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/SE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/SE.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/SG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/SG.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/SH.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/SH.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/SI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/SI.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/SK.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/SK.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/SL.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/SL.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/SM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/SM.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/SN.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/SN.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/SO.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/SO.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/SR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/SR.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/SS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/SS.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/ST.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/ST.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/SV.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/SV.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/SX.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/SX.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/SY.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/SY.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/SZ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/SZ.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/TA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/TA.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/TC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/TC.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/TD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/TD.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/TF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/TF.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/TG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/TG.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/TH.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/TH.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/TJ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/TJ.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/TK.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/TK.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/TL.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/TL.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/TM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/TM.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/TN.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/TN.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/TO.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/TO.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/TR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/TR.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/TT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/TT.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/TV.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/TV.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/TW.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/TW.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/TZ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/TZ.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/UA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/UA.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/UG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/UG.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/UN.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/UN.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/US.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/US.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/UY.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/UY.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/UZ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/UZ.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/VA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/VA.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/VC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/VC.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/VE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/VE.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/VG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/VG.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/VI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/VI.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/VN.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/VN.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/VU.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/VU.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/WF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/WF.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/WS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/WS.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/XK.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/XK.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/YE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/YE.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/YT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/YT.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/ZA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/ZA.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/ZM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/ZM.png
--------------------------------------------------------------------------------
/rendered-country-flags/flags/ZW.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onramper/small-open-datasets/2cd7688201025711b77222229a56bd354369a057/rendered-country-flags/flags/ZW.png
--------------------------------------------------------------------------------
/rendered-country-flags/generate.sh:
--------------------------------------------------------------------------------
1 | echo "module.exports={" > index.js
2 | for f in flags/*
3 | do
4 | echo "Processing $f"
5 | filename=$(basename $f)
6 | encoded=$(base64 $f -w 0)
7 | echo "\"${filename%.*}\":\"data:image/png;base64,${encoded}\"," >> index.js
8 | done
9 | sed -i '$ s/,$/}/' index.js
10 |
--------------------------------------------------------------------------------
/rendered-country-flags/index.d.ts:
--------------------------------------------------------------------------------
1 | declare const _default: {
2 | [symbol: string]: string | undefined;
3 | };
4 | export = _default;
5 |
--------------------------------------------------------------------------------
/rendered-country-flags/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "rendered-country-flags",
3 | "version": "1.2.1",
4 | "description": "Rendered flag emojis for all countries",
5 | "main": "index.js",
6 | "scripts": {
7 | "generate": "bash generate.sh"
8 | },
9 | "keywords": [
10 | "icons",
11 | "emoji",
12 | "country",
13 | "flag",
14 | "base64"
15 | ],
16 | "repository": {
17 | "type": "git",
18 | "url": "git+https://github.com/onramper/small-open-datasets.git"
19 | },
20 | "files": [
21 | "index.js",
22 | "index.d.ts"
23 | ],
24 | "types": "index.d.ts",
25 | "license": "MIT"
26 | }
27 |
--------------------------------------------------------------------------------
/wikipedia-tables/README.md:
--------------------------------------------------------------------------------
1 | Some code used to retrieve and manipulate data from wikipedia pages that contain lists. This is not a package in itself, it just contains some common code used internally by several of the other packages.
2 |
--------------------------------------------------------------------------------
/wikipedia-tables/wikipediaTables.py:
--------------------------------------------------------------------------------
1 | import pandas as pd
2 | import re
3 |
4 | def remove_citations(x):
5 | return re.sub(r'\[.{1,2}\]', '', str(x)).replace('\u200a', '')
6 |
7 | def generate_table(url):
8 | table = pd.read_html(url)[0]
9 | table = table.applymap(remove_citations)
10 | table.rename(columns=remove_citations, inplace=True)
11 | return table
12 |
13 | def clean_country_table(table):
14 | return table.applymap(lambda x: re.sub(r' – See .*', '', x))
15 |
16 |
--------------------------------------------------------------------------------