Skip to content
Merged
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
easyblock = 'PythonBundle'

name = 'cookiecutter'
version = '2.6.0'

homepage = 'https://github.com/cookiecutter/cookiecutter'
description = """A command-line utility that creates projects from project templates.
E.g. creating a Python package project from a Python package project template."""

toolchain = {'name': 'GCCcore', 'version': '12.3.0'}

builddependencies = [('binutils', '2.40')]
dependencies = [
('Python', '3.11.3'),
('Python-bundle-PyPI', '2023.06'),
('PyYAML', '6.0'),
('python-slugify', '8.0.4'),
('text-unidecode', '1.3'),
]

exts_list = [
('arrow', '1.2.3', {
'checksums': ['3934b30ca1b9f292376d9db15b19446088d12ec58629bc3f0da28fd55fb633a1'],
}),
('binaryornot', '0.4.4', {
'checksums': ['359501dfc9d40632edc9fac890e19542db1a287bbcfa58175b66658392018061'],
}),
(name, version, {
'checksums': ['db21f8169ea4f4fdc2408d48ca44859349de2647fbe494a9d6c3edfc0542c21c'],
}),
]

moduleclass = 'devel'
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
easyblock = 'PythonPackage'

name = 'debugpy'
version = '1.6.7.post1'

homepage = 'https://aka.ms/debugpy'
description = """An implementation of the Debug Adapter Protocol for Python"""

toolchain = {'name': 'GCCcore', 'version': '12.3.0'}

sources = [SOURCE_ZIP]
checksums = ['fe87ec0182ef624855d05e6ed7e0b7cb1359d2ffa2a925f8ec2d22e98b75d0ca']

builddependencies = [('binutils', '2.40')]

dependencies = [
('Python', '3.11.3'),
]

moduleclass = 'debugger'
25 changes: 25 additions & 0 deletions easybuild/easyconfigs/n/numpydoc/numpydoc-1.8.0-GCCcore-12.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
easyblock = 'PythonPackage'

name = 'numpydoc'
version = '1.8.0'

homepage = 'https://numpydoc.readthedocs.io/'
description = """Sphinx extension to support docstrings in Numpy format

This package provides the numpydoc Sphinx extension for handling docstrings formatted
according to the NumPy documentation format.
The extension also adds the code description directives np:function, np-c:function, etc."""

toolchain = {'name': 'GCCcore', 'version': '12.3.0'}

sources = [SOURCE_TAR_GZ]
checksums = ['022390ab7464a44f8737f79f8b31ce1d3cfa4b4af79ccaa1aac5e8368db587fb']

builddependencies = [('binutils', '2.40')]

dependencies = [
('Python', '3.11.3'),
('Python-bundle-PyPI', '2023.06'),
]

moduleclass = 'devel'
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
easyblock = 'CargoPythonPackage'

name = 'python-jellyfish'
version = '1.1.0'

homepage = 'https://jamesturk.github.io/jellyfish'
description = """jellyfish is a library for approximate & phonetic matching of strings."""

toolchain = {'name': 'GCCcore', 'version': '12.3.0'}

