1
0
mirror of https://github.com/ilri/dspace-statistics-api.git synced 2025-05-10 07:06:01 +02:00

Compare commits

...

70 Commits

Author SHA1 Message Date
f3421e595c Version 1.4.4 2024-09-11 15:54:31 +03:00
6cf8ca0245 Update requirements
Generated with poetry export:

    $ poetry export --without-hashes -f requirements.txt > requirements.txt
    $ poetry export --without-hashes --dev -f requirements.txt > requirements-dev.txt

The `--without-hashes` is required to work around an issue with
gunicorn pulling in a dependency on setuptools that poetry ignores.

See: https://github.com/python-poetry/poetry/issues/1584
2024-09-11 15:52:27 +03:00
14c6e5f8dc poetry.lock: regenerate 2024-09-11 15:51:41 +03:00
4c32aeb915 CHANGELOG.md: add some notes
Add some notes about updates and changes.
2024-09-11 15:50:42 +03:00
34a1a08893 .github/workflows/python-app.yml: use Python 3.12
I'm using Python 3.12 locally and it's what Ubuntu 24.04 has.
2024-09-11 15:48:15 +03:00
c47bb2aba7 pyproject.toml: bump all deps
These are passing pytest locally as well as a manual harvest.
2024-09-11 15:45:52 +03:00
a7fd70bf10 Remove Drone CI 2024-09-11 15:07:07 +03:00
45dfe7851f Merge pull request #51 from ilri/renovate/pypi-gunicorn-vulnerability 2024-09-11 15:03:54 +03:00
c1cd0a0351 Update dependency gunicorn to v22 [SECURITY] 2024-08-06 07:24:05 +00:00
1912363899 Merge pull request #42 from ilri/renovate/pytest-7.x-lockfile
All checks were successful
continuous-integration/drone/push Build is passing
Update dependency pytest to v7.4.4
2024-01-05 16:53:21 +03:00
cd3c024a77 Merge pull request #44 from ilri/renovate/flake8-7.x
Update dependency flake8 to v7
2024-01-05 16:53:03 +03:00
e96c79bf2c Update dependency flake8 to v7
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-05 01:26:48 +00:00
d6330c7bd4 Update dependency pytest to v7.4.4
All checks were successful
continuous-integration/drone/push Build is passing
2023-12-31 12:49:30 +00:00
8c7a5c4047 Merge pull request #40 from ilri/renovate/isort-5.x-lockfile
All checks were successful
continuous-integration/drone/push Build is passing
Update dependency isort to v5.13.2
2023-12-28 09:22:24 +03:00
a31c592fab Merge pull request #41 from ilri/renovate/black-23.x-lockfile
Update dependency black to v23.12.1
2023-12-28 09:22:01 +03:00
c7b179f1b5 Update dependency black to v23.12.1
All checks were successful
continuous-integration/drone/push Build is passing
2023-12-23 00:02:01 +00:00
77c166c024 Update dependency isort to v5.13.2
All checks were successful
continuous-integration/drone/push Build is passing
2023-12-13 23:34:34 +00:00
7680b0f440 .github: update workflow
All checks were successful
continuous-integration/drone/push Build is passing
- actions/checkout@v4
- actions/setup-python@v5
- python-version: '3.11'
2023-12-09 13:58:01 +03:00
e70a7a9675 Apply fixes from fixit
RewriteToLiteral: It's slower to call list() than using the empty literal
2023-12-09 13:57:55 +03:00
24f90df13e pyprojecy.toml: use new group syntax
poetry wants us to use `poetry add --group=dev` now, which generates
this syntax in the toml.
2023-12-09 13:57:45 +03:00
780f2c1723 pyproject.toml: add fixit to dev dependencies 2023-12-09 13:57:31 +03:00
53b58d4116 Merge pull request #38 from ilri/renovate/falcon-3.x
All checks were successful
continuous-integration/drone/push Build is passing
Update dependency falcon to v3.1.3
2023-12-05 16:36:50 +03:00
19a6d2cea6 Update dependency falcon to v3.1.3
All checks were successful
continuous-integration/drone/push Build is passing
2023-12-05 07:14:40 +00:00
6c2bcda16f Merge pull request #37 from ilri/renovate/black-23.x-lockfile
All checks were successful
continuous-integration/drone/push Build is passing
Update dependency black to v23.11.0
2023-11-22 19:37:07 +03:00
e4d9545b02 Update dependency black to v23.11.0
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-08 07:30:58 +00:00
1f507d3074 Merge pull request #33 from ilri/renovate/actions-checkout-4.x
All checks were successful
continuous-integration/drone/push Build is passing
Update actions/checkout action to v4
2023-10-25 12:22:47 +03:00
82771d7b0c Merge pull request #32 from ilri/renovate/psycopg2-2.x-lockfile
Update dependency psycopg2 to v2.9.9
2023-10-25 12:21:47 +03:00
5ff3323f88 Merge pull request #31 from ilri/renovate/flake8-6.x-lockfile
Update dependency flake8 to v6.1.0
2023-10-25 12:20:32 +03:00
c7a871c2f1 Merge pull request #36 from ilri/renovate/gunicorn-21.x-lockfile
Update dependency gunicorn to v21.2.0
2023-10-25 12:20:15 +03:00
b948283d40 Update dependency gunicorn to v21.2.0
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-25 09:12:04 +00:00
124a05dcaf Merge pull request #30 from ilri/renovate/gunicorn-21.x
All checks were successful
continuous-integration/drone/push Build is passing
Update dependency gunicorn to v21
2023-10-25 12:11:21 +03:00
a2daf96fec Merge pull request #29 from ilri/renovate/black-23.x-lockfile
Update dependency black to v23.10.1
2023-10-25 12:10:47 +03:00
8634d53fa6 Merge pull request #28 from ilri/renovate/pytest-7.x-lockfile
Update dependency pytest to v7.4.3
2023-10-25 12:10:11 +03:00
e2bfcef573 Update dependency pytest to v7.4.3
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-24 21:18:17 +00:00
d64c4b8cbc Update dependency black to v23.10.1
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-23 19:46:06 +00:00
3d91366412 Update actions/checkout action to v4
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-19 11:02:08 +00:00
c3a4e2260b Update dependency psycopg2 to v2.9.9
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-03 14:20:02 +00:00
10519997ac Update dependency flake8 to v6.1.0
Some checks failed
continuous-integration/drone/push Build is failing
2023-07-29 21:45:38 +00:00
4d7e9e9401 Update dependency gunicorn to v21
Some checks failed
continuous-integration/drone/push Build is failing
2023-07-17 21:23:15 +00:00
fe9f98bcc0 dspace_statistics_api/util.py: format with black
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2023-05-30 16:04:18 +03:00
70f0d66c6e poetry.lock: run poetry update 2023-05-30 16:03:51 +03:00
913596c61d pyproject.toml: bump flake8 2023-05-30 16:03:35 +03:00
7cd762a5a2 Merge pull request #24 from ilri/renovate/black-23.x
All checks were successful
continuous-integration/drone/push Build is passing
Update dependency black to v23
2023-05-30 11:26:12 +03:00
3811be18ef Update dependency black to v23 2023-05-30 08:22:19 +00:00
a52818271c Merge pull request #26 from ilri/renovate/pytest-7.x
Update dependency pytest to v7
2023-05-30 11:21:39 +03:00
b643f60dd7 Update dependency pytest to v7 2023-05-30 08:08:39 +00:00
7cec9a9545 Merge pull request #27 from ilri/renovate/postgres-15.x
Update postgres Docker tag to v15
2023-05-30 11:07:00 +03:00
a9302506b6 Update postgres Docker tag to v15 2023-05-30 08:01:58 +00:00
b980602a03 Update requirements
Generated with poetry export:

    $ poetry export --without-hashes -f requirements.txt > requirements.txt
    $ poetry export --without-hashes --dev -f requirements.txt > requirements-dev.txt

