Compare commits

..

38 Commits

Author SHA1 Message Date
c0d0ec3502 pyproject.toml: bump version to v0.0.4 2023-02-23 14:48:54 +03:00
338b30396e Update requirements
Generated with poetry export:

    $ poetry export --without-hashes -f requirements.txt > requirements.txt
    $ poetry export --without-hashes --with dev -f requirements.txt > requirements-dev.txt
2023-02-23 14:43:25 +03:00
e0667821ea poetry.lock: run poetry update 2023-02-23 14:42:40 +03:00
541ad7ed6b README.md: Python 3.9 2023-02-23 14:41:57 +03:00
5ed93e9f30 pyproject.toml: update dependencies
Bump to latest csv-metadata-quality version and other dev deps to
keep them in line.
2023-02-23 14:40:09 +03:00
7a183010f1 pyproject.toml: bump python to 3.9
Same as the main project csv-metadata-quality.
2023-02-23 14:28:09 +03:00
1dbc58eaa6 runtime.txt: use Python 3.10.5
All checks were successful
continuous-integration/drone/push Build is passing
See: https://devcenter.heroku.com/articles/python-support
2022-07-02 15:46:21 +03:00
392b10fc9f .drone.yml: build on Python 3.10 too
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-02 11:44:48 +03:00
27a3917c8b Regenerate requirements
Generated using poetry:

  $ poetry export --without-hashes -f requirements.txt > requirements.txt
  $ poetry export --without-hashes --dev -f requirements.txt > requirements-dev.txt
2022-07-02 11:43:39 +03:00
c459526042 poetry.lock: run poetry update 2022-07-02 11:43:05 +03:00
974ae6c847 .github/workflows/python-app.yml: use Python 3.10
All checks were successful
continuous-integration/drone/push Build is passing
That's what I use for testing locally. Note that we need to quote
the version here because otherwise GitHub Actions will interpret it
as 3.1 due to how YAML works.
2022-01-30 13:46:17 +03:00
50f2832dfb .drone.yml: don't test on Python 3.7
Pandas 1.4.0 now requires Python 3.8 minimum.
2022-01-30 13:45:27 +03:00
6296fbc1af runtime.txt: use Python 3.10.2 on Heroku 2022-01-30 13:44:32 +03:00
1beaf436b6 poetry.lock: run poetry update 2022-01-30 13:44:09 +03:00
38a0afa048 README.md: update Python version requirement
Pandas 1.4.0 requires Python 3.8+.
2022-01-30 13:43:41 +03:00
f826d25ea1 Regenerate requirements
Generated using poetry:

  $ poetry export --without-hashes -f requirements.txt > requirements.txt
  $ poetry export --without-hashes --dev -f requirements.txt > requirements-dev.txt
2022-01-30 13:43:18 +03:00
19d78eb55d pyproject.toml: update dependencies
black is no longer beta, remove ipython because I can use the one
installed system wide and it doesn't like being in a virtual env
anyways. flake8 is a new major version.
2022-01-30 13:42:05 +03:00
070d19af82 pyproject.toml: update minimum Python version
The csv-metadata-quality project will currently pull in Pandas 1.4.0,
which has a minimum Python requirement of 3.8.
2022-01-30 13:36:55 +03:00
7e83c3b0a2 Update screenshot.png
New version taken in Epiphany with shadow added.
2022-01-30 13:35:51 +03:00
d2cf6ca7df Update requirements for deploy
All checks were successful
continuous-integration/drone/push Build is passing
2021-12-08 20:53:05 +02:00
3ddbc1bb53 runtime.txt: use Python 3.9.9 2021-12-08 20:47:15 +02:00
491198b15c poetry.lock: run poetry update 2021-12-08 20:39:54 +02:00
92e95550a3 Regenerate requirements
Generated using poetry:

  $ poetry export --without-hashes -f requirements.txt > requirements.txt
  $ poetry export --without-hashes --dev -f requirements.txt > requirements-dev.txt