source_urls = ['https://pypi.python.org/packages/source/j/jellyfish']
sources = ['jellyfish-%(version)s.tar.gz']
checksums = [
{'jellyfish-1.1.0.tar.gz': '2a2eec494c81dc1eb23dfef543110dad1873538eccaffabea8520bdac8aecbc1'},
{'ahash-0.8.11.tar.gz': 'e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011'},
{'autocfg-1.3.0.tar.gz': '0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0'},
{'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'},
{'csv-1.3.0.tar.gz': 'ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe'},
{'csv-core-0.1.11.tar.gz': '5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70'},
{'getrandom-0.2.15.tar.gz': 'c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7'},
{'heck-0.5.0.tar.gz': '2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea'},
{'indoc-2.0.5.tar.gz': 'b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5'},
{'itoa-1.0.11.tar.gz': '49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b'},
{'libc-0.2.155.tar.gz': '97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c'},
{'memchr-2.7.4.tar.gz': '78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3'},
{'memoffset-0.9.1.tar.gz': '488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a'},
{'num-traits-0.2.19.tar.gz': '071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841'},
{'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'},
{'portable-atomic-1.7.0.tar.gz': 'da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265'},
{'proc-macro2-1.0.86.tar.gz': '5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77'},
{'pyo3-0.22.2.tar.gz': '831e8e819a138c36e212f3af3fd9eeffed6bf1510a805af35b0edee5ffa59433'},
{'pyo3-build-config-0.22.2.tar.gz': '1e8730e591b14492a8945cdff32f089250b05f5accecf74aeddf9e8272ce1fa8'},
{'pyo3-ffi-0.22.2.tar.gz': '5e97e919d2df92eb88ca80a037969f44e5e70356559654962cbb3316d00300c6'},
{'pyo3-macros-0.22.2.tar.gz': 'eb57983022ad41f9e683a599f2fd13c3664d7063a3ac5714cae4b7bee7d3f206'},
{'pyo3-macros-backend-0.22.2.tar.gz': 'ec480c0c51ddec81019531705acac51bcdbeae563557c982aa8263bb96880372'},
{'quote-1.0.36.tar.gz': '0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7'},
{'ryu-1.0.18.tar.gz': 'f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f'},
{'serde-1.0.204.tar.gz': 'bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12'},
{'serde_derive-1.0.204.tar.gz': 'e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222'},
{'smallvec-1.13.2.tar.gz': '3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67'},
{'syn-2.0.72.tar.gz': 'dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af'},
{'target-lexicon-0.12.15.tar.gz': '4873307b7c257eddcb50c9bedf158eb669578359fb28428bef438fec8e6ba7c2'},
{'tinyvec-1.8.0.tar.gz': '445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938'},
{'tinyvec_macros-0.1.1.tar.gz': '1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20'},
{'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'},
{'unicode-normalization-0.1.23.tar.gz': 'a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5'},
{'unicode-segmentation-1.11.0.tar.gz': 'd4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202'},
{'unindent-0.2.3.tar.gz': 'c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce'},
{'version_check-0.9.5.tar.gz': '0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a'},
{'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'},
{'zerocopy-0.7.35.tar.gz': '1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0'},
{'zerocopy-derive-0.7.35.tar.gz': 'fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e'},
]

crates = [
('ahash', '0.8.11'),
('autocfg', '1.3.0'),
('cfg-if', '1.0.0'),
('csv', '1.3.0'),
('csv-core', '0.1.11'),
('getrandom', '0.2.15'),
('heck', '0.5.0'),
('indoc', '2.0.5'),
('itoa', '1.0.11'),
('libc', '0.2.155'),
('memchr', '2.7.4'),
('memoffset', '0.9.1'),
('num-traits', '0.2.19'),
('once_cell', '1.19.0'),
('portable-atomic', '1.7.0'),
('proc-macro2', '1.0.86'),
('pyo3', '0.22.2'),
('pyo3-build-config', '0.22.2'),
('pyo3-ffi', '0.22.2'),
('pyo3-macros', '0.22.2'),
('pyo3-macros-backend', '0.22.2'),
('quote', '1.0.36'),
('ryu', '1.0.18'),
('serde', '1.0.204'),
('serde_derive', '1.0.204'),
('smallvec', '1.13.2'),
('syn', '2.0.72'),
('target-lexicon', '0.12.15'),
('tinyvec', '1.8.0'),
('tinyvec_macros', '0.1.1'),
('unicode-ident', '1.0.12'),
('unicode-normalization', '0.1.23'),
('unicode-segmentation', '1.11.0'),
('unindent', '0.2.3'),
('version_check', '0.9.5'),
('wasi', '0.11.0+wasi-snapshot-preview1'),
('zerocopy', '0.7.35'),
('zerocopy-derive', '0.7.35'),
]

builddependencies = [
('binutils', '2.40'),
('maturin', '1.4.0', '-Rust-1.75.0'),
]
dependencies = [
('Python', '3.11.3'),
]

