Skip to content

Commit

Permalink
chore: drop support for python < 3.11
Browse files Browse the repository at this point in the history
  • Loading branch information
afuetterer committed Sep 22, 2023
1 parent b42e269 commit 36f9c4e
Show file tree
Hide file tree
Showing 7 changed files with 328 additions and 329 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ jobs:
runs-on: ubuntu-22.04
strategy:
matrix:
python-version: ['3.11', '3.8']
python-version: ['3.11']
steps:
- uses: actions/checkout@v3
- name: Cache python dependencies
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:1.5
FROM python:3.8-slim
FROM python:3.11-slim

WORKDIR /usr/src/app

Expand Down
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ Developers: [Robert Huber](mailto:[email protected]), [Anusuriya Devaraju](mailto:

## Overview

F-UJI is a web service to programatically assess FAIRness of research data objects based on [metrics](https://doi.org/10.5281/zenodo.3775793) developed by the [FAIRsFAIR](https://www.fairsfair.eu/) project.
The service will be applied to demostrate the evaluation of objects in repositories selected for in-depth collaboration with the project.
F-UJI is a web service to programatically assess FAIRness of research data objects based on [metrics](https://doi.org/10.5281/zenodo.3775793) developed by the [FAIRsFAIR](https://www.fairsfair.eu/) project.
The service will be applied to demostrate the evaluation of objects in repositories selected for in-depth collaboration with the project.

The '__F__' stands for FAIR (of course) and '__UJI__' means 'Test' in Malay. So __F-UJI__ is a FAIR testing tool.

Expand All @@ -26,16 +26,16 @@ An R client package that was generated from the F-UJI OpenAPI definition is avai
An open source web client for F-UJI is available at https://github.com/MaastrichtU-IDS/fairificator.

## Assessment Scope, Constraint and Limitation
The service is **in development** and its assessment depends on several factors.
- In the FAIR ecosystem, FAIR assessment must go beyond the object itself. FAIR enabling services and repositories are vital to ensure that research data objects remain FAIR over time. Importantly, machine-readable services (e.g., registries) and documents (e.g., policies) are required to enable automated tests.
- In addition to repository and services requirements, automated testing depends on clear machine assessable criteria. Some aspects (rich, plurality, accurate, relevant) specified in FAIR principles still require human mediation and interpretation.
The service is **in development** and its assessment depends on several factors.
- In the FAIR ecosystem, FAIR assessment must go beyond the object itself. FAIR enabling services and repositories are vital to ensure that research data objects remain FAIR over time. Importantly, machine-readable services (e.g., registries) and documents (e.g., policies) are required to enable automated tests.
- In addition to repository and services requirements, automated testing depends on clear machine assessable criteria. Some aspects (rich, plurality, accurate, relevant) specified in FAIR principles still require human mediation and interpretation.
- The tests must focus on generally applicable data/metadata characteristics until domain/community-driven criteria have been agreed (e.g., appropriate schemas and required elements for usage/access control, etc.). For example, for some of the metrics (i.e., on I and R principles), the automated tests we proposed only inspect the ‘surface’ of criteria to be evaluated. Therefore, tests are designed in consideration of generic cross-domain metadata standards such as dublin core, dcat, datacite, schema.org, etc.
- FAIR assessment is performed based on aggregated metadata; this includes metadata embedded in the data (landing) page, metadata retrieved from a PID provider (e.g., Datacite content negotiation) and other services (e.g., re3data).

![alt text](https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/static/main.png?raw=true)

## Requirements
Python 3.8+
Python 3.11+

### 308 redirects
In order to deal with 308 redirects, the following patch has to be applied on urrlib:
Expand All @@ -47,7 +47,7 @@ https://github.com/python/cpython/pull/19588/commits
* Run create_google_cache_db.py which creates a SQLite database in the data directory. From root directory run `python3 -m fuji_server.helper.create_google_cache_db`.

The service was generated by the [swagger-codegen](https://github.com/swagger-api/swagger-codegen) project. By using the
[OpenAPI-Spec](https://github.com/swagger-api/swagger-core/wiki) from a remote server, you can easily generate a server stub.
[OpenAPI-Spec](https://github.com/swagger-api/swagger-core/wiki) from a remote server, you can easily generate a server stub.
The service uses the [Connexion](https://github.com/spec-first/connexion) library on top of Flask.

## Usage
Expand Down
11 changes: 5 additions & 6 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,8 @@ classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.11",
"Topic :: Scientific/Engineering :: Information Analysis"
]
dependencies = [
Expand Down Expand Up @@ -60,7 +59,7 @@ keywords = [
license = "MIT"
name = "fuji"
readme = "README.md"
requires-python = ">=3.8"
requires-python = ">=3.11"
version = "3.0.0"

[project.optional-dependencies]
Expand Down Expand Up @@ -96,7 +95,7 @@ Source = "https://github.com/pangaea-data-publisher/fuji"

[tool.black]
line-length = 120
target_version = ["py38", "py39", "py310", "py311"]
target_version = ["py311"]

[tool.coverage.report]
skip_empty = true
Expand Down Expand Up @@ -146,7 +145,7 @@ line-length = 120
select = [
"I" # isort
]
target-version = "py38"
target-version = "py311"

[tool.ruff.isort]
known-first-party = ["fuji_server", "tests"]

Large diffs are not rendered by default.

272 changes: 136 additions & 136 deletions tests/functional/cassettes/test_evaluation/test_evaluation.yaml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -430,13 +430,13 @@ interactions:
Cross-Origin-Resource-Policy:
- cross-origin
Date:
- Thu, 21 Sep 2023 16:02:25 GMT
- Fri, 22 Sep 2023 10:46:04 GMT
ETag:
- W/"96f0b8a97b963debd2b8196710f6fb55a22c1b719160c77161bc768dee120c17"
Expires:
- Thu, 21 Sep 2023 16:07:25 GMT
- Fri, 22 Sep 2023 10:51:04 GMT
Source-Age:
- '262'
- '118'
Strict-Transport-Security:
- max-age=31536000
Vary:
Expand All @@ -450,15 +450,15 @@ interactions:
X-Content-Type-Options:
- nosniff
X-Fastly-Request-ID:
- 7a4c3c5b7178aeafc165bdeb8bf8678e5d474938
- e606b501f70c3be36f71c3aede5d9c042e8f9e8e
X-Frame-Options:
- deny
X-GitHub-Request-Id:
- 9A86:1151B:C30A85:CA6A0B:650C605D
- 808A:881C:10E2BFD:1194D78:650D1E28
X-Served-By:
- cache-fra-eddf8230126-FRA
- cache-fra-eddf8230101-FRA
X-Timer:
- S1695312145.003301,VS0,VE2
- S1695379565.574322,VS0,VE1
X-XSS-Protection:
- 1; mode=block
status:
Expand Down

0 comments on commit 36f9c4e

Please sign in to comment.