├── .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 | £ | ![pound](./samples/GBP.png) | 8 | | EUR | Euro | € | ![](./samples/EUR.png) | 9 | | CZK | Czech koruna | Kč | ![](./samples/CZK.png) | 10 | | ANG | Netherlands Antillean guilder | ƒ | ![](./samples/ANG.png) | 11 | | NPR | Nepalese rupee | रू | ![](./samples/NPR.png) | 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 | --------------------------------------------------------------------------------