options = {'modulename': 'jellyfish'}

moduleclass = 'tools'
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
easyblock = 'PythonPackage'

name = 'python-slugify'
version = '8.0.4'

homepage = 'https://github.com/un33k/python-slugify'
description = """A Python slugify application that also handles Unicode
Best attempt to create slugs from unicode strings while keeping it DRY.
"""

toolchain = {'name': 'GCCcore', 'version': '12.3.0'}

sources = [SOURCE_TAR_GZ]
checksums = ['59202371d1d05b54a9e7720c5e038f928f45daaffe41dd10822f3907b937c856']

builddependencies = [('binutils', '2.40')]

dependencies = [
('Python', '3.11.3'),
('text-unidecode', '1.3'),
]

options = {'modulename': 'slugify'}

moduleclass = 'devel'
88 changes: 88 additions & 0 deletions easybuild/easyconfigs/s/Spyder/Spyder-5.5.1-GCCcore-12.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
easyblock = 'CargoPythonBundle'

name = 'Spyder'
version = '5.5.1'

homepage = 'https://github.com/spyder-ide/spyder'
description = """Spyder is an interactive Python development environment providing MATLAB-like features in a simple
and light-weighted software."""

toolchain = {'name': 'GCCcore', 'version': '12.3.0'}

builddependencies = [
('binutils', '2.40'),
]
dependencies = [
('Python', '3.11.3'),
('Python-bundle-PyPI', '2023.06'),
('BeautifulSoup', '4.12.2'),
('cookiecutter', '2.6.0'),
('debugpy', '1.6.7.post1'),
('dill', '0.3.7'),
('IPython', '8.14.0'),
('jupyter-server', '2.7.2'),
('numpydoc', '1.8.0'),
('python-lsp-server', '1.10.1'),
('python-jellyfish', '1.1.0'),
('Pylint', '3.0.4'),
('PyQt5', '5.15.10'),
('PyZMQ', '25.1.1'),
('QtPy', '2.4.1'),
('Rtree', '1.2.0'),
('wurlitzer', '3.1.1'),
]

exts_list = [
('pyxdg', '0.28', {
'modulename': 'xdg',
'checksums': ['3267bb3074e934df202af2ee0868575484108581e6f3cb006af1da35395e88b4'],
}),
('inflection', '0.5.1', {
'checksums': ['1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417'],
}),
('pyls-spyder', '0.4.0', {
'checksums': ['45a321c83f64267d82907492c55199fccabda45bc872dd23bf1efd08edac1b0b'],
}),
('textdistance', '4.6.3', {
'checksums': ['d6dabc50b4ea832cdcf0e1e6021bd0c7fcd9ade155888d79bb6a3c31fce2dc6f'],
}),
('qtconsole', '5.5.2', {
'checksums': ['6b5fb11274b297463706af84dcbbd5c92273b1f619e6d25d08874b0a88516989'],
}),
('spyder-kernels', '2.5.0', {
'checksums': ['3368426c04457e0211884e9274fa47eb556252ba4c073df275e83c65df7ba2a1'],
}),
('three-merge', '0.1.1', {
'checksums': ['60f6afe144595560d63ae32625351bcef3b94733b54eb97800a9feb0f3d9d970'],
}),
('watchdog', '5.0.3', {
'checksums': ['108f42a7f0345042a854d4d0ad0834b741d421330d5f575b81cb27b883500176'],
}),
('QDarkStyle', '3.2.3', {
'checksums': ['0c0b7f74a6e92121008992b369bab60468157db1c02cd30d64a5e9a3b402f1ae'],
}),
('QtAwesome', '1.2.3', {
'checksums': ['0db96484f3ac7a53c88279736b39b6f881a3f6bbd2163d4f0d043b74b1ef9131'],
}),
('qstylizer', '0.2.3', {
'checksums': ['5f2f5eb2c65c6c45e950462b565fcaa5107a91d1cfc1a85b8e0d831d727ee8f6'],
}),
('diff-match-patch', '20230430', {
'checksums': ['953019cdb9c9d2c9e47b5b12bcff3cf4746fc4598eb406076fa1fc27e6a1f15c'],
}),
('spyder', version, {
'patches': ['Spyder-5.5.1_dont_remove_PYTHONPATH.patch'],
'checksums': [
{'spyder-5.5.1.tar.gz': 'fb3f098f4780fe6607d6bf19414c98505324ee1d660718e84c3e58664d1c1f49'},
{'Spyder-5.5.1_dont_remove_PYTHONPATH.patch':
'df5a6ab600b800690698866137cec20f4668bd6e748695cdd8bfcaf35ad8071f'},
],
}),
]