The `--without-hashes` is required to work around an issue with
gunicorn pulling in a dependency on setuptools that poetry ignores.

See: https://github.com/python-poetry/poetry/issues/1584
2023-05-30 11:00:46 +03:00
a4b4843036 poetry.lock: run poetry update 2023-05-30 11:00:09 +03:00
7e334f6de8 Recommend Python 3.8+
I'm only using Python 3.8+ anyways, and 3.7 is end of life as of
next month. Some deps start wanting Python 3.8 so let's just bump
it.
2023-05-30 10:23:10 +03:00
770f676fb5 Use PostgreSQL 14 for Drone CI and GitHub Actions 2023-05-30 10:14:47 +03:00
6d5e3c350d Remove .hound.yml
I haven't used this in years and now we have automatic tests via
GitHub Actions.
2023-05-30 10:14:06 +03:00
531136183b pyproject.toml: rework isort and black deps
We no longer need to gatekeep these for Python 3.6+, as all my dev
systems are running Python 3.11 and all my production systems are
running Python 3.8+.
2023-05-30 10:09:47 +03:00
1a3d0350a5 .github/workflows: update GitHub Action workflow
We can use Poetry directly rather than installing deps with pip.
2023-05-30 09:39:00 +03:00
25c4f05f16 Add renovate.json
Disable management of requirements.txt since I am using poetry.
2023-05-30 08:11:28 +03:00
9fba8d1b81 Migrate isort config to pyproject.toml
Some checks failed
continuous-integration/drone/push Build is failing
See: https://pycqa.github.io/isort/docs/configuration/black_compatibility.html
2022-12-20 15:13:44 +02:00
568ced0f20 poetry.lock: run poetry update 2022-12-20 15:12:50 +02:00
9cd93c9034 Update requirements
Some checks failed
continuous-integration/drone/push Build is failing
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