2021-12-08 20:39:31 +02:00
2c517717ed pyproject.toml: use Flask 2.0 2021-12-08 20:38:14 +02:00
b07cd71caf README.md: move screenshot lower 2021-12-08 20:35:27 +02:00
95d4d7aace README.md: add Heroku deploy instructions
This is for me!
2021-12-08 20:28:36 +02:00
a8446ae95b pyproject: minor version bump 2021-12-08 20:23:10 +02:00
117ee6b698 README.md: add usage instructions 2021-12-08 20:19:33 +02:00
ac2929e3e8 README.md: update intro
Make the layout of badges nicer and highlight the screenshot first.
2021-12-08 20:09:58 +02:00
1aa8285d56 Update screenshot.png 2021-12-08 20:09:34 +02:00
3a058fb50f Regenerate requirements
Generated using poetry:

  $ poetry export --without-hashes -f requirements.txt > requirements.txt
  $ poetry export --without-hashes --dev -f requirements.txt > requirements-dev.txt
2021-12-08 20:01:08 +02:00
5ce544125f poetry.lock: run poetry update 2021-12-08 19:57:47 +02:00
883ac1166a pyproject.toml: update csv-metadata-quality
Use the recently release v0.5.0.

See: https://github.com/ilri/csv-metadata-quality/releases/tag/v0.5.0
2021-12-08 19:56:52 +02:00
2235191c7b Regenerate static assets 2021-12-08 19:44:52 +02:00
de86295b81 package.json: fix typo 2021-12-08 19:44:30 +02:00
fea25f0c25 source/scss: update comment in bootstrap.scss 2021-12-08 19:43:58 +02:00
3d6cfa400a package-lock.json: run npm update 2021-12-08 19:43:43 +02:00
7602e2954c package.json: update dependencies 2021-12-08 19:43:27 +02:00
13 changed files with 889 additions and 884 deletions

View File

@ -1,3 +1,17 @@
---
kind: pipeline
type: docker
name: python310
steps:
- name: build
image: python:3.10-slim
commands:
- id
- python -V
- apt update && apt install -y gcc g++ libicu-dev pkg-config git
- pip install -r requirements-dev.txt
---
kind: pipeline
type: docker
@ -26,18 +40,4 @@ steps:
- apt update && apt install -y gcc g++ libicu-dev pkg-config git
- pip install -r requirements-dev.txt
---
kind: pipeline
type: docker
name: python37
steps:
- name: build
image: python:3.7-slim
commands:
- id
- python -V
- apt update && apt install -y gcc g++ libicu-dev pkg-config git
- pip install -r requirements-dev.txt
# vim: ts=2 sw=2 et

View File

@ -16,10 +16,10 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.9
- name: Set up Python 3.10
uses: actions/setup-python@v2
with:
python-version: 3.9
python-version: '3.10'
- name: Install dependencies
run: |
python -m pip install --upgrade pip

View File