enhance_sanity_check = True
sanity_check_paths = {'files': ['bin/spyder'], 'dirs': []}

sanity_check_commands = ["spyder --help"]

moduleclass = 'tools'
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
We don't want to remove $PYTHONPATH entries set by modules.
Hence remove the code that seemingly was added to workaround user mistakes.

See https://github.com/spyder-ide/spyder/issues/22681
Author: Alexander Grund (TU Dresden)

diff --git a/spyder/app/start.py b/spyder/app/start.py
index 97b08a600..47873cab2 100644
--- a/spyder/app/start.py
+++ b/spyder/app/start.py
@@ -6,21 +6,8 @@
# (see spyder/__init__.py for details)
# -----------------------------------------------------------------------------

-# Remove PYTHONPATH paths from sys.path before other imports to protect against
-# shadowed standard libraries.
import os
import sys
-if os.environ.get('PYTHONPATH'):
- for path in os.environ['PYTHONPATH'].split(os.pathsep):
- if os.name == 'nt' and 'pkgs' in path:
- # Don't remove pynsist installer entry for 'pkgs' directory
- continue
- else:
- try:
- sys.path.remove(path.rstrip(os.sep))
- except ValueError:
- pass
-
# Standard library imports
import ctypes
import logging

diff --git a/spyder/plugins/ipythonconsole/utils/kernelspec.py b/spyder/plugins/ipythonconsole/utils/kernelspec.py
index 5141015bf..dc0760b27 100644
--- a/spyder/plugins/ipythonconsole/utils/kernelspec.py
+++ b/spyder/plugins/ipythonconsole/utils/kernelspec.py
@@ -135,9 +135,6 @@ def env(self):
# to the kernel sys.path
env_vars.pop('VIRTUAL_ENV', None)

- # Do not pass PYTHONPATH to kernels directly, spyder-ide/spyder#13519
- env_vars.pop('PYTHONPATH', None)
-
# List of paths declared by the user, plus project's path, to
# add to PYTHONPATH
pathlist = self.get_conf(
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
easyblock = 'PythonPackage'

name = 'text-unidecode'
version = '1.3'

homepage = 'https://github.com/kmike/text-unidecode'
description = """text-unidecode is the most basic port of the Text::Unidecode Perl library."""

toolchain = {'name': 'GCCcore', 'version': '12.3.0'}

sources = [SOURCE_TAR_GZ]
checksums = ['bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93']

builddependencies = [('binutils', '2.40')]

dependencies = [('Python', '3.11.3')]

moduleclass = 'devel'
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
easyblock = 'PythonPackage'

name = 'wurlitzer'
version = '3.1.1'

homepage = 'https://github.com/minrk/wurlitzer'
description = """Capture C-level output in context managers

For more details on why this is needed, please read this blog post:
https://eli.thegreenplace.net/2015/redirecting-all-kinds-of-stdout-in-python
"""

toolchain = {'name': 'GCCcore', 'version': '12.3.0'}

sources = [SOURCE_TAR_GZ]
checksums = ['bfb9144ab9f02487d802b9ff89dbd3fa382d08f73e12db8adc4c2fb00cd39bd9']

builddependencies = [('binutils', '2.40')]

dependencies = [('Python', '3.11.3')]

moduleclass = 'devel'