The `--without-hashes` is required to work around an issue with
gunicorn pulling in a dependency on setuptools that poetry ignores.

See: https://github.com/python-poetry/poetry/issues/1584
2022-11-21 10:51:43 +03:00
83a2625987 CHANGELOG.md: add note about falcon 3.1.1 2022-11-21 10:51:43 +03:00
f591ed7162 Use falcon v3.1.1
Bug fix release with support for Python 3.11.

See: https://falcon.readthedocs.io/en/3.1.1/changes/3.1.1.html
2022-11-21 10:51:43 +03:00
bb0f267941 .github: use ubuntu-22.04 for actions
All checks were successful
continuous-integration/drone/push Build is passing
Apparently 'ubuntu-latest' is still 20.04 and today is 2022-10-03,
which seems a bit old!

See: https://github.com/actions/runner-images
2022-10-03 19:57:56 +03:00
0720605b6a .github: update actions
Switch to newer checkout and setup-python actions, and enable the
pip cache for setup-python.
2022-10-03 19:43:41 +03:00
bcb97d025c CHANGELOG.md: add note about PostgreSQL 12
All checks were successful
continuous-integration/drone/push Build is passing
2022-05-31 13:05:41 +03:00
0ff8490275 Use PostgreSQL 12 in CI
I migrated my production systems to PostgreSQL 12 months ago.
2022-05-31 13:05:01 +03:00
0a8ac60ade Update requirements
All checks were successful
continuous-integration/drone/push Build is passing
Generated with poetry export:

    $ poetry export --without-hashes -f requirements.txt > requirements.txt
    $ poetry export --without-hashes --dev -f requirements.txt > requirements-dev.txt

The `--without-hashes` is required to work around an issue with
gunicorn pulling in a dependency on setuptools that poetry ignores.

