Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
8380af5
Update submodules to migration branches for CKAN 2.11 and Python 3.10
A-Souhei Jan 10, 2026
734d194
Update datapusher and giftless to Python 3.10 migration branches
A-Souhei Jan 10, 2026
f77b42c
Update CKAN to version 2.11.4
A-Souhei Jan 10, 2026
ba4f56d
Upgrade to Python 3.10 for CKAN 2.11 compatibility
A-Souhei Jan 10, 2026
d15bfc3
Migration updates for CKAN 2.11 and Python 3.10
A-Souhei Jan 13, 2026
291f077
Update ckanext-unaids submodule and add demo_venv to gitignore
A-Souhei Jan 14, 2026
85b7974
Update ckanext-restricted submodule
A-Souhei Jan 14, 2026
be06183
Update submodules and config for CKAN 2.11 migration
A-Souhei Jan 14, 2026
681d36c
Add datapusher API token and datastore set-permissions to entrypoint
A-Souhei Jan 14, 2026
3a5952a
Update ckanext-unaids submodule with icon encoding fixes
A-Souhei Jan 14, 2026
d2e0670
Update submodules: authz-service Python 3.10 fix, datapusher Python 3…
A-Souhei Jan 14, 2026
59a6804
Update Pipfile.lock: downgrade numpy from >=3.11 to >=3.10, update de…
A-Souhei Jan 20, 2026
1202577
Disable SAML2 auth and use default CKAN login system
A-Souhei Jan 20, 2026
021c9d3
Fix Solr schema: disable docValues on data_dict fields to allow large…
A-Souhei Jan 21, 2026
d7cf77c
fix: Add datapusher callback_url_base config for Docker networking
A-Souhei Jan 21, 2026
299dbb9
Update ckanext-scheming and ckanext-validation submodules to fix/ckan…
A-Souhei Jan 21, 2026
af8d84b
Add ckanext-geoview for map resource views
A-Souhei Jan 22, 2026
3472c00
Update ckanext-blob-storage and ckanext-scheming submodules
A-Souhei Jan 22, 2026
dfb8db2
fix: Update ckanext-unaids with Bootstrap 5 dropdown fix for releases
A-Souhei Jan 22, 2026
734525c
chore(submodules): update submodules to fix/ckan-2.11-bugfixes branch
A-Souhei Jan 22, 2026
fbaea36
chore(submodules): update ckanext-unaids with default login fix
A-Souhei Jan 28, 2026
956ef37
Re-enable SAML2 Auth0 login
A-Souhei Feb 1, 2026
4df9452
config: Enable About menu in pages plugin
A-Souhei Feb 2, 2026
5929cce
chore: Update ckanext-unaids submodule (navbar fix)
A-Souhei Feb 2, 2026
554cf66
Fix numpy/pandas compatibility issue for Python 3.10
A-Souhei Feb 5, 2026
8a8a294
Update ckanext-unaids: Fix pandas binary compatibility in CI
A-Souhei Feb 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -111,3 +111,4 @@ src/

