py-nexusforge: add with dependencies (#35208)

* py-nexusforge: add with dependencies

* py-pyshacl, py-sseclient: more style

* py-hjson, py-nexus-sdk, py-nexusforge, py-puremagic: more style

* py-pyshacl: license update

* py-nexusforge, py-prettytable, py-pyshacl: review remarks

* py-nexusforge: make the variant mean something

Too hasty to commit...
This commit is contained in:
Erik Heeren 2023-01-27 18:12:31 +01:00 committed by GitHub
parent 0bfd06d0b6
commit b1cf512d78
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 187 additions and 3 deletions

View file

@ -0,0 +1,23 @@
# 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 PyElasticsearchDsl(PythonPackage):
"""Elasticsearch DSL is a high-level library whose aim
is to help with writing and running queries against Elasticsearch.
It is built on top of the official low-level client (elasticsearch-py).
"""
homepage = "https://github.com/elastic/elasticsearch-dsl-py"
pypi = "elasticsearch-dsl/elasticsearch-dsl-7.4.0.tar.gz"
version("7.4.0", sha256="c4a7b93882918a413b63bed54018a1685d7410ffd8facbc860ee7fd57f214a6d")
depends_on("py-setuptools", type="build")
depends_on("py-six", type=("build", "run"))
depends_on("py-python-dateutil", type=("build", "run"))
depends_on("py-elasticsearch@7.0.0:7", type=("build", "run"))

View file

@ -0,0 +1,18 @@
# 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 PyHjson(PythonPackage):
"""Hjson is an user interface for JSON.
The Python implementation of Hjson is based on simplejson."""
homepage = "https://github.com/hjson/hjson-py"
pypi = "hjson/hjson-3.0.2.tar.gz"
version("3.1.2", sha256="55af475a27cf83a7969c808399d7bccdec8fb836a07ddbd574587593b9cdcf75")
version("3.0.2", sha256="2838fd7200e5839ea4516ece953f3a19892c41089f0d933ba3f68e596aacfcd5")
depends_on("py-setuptools", type="build")

View file

@ -0,0 +1,21 @@
# 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 PyNexusSdk(PythonPackage):
"""A Python API to interface with Blue Brain Nexus REST API."""
homepage = "https://github.com/BlueBrain/nexus-python-sdk"
pypi = "nexus-sdk/nexus-sdk-0.3.2.tar.gz"
version("0.3.2", sha256="cd5668a062283410c5ff57a68c218440df607da84e0a813a8c9390611f7212b3")
depends_on("py-setuptools", type="build")
depends_on("py-setuptools-scm", type="build")
depends_on("py-puremagic", type=("build", "run"))
depends_on("py-requests", type=("build", "run"))
depends_on("py-sseclient", type=("build", "run"))

View file

@ -0,0 +1,38 @@
# 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 PyNexusforge(PythonPackage):
"""Blue Brain Nexus Forge is a domain-agnostic, generic and
extensible Python framework enabling non-expert users to create and
manage knowledge graphs.
"""
homepage = "https://github.com/BlueBrain/nexus-forge"
pypi = "nexusforge/nexusforge-0.7.0.tar.gz"
version("0.8.0", sha256="4358505ead26e41c2a0c4e6113cf3a486c9661e2a3899394497a2b5a94b70424")
version("0.7.0", sha256="a8d2951d9ad18df9f2f4db31a4c18fcdd27bfcec929b03a3c91f133ea439413c")
variant("sklearn", default=False, description="Enable sklearn")
depends_on("py-setuptools", type="build")
depends_on("py-setuptools-scm", type="build")
depends_on("py-hjson", type=("build", "run"))
depends_on("py-pyyaml", type=("build", "run"))
depends_on("py-pandas", type=("build", "run"))
depends_on("py-nexus-sdk", type=("build", "run"))
depends_on("py-aiohttp", type=("build", "run"))
depends_on("py-rdflib@6.0.0:", type=("build", "run"))
depends_on("py-pyld", type=("build", "run"))
depends_on("py-pyshacl@0.17.2", type=("build", "run"))
depends_on("py-nest-asyncio@1.5.1:", type=("build", "run"))
depends_on("py-pyparsing@2.0.2:", type=("build", "run"))
depends_on("py-owlrl@5.2.3:", type=("build", "run"))
depends_on("py-elasticsearch-dsl@7.4.0", type=("build", "run"))
depends_on("py-scikit-learn", when="+sklearn", type="run")

View file

@ -0,0 +1,21 @@
# 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 PyOwlrl(PythonPackage):
"""A simple implementation of the OWL2 RL Profile, as well as a basic
RDFS inference, on top of RDFLib. Based mechanical forward chaining.
"""
homepage = "https://github.com/RDFLib/OWL-RL"
pypi = "owlrl/owlrl-5.2.3.tar.gz"
version("6.0.2", sha256="904e3310ff4df15101475776693d2427d1f8244ee9a6a9f9e13c3c57fae90b74")
version("5.2.3", sha256="b1891d75b2c2fb0db9e1504a9b12dab738ed89236414c51393d1030597004342")
depends_on("py-setuptools", type="build")
depends_on("py-rdflib@5.0.0:", when="@5.0:5", type=("build", "run"))
depends_on("py-rdflib@6.0.2:", when="@6.0:", type=("build", "run"))

View file

@ -18,11 +18,10 @@ class PyPrettytable(PythonPackage):
version("3.4.1", sha256="7d7dd84d0b206f2daac4471a72f299d6907f34516064feb2838e333a4e2567bd") version("3.4.1", sha256="7d7dd84d0b206f2daac4471a72f299d6907f34516064feb2838e333a4e2567bd")
version("3.2.0", sha256="ae7d96c64100543dc61662b40a28f3b03c0f94a503ed121c6fca2782c5816f81") version("3.2.0", sha256="ae7d96c64100543dc61662b40a28f3b03c0f94a503ed121c6fca2782c5816f81")
version("2.4.0", sha256="18e56447f636b447096977d468849c1e2d3cfa0af8e7b5acfcf83a64790c0aca") version("2.4.0", sha256="18e56447f636b447096977d468849c1e2d3cfa0af8e7b5acfcf83a64790c0aca")
version("2.2.1", sha256="6d465005573a5c058d4ca343449a5b28c21252b86afcdfa168cdc6a440f0b24c")
version("0.7.2", sha256="2d5460dc9db74a32bcc8f9f67de68b2c4f4d2f01fa3bd518764c69156d9cacd9") version("0.7.2", sha256="2d5460dc9db74a32bcc8f9f67de68b2c4f4d2f01fa3bd518764c69156d9cacd9")
depends_on("py-setuptools", type="build") depends_on("py-setuptools", type="build")
depends_on("py-wcwidth", type=("build", "run"), when="@2.4.0:") depends_on("py-wcwidth", type=("build", "run"), when="@2.4.0:")
depends_on("py-importlib-metadata", type=("build", "run"), when="@2.4.0: ^python@:3.7") depends_on("py-importlib-metadata", type=("build", "run"), when="@2: ^python@:3.7")
depends_on("py-setuptools-scm", type="build", when="@2.4.0:") depends_on("py-setuptools-scm", type="build", when="@2.4.0:")
depends_on("python@3.6:", type=("build", "run"), when="@2.4.0:")
depends_on("python@3.7:", type=("build", "run"), when="@3.2.0:")

View file

@ -0,0 +1,18 @@
# 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 PyPuremagic(PythonPackage):
"""puremagic is a pure python module that will identify a file based off its magic numbers."""
homepage = "https://github.com/cdgriffith/puremagic"
pypi = "puremagic/puremagic-1.10.tar.gz"
version("1.14", sha256="3d5df26cc7ec9aebbf842a09115a2fa85dc59ea6414fa568572c44775d796cbc")
version("1.10", sha256="6ffea02b80ceec1381f9df513e0120b701a74b6efad92311ea80281c7081b108")
depends_on("py-setuptools", type="build")

View file

@ -0,0 +1,25 @@
# 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 PyPyshacl(PythonPackage):
"""A Python validator for SHACL."""
homepage = "https://github.com/RDFLib/pySHACL"
pypi = "pyshacl/pyshacl-0.17.2.tar.gz"
version("0.20.0", sha256="47f014c52cc69167b902c89b3940dd400f7f5d2169a62f97f837f3419b4a737d")
version("0.17.2", sha256="46f31c7a7f7298aa5b483d92dbc850ff79a144d26f1f41e83267ed84b4d6ae23")
depends_on("py-poetry-core@1.1:1", type="build")
depends_on("python@3.7:3", type=("build", "run"))
depends_on("py-rdflib@6.0.0:6", when="@0.17.2", type=("build", "run"))
depends_on("py-rdflib@6.2.0:6", when="@0.20.0:", type=("build", "run"))
depends_on("py-html5lib@1.1:1", when="@0.20.0:", type=("build", "run"))
depends_on("py-owlrl@5.2.3:6", when="@0.17.2", type=("build", "run"))
depends_on("py-owlrl@6.0.2:6", when="@0.20.0:", type=("build", "run"))
depends_on("py-packaging@21.3:", when="@0.20.0:", type=("build", "run"))
depends_on("py-prettytable@2.2.1:2", type=("build", "run"))

View file

@ -0,0 +1,21 @@
# 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 PySseclient(PythonPackage):
"""This is a Python client library for iterating over http Server
Sent Event (SSE) streams
"""
homepage = "https://github.com/btubbs/sseclient"
pypi = "sseclient/sseclient-0.0.27.tar.gz"
version("0.0.27", sha256="b2fe534dcb33b1d3faad13d60c5a7c718e28f85987f2a034ecf5ec279918c11c")
depends_on("py-setuptools", type="build")
depends_on("py-requests@2.9:", type=("build", "run"))
depends_on("py-six", type=("build", "run"))