See: https://github.com/python-poetry/poetry/issues/1584
2022-03-28 16:01:39 +03:00
37527c21be poetry.lock: run poetry update 2022-03-28 16:01:13 +03:00
eb660f8085 CHANGELOG.md: add note about Python version
All checks were successful
continuous-integration/drone/push Build is passing
2022-03-28 15:16:02 +03:00
e7d780f511 Don't test on Python 3.6 anymore
Python 3.6 is deprecated in Falcon 3.1.0 and all of our production
and development hosts are running Python 3.8+ now.
2022-03-28 15:13:54 +03:00
c3b9a541b7 Bump version to 1.4.4-dev
All checks were successful
continuous-integration/drone/push Build is passing
2022-03-26 19:10:47 +03:00
15 changed files with 514 additions and 800 deletions

View File

@ -1,195 +0,0 @@
kind: pipeline
type: docker
name: python310
steps:
- name: setup
image: postgres:10-alpine
environment:
PGPASSWORD: postgres
commands:
- id
- psql --version
- sleep 5
- pg_isready -h database -U postgres -d dspacestatistics
- createuser -h database -U postgres dspacestatistics
- psql -h database -U postgres -c "ALTER USER dspacestatistics WITH PASSWORD 'dspacestatistics'"
- psql -h database -U postgres -d dspacestatistics < tests/dspacestatistics.sql
- name: test
image: python:3.10-slim
environment:
PGPASSWORD: dspacestatistics
DATABASE_HOST: database
commands:
- id
- python -V
- apt update && apt install -y gcc git libpq-dev
- pip install -r requirements-dev.txt
- pytest
services:
- name: database
image: postgres:10-alpine
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: dspacestatistics
---
kind: pipeline
type: docker
name: python39
steps:
- name: setup
image: postgres:10-alpine
environment:
PGPASSWORD: postgres
commands:
- id
- psql --version
- sleep 5
- pg_isready -h database -U postgres -d dspacestatistics
- createuser -h database -U postgres dspacestatistics
- psql -h database -U postgres -c "ALTER USER dspacestatistics WITH PASSWORD 'dspacestatistics'"
- psql -h database -U postgres -d dspacestatistics < tests/dspacestatistics.sql
- name: test
image: python:3.9-slim
environment:
PGPASSWORD: dspacestatistics
DATABASE_HOST: database
commands:
- id
- python -V
- apt update && apt install -y gcc git libpq-dev
- pip install -r requirements-dev.txt
- pytest
services:
- name: database
image: postgres:10-alpine
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: dspacestatistics
---
kind: pipeline
type: docker
name: python38
steps:
- name: database
image: postgres:10-alpine
detach: true
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: dspacestatistics
- name: setup
image: postgres:10-alpine
environment:
PGPASSWORD: postgres
commands:
- id
- psql --version
- sleep 5
- pg_isready -h database -U postgres -d dspacestatistics
- createuser -h database -U postgres dspacestatistics
- psql -h database -U postgres -c "ALTER USER dspacestatistics WITH PASSWORD 'dspacestatistics'"
- psql -h database -U postgres -d dspacestatistics < tests/dspacestatistics.sql
- name: test
image: python:3.8-slim
environment:
PGPASSWORD: dspacestatistics
DATABASE_HOST: database
commands:
- id
- python -V
- apt update && apt install -y gcc git libpq-dev
- pip install -r requirements-dev.txt
- pytest
---
kind: pipeline
type: docker
name: python37
steps:
- name: database
image: postgres:10-alpine
detach: true
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: dspacestatistics
- name: setup
image: postgres:10-alpine
environment:
PGPASSWORD: postgres
commands:
- id
- psql --version
- sleep 5
- pg_isready -h database -U postgres -d dspacestatistics
- createuser -h database -U postgres dspacestatistics
- psql -h database -U postgres -c "ALTER USER dspacestatistics WITH PASSWORD 'dspacestatistics'"
- psql -h database -U postgres -d dspacestatistics < tests/dspacestatistics.sql
- name: test
image: python:3.7-slim
environment:
PGPASSWORD: dspacestatistics
DATABASE_HOST: database
commands:
- id
- python -V
- apt update && apt install -y gcc git libpq-dev
- pip install -r requirements-dev.txt
- pytest
---
kind: pipeline
type: docker
name: python36
steps:
- name: database
image: postgres:10-alpine
detach: true
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: dspacestatistics
- name: setup
image: postgres:10-alpine
environment:
PGPASSWORD: postgres
commands:
- id
- psql --version
- sleep 5
- pg_isready -h database -U postgres -d dspacestatistics
- createuser -h database -U postgres dspacestatistics
- psql -h database -U postgres -c "ALTER USER dspacestatistics WITH PASSWORD 'dspacestatistics'"
- psql -h database -U postgres -d dspacestatistics < tests/dspacestatistics.sql
- name: test
image: python:3.6-slim
environment:
PGPASSWORD: dspacestatistics
DATABASE_HOST: database
commands:
- id
- python -V
- apt update && apt install -y gcc git libpq-dev
- pip install -r requirements-dev.txt
- pytest
# vim: ts=2 sw=2 et

