From 93d5569a72aa9331a964f22e3b2c4cbec530a70d Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Thu, 28 Mar 2024 13:34:21 +0100 Subject: [PATCH 1/2] adding easyconfigs: SQLAlchemy-2.0.29-GCCcore-12.2.0.eb, psycopg-3.1.18-GCCcore-12.2.0.eb, Greenlet-2.0.2-GCCcore-12.2.0.eb --- .../Greenlet/Greenlet-2.0.2-GCCcore-12.2.0.eb | 28 +++++++++++ .../psycopg/psycopg-3.1.18-GCCcore-12.2.0.eb | 24 ++++++++++ .../SQLAlchemy-2.0.29-GCCcore-12.2.0.eb | 48 +++++++++++++++++++ 3 files changed, 100 insertions(+) create mode 100644 easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-12.2.0.eb create mode 100644 easybuild/easyconfigs/p/psycopg/psycopg-3.1.18-GCCcore-12.2.0.eb create mode 100644 easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.29-GCCcore-12.2.0.eb diff --git a/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..5c3a5d69c9d --- /dev/null +++ b/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'Greenlet' +version = '2.0.2' + +homepage = 'https://github.com/python-greenlet/greenlet' + +description = """The greenlet package is a spin-off of Stackless, a version of CPython that +supports micro-threads called "tasklets". Tasklets run pseudo-concurrently (typically in a single +or a few OS-level threads) and are synchronized with data exchanges on "channels". +A "greenlet", on the other hand, is a still more primitive notion of micro-thread with no implicit +scheduling; coroutines, in other words. This is useful when you want to control exactly when your code runs. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [('binutils', '2.39')] +dependencies = [('Python', '3.10.8')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/psycopg/psycopg-3.1.18-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/psycopg/psycopg-3.1.18-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..698d7dbd1c4 --- /dev/null +++ b/easybuild/easyconfigs/p/psycopg/psycopg-3.1.18-GCCcore-12.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'psycopg' +version = '3.1.18' + +homepage = 'https://psycopg.org/' +description = "Psycopg is the most popular PostgreSQL adapter for the Python programming language." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['31144d3fb4c17d78094d9e579826f047d4af1da6a10427d91dfcfb6ecdf6f12b'] + +builddependencies = [('binutils', '2.39')] +dependencies = [ + ('Python', '3.10.8'), + ('PostgreSQL', '15.2'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.29-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.29-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..418e8a62aed --- /dev/null +++ b/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.29-GCCcore-12.2.0.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'SQLAlchemy' +version = '2.0.29' + +homepage = 'https://www.sqlalchemy.org/' +description = """SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives +application developers the full power and flexibility of SQL. SQLAlchemy +provides a full suite of well known enterprise-level persistence patterns, +designed for efficient and high-performing database access, adapted into a +simple and Pythonic domain language.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [('binutils', '2.39')] + + +dependencies = [ + ('Python', '3.10.8'), + ('Greenlet', '3.0.3'), + ('psycopg', '3.1.18'), # optional, postgresql extra + ('Mako', '1.2.4'), # needed by alembic +] + +use_pip = True + +exts_list = [ + ('async-timeout', '4.0.3', { + 'checksums': ['4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f'], + }), + ('asyncpg', '0.29.0', { + 'checksums': ['d1c49e1f44fffafd9a55e1a9b101590859d881d639ea2922516f5d9c512d354e'], + }), + ('typing_extensions', '4.7.1', { + 'checksums': ['b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2'], + }), + (name, version, { + 'use_pip_extras': 'asyncio,postgresql,postgresql_asyncpg', + 'checksums': ['bd9566b8e58cabd700bc367b60e90d9349cd16f0984973f98a9a09f9c64e86f0'], + }), + ('alembic', '1.13.1', { + 'checksums': ['4932c8558bf68f2ee92b9bbcb8218671c627064d5b08939437af6d77dc05e595'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' From f869f7bc76a9b9238455cb32778c8d06f233f53e Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Thu, 28 Mar 2024 13:36:53 +0100 Subject: [PATCH 2/2] Use existing Greenlet --- .../s/SQLAlchemy/SQLAlchemy-2.0.29-GCCcore-12.2.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.29-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.29-GCCcore-12.2.0.eb index 418e8a62aed..2f335afc78c 100644 --- a/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.29-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/s/SQLAlchemy/SQLAlchemy-2.0.29-GCCcore-12.2.0.eb @@ -17,7 +17,7 @@ builddependencies = [('binutils', '2.39')] dependencies = [ ('Python', '3.10.8'), - ('Greenlet', '3.0.3'), + ('Greenlet', '2.0.2'), ('psycopg', '3.1.18'), # optional, postgresql extra ('Mako', '1.2.4'), # needed by alembic ]