Compare commits

..

7 Commits

Author SHA1 Message Date
Sinan
aa1820eb5c pdal: new package (#42714)
* new package pdal

* [@spackbot] updating style on behalf of Sinan81

* fix style

* add license

* Update var/spack/repos/builtin/packages/pdal/package.py

Co-authored-by: Alec Scott <alec@bcs.sh>

* [@spackbot] updating style on behalf of Sinan81

* Update var/spack/repos/builtin/packages/pdal/package.py

Co-authored-by: Alec Scott <alec@bcs.sh>

* Update var/spack/repos/builtin/packages/pdal/package.py

Co-authored-by: Alec Scott <alec@bcs.sh>

* improve dependency spec

* add maintainer

* add conflict

* fix bug

* improve

* improve

* [@spackbot] updating style on behalf of Sinan81

* fix style

* specify cmake dependency version

---------

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Sinan81 <Sinan81@users.noreply.github.com>
Co-authored-by: Alec Scott <alec@bcs.sh>
2024-02-17 13:40:40 -08:00
George Young
16ea5f68ba cryodrgn: new package @2.3.0 (#42443)
* cryodrgn: new package @2.3.0

* correcting dependency ranges

* correcting dependency ranges

---------

Co-authored-by: LMS Bioinformatics <bioinformatics@lms.mrc.ac.uk>
2024-02-17 15:07:56 -06:00
Dani
aeec515b4f new builtin package: py-biobb-structure-utils (#42683) 2024-02-17 14:42:10 -06:00
Maciej Wójcik
6e2ec2950b py-kubernetes: add new versions (#42670)
* py-kubernetes: add new versions

* py-oauthlib: add new version
2024-02-17 14:32:20 -06:00
Maciej Wójcik
fe5772898d py-azure-... and py-msrest: add new versions (#42624)
* py-azure-batch: add new versions

* py-azure-core: add new versions

* py-azure-identity: add new versions

* py-azure-mgmt-batch: add new versions

* py-azure-mgmt-core: add new versions

* py-azure-storage-blob: add new versions

* py-msrest: add new versions

* Whitespace

* Whitespace

* py-msrest: add a note

* py-msrest: version-dependent URL

* py-azure-mgmt-batch: correct version of dependency
2024-02-17 14:24:11 -06:00
Alex Leute
384ddf8e93 py-smote-variants: Added package py-smote-variants (#42502)
* py-smote-variants: Added package py-smote-variants

Also added py-minisom and py-metric-learn as dependencies

* py-metric-learn: Added build dependency on setuptools

* py-smote-variants: Added a dependency on py-pytest-runner

As well as a comment about why statistics isn't included

* [@spackbot] updating style on behalf of alex391

---------

Co-authored-by: Alex C Leute <aclrc@rit.edu>
2024-02-17 14:20:03 -06:00
Tom Vander Aa
32c2e240f8 py-charm4py: needs Cython<3.0 (#42491)
* py-charm4py: needs Cython<3.0

* Update var/spack/repos/builtin/packages/py-charm4py/package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

---------

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2024-02-17 14:16:31 -06:00
23 changed files with 339 additions and 60 deletions

View File

@@ -115,7 +115,7 @@ def emulate_env_utility(cmd_name, context: Context, args):
f"Not all dependencies of {spec.name} are installed. "
f"Cannot setup {context} environment:",
spec.tree(
install_status=True,
status_fn=spack.spec.Spec.install_status,
hashlen=7,
hashes=True,
# This shows more than necessary, but we cannot dynamically change deptypes

View File

@@ -135,6 +135,8 @@ def _process_result(result, show, required_format, kwargs):
def solve(parser, args):
# these are the same options as `spack spec`
install_status_fn = spack.spec.Spec.install_status
fmt = spack.spec.DISPLAY_FORMAT
if args.namespaces:
fmt = "{namespace}." + fmt
@@ -144,7 +146,7 @@ def solve(parser, args):
"format": fmt,
"hashlen": None if args.very_long else 7,
"show_types": args.types,
"install_status": args.install_status,
"status_fn": install_status_fn if args.install_status else None,
"hashes": args.long or args.very_long,
}

View File

@@ -75,6 +75,8 @@ def setup_parser(subparser):
def spec(parser, args):
install_status_fn = spack.spec.Spec.install_status
fmt = spack.spec.DISPLAY_FORMAT
if args.namespaces:
fmt = "{namespace}." + fmt
@@ -84,7 +86,7 @@ def spec(parser, args):
"format": fmt,
"hashlen": None if args.very_long else 7,
"show_types": args.types,
"install_status": args.install_status,
"status_fn": install_status_fn if args.install_status else None,
}
# use a read transaction if we are getting install status for every

View File

@@ -2212,7 +2212,7 @@ def _tree_to_display(spec):
return spec.tree(
recurse_dependencies=True,
format=spack.spec.DISPLAY_FORMAT,
install_status=True,
status_fn=spack.spec.Spec.install_status,
hashlen=7,
hashes=True,
)

View File

@@ -186,11 +186,11 @@ class InstallStatus(enum.Enum):
Options are artificially disjoint for display purposes
"""
INSTALLED = "@g{[+]}"
UPSTREAM = "@g{[^]}"
EXTERNAL = "@g{[e]}"
ABSENT = "@K{ - }"
MISSING = "@r{[-]}"
installed = "@g{[+]} "
upstream = "@g{[^]} "
external = "@g{[e]} "
absent = "@K{ - } "
missing = "@r{[-]} "
def colorize_spec(spec):
@@ -1499,7 +1499,7 @@ def edge_attributes(self) -> str:
if not deptypes_str and not virtuals_str:
return ""
result = f"{deptypes_str} {virtuals_str}".strip()
return f"[{result}] "
return f"[{result}]"
def dependencies(
self, name=None, deptype: Union[dt.DepTypes, dt.DepFlag] = dt.ALL
@@ -4319,7 +4319,8 @@ def colorized(self):
return colorize_spec(self)
def format(self, format_string=DEFAULT_FORMAT, **kwargs):
r"""Prints out particular pieces of a spec, depending on what is in the format string.
r"""Prints out particular pieces of a spec, depending on what is
in the format string.
Using the ``{attribute}`` syntax, any field of the spec can be
selected. Those attributes can be recursive. For example,
@@ -4445,9 +4446,6 @@ def write_attribute(spec, attribute, color):
elif attribute == "spack_install":
write(morph(spec, spack.store.STORE.layout.root))
return
elif re.match(r"install_status", attribute):
write(self.install_status_symbol())
return
elif re.match(r"hash(:\d)?", attribute):
col = "#"
if ":" in attribute:
@@ -4542,18 +4540,8 @@ def write_attribute(spec, attribute, color):
"Format string terminated while reading attribute." "Missing terminating }."
)
# remove leading whitespace from directives that add it for internal formatting.
# Arch, compiler flags, and variants add spaces for spec format correctness, but
# we don't really want them in formatted string output. We do want to preserve
# whitespace from the format string.
formatted_spec = out.getvalue()
whitespace_attrs = [r"{arch=[^}]*}", r"{architecture}", r"{compiler_flags}", r"{variants}"]
if any(re.match(rx, format_string) for rx in whitespace_attrs):
formatted_spec = formatted_spec.lstrip()
if any(re.search(f"{rx}$", format_string) for rx in whitespace_attrs):
formatted_spec = formatted_spec.rstrip()
return formatted_spec
return formatted_spec.strip()
def cformat(self, *args, **kwargs):
"""Same as format, but color defaults to auto instead of False."""
@@ -4603,7 +4591,7 @@ def __str__(self):
self.traverse(root=False), key=lambda x: (x.name, x.abstract_hash)
)
sorted_dependencies = [
d.format("{edge_attributes}" + DEFAULT_FORMAT) for d in sorted_dependencies
d.format("{edge_attributes} " + DEFAULT_FORMAT) for d in sorted_dependencies
]
spec_str = " ^".join(root_str + sorted_dependencies)
return spec_str.strip()
@@ -4623,25 +4611,20 @@ def colored_str(self):
def install_status(self):
"""Helper for tree to print DB install status."""
if not self.concrete:
return InstallStatus.ABSENT
return InstallStatus.absent
if self.external:
return InstallStatus.EXTERNAL
return InstallStatus.external
upstream, record = spack.store.STORE.db.query_by_spec_hash(self.dag_hash())
if not record:
return InstallStatus.ABSENT
return InstallStatus.absent
elif upstream and record.installed:
return InstallStatus.UPSTREAM
return InstallStatus.upstream
elif record.installed:
return InstallStatus.INSTALLED
return InstallStatus.installed
else:
return InstallStatus.MISSING
def install_status_symbol(self):
"""Get an install status symbol."""
status = self.install_status()
return clr.colorize(status.value)
return InstallStatus.missing
def _installed_explicitly(self):
"""Helper for tree to print DB install status."""
@@ -4667,7 +4650,7 @@ def tree(
show_types: bool = False,
depth_first: bool = False,
recurse_dependencies: bool = True,
install_status: bool = False,
status_fn: Optional[Callable[["Spec"], InstallStatus]] = None,
prefix: Optional[Callable[["Spec"], str]] = None,
) -> str:
"""Prints out this spec and its dependencies, tree-formatted
@@ -4688,7 +4671,8 @@ def tree(
show_types: if True, show the (merged) dependency type of a node
depth_first: if True, traverse the DAG depth first when representing it as a tree
recurse_dependencies: if True, recurse on dependencies
install_status: if True, show installation status next to each spec
status_fn: optional callable that takes a node as an argument and return its
installation status
prefix: optional callable that takes a node as an argument and return its
installation prefix
"""
@@ -4702,9 +4686,6 @@ def tree(
):
node = dep_spec.spec
if install_status:
out += node.format("{install_status} ")
if prefix is not None:
out += prefix(node)
out += " " * indent
@@ -4712,6 +4693,15 @@ def tree(
if depth:
out += "%-4d" % d
if status_fn:
status = status_fn(node)
if status in list(InstallStatus):
out += clr.colorize(status.value, color=color)
elif status:
out += clr.colorize("@g{[+]} ", color=color)
else:
out += clr.colorize("@r{[-]} ", color=color)
if hashes:
out += clr.colorize("@K{%s} ", color=color) % node.dag_hash(hashlen)

View File

@@ -703,13 +703,6 @@ def check_prop(check_spec, fmt_str, prop, getter):
actual = spec.format(named_str)
assert expected == actual
def test_spec_format_instalL_status(self, database):
installed = database.query_one("mpileaks^zmpi")
assert installed.format("{install_status}") == "[+]"
not_installed = Spec("foo")
assert not_installed.format("{install_status}") == " - "
def test_spec_formatting_escapes(self, default_mock_concretization):
spec = default_mock_concretization("multivalue-variant cflags=-O2")

View File

@@ -0,0 +1,38 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Cryodrgn(PythonPackage):
"""CryoDRGN is a neural network based algorithm for heterogeneous cryo-EM reconstruction.
In particular, the method models a continuous distribution over 3D structures by using a
neural network based representation for the volume"""
homepage = "https://cryodrgn.cs.princeton.edu/"
pypi = "cryodrgn/cryodrgn-2.3.0.tar.gz"
license("GPL-3.0-only", checked_by="A-N-Other")
version("2.3.0", sha256="9dd75967fddfa56d6b2fbfc56933c50c9fb994326112513f223e8296adbf0afc")
depends_on("python@3.7:", type=("build", "run"))
depends_on("py-setuptools@61:", type="build")
depends_on("py-setuptools-scm@6.2:", type="build")
depends_on("py-torch@1:", type=("build", "run"))
depends_on("py-pandas@:1", type=("build", "run"))
depends_on("py-numpy", type=("build", "run"))
depends_on("py-matplotlib", type=("build", "run"))
depends_on("py-pyyaml", type=("build", "run"))
depends_on("py-scipy@1.3.1:", type=("build", "run"))
depends_on("py-scikit-learn", type=("build", "run"))
depends_on("py-seaborn@:0.11", type=("build", "run"))
depends_on("py-cufflinks", type=("build", "run"))
depends_on("py-jupyterlab", type=("build", "run"))
depends_on("py-umap-learn", type=("build", "run"))
depends_on("py-ipywidgets@:7", type=("build", "run"))
depends_on("py-healpy", type=("build", "run"))

View File

@@ -0,0 +1,42 @@
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Pdal(CMakePackage):
"""PDAL is a C++ library for translating and manipulating point cloud data.
It is very much like the GDAL library which handles raster and vector data.
"""
homepage = "https://pdal.io"
url = "https://github.com/PDAL/PDAL/archive/refs/tags/2.6.2.tar.gz"
maintainers("adamjstewart")
license("BSD")
version("2.6.2", sha256="ec4175cfe19dc6b70a0434850f837317f7202f84b63cd8dcc65ca83e04678f57")
version("2.6.1", sha256="da6e615f01b6110414ef3e2250f112e49df129091abc91ba6866bb01dc68454e")
version("2.6.0", sha256="12eedeac16ec3aaef42f06078f03f657701c25781207a8e09a3547519228780e")
version("2.5.6", sha256="de4177305e380d21187da8ec90afda64756bbde5e925035bd53e54a6e349df18")
version("2.5.5", sha256="6bf4f34bc0bf1bce52b8daecb03a7f45d218c0374bfa00783c787b9e54d56d72")
version("2.4.3", sha256="e1a910d593311e68b51f32d1f4f8fe4327b97ae7a8de209147b6111091b6f75b")
version("2.3.0", sha256="8ae848e9b3fe5149a9277fe60e10b9858edb9a3cf1a40728f11712498e5da13a")
depends_on("cmake@3.13:", type="build")
depends_on("gdal@3:")
depends_on("gdal@3.4:", when="@2.6:")
depends_on("gdal@:3.6", when="@:2.4")
depends_on("libgeotiff@1.3.0:")
depends_on("proj@4.9.3:")
# https://github.com/PDAL/PDAL/issues/3826
patch("stdcppfs.patch", when="@:2.6.1 %gcc@:8")
msg = "a new stdc++fs patch is needed for version 2.6.2 onwards with gcc@8 or older"
conflicts("%gcc@:8", when="@2.6.2:", msg=msg)
def cmake_args(self):
return [self.define("PROJ_INCLUDE_DIR", self.spec["proj"].prefix.include)]

View File

@@ -0,0 +1,8 @@
--- spack-src/pdal/util/CMakeLists.txt 2022-08-05 10:29:13.000000000 -0700
+++ spack-src/pdal/util/CMakeLists.txt_new 2024-02-15 17:50:10.882186258 -0800
@@ -46,3 +46,5 @@
CLEAN_DIRECT_OUTPUT 1)
set_property(GLOBAL PROPERTY _UTIL_INCLUDED TRUE)
+
+target_link_libraries(${PDAL_UTIL_LIB_NAME} PRIVATE -lstdc++fs)

View File

@@ -13,9 +13,20 @@ class PyAzureBatch(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-batch/azure-batch-9.0.0.zip"
version("14.0.0", sha256="165b1e99b86f821024c4fae85fb34869d407aa0ebb0ca4b96fb26d859c26c934")
version("13.0.0", sha256="e9295de70404d276eda0dd2253d76397439abe5d8f18c1fca199c49b8d6ae30a")
version("12.0.0", sha256="1a9b1e178984a7bf495af67bcce51f0db1e4a8a957afb29e33554a14a9674deb")
version("11.0.0", sha256="ce5fdb0ec962eddfe85cd82205e9177cb0bbdb445265746e38b3bbbf1f16dc73")
version("10.0.0", sha256="83d7a2b0be42ca456ac2b56fa3dc6ce704c130e888d37d924072c1d3718f32d0")
version("9.0.0", sha256="47ca6f50a640915e1cdc5ce3c1307abe5fa3a636236e561119cf62d9df384d84")
# https://github.com/Azure/azure-sdk-for-python/blob/azure-batch_14.0.0/sdk/batch/azure-batch/setup.py
depends_on("py-setuptools", type="build")
depends_on("py-msrest@0.5.0:", type=("build", "run"))
depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
depends_on("py-azure-common@1.1:1", type=("build", "run"))
with when("@:12"):
depends_on("py-msrest@0.6.21:", when="@11:", type=("build", "run"))
depends_on("py-msrest@0.5.0:", type=("build", "run"))

View File

@@ -15,14 +15,21 @@ class PyAzureCore(PythonPackage):
license("MIT")
version("1.29.2", sha256="beb0fe88d1043d8457318e8fb841d9caa648211092eda213c16b376401f3710d")
version("1.28.0", sha256="e9eefc66fc1fde56dab6f04d4e5d12c60754d5a9fa49bdcfd8534fc96ed936bd")
version("1.27.1", sha256="5975c20808fa388243f01a8b79021bfbe114f503a27c543f002c5fc8bbdd73dd")
version("1.26.4", sha256="075fe06b74c3007950dd93d49440c2f3430fd9b4a5a2756ec8c79454afc989c6")
version("1.26.1", sha256="223b0e90cbdd1f03c41b195b03239899843f20d00964dbb85e64386873414a2d")
version("1.21.1", sha256="88d2db5cf9a135a7287dc45fdde6b96f9ca62c9567512a3bb3e20e322ce7deb2")
version("1.7.0", sha256="a66da240a287f447f9867f54ba09ea235895cec13ea38c5f490ce4eedefdd75c")
version("1.6.0", sha256="d10b74e783cff90d56360e61162afdd22276d62dc9467e657ae866449eae7648")
# https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/setup.py
# https://github.com/Azure/azure-sdk-for-python/blob/azure-core_1.29.2/sdk/core/azure-core/setup.py
depends_on("py-setuptools", type="build")
depends_on("py-requests@2.18.4:", type=("build", "run"))
depends_on("py-six@1.6:", when="@:1.21", type=("build", "run"))
depends_on("py-six@1.11:", when="@1.21:", type=("build", "run"))
depends_on("py-typing-extensions@4.6:", when="@1.29.2:", type=("build", "run"))
depends_on("py-typing-extensions@4.3:", when="@1.26.4:", type=("build", "run"))
depends_on("py-typing-extensions@4.0.1:", when="@1.26:", type=("build", "run"))

View File

@@ -21,18 +21,23 @@ class PyAzureIdentity(PythonPackage):
license("MIT")
version("1.14.1", sha256="48e2a9dbdc59b4f095f841d867d9a8cbe4c1cdbbad8251e055561afd47b4a9b8")
version("1.13.0", sha256="c931c27301ffa86b07b4dcf574e29da73e3deba9ab5d1fe4f445bb6a3117e260")
version("1.12.0", sha256="7f9b1ae7d97ea7af3f38dd09305e19ab81a1e16ab66ea186b6579d85c1ca2347")
version("1.3.1", sha256="5a59c36b4b05bdaec455c390feda71b6495fc828246593404351b9a41c2e877a")
version("1.2.0", sha256="b32acd1cdb6202bfe10d9a0858dc463d8960295da70ae18097eb3b85ab12cb91")
# https://github.com/Azure/azure-sdk-for-python/blob/azure-identity_1.12.0/sdk/identity/azure-identity/setup.py
# https://github.com/Azure/azure-sdk-for-python/blob/azure-identity_1.14.1/sdk/identity/azure-identity/setup.py
depends_on("py-setuptools", type="build")
with when("@1.12:"):
depends_on("py-azure-core@1.11:1", type=("build", "run"))
depends_on("py-cryptography@2.5:", type=("build", "run"))
depends_on("py-msal@1.20:1", type=("build", "run"), when="@1.13:")
depends_on("py-msal@1.12:1", type=("build", "run"))
depends_on("py-msal-extensions@0.3:1", type=("build", "run"))
depends_on("py-six@1.12:", type=("build", "run"))
depends_on("py-six@1.12:", type=("build", "run"), when="@1.12")
with when("@:1.11"):
depends_on("py-azure-core@1", type=("build", "run"))

View File

@@ -11,11 +11,28 @@ class PyAzureMgmtBatch(PythonPackage):
"""Microsoft Azure Batch Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-batch/azure-mgmt-batch-9.0.0.zip"
pypi = "azure-mgmt-batch/azure-mgmt-batch-17.1.0.zip"
version("17.1.0", sha256="385bf920898dc2d5807865fbe45019f10cdfbef651c6dbfa4745a842525dbafb")
version("16.2.0", sha256="69691066cd5a2c86e8fdaaefbb80e2940381acedfc8053df193b5214d2ece682")
version("15.0.0", sha256="9b793bb31a0d4dc8c29186db61db24d83795851a75846aadb187cf95bf853ccb")
version("14.0.0", sha256="1d3b2c9ebd57c8874e11d29e7dd05a1f078d2156fc9683e2f2ad41024e448bf6")
version("10.0.1", sha256="455e2f1010a59163bfd25d72e9d8dc7847df566795bc35655bcb2de925763d33")
version("9.0.0", sha256="03417eecfa1fac906e674cb1cb43ed7da27a96277277b091d7c389ba39f6c3fe")
# https://github.com/Azure/azure-sdk-for-python/blob/azure-mgmt-batch_14.0.0/sdk/batch/azure-mgmt-batch/setup.py
depends_on("py-setuptools", type="build")
depends_on("py-msrest@0.5.0:", type=("build", "run"))
depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
depends_on("py-isodate@0.6.1:0", type=("build", "run"), when="@17.1:")
depends_on("py-azure-common@1.1:1", type=("build", "run"))
depends_on("py-azure-mgmt-core@1.2:1", type=("build", "run"), when="@14:")
depends_on("py-azure-mgmt-core@1.3:1", type=("build", "run"), when="@16.1:")
depends_on("py-azure-mgmt-core@1.3.2:1", type=("build", "run"), when="@17:")
with when("@:17.0"):
depends_on("py-msrest@0.5.0:", type=("build", "run"))
depends_on("py-msrest@0.6.21:", type=("build", "run"), when="@16:")
depends_on("py-msrest@0.7.1:", type=("build", "run"), when="@17:")
depends_on("py-msrestazure@0.4.32:1", type=("build", "run"), when="@:10")

View File

@@ -15,9 +15,20 @@ class PyAzureMgmtCore(PythonPackage):
license("MIT")
version("1.4.0", sha256="d195208340094f98e5a6661b781cde6f6a051e79ce317caabd8ff97030a9b3ae")
version("1.3.2", sha256="07f4afe823a55d704b048d61edfdc1318c051ed59f244032126350be95e9d501")
version("1.2.2", sha256="4246810996107f72482a9351cf918d380c257e90942144ec9c0c2abda1d0a312")
version("1.2.0", sha256="8fe3b59446438f27e34f7b24ea692a982034d9e734617ca1320eedeee1939998")
version("1.0.0", sha256="510faf49a10daec8346cc086143d8e667ef3b4f8c8022a8e710091027631a55e")
# https://github.com/Azure/azure-sdk-for-python/blob/azure-mgmt-core_1.4.0/sdk/core/azure-mgmt-core/setup.py
depends_on("py-setuptools", type="build")
depends_on("py-azure-core@1.26.2:1", when="@1.4.0:", type=("build", "run"))
depends_on("py-azure-core@1.24:1", when="@1.3.2:", type=("build", "run"))
depends_on("py-azure-core@1.23:1", when="@1.3.1:", type=("build", "run"))
depends_on("py-azure-core@1.15:1", when="@1.3:", type=("build", "run"))
depends_on("py-azure-core@1.9:1", when="@1.2.2:", type=("build", "run"))
depends_on("py-azure-core@1.8.2:1", when="@1.2.1:", type=("build", "run"))
depends_on("py-azure-core@1.7.0:1", when="@1.2:", type=("build", "run"))
depends_on("py-azure-core@1.4.0:1", type=("build", "run"))

View File

@@ -3,6 +3,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
@@ -15,9 +16,31 @@ class PyAzureStorageBlob(PythonPackage):
license("MIT")
version("12.17.0", sha256="c14b785a17050b30fc326a315bdae6bc4a078855f4f94a4c303ad74a48dc8c63")
version("12.16.0", sha256="43b45f19a518a5c6895632f263b3825ebc23574f25cc84b66e1630a6160e466f")
version("12.15.0", sha256="f8b8d582492740ab16744455408342fb8e4c8897b64a8a3fc31743844722c2f2")
version("12.14.0", sha256="a72dd9923e4b38a552f2bc1749d1fa5b820f497a8fb3cd2d77e7045bbe87bb4d")
version("12.13.1", sha256="899c4b8e2671812d2cf78f107556a27dbb128caaa2bb06094e72a3d5836740af")
version("12.12.0", sha256="f6daf07d1ca86d189ae15c9b1859dff5b7127bf24a07a4bbe41e0b81e01d62f7")
version("12.11.0", sha256="49535b3190bb69d0d9ff7a383246b14da4d2b1bdff60cae5f9173920c67ca7ee")
version("12.10.0", sha256="3c7dc2c93e7ff2a731acd66a36a1f0a6266072b4154deba4894dab891285ea3a")
version("12.9.0", sha256="cff66a115c73c90e496c8c8b3026898a3ce64100840276e9245434e28a864225")
# https://github.com/Azure/azure-sdk-for-python/blob/azure-storage-blob_12.17.0/sdk/storage/azure-storage-blob/setup.py
depends_on("py-setuptools", type="build")
depends_on("py-azure-core@1.28:1", type=("build", "run"), when="@12.17:")
depends_on("py-azure-core@1.26:1", type=("build", "run"), when="@12.15:")
depends_on("py-azure-core@1.24.2:1", type=("build", "run"), when="@12.14:")
depends_on("py-azure-core@1.23.1:1", type=("build", "run"), when="@12.12:")
depends_on("py-azure-core@1.15:1", type=("build", "run"), when="@12.10:")
depends_on("py-azure-core@1.10:1", type=("build", "run"))
depends_on("py-msrest@0.6.21:", type=("build", "run"))
depends_on("py-cryptography@2.1.4:", type=("build", "run"))
depends_on("py-typing-extensions@4.3:", type=("build", "run"), when="@12.17:")
depends_on("py-typing-extensions@4.0.1:", type=("build", "run"), when="@12.15:")
depends_on("py-isodate@0.6.1:", type=("build", "run"), when="@12.15:")
with when("@:12.14"):
depends_on("py-msrest@0.7.1:", type=("build", "run"), when="@12.14:")
depends_on("py-msrest@0.6.21:", type=("build", "run"))

View File

@@ -0,0 +1,25 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class PyBiobbStructureUtils(PythonPackage):
"""Biobb_structure_utils is the Biobb module collection to modify or extract information
from a PDB structure file, such as pulling out a particular model or chain, removing water
molecules or ligands, or renumbering or sorting atoms or residues"""
pypi = "biobb_structure_utils/biobb_structure_utils-4.1.0.tar.gz"
maintainers("d-beltran")
# Versions
version("4.1.0", sha256="07c6268e2f40de595325aaf88839dd180950ba5bd7e51acbf726a9b982fe69cd")
# Dependencies
depends_on("py-setuptools", type="build")
depends_on("python@3.8:", type=("build", "run"))
depends_on("py-biobb-common@4.1.0", type=("build", "run"))
depends_on("py-biobb-structure-checking@3.13.4", type=("build", "run"))

View File

@@ -36,7 +36,7 @@ class PyCharm4py(PythonPackage):
depends_on("py-setuptools", type="build")
# in newer pip versions --install-option does not exist
depends_on("py-pip@:23.0", type="build")
depends_on("py-cython", type="build")
depends_on("py-cython@:2", type="build")
depends_on("py-cffi@1.7:", type="build")
depends_on("py-numpy@1.10.0:", type=("build", "run"))
depends_on("py-greenlet", type=("build", "run"))

View File

@@ -18,6 +18,10 @@ class PyKubernetes(PythonPackage):
license("Apache-2.0")
version("29.0.0", sha256="c4812e227ae74d07d53c88293e564e54b850452715a59a927e7e1bc6b9a60459")
version("28.1.0", sha256="1468069a573430fb1cb5ad22876868f57977930f80a6749405da31cd6086a7e9")
version("27.2.0", sha256="d479931c6f37561dbfdf28fc5f46384b1cb8b28f9db344ed4a232ce91990825a")
version("26.1.0", sha256="5854b0c508e8d217ca205591384ab58389abdae608576f9c9afc35a3c76a366c")
version("25.3.0", sha256="213befbb4e5aed95f94950c7eed0c2322fc5a2f8f40932e58d28fdd42d90836c")
version("21.7.0", sha256="c9849afc2eafdce60efa210049ee7a94e7ef6cf3a7afa14a69b3bf0447825977")
version("20.13.0", sha256="ce5e881c13dc56f21a243804f90bc3c507af93c380f505c00e392c823968e4de")
@@ -31,7 +35,6 @@ class PyKubernetes(PythonPackage):
version("10.0.1", sha256="3770a496663396ad1def665eeadb947b3f45217a08b64b10c01a57e981ac8592")
version("9.0.0", sha256="a8b0aed55ba946faea660712595a52ae53a8854df773d96f47a63fa0c9d4e3bf")
depends_on("python@3.6:", type=("build", "run"))
depends_on("py-certifi@14.05.14:", type=("build", "run"))
depends_on("py-six@1.9.0:", type=("build", "run"))
depends_on("py-python-dateutil@2.5.3:", type=("build", "run"))
@@ -42,4 +45,6 @@ class PyKubernetes(PythonPackage):
depends_on("py-websocket-client@0.32:0.39,0.43:", type=("build", "run"))
depends_on("py-requests", type=("build", "run"))
depends_on("py-requests-oauthlib", type=("build", "run"))
depends_on("py-oauthlib@3.2.2:", type=("build", "run"), when="@27.2:")
depends_on("py-urllib3@1.24.2:1", type=("build", "run"), when="@28.1.0")
depends_on("py-urllib3@1.24.2:", type=("build", "run"))

View File

@@ -0,0 +1,26 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class PyMetricLearn(PythonPackage):
"""metric-learn contains efficient Python implementations of several
popular supervised and weakly-supervised metric learning algorithms. As
part of scikit-learn-contrib, the API of metric-learn is compatible with
scikit-learn, the leading library for machine learning in Python. This
allows to use all the scikit-learn routines (for pipelining, model
selection, etc) with metric learning algorithms through a unified
interface."""
homepage = "https://github.com/scikit-learn-contrib/metric-learn"
pypi = "metric-learn/metric-learn-0.7.0.tar.gz"
version("0.7.0", sha256="2b35246a1098d74163b16cc7779e0abfcbf9036050f4caa258e4fee55eb299cc")
depends_on("py-setuptools", type="build")
depends_on("py-numpy@1.11.0:", type=("build", "run"))
depends_on("py-scipy@0.17.0:", type=("build", "run"))
depends_on("py-scikit-learn@0.21.3:", type=("build", "run"))

View File

@@ -0,0 +1,30 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class PyMinisom(PythonPackage):
"""MiniSom is a minimalistic and Numpy based implementation of the Self
Organizing Maps (SOM). SOM is a type of Artificial Neural Network able to
convert complex, nonlinear statistical relationships between
high-dimensional data items into simple geometric relationships on a
low-dimensional display. Minisom is designed to allow researchers to easily
build on top of it and to give students the ability to quickly grasp its
details.
The project initially aimed for a minimalistic implementation of the
Self-Organizing Map (SOM) algorithm, focusing on simplicity in features,
dependencies, and code style. Although it has expanded in terms of
features, it remains minimalistic by relying only on the numpy library and
emphasizing vectorization in coding style."""
homepage = "https://github.com/JustGlowing/minisom"
pypi = "MiniSom/MiniSom-2.3.1.tar.gz"
version("2.3.1", sha256="c0f1411616d7614fbd440a811975c12c7dfc091baea33efb49f5f4eabad7b966")
depends_on("py-numpy", type=("build", "run"))
depends_on("py-setuptools", type=("build"))

View File

@@ -11,8 +11,15 @@ class PyMsrest(PythonPackage):
"""AutoRest swagger generator Python client runtime."""
homepage = "https://github.com/Azure/msrest-for-python"
pypi = "msrest/msrest-0.6.16.tar.gz"
pypi = "msrest/msrest-0.7.1.zip"
def url_for_version(self, version):
if Version("0.4.8") < version < Version("0.7"):
return "https://pypi.io/packages/source/m/msrest/msrest-{0}.tar.gz".format(version)
return super().url_for_version(version)
version("0.7.1", sha256="6e7661f46f3afd88b75667b7187a92829924446c7ea1d169be8c4bb7eeb788b9")
version("0.6.21", sha256="72661bc7bedc2dc2040e8f170b6e9ef226ee6d3892e01affd4d26b06474d68d8")
version("0.6.16", sha256="214c5be98954cb45feb6a6a858a7ae6d41a664e80294b65db225bbaa33d9ca3c")
@@ -21,3 +28,4 @@ class PyMsrest(PythonPackage):
depends_on("py-requests-oauthlib@0.5.0:", type=("build", "run"))
depends_on("py-isodate@0.6.0:", type=("build", "run"))
depends_on("py-certifi@2017.4.17:", type=("build", "run"))
depends_on("py-azure-core@1.24:", type=("build", "run"), when="@0.7.1:")

View File

@@ -17,6 +17,7 @@ class PyOauthlib(PythonPackage):
license("BSD-3-Clause")
version("3.2.2", sha256="9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918")
version("3.2.1", sha256="1565237372795bf6ee3e5aba5e2a85bd5a65d0e2aa5c628b9a97b7d7a0da3721")
version("3.1.1", sha256="8f0215fcc533dd8dd1bee6f4c412d4f0cd7297307d43ac61666389e3bc3198a3")
version("3.1.0", sha256="bee41cc35fcca6e988463cacc3bcb8a96224f470ca547e697b604cc697b2f889")

View File

@@ -0,0 +1,35 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class PySmoteVariants(PythonPackage):
"""Variants of the synthetic minority oversampling technique (SMOTE) for
imbalanced learning"""
homepage = "https://github.com/analyticalmindsltd/smote_variants"
pypi = "smote_variants/smote_variants-0.7.3.tar.gz"
version("0.7.3", sha256="69497c764f101a76e8a3d4a9c80176704375c7aa5e26914f19222b59fb03b890")
depends_on("python@3.5:", type=("build", "run"))
depends_on("py-wheel@0.33.4:", type="build")
depends_on("py-setuptools@41.0.1:", type="build")
depends_on("py-pytest-runner", type="build")
depends_on("py-numpy", type=("build", "run"))
depends_on("py-scipy", type=("build", "run"))
depends_on("py-scikit-learn", type=("build", "run"))
depends_on("py-joblib", type=("build", "run"))
depends_on("py-minisom", type=("build", "run"))
depends_on("py-tensorflow", type=("build", "run"))
depends_on("py-keras", type=("build", "run"))
depends_on("py-pandas", type=("build", "run"))
depends_on("mkl")
depends_on("py-metric-learn", type=("build", "run"))
depends_on("py-seaborn", type=("build", "run"))
# Not including statistics, because is only needed for python 2