View File

@ -8,11 +8,11 @@ on: ['push', 'pull_request']
jobs:
build:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
services:
database:
image: postgres:10-alpine
image: postgres:15-alpine
env:
# password for postgres user in the Docker container
POSTGRES_PASSWORD: postgres
@ -27,23 +27,20 @@ jobs:
- 5432:5432
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.10
uses: actions/setup-python@v2
- uses: actions/checkout@v4
- name: Install poetry
run: pipx install poetry
- uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install flake8 pytest
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
if [ -f requirements-dev.txt ]; then pip install -r requirements-dev.txt; fi
python-version: '3.12'
cache: 'poetry'
- run: poetry install
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
poetry run flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
poetry run flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Set up PostgreSQL
run: |
pg_isready -U postgres -d dspacestatistics
@ -55,7 +52,7 @@ jobs:
PGPASSWORD: postgres
- name: Test with pytest
run: |
pytest
poetry run pytest
env:
PGHOST: localhost
PGPASSWORD: dspacestatistics

View File

@ -1,4 +0,0 @@
flake8:
enabled: true
config_file: .flake8
fail_on_violations: true

View File

@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## 1.4.4 - 2024-09-11
### Changed
- Update recommended Python version to 3.8+
- Use PostgreSQL 15 in CI
- Use Python 3.12 in CI
### Updated
- Falcon 3.1.3, a minor change for us, but good to be using a current upstream
version
### Removed
- Drone CI
## 1.4.3 - 2022-03-26
### Updated
- Update dependencies with `poetry update`

View File