@ -1,5 +1,9 @@
# Online DSpace CSV Metadata Quality Checker ![GitHub Actions](https://github.com/ilri/csv-metadata-quality-web/workflows/Build/badge.svg)
Easy to use, web-based version of the [DSpace CSV Metadata Quality checker](https://github.com/ilri/csv-metadata-quality) application.
<h1 align="center">Online DSpace CSV Metadata Quality Checker</h1>
<p align="center">
<a href="https://github.com/ilri/csv-metadata-quality-web/actions"><img alt="Build Status" src="https://github.com/ilri/csv-metadata-quality-web/workflows/Build/badge.svg"></a>
<a href="https://github.com/psf/black"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
</p>
<p align="center">
<img width="600" alt="Screenshot of csv-metadata-quality-web on Heroku" src="screenshot.png">
@ -7,6 +11,24 @@ Easy to use, web-based version of the [DSpace CSV Metadata Quality checker](http
You can try [the hosted version](https://fierce-ocean-30836.herokuapp.com) or host it yourself (see below).
## Usage
Create a Python 3.9+ virtual environment and install the dependencies:
$ python3 -m venv venv
$ source venv/bin/activate
$ pip install -r requirements.txt
## Running Locally
$ gunicorn csv_metadata_quality_web.main
And then visit http://localhost:8000/ in your browser.
## Deploying to Heroku
Install the heroku command line tools, add a heroku git remote, and push:
$ git push heroku
## License
This work is licensed under the [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html).

File diff suppressed because one or more lines are too long

110
package-lock.json generated
View File

@ -15,9 +15,9 @@
}
},
"node_modules/@popperjs/core": {
"version": "2.9.3",
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.9.3.tgz",
"integrity": "sha512-xDu17cEfh7Kid/d95kB6tZsLOmSWKCZKtprnhVepjsSaCij+lM3mItSJDuuHDMbCWTh8Ejmebwb+KONcCJ0eXQ==",
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.0.tgz",
"integrity": "sha512-zrsUxjLOKAzdewIDRWy9nsV1GQsKBCWaGwsZQlCgr6/q+vjyZhFgqedLfFBuI9anTPEUT4APq9Mu0SZBTzIcGQ==",
"dev": true,
"peer": true,
"funding": {
@ -54,16 +54,16 @@
}
},
"node_modules/bootstrap": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.1.0.tgz",
"integrity": "sha512-bs74WNI9BgBo3cEovmdMHikSKoXnDgA6VQjJ7TyTotU6L7d41ZyCEEelPwkYEzsG/Zjv3ie9IE3EMAje0W9Xew==",
"version": "5.1.3",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.1.3.tgz",
"integrity": "sha512-fcQztozJ8jToQWXxVuEyXWW+dSo8AiXWKwiSSrKWsRB/Qt+Ewwza+JWoLKiTuQLaEPhdNAJ7+Dosc9DOIqNy7Q==",
"dev": true,
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/bootstrap"
},
"peerDependencies": {
"@popperjs/core": "^2.9.3"
"@popperjs/core": "^2.10.2"
}
},
"node_modules/brace-expansion": {
@ -110,9 +110,9 @@
}
},
"node_modules/clean-css": {
"version": "5.1.5",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.1.5.tgz",
"integrity": "sha512-9dr/cU/LjMpU57PXlSvDkVRh0rPxJBXiBtD0+SgYt8ahTCsXtfKjCkNYgIoTC6mBg8CFr5EKhW3DKCaGMUbUfQ==",
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.2.tgz",
"integrity": "sha512-/eR8ru5zyxKzpBLv9YZvMXgTSSQn7AdkMItMYynsFgGwTveCRVam9IUPFloE85B4vAIj05IuKmmEoV7/AQjT0w==",
"dev": true,
"dependencies": {
"source-map": "~0.6.0"
@ -122,12 +122,13 @@
}
},
"node_modules/clean-css-cli": {
"version": "5.3.3",
"resolved": "https://registry.npmjs.org/clean-css-cli/-/clean-css-cli-5.3.3.tgz",
"integrity": "sha512-Reo/w25/3J2uRL4EFHvo92Tv97uhefyHranTpxXNqQ7iIRB8oxRNVlXC+Xcq8RWO2LjSyOofrb7AU6I6oXpPpA==",
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/clean-css-cli/-/clean-css-cli-5.5.0.tgz",
"integrity": "sha512-Vr9t8o59YaPcRw/4hyJjEh4zU/BlOtlJJ8465El6QMYWbkf5nN1mhAljX6FIb0bfpkGlYNFKPCyTz7oFCHOblQ==",
"dev": true,
"dependencies": {
"clean-css": "^5.1.5",
"chokidar": "^3.5.2",
"clean-css": "^5.2.2",
"commander": "7.x",
"glob": "^7.1.6"
},
@ -186,9 +187,9 @@
}
},
"node_modules/glob": {
"version": "7.1.7",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
"integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
"integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
"dev": true,
"dependencies": {
"fs.realpath": "^1.0.0",
@ -217,6 +218,12 @@
"node": ">= 6"
}
},
"node_modules/immutable": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz",
"integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==",
"dev": true
},
"node_modules/inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
@ -255,9 +262,9 @@
}
},
"node_modules/is-glob": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
"integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
"dependencies": {
"is-extglob": "^2.1.1"
@ -339,12 +346,13 @@
}
},
"node_modules/sass": {
"version": "1.38.0",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.38.0.tgz",
"integrity": "sha512-WBccZeMigAGKoI+NgD7Adh0ab1HUq+6BmyBUEaGxtErbUtWUevEbdgo5EZiJQofLUGcKtlNaO2IdN73AHEua5g==",
"version": "1.44.0",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.44.0.tgz",
"integrity": "sha512-0hLREbHFXGQqls/K8X+koeP+ogFRPF4ZqetVB19b7Cst9Er8cOR0rc6RU7MaI4W1JmUShd1BPgPoeqmmgMMYFw==",
"dev": true,
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0"
"chokidar": ">=3.0.0 <4.0.0",
"immutable": "^4.0.0"
},
"bin": {
"sass": "sass.js"
@ -383,9 +391,9 @@
},
"dependencies": {
"@popperjs/core": {
"version": "2.9.3",
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.9.3.tgz",
"integrity": "sha512-xDu17cEfh7Kid/d95kB6tZsLOmSWKCZKtprnhVepjsSaCij+lM3mItSJDuuHDMbCWTh8Ejmebwb+KONcCJ0eXQ==",
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.0.tgz",
"integrity": "sha512-zrsUxjLOKAzdewIDRWy9nsV1GQsKBCWaGwsZQlCgr6/q+vjyZhFgqedLfFBuI9anTPEUT4APq9Mu0SZBTzIcGQ==",
"dev": true,
"peer": true
},
@ -412,9 +420,9 @@
"dev": true
},
"bootstrap": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.1.0.tgz",
"integrity": "sha512-bs74WNI9BgBo3cEovmdMHikSKoXnDgA6VQjJ7TyTotU6L7d41ZyCEEelPwkYEzsG/Zjv3ie9IE3EMAje0W9Xew==",
"version": "5.1.3",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.1.3.tgz",
"integrity": "sha512-fcQztozJ8jToQWXxVuEyXWW+dSo8AiXWKwiSSrKWsRB/Qt+Ewwza+JWoLKiTuQLaEPhdNAJ7+Dosc9DOIqNy7Q==",
"dev": true,
"requires": {}
},
@ -454,21 +462,22 @@
}
},
"clean-css": {
"version": "5.1.5",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.1.5.tgz",
"integrity": "sha512-9dr/cU/LjMpU57PXlSvDkVRh0rPxJBXiBtD0+SgYt8ahTCsXtfKjCkNYgIoTC6mBg8CFr5EKhW3DKCaGMUbUfQ==",
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.2.tgz",
"integrity": "sha512-/eR8ru5zyxKzpBLv9YZvMXgTSSQn7AdkMItMYynsFgGwTveCRVam9IUPFloE85B4vAIj05IuKmmEoV7/AQjT0w==",
"dev": true,
"requires": {
"source-map": "~0.6.0"
}
},
"clean-css-cli": {
"version": "5.3.3",
"resolved": "https://registry.npmjs.org/clean-css-cli/-/clean-css-cli-5.3.3.tgz",
"integrity": "sha512-Reo/w25/3J2uRL4EFHvo92Tv97uhefyHranTpxXNqQ7iIRB8oxRNVlXC+Xcq8RWO2LjSyOofrb7AU6I6oXpPpA==",
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/clean-css-cli/-/clean-css-cli-5.5.0.tgz",
"integrity": "sha512-Vr9t8o59YaPcRw/4hyJjEh4zU/BlOtlJJ8465El6QMYWbkf5nN1mhAljX6FIb0bfpkGlYNFKPCyTz7oFCHOblQ==",
"dev": true,
"requires": {
"clean-css": "^5.1.5",
"chokidar": "^3.5.2",
"clean-css": "^5.2.2",
"commander": "7.x",
"glob": "^7.1.6"
}
@ -508,9 +517,9 @@
"optional": true
},
"glob": {
"version": "7.1.7",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
"integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
"integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
@ -530,6 +539,12 @@
"is-glob": "^4.0.1"
}
},
"immutable": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz",
"integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==",
"dev": true
},
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
@ -562,9 +577,9 @@
"dev": true
},
"is-glob": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
"integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
"requires": {
"is-extglob": "^2.1.1"
@ -622,12 +637,13 @@
}
},
"sass": {
"version": "1.38.0",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.38.0.tgz",
"integrity": "sha512-WBccZeMigAGKoI+NgD7Adh0ab1HUq+6BmyBUEaGxtErbUtWUevEbdgo5EZiJQofLUGcKtlNaO2IdN73AHEua5g==",
"version": "1.44.0",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.44.0.tgz",
"integrity": "sha512-0hLREbHFXGQqls/K8X+koeP+ogFRPF4ZqetVB19b7Cst9Er8cOR0rc6RU7MaI4W1JmUShd1BPgPoeqmmgMMYFw==",
"dev": true,
"requires": {
"chokidar": ">=3.0.0 <4.0.0"
"chokidar": ">=3.0.0 <4.0.0",
"immutable": "^4.0.0"
}
},
"source-map": {

View File

@ -5,9 +5,9 @@
"author": "Alan Orth",
"license": "AGPL-3.0-only",
"devDependencies": {
"bootstrap": "^5.0.1",
"clean-css-cli": "^5.3.0",
"sass": "^1.32.13"
"bootstrap": "^5.1.1",
"clean-css-cli": "^5.4.2",
"sass": "^1.44.0"
},
"scripts": {
"build:css": "sass --style expanded source/scss/style.scss csv_metadata_quality_web/static/css/style.css.tmp && cleancss -O1 --format breakWith=lf --with-rebase csv_metadata_quality_web/static/css/style.css.tmp -o csv_metadata_quality_web/static/css/style.min.css",

1405
poetry.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -1,22 +1,21 @@
[tool.poetry]
name = "csv-metadata-quality-web"
version = "0.0.2"
version = "0.0.4"
description = "Simple web interface for the DSpace CSV Metadata Quality tool."
authors = ["Alan Orth <alan.orth@gmail.com>"]
license = "AGPL-3.0-only"
[tool.poetry.dependencies]
python = "^3.7.1"
csv-metadata-quality = {git = "https://github.com/ilri/csv-metadata-quality.git", rev = "96ce1daa90844156997c88a59c2664193975566f"}
Flask = "^1.1.2"
ansi2html = "^1.6.0"
gunicorn = "^20.0.4"
python = "^3.9"
csv-metadata-quality = {git = "https://github.com/ilri/csv-metadata-quality.git", tag = "v0.6.1"}
Flask = "^2.2.3"
ansi2html = "^1.8.0"
gunicorn = "^20.1.0"
[tool.poetry.dev-dependencies]
black = "^20.8b1"
flake8 = "^3.8.4"
isort = "^5.7.0"
ipython = "^7.21.0"
black = "^23.1.0"
flake8 = "^6.0.0"
isort = "^5.12.0"
[build-system]
requires = ["poetry-core>=1.0.0"]

View File

@ -1,57 +1,47 @@
ansi2html==1.6.0; python_version >= "3.6"
appdirs==1.4.4; python_version >= "3.6"
appnope==0.1.2; sys_platform == "darwin" and python_version >= "3.7"
backcall==0.2.0; python_version >= "3.7"
black==20.8b1; python_version >= "3.6"
certifi==2021.5.30; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
charset-normalizer==2.0.4; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3"
click==7.1.2; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
colorama==0.4.4; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.0.0" and sys_platform == "win32" or sys_platform == "win32" and python_version >= "3.7" and python_full_version >= "3.5.0")
csv-metadata-quality @ git+https://github.com/ilri/csv-metadata-quality.git@96ce1daa90844156997c88a59c2664193975566f ; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
decorator==5.0.9; python_version >= "3.7"
flake8==3.9.2; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0")
flask==1.1.4; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0")
ftfy==5.9; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.5"
gunicorn==20.1.0; python_version >= "3.5"
idna==3.2; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.5"
importlib-metadata==4.6.4; python_version >= "3.6" and python_full_version < "3.0.0" and python_version < "3.8" or python_full_version >= "3.5.0" and python_version < "3.8" and python_version >= "3.6"
ipython-genutils==0.2.0; python_version >= "3.7"
ipython==7.26.0; python_version >= "3.7"
isort==5.9.3; python_full_version >= "3.6.1" and python_version < "4.0"
itsdangerous==1.1.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
jedi==0.18.0; python_version >= "3.7"
jinja2==2.11.3; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
langid==1.1.6; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
markupsafe==2.0.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
matplotlib-inline==0.1.2; python_version >= "3.7"
mccabe==0.6.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
mypy-extensions==0.4.3; python_version >= "3.6"
numpy==1.21.1; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.7"
pandas==1.3.2; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
parso==0.8.2; python_version >= "3.7"
pathspec==0.9.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
pexpect==4.8.0; sys_platform != "win32" and python_version >= "3.7"
pickleshare==0.7.5; python_version >= "3.7"
prompt-toolkit==3.0.19; python_full_version >= "3.6.1" and python_version >= "3.7"
ptyprocess==0.7.0; sys_platform != "win32" and python_version >= "3.7"
pycodestyle==2.7.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
pycountry==19.8.18; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
pyflakes==2.3.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
pygments==2.10.0; python_version >= "3.7"
python-dateutil==2.8.2; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
python-stdnum==1.16; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
pytz==2021.1; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
regex==2021.8.3; python_version >= "3.6"
requests-cache==0.5.2; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
requests==2.26.0; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
six==1.16.0; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
spdx-license-list==0.5.2; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
toml==0.10.2; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.6"
traitlets==5.0.5; python_version >= "3.7"
typed-ast==1.4.3; python_version >= "3.6"
typing-extensions==3.10.0.0; python_version >= "3.6" and python_full_version < "3.0.0" and python_version < "3.8" or python_full_version >= "3.5.0" and python_version < "3.8" and python_version >= "3.6"
urllib3==1.26.6; python_full_version >= "3.7.1" and python_version < "4" and python_full_version < "4.0.0"
wcwidth==0.2.5; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.7"
werkzeug==1.0.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
xlrd==1.2.0; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
zipp==3.5.0; python_version >= "3.6" and python_full_version < "3.0.0" and python_version < "3.8" or python_full_version >= "3.5.0" and python_version < "3.8" and python_version >= "3.6"
ansi2html==1.8.0 ; python_version >= "3.9" and python_version < "4.0"
appdirs==1.4.4 ; python_version >= "3.9" and python_version < "4.0"
attrs==22.2.0 ; python_version >= "3.9" and python_version < "4.0"
black==23.1.0 ; python_version >= "3.9" and python_version < "4.0"
cattrs==22.2.0 ; python_version >= "3.9" and python_version < "4.0"
certifi==2022.12.7 ; python_version >= "3.9" and python_version < "4"
charset-normalizer==3.0.1 ; python_version >= "3.9" and python_version < "4"
click==8.1.3 ; python_version >= "3.9" and python_version < "4.0"
colorama==0.4.6 ; python_version >= "3.9" and python_version < "4.0"
country-converter @ git+https://github.com/alanorth/country_converter.git@myanmar-region ; python_version >= "3.9" and python_version < "4.0"
csv-metadata-quality @ git+https://github.com/ilri/csv-metadata-quality.git@v0.6.1 ; python_version >= "3.9" and python_version < "4.0"
exceptiongroup==1.1.0 ; python_version >= "3.9" and python_version < "3.11"
flake8==6.0.0 ; python_version >= "3.9" and python_version < "4.0"
flask==2.2.3 ; python_version >= "3.9" and python_version < "4.0"
ftfy==6.1.1 ; python_version >= "3.9" and python_version < "4"
gunicorn==20.1.0 ; python_version >= "3.9" and python_version < "4.0"
idna==3.4 ; python_version >= "3.9" and python_version < "4"
importlib-metadata==6.0.0 ; python_version >= "3.9" and python_version < "3.10"
isort==5.12.0 ; python_version >= "3.9" and python_version < "4.0"
itsdangerous==2.1.2 ; python_version >= "3.9" and python_version < "4.0"
jinja2==3.1.2 ; python_version >= "3.9" and python_version < "4.0"
langid==1.1.6 ; python_version >= "3.9" and python_version < "4.0"
markupsafe==2.1.2 ; python_version >= "3.9" and python_version < "4.0"
mccabe==0.7.0 ; python_version >= "3.9" and python_version < "4.0"
mypy-extensions==1.0.0 ; python_version >= "3.9" and python_version < "4.0"
numpy==1.24.2 ; python_version < "4.0" and python_version >= "3.9"
packaging==23.0 ; python_version >= "3.9" and python_version < "4.0"
pandas==1.5.3 ; python_version >= "3.9" and python_version < "4.0"
pathspec==0.11.0 ; python_version >= "3.9" and python_version < "4.0"
platformdirs==3.0.0 ; python_version >= "3.9" and python_version < "4.0"
pycodestyle==2.10.0 ; python_version >= "3.9" and python_version < "4.0"
pycountry @ git+https://github.com/alanorth/pycountry@iso-codes-4.12.0 ; python_version >= "3.9" and python_version < "4.0"
pyflakes==3.0.1 ; python_version >= "3.9" and python_version < "4.0"
python-dateutil==2.8.2 ; python_version >= "3.9" and python_version < "4.0"
python-stdnum==1.18 ; python_version >= "3.9" and python_version < "4.0"
pytz==2022.7.1 ; python_version >= "3.9" and python_version < "4.0"
requests-cache==0.9.8 ; python_version >= "3.9" and python_version < "4.0"
requests==2.28.2 ; python_version >= "3.9" and python_version < "4"
setuptools==67.4.0 ; python_version >= "3.9" and python_version < "4.0"
six==1.16.0 ; python_version >= "3.9" and python_version < "4.0"
tomli==2.0.1 ; python_version >= "3.9" and python_version < "3.11"
typing-extensions==4.5.0 ; python_version >= "3.9" and python_version < "3.10"
url-normalize==1.4.3 ; python_version >= "3.9" and python_version < "4.0"
urllib3==1.26.14 ; python_version >= "3.9" and python_version < "4"
wcwidth==0.2.6 ; python_version >= "3.9" and python_version < "4"
werkzeug==2.2.3 ; python_version >= "3.9" and python_version < "4.0"
zipp==3.14.0 ; python_version >= "3.9" and python_version < "3.10"

View File

@ -1,28 +1,35 @@
ansi2html==1.6.0; python_version >= "3.6"
certifi==2021.5.30; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
charset-normalizer==2.0.4; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3"
click==7.1.2; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
colorama==0.4.4; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
csv-metadata-quality @ git+https://github.com/ilri/csv-metadata-quality.git@96ce1daa90844156997c88a59c2664193975566f ; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
flask==1.1.4; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0")
ftfy==5.9; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.5"
gunicorn==20.1.0; python_version >= "3.5"
idna==3.2; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.5"
itsdangerous==1.1.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
jinja2==2.11.3; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
langid==1.1.6; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
markupsafe==2.0.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
numpy==1.21.1; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.7"
pandas==1.3.2; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
pycountry==19.8.18; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
python-dateutil==2.8.2; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
python-stdnum==1.16; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
pytz==2021.1; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
requests-cache==0.5.2; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
requests==2.26.0; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
six==1.16.0; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
spdx-license-list==0.5.2; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
urllib3==1.26.6; python_full_version >= "3.7.1" and python_version < "4" and python_full_version < "4.0.0"
wcwidth==0.2.5; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.5"
werkzeug==1.0.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
xlrd==1.2.0; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
ansi2html==1.8.0 ; python_version >= "3.9" and python_version < "4.0"
appdirs==1.4.4 ; python_version >= "3.9" and python_version < "4.0"
attrs==22.2.0 ; python_version >= "3.9" and python_version < "4.0"
cattrs==22.2.0 ; python_version >= "3.9" and python_version < "4.0"
certifi==2022.12.7 ; python_version >= "3.9" and python_version < "4"
charset-normalizer==3.0.1 ; python_version >= "3.9" and python_version < "4"
click==8.1.3 ; python_version >= "3.9" and python_version < "4.0"
colorama==0.4.6 ; python_version >= "3.9" and python_version < "4.0"
country-converter @ git+https://github.com/alanorth/country_converter.git@myanmar-region ; python_version >= "3.9" and python_version < "4.0"
csv-metadata-quality @ git+https://github.com/ilri/csv-metadata-quality.git@v0.6.1 ; python_version >= "3.9" and python_version < "4.0"
exceptiongroup==1.1.0 ; python_version >= "3.9" and python_version < "3.11"
flask==2.2.3 ; python_version >= "3.9" and python_version < "4.0"
ftfy==6.1.1 ; python_version >= "3.9" and python_version < "4"
gunicorn==20.1.0 ; python_version >= "3.9" and python_version < "4.0"
idna==3.4 ; python_version >= "3.9" and python_version < "4"
importlib-metadata==6.0.0 ; python_version >= "3.9" and python_version < "3.10"
itsdangerous==2.1.2 ; python_version >= "3.9" and python_version < "4.0"
jinja2==3.1.2 ; python_version >= "3.9" and python_version < "4.0"
langid==1.1.6 ; python_version >= "3.9" and python_version < "4.0"
markupsafe==2.1.2 ; python_version >= "3.9" and python_version < "4.0"
numpy==1.24.2 ; python_version < "4.0" and python_version >= "3.9"
pandas==1.5.3 ; python_version >= "3.9" and python_version < "4.0"
pycountry @ git+https://github.com/alanorth/pycountry@iso-codes-4.12.0 ; python_version >= "3.9" and python_version < "4.0"
python-dateutil==2.8.2 ; python_version >= "3.9" and python_version < "4.0"
python-stdnum==1.18 ; python_version >= "3.9" and python_version < "4.0"
pytz==2022.7.1 ; python_version >= "3.9" and python_version < "4.0"
requests-cache==0.9.8 ; python_version >= "3.9" and python_version < "4.0"
requests==2.28.2 ; python_version >= "3.9" and python_version < "4"
setuptools==67.4.0 ; python_version >= "3.9" and python_version < "4.0"
six==1.16.0 ; python_version >= "3.9" and python_version < "4.0"
url-normalize==1.4.3 ; python_version >= "3.9" and python_version < "4.0"
urllib3==1.26.14 ; python_version >= "3.9" and python_version < "4"
wcwidth==0.2.6 ; python_version >= "3.9" and python_version < "4"
werkzeug==2.2.3 ; python_version >= "3.9" and python_version < "4.0"
zipp==3.14.0 ; python_version >= "3.9" and python_version < "3.10"

View File

@ -1 +1 @@
python-3.9.6
python-3.10.5

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 164 KiB

View File

@ -1,5 +1,5 @@
/*!
* Bootstrap v5.1.0 (https://getbootstrap.com/)
* Bootstrap v5.1.1 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)