# Hide translation .po file copies
build/translations/*
demo_venv/
13 changes: 13 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,16 @@
[submodule "ckan-extensions/ckanext-validation"]
path = submodules/ckanext-validation
url = git@github.com:fjelltopp/ckanext-validation.git
[submodule "submodules/ckanext-authz-service"]
path = submodules/ckanext-authz-service
url = https://github.com/datopian/ckanext-authz-service.git
[submodule "submodules/ckanext-pages"]
path = submodules/ckanext-pages
url = https://github.com/ckan/ckanext-pages.git
[submodule "submodules/ckanext-saml2auth"]
path = submodules/ckanext-saml2auth
url = https://github.com/fjelltopp/ckanext-saml2auth.git
branch = toavina/ckan-2.11-migration
[submodule "submodules/ckanext-geoview"]
path = submodules/ckanext-geoview
url = https://github.com/ckan/ckanext-geoview.git
176 changes: 82 additions & 94 deletions Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,67 +4,50 @@ verify_ssl = true
name = "pypi"

[packages]
ckanapi = "==4.3"
alembic = "==1.0.0"
babel = "==2.7.0"
beaker = "==1.11.0"
bleach = "==3.1.4"
certifi = "==2021.10.8"
chardet = "==4.0.0"
click = "==8.1.2"
dominate = "==2.4.0"
fanstatic = "==1.1"
feedgen = "==0.9.0"
flask-babel = "==1.0.0"
flask-multistatic = "==1.0"
flask = "~=1.1.1"
funcsigs = "==1.0.2"
idna = "==3.3"
itsdangerous = "==1.1.0"
lxml = ">=2.3"
mako = "==1.1.5"
markdown = "==2.6.7"
markupsafe = "==2.0.1"
nose = "==1.3.7"
passlib = "==1.6.5"
polib = "==1.0.7"
psycopg2 = "==2.9.3"
PyJWT = {version = "==2.1.0",extras = ["crypto"]}
pysolr = "==3.6.0"
python-dateutil = "==2.8.2"
python-editor = "==1.0.4"
python-magic = "==0.4.15"
# Pytz upgraded because of Pandas dependencies for ckanext-validation (Py3)
# Core CKAN 2.11.4 dependencies
alembic = "==1.13.2"
babel = "==2.15.0"
bleach = "==6.1.0"
blinker = "==1.8.2"
certifi = ">=2024.7.4"
click = "==8.1.7"
dominate = "==2.9.1"
feedgen = "==1.0.0"
flask = "==3.0.3"
flask-babel = "==4.0.0"
flask-login = "==0.6.3"
flask-session = "==0.8.0"
flask-wtf = "==1.2.1"
jinja2 = "==3.1.6"
markdown = "==3.6"
msgspec = "==0.18.6"
packaging = "==24.1"
passlib = "==1.7.4"
polib = "==1.2.0"
psycopg2 = "==2.9.9"
pyjwt = "==2.8.0"
pyparsing = "==3.1.2"
python-dateutil = "==2.9.0.post0"
python-magic = "==0.4.27"
pysolr = "==3.9.0"
pytz = "*"
pyutilib = "==5.7.1"
pyyaml = "==5.3.1"
redis = "==3.5.3"
"repoze.who" = "==2.3"
requests = "==2.27.1"
routes = "==1.13"
rq = "==1.0"
shutilwhich = "==1.1.0"
simplejson = "==3.10.0"
six = "==1.14.0"
sqlalchemy = "==1.3.5"
sqlparse = "==0.3.0"
tzlocal = "==1.3"
unicodecsv = "==0.14.1"
urllib3 = "==1.26.9"
watchdog = "==2.1.5"
webassets = "==0.12.1"
pyyaml = "==6.0.1"
redis = "==5.0.7"
async-timeout = "==4.0.3"
requests = "==2.32.4"
rq = "==1.16.2"
simplejson = "==3.19.2"
six = "==1.16.0"
sqlalchemy = {version = "==1.4.52", extras = ["mypy"]}
sqlparse = "==0.5.0"
tzlocal = "==5.2"
webassets = "==2.0"
webencodings = "==0.5.1"
webob = "==1.8.7"
werkzeug = {version = "==1.0.0", extras = ["watchdog"]}
"zope.interface" = "<5.0"
ckanext-sentry = {editable = true, ref = "d3b1d1cf1f975b3672891012e6c75e176497db8f", git = "https://github.com/okfn/ckanext-sentry"}
ckanext-authz-service = {editable = true, ref = "bd4c80f55a714c1117a0e130d07463e383c494c7", git = "https://github.com/datopian/ckanext-authz-service"}
ckanext-pdfview = {editable = true, ref = "3acd4a5d4cf53ca46bd3681e13e5d3ada051c644", git = "https://github.com/ckan/ckanext-pdfview.git"}
ckanext-geoview = {editable = true, ref = "cc30270e84c50df17a7a9f00b1223219dc3afa52", git ="https://github.com/ckan/ckanext-geoview.git"}
ckanext-pages = {editable = true, ref = "v0.4.0", git = "https://github.com/ckan/ckanext-pages.git"}

werkzeug = {version = "==3.0.6", extras = ["watchdog"]}
"zope.interface" = "==6.4.post2"
# Submodules
ckanext-auth = {editable = true, path = "./submodules/ckanext-auth"}
ckanext-authz-service = {editable = true, path = "./submodules/ckanext-authz-service"}
ckanext-dhis2harvester = {editable = true, path = "./submodules/ckanext-dhis2harvester"}
ckanext-emailasusername = {editable = true, path = "./submodules/ckanext-emailasusername"}
ckanext-harvest = {editable = true, path = "./submodules/ckanext-harvest"}
Expand All @@ -76,65 +59,70 @@ ckanext-validation = {editable = true, path = "./submodules/ckanext-validation"}
ckanext-blob-storage = {editable = true, path = "./submodules/ckanext-blob-storage"}
ckanext-ytp-request = {editable = true, path = "./submodules/ckanext-ytp-request"}
ckanext-fork = {editable = true, path = "./submodules/ckanext-fork"}
ckanext-saml2auth = {editable = true, path = "./submodules/ckanext-saml2auth"}
ckanext-geoview = {editable = true, path = "./submodules/ckanext-geoview"}
ckan = {editable = true, path = "./submodules/ckan"}
# end of submodules
ckanext-saml2auth = "==1.3.0"
# Additional CKAN extensions (local submodule)
ckanext-pages = {editable = true, path = "./submodules/ckanext-pages"}
# Additional ADX dependencies
ckanapi = "==4.3"
pysaml2 = ">=6.5.1,<7.4"
"repoze.who" = "==2.3"
importlib-resources = "*"
cffi = "==1.14.5"
cryptography = "~=3.4.7"
pycparser = "==2.20"
typing-extensions = "~=4.3.0"
typing = "==3.7.4.3"
typing-extensions = "==4.12.2"
ckantoolkit = ">=0.0.3"
python-slugify = "==4.0.0"
pandas = ">=1.4.2"
python-slugify = ">=5.0.0"
numpy = "==1.26.4"
pandas = "==2.0.3"
pika = ">=1.1.0"
pyopenssl = "~=18.0.0"
pycountry = "==19.8.18"
giftless-client = "==0.1.1"
cssmin = "==0.2.0"
goodtables = "==2.2.1"
pyshp = "==2.1.0"
pyrsistent = "==0.16.0"
jsonschema = "==3.2.0"
charset-normalizer = "==2.0.12"
charset-normalizer = "==3.3.2"
python-dotenv = "==1.0.0"
python-jose = "==3.3.0"
setuptools = "==67.2.0"
setuptools = ">=65.0.0"
raven = "==6.10.0"
frictionless = {editable = true, ref = "jinja2_2_10_1", git = "https://github.com/fjelltopp/frictionless-py", extras=["ckan"]}
frictionless-geojson = {editable = true, ref = "v1.1.0rc1", git = "https://github.com/fjelltopp/frictionless-geojson"}
jinja2 = "==2.10.1"
tableschema = "==1.20.2"
frictionless = ">=5.0.0,<6.0.0"
markupsafe = ">=2.0.1"

[dev-packages]
beautifulsoup4 = "==4.9.1"
# CKAN 2.11.4 dev dependencies
beautifulsoup4 = "==4.14.3"
cookiecutter = "==2.6.0"
coveralls = "*"
docutils = "==0.13.1"
factory-boy = "==2.12.0"
freezegun = "==0.3.15"
ipdb = "==0.13.2"
responses = "==0.10.14"
mock = "==2.0.0"
pycodestyle = "==2.5.0"
pip-tools = "==5.1.2"
sphinx-rtd-theme = "==0.4.3"
cookiecutter = "==1.7.0"
pytest = "==7.1.2"
pytest-split-tests = "==1.0.9"
pytest-cov = "==2.7.1"
pytest-freezegun = "==0.4.1"
pytest-rerunfailures = "==10.2"
faker = "==26.0.0"
factory-boy = "==3.3.0"
flask-debugtoolbar = "==0.15.1"
freezegun = "==1.5.1"
ipdb = "==0.13.13"
pip-tools = "==7.4.1"
pillow = "==10.4.0"
responses = "==0.25.3"
sphinx-rtd-theme = "==2.0.0"
sphinx = "==7.3.7"
toml = "==0.10.2"
towncrier = "==23.11.0"
pytest = "==8.3.4"
pytest-cov = "==6.0.0"
pytest-factoryboy = "==2.7.0"
pytest-freezegun = "==0.4.2"
pytest-rerunfailures = "==15.0"
pytest-split = "==0.10.0"
pytest-retry = "==1.7.0"
pytest-mock = "*"
towncrier = "==19.2.0"
Sphinx = "==1.8.5"
Flask-DebugToolbar = "==0.11.0"
rarfile = "*"
slugify = "*"
pydevd-pycharm = "*"
pytest-ckan = "*"
pyfakefs = "==3.2"
twine = "*"
coverage = "==7.7.1"
junitparser = "==3.2.0"
junit2html = "==31.0.2"

[requires]
python_version = "3.8"
python_version = "3.10"
Loading