@ -1,7 +1,6 @@
<h1 align="center">DSpace Statistics API</h1>
<p align="center">
<a href="https://ci.mjanja.ch/alanorth/dspace-statistics-api"><img alt="Build Status" src="https://ci.mjanja.ch/api/badges/alanorth/dspace-statistics-api/status.svg?ref=refs/heads/v6_x"></a>
<a href="https://github.com/ilri/dspace-statistics-api/actions"><img alt="Build and Test" src="https://github.com/ilri/dspace-statistics-api/actions/workflows/python-app.yml/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>
@ -20,7 +19,7 @@ If you use the DSpace Statistics API please cite:
## Requirements
- Python 3.6+
- Python 3.8+
- PostgreSQL version 9.5+ (due to [`UPSERT` support](https://wiki.postgresql.org/wiki/UPSERT))
- DSpace with [Solr usage statistics enabled](https://wiki.lyrasis.org/display/DSDOC5x/SOLR+Statistics) (tested with 5.8+ and 6.3)

View File

@ -90,7 +90,7 @@ class AllStatisticsResource:
)
# create a list to hold dicts of stats
statistics = list()
statistics = []
# iterate over results and build statistics object
for result in cursor:
@ -162,7 +162,7 @@ class AllStatisticsResource:
)
# create a list to hold dicts of stats
statistics = list()
statistics = []
# iterate over views dict to extract views and use the element id as an
# index to the downloads dict to extract downloads.

View File

@ -18,6 +18,6 @@ DATABASE_PORT = os.environ.get("DATABASE_PORT", "5432")
# the vanilla DSpace REST API.
DSPACE_STATISTICS_API_URL = os.environ.get("DSPACE_STATISTICS_API_URL", "")
VERSION = "1.4.3"
VERSION = "1.4.4"
# vim: set sw=4 ts=4 expandtab:

View File

@ -1,7 +1,7 @@
{
"openapi": "3.0.3",
"info": {
"version": "1.4.3",
"version": "1.4.4",
"title": "DSpace Statistics API",
"description": "A [Falcon-based](https://falcon.readthedocs.io/) web application to make DSpace's item, community, and collection statistics available via a simple REST API. This Swagger interface is powered by [falcon-swagger-ui](https://github.com/rdidyk/falcon-swagger-ui).",
"license": {

View File

@ -62,7 +62,6 @@ def get_statistics_shards():
def is_valid_date(date):
try:
# Solr date format is: 2020-01-01T00:00:00Z
# See: https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior
@ -141,7 +140,7 @@ def validate_post_parameters(req, resp, resource, params):
description=f'The "{req.context.statistics_scope}" parameter is invalid. The value must be a comma-separated list of UUIDs.',
)
else:
req.context.elements = list()
req.context.elements = []
def set_statistics_scope(req, resp, resource, params):

931
poetry.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -1,24 +1,28 @@
[tool.poetry]
name = "dspace-statistics-api"
version = "1.4.3"
version = "1.4.4"
description = "A simple REST API to expose Solr view and download statistics for items, communities, and collections in a DSpace repository."
authors = ["Alan Orth <aorth@mjanja.ch>"]
license = "GPL-3.0-only"
[tool.poetry.dependencies]
python = "^3.6"
gunicorn = "^20.0.4"
falcon = "3.1.0"
psycopg2 = "^2.9.1"
requests = "^2.24.0"
python = "^3.8.1"
gunicorn = "^23.0.0"
falcon = "^3.1.3"
psycopg2 = "^2.9.9"
requests = "^2.32.3"
falcon-swagger-ui = {git = "https://github.com/alanorth/falcon-swagger-ui.git", rev="falcon3-update-swagger-ui"}
[tool.poetry.dev-dependencies]
flake8 = "^4.0.1"
pytest = "^6.1.1"
black = {version = "^22.1.0", python = ">=3.6.2"}
isort = {version = "^5.9.1", python = ">=3.6.1"}
[tool.poetry.group.dev.dependencies]
black = "^24.0.0"
flake8 = "^7.1.1"
isort = "^5.13.2"
pytest = "^8.3.3"
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"
[tool.isort]
profile = "black"
line_length=88

9
renovate.json Normal file
View File

@ -0,0 +1,9 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base"
],
"pip_requirements": {
"enabled": false
}
}

View File

@ -1,37 +1,29 @@
atomicwrites==1.4.0; python_version >= "3.6" and python_full_version < "3.0.0" and sys_platform == "win32" or sys_platform == "win32" and python_version >= "3.6" and python_full_version >= "3.4.0"
attrs==21.4.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
black==22.1.0; python_full_version >= "3.6.2"
certifi==2021.10.8; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0"
charset-normalizer==2.0.12; python_full_version >= "3.6.0" and python_version >= "3"
click==8.0.4; python_version >= "3.6" and python_full_version >= "3.6.2"
colorama==0.4.4; sys_platform == "win32" and python_version >= "3.6" and python_full_version >= "3.6.2" and platform_system == "Windows"
dataclasses==0.8; python_version >= "3.6" and python_version < "3.7" and python_full_version >= "3.6.2"
falcon-swagger-ui @ git+https://github.com/alanorth/falcon-swagger-ui.git@falcon3-update-swagger-ui
falcon==3.1.0; python_version >= "3.5"
flake8==4.0.1; python_version >= "3.6"
gunicorn==20.1.0; python_version >= "3.5"
idna==3.3; python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.5"
importlib-metadata==4.2.0; python_version < "3.8" and python_version >= "3.6" and python_full_version >= "3.6.2"
iniconfig==1.1.1; python_version >= "3.6"
isort==5.10.1; python_full_version >= "3.6.1"
jinja2==3.0.3; python_version >= "3.6"
markupsafe==2.0.1; python_version >= "3.6"
mccabe==0.6.1; python_version >= "3.6"
mypy-extensions==0.4.3; python_full_version >= "3.6.2"
packaging==21.3; python_version >= "3.6"
pathspec==0.9.0; python_full_version >= "3.6.2"
platformdirs==2.4.0; python_version >= "3.6" and python_full_version >= "3.6.2"
pluggy==1.0.0; python_version >= "3.6"
psycopg2==2.9.3; python_version >= "3.6"
py==1.11.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
pycodestyle==2.8.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
pyflakes==2.4.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
pyparsing==3.0.7; python_version >= "3.6"
pytest==6.2.5; python_version >= "3.6"
requests==2.27.1; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.6.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"
tomli==1.2.3; python_version >= "3.6" and python_full_version >= "3.6.2"
typed-ast==1.5.2; python_version < "3.8" and implementation_name == "cpython" and python_full_version >= "3.6.2" and python_version >= "3.6"
typing-extensions==4.1.1; python_version < "3.8" and python_full_version >= "3.6.2" and python_version >= "3.6"
urllib3==1.26.9; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version < "4"
zipp==3.6.0; python_version < "3.8" and python_version >= "3.6"
black==24.8.0 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
certifi==2024.8.30 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
charset-normalizer==3.3.2 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
click==8.1.7 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
colorama==0.4.6 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0" and (sys_platform == "win32" or platform_system == "Windows")
exceptiongroup==1.2.2 ; python_full_version >= "3.8.1" and python_version < "3.11"
falcon-swagger-ui @ git+https://github.com/alanorth/falcon-swagger-ui.git@c019c270b479c03d9276e20fd95488495b0943f6 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
falcon==3.1.3 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
flake8==7.1.1 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
gunicorn==23.0.0 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
idna==3.8 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
iniconfig==2.0.0 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
isort==5.13.2 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
jinja2==3.1.4 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
markupsafe==2.1.5 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
mccabe==0.7.0 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
mypy-extensions==1.0.0 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
packaging==24.1 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
pathspec==0.12.1 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
platformdirs==4.3.2 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
pluggy==1.5.0 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
psycopg2==2.9.9 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
pycodestyle==2.12.1 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
pyflakes==3.2.0 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
pytest==8.3.3 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
requests==2.32.3 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
tomli==2.0.1 ; python_full_version >= "3.8.1" and python_version < "3.11"
typing-extensions==4.12.2 ; python_full_version >= "3.8.1" and python_version < "3.11"
urllib3==2.2.2 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"

View File

@ -1,11 +1,12 @@
certifi==2021.10.8; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0"
charset-normalizer==2.0.12; python_full_version >= "3.6.0" and python_version >= "3"
falcon-swagger-ui @ git+https://github.com/alanorth/falcon-swagger-ui.git@falcon3-update-swagger-ui
falcon==3.1.0; python_version >= "3.5"
gunicorn==20.1.0; python_version >= "3.5"
idna==3.3; python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.5"
jinja2==3.0.3; python_version >= "3.6"
markupsafe==2.0.1; python_version >= "3.6"
psycopg2==2.9.3; python_version >= "3.6"
requests==2.27.1; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.6.0")
urllib3==1.26.9; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version < "4"
certifi==2024.8.30 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
charset-normalizer==3.3.2 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
falcon-swagger-ui @ git+https://github.com/alanorth/falcon-swagger-ui.git@c019c270b479c03d9276e20fd95488495b0943f6 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
falcon==3.1.3 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
gunicorn==23.0.0 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
idna==3.8 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
jinja2==3.1.4 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
markupsafe==2.1.5 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
packaging==24.1 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
psycopg2==2.9.9 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
requests==2.32.3 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
urllib3==2.2.2 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"

View File

@ -1,6 +0,0 @@
[isort]
multi_line_output=3
include_trailing_comma=True
force_grid_wrap=0
use_parentheses=True
line_length=88