From 92a2433c7e35b61012a4e319e4a9cdd27a93fbfd Mon Sep 17 00:00:00 2001 From: jake Date: Wed, 23 Nov 2022 17:26:21 -0700 Subject: [PATCH 1/6] Updated README.md, pyproject.toml .pre-commit-config.yaml and created a Pipfile updated .gitignore. Need to check some args in pre-commit-config not 100% clear on what is needed. --- .gitignore | 3 ++ .pre-commit-config.yaml | 15 ++++++ Pipfile | 66 +++++++++++++++++++++++ README.md | 30 ++++++++++- pyproject.toml | 116 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 229 insertions(+), 1 deletion(-) create mode 100644 Pipfile create mode 100644 pyproject.toml diff --git a/.gitignore b/.gitignore index 8746a56..14b3566 100644 --- a/.gitignore +++ b/.gitignore @@ -144,3 +144,6 @@ dmypy.json .pyre/ report-* +Pipfile.lock +poetry.lock +/BKUP_pyproject.toml.bkup diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9f2fb3c..0ab2cb7 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -37,3 +37,18 @@ repos: exclude: ^examples\/|.*\.ipynb language: python types: [text] +- repo: https://github.com/python-poetry/poetry + rev: '' # add version here + hooks: + - id: poetry-check + - id: poetry-lock + - id: poetry-export + # TODO: check is it a single argument or multiple arguments + args: ["-f", "requirements.txt", "-o", "requirements.txt"] + args: ["--dev", "-f", "requirements-dev.txt", "-o", "requirements-dev.txt"] + args: ["--tut"-f", "requirements-tut.txt", "-o", "requirements-tut.txt"] + + verbose: true + + + diff --git a/Pipfile b/Pipfile new file mode 100644 index 0000000..4f54b95 --- /dev/null +++ b/Pipfile @@ -0,0 +1,66 @@ +[[source]] +url = "https://pypi.org/simple" +verify_ssl = true +name = "pypi" + +[packages] +aiohttp = ">=3.8" +chocolate = ">=0.0.2" +csvwlib = ">=0.3.2" +cryptography = ">=35.0" +decorator = ">=5.1" +fsspec = {version = ">=2022.2", extras = ["gs", "s3"]} +gcsfs = ">=2022.2" +icecream = ">=2.1" +morph-kgc = ">=2.0.0" +networkx = ">=2.7" +numpy = ">=1.23.0" +owlrl = ">=6.0.2" +oxrdflib = ">=0.3.1" +pandas = ">=1.4" +pslpython = ">=2.2.2" +pyarrow = ">=7.0" +pynvml = ">=11.4" +pyshacl = ">=0.18" +python-dateutil = ">=2.8" +pyvis = ">=0.1.9" +rdflib = ">=6.1" +requests = ">=2.27" +scikit-learn = "==1.1.2" +scipy = ">=1.8.0" +statsmodels = ">=0.13" +tqdm = ">=4.63" +urlpath = ">=1.2" + +[dev-packages] +black = "*" +bandit = ">=1.7" +codespell = ">=2.1" +coverage = ">=6.3" +flask = ">=2.0" +grayskull = ">=1.1" +jupyterlab = ">=3.3" +mistune = ">=0.8" +mkdocs-git-revision-date-plugin = ">=0.3" +mkdocs-material = ">=8.2" +mknotebooks = ">=0.7" +mypy = ">=0.940" +nbconvert = ">=6.4" +nbmake = ">=1.3" +notebook = ">=6.4" +pipdeptree = ">=2.2" +pre-commit = ">=2.17" +pygments = ">=2.11" +pylint = ">=2.12" +pymdown-extensions = ">=9.2" +pytest = ">=7.1" +responses = ">=0.19" +scikit-learn = ">=1.0" +selenium = ">=4.1" +twine = ">=3.8" +types-python-dateutil = ">=2.8" +types-requests = ">=2.27" +xmltodict = ">=0.12" + +[requires] +python_version = "3.10" diff --git a/README.md b/README.md index 8c6ae5c..9c2f0ed 100644 --- a/README.md +++ b/README.md @@ -38,18 +38,46 @@ Morph-KGC, pythonPSL, and many more. See the ["Getting Started"](https://derwen.ai/docs/kgl/start/) section of the online documentation. -We recommend installing from [PyPi](https://pypi.python.org/pypi/kglab): +## Useing kglab as a package for your project + +### We recommend installing from [PyPi](https://pypi.python.org/pypi/kglab): + +#### pip ```bash python3 -m pip install kglab ``` +#### pipenv +```bash +pipenv install kglab +``` + +#### poetry +```bash +potery add kglab +``` + +#### conda +```bash +conda env create -n kglab +conda activate kglab +pip install kglab +``` + +### Or, install from source: If you work directly from this Git repo, be sure to install the dependencies: +#### pip ```bash python3 -m pip install -U pip python3 -m pip install -r requirements.txt ``` +#### pipenv +```bash +pipenv install --dev +# NEED TO HAVE a Pipfile +``` Alternatively, to install dependencies using `conda`: ```bash conda env create -f environment.yml --force diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..43ab3f2 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,116 @@ +[tool.poetry] +name = "kglab" +version = "0.1.0" +description = "a simple abstraction layer in Python for building knowledge graphs" +license = "MIT" +authors = ["Paco Nathan, Derwen, Inc"] +maintainers = ["KGLab Contributors <"] +repository = "https://github.com/DerwenAI/kglab" +homepage = "derwen.ai" +readme = "README.md" +documentation = "https://derwen.ai/docs/kgl/" +keywords = [ + "controlled vocabulary", "cugraph", "deep learning", "embedding", "gpu", "graph algorithms", "igraph", "inference", + "interactive visualization", "json-ld", "knowledge graph", "managing namespaces", "morph-kgc", "n3", "networkx", + "owl", "pandas", "parquet", "probabilistic soft logic", "psl", "pyvis", "rapids", "rdf", "rml", "roam research", + "serialization", "shacl", "skos", "sparql", "statistical relational learning", "topology", "turtle", "validation" + ] +classifiers = [ + "Programming Language :: Python", "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", + "Operating System :: OS Independent", + "License :: OSI Approved :: MIT License", + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", "Intended Audience :: Education", + "Intended Audience :: Information Technology", "Intended Audience :: Science/Research", + "Topic :: Scientific/Engineering :: Artificial Intelligence", + "Topic :: Scientific/Engineering :: Human Machine Interfaces", + "Topic :: Scientific/Engineering :: Information Analysis", + "Topic :: Software Development :: Libraries :: Python Modules", + "Topic :: Text Processing :: Indexing", + ] + + + + +[tool.poetry.dependencies] +python = "^3.10" +aiohttp = "^3.8.1" +chocolate = "^0.0.2" +csvwlib = "^0.3.2" +cryptography = "^38.0.1" +decorator = "^5.1.1" +fsspec = {extras = ["gs", "s3"], version = "^2022.8.2"} +gcsfs = "^2022.8.2" +icecream = "^2.1.3" +morph-kgc = "^2.2.0" +networkx = "^2.8.6" +numpy = "^1.23.3" +owlrl = "^6.0.2" +oxrdflib = "^0.3.2" +pandas = "^1.4.4" +pslpython = "^2.3.0" +pyarrow = "^9.0.0" +pynvml = "^11.4.1" +pyshacl = "^0.20.0" +python-dateutil = "^2.8.2" +pyvis = "^0.2.1" +rdflib = "^6.2.0" +requests = "^2.28.1" +tqdm = "^4.64.1" +urlpath = "^1.2.0" +bandit = "^1.7.4" +codespell = "^2.2.1" +coverage = "^6.4.4" +Flask = "^2.2.2" +grayskull = "^1.8.3" +mistune = "^2.0.4" +mkdocs-git-revision-date-plugin = "^0.3.2" +mkdocs-material = "^8.5.1" +pipdeptree = "^2.3.1" +Pygments = "^2.13.0" +pymdown-extensions = "^9.5" +responses = "^0.21.0" +selenium = "^4.4.3" +twine = "^4.0.1" +types-python-dateutil = "^2.8.19" +types-requests = "^2.28.10" +wheel = "^0.37.1" +xmltodict = "^0.13.0" + +[tool.poetry.group.dev.dependencies] +pytest = "^7.1.3" +pre-commit = "^2.20.0" +mypy = "^0.971" +black = "^22.8.0" +flake8 = "^5.0.4" +mypy = "^0.971" +pylint = "^2.15.2" +flake8-pylint = "^0.1.3" +bandit = "^1.7.4" +flake8-bandit = "^4.1.1" +mkdocs-git-revision-date-plugin = "^0.3.2" +mkdocs-material = "^8.5.1" + + +[tool.poetry.group.tut.dependencies] +cairocffi = "^1.3" +gensim = "^3.8" +igraph = "^0.9" +jupyterlab = "^3.1.4" +leidenalg = "^0.8" +matplotlib = "^3.3.4" +pylev = "^1.3" + + + + +tool.poetry.scripts = [ + "Makefile = Makefile:main", + +] + +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" From 46a1d0754f8de5212faf6d8c13ff44d451c80c2c Mon Sep 17 00:00:00 2001 From: jake Date: Wed, 23 Nov 2022 17:28:56 -0700 Subject: [PATCH 2/6] Updated README.md, pyproject.toml .pre-commit-config.yaml and created a Pipfile updated .gitignore. Need to check some args in pre-commit-config not 100% clear on what is needed. --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 14b3566..5863eb2 100644 --- a/.gitignore +++ b/.gitignore @@ -146,4 +146,3 @@ dmypy.json report-* Pipfile.lock poetry.lock -/BKUP_pyproject.toml.bkup From 23b806b77aea48b364fe4aaab7163809dd0a7c2a Mon Sep 17 00:00:00 2001 From: jake Date: Sat, 3 Dec 2022 15:24:54 -0700 Subject: [PATCH 3/6] updated gitignore and pyproject.toml --- .gitignore | 6 +++++- pyproject.toml | 3 +-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 5ff9f54..e32fe9b 100644 --- a/.gitignore +++ b/.gitignore @@ -106,7 +106,7 @@ ipython_config.py # However, in case of collaboration, if having platform-specific dependencies or dependencies # having no cross-platform support, pipenv may install dependencies that don't work, or not # install all needed dependencies. -#Pipfile.lock +Pipfile.lock # PEP 582; used by e.g. github.com/David-OConnor/pyflow __pypackages__/ @@ -148,3 +148,7 @@ dmypy.json report-* Pipfile.lock poetry.lock +/*.zip +env_install_test/pipenv_install/* +env_install_test/poetry_install/* + diff --git a/pyproject.toml b/pyproject.toml index 43ab3f2..55bb5ba 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -107,8 +107,7 @@ pylev = "^1.3" tool.poetry.scripts = [ - "Makefile = Makefile:main", - + "Makefile = Makefile:main" ] [build-system] From c36a28f7d94a62abc19fbea215a7441cf38e7b9f Mon Sep 17 00:00:00 2001 From: jake Date: Sat, 3 Dec 2022 15:33:11 -0700 Subject: [PATCH 4/6] Updated precommit-config and pyproject.toml --- .pre-commit-config.yaml | 7 +++---- pyproject.toml | 4 ---- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 044840a..d1d1dab 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -26,7 +26,7 @@ repos: rev: pylint-2.7.2 hooks: - id: pylint - exclude: ^wip/,^tests/ + exclude: ^wip/,^tests/,^env_install_test/ files: ^kglab/ - repo: https://github.com/codespell-project/codespell rev: v2.0.0 @@ -44,9 +44,8 @@ repos: - id: poetry-export # TODO: check is it a single argument or multiple arguments args: ["-f", "requirements.txt", "-o", "requirements.txt"] - args: ["--dev", "-f", "requirements-dev.txt", "-o", "requirements-dev.txt"] - args: ["--tut"-f", "requirements-tut.txt", "-o", "requirements-tut.txt"] - + # args: ["--dev", "-f", "requirements-dev.txt", "-o", "requirements-dev.txt"] + # args: ["--tut"-f", "requirements-tut.txt", "-o", "requirements-tut.txt"] verbose: true diff --git a/pyproject.toml b/pyproject.toml index 55bb5ba..404f3f1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -93,7 +93,6 @@ flake8-bandit = "^4.1.1" mkdocs-git-revision-date-plugin = "^0.3.2" mkdocs-material = "^8.5.1" - [tool.poetry.group.tut.dependencies] cairocffi = "^1.3" gensim = "^3.8" @@ -103,9 +102,6 @@ leidenalg = "^0.8" matplotlib = "^3.3.4" pylev = "^1.3" - - - tool.poetry.scripts = [ "Makefile = Makefile:main" ] From 9b738ac5aac46814acdb7b6e5b825337e7441efe Mon Sep 17 00:00:00 2001 From: jake Date: Sat, 3 Dec 2022 17:47:35 -0700 Subject: [PATCH 5/6] debug pyproject.toml add dir to .gitignore --- .gitignore | 2 +- pyproject.toml | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index e32fe9b..981db55 100644 --- a/.gitignore +++ b/.gitignore @@ -151,4 +151,4 @@ poetry.lock /*.zip env_install_test/pipenv_install/* env_install_test/poetry_install/* - +env_install_test/build diff --git a/pyproject.toml b/pyproject.toml index 404f3f1..a7bc7ed 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,12 +1,12 @@ [tool.poetry] name = "kglab" -version = "0.1.0" +version = "0.1.1a3" description = "a simple abstraction layer in Python for building knowledge graphs" license = "MIT" authors = ["Paco Nathan, Derwen, Inc"] -maintainers = ["KGLab Contributors <"] +maintainers = ["KGLab Team "] repository = "https://github.com/DerwenAI/kglab" -homepage = "derwen.ai" +homepage = "https://derwen.ai" readme = "README.md" documentation = "https://derwen.ai/docs/kgl/" keywords = [ @@ -31,7 +31,7 @@ classifiers = [ "Topic :: Text Processing :: Indexing", ] - +exclude = ["tests/rdf_tests/*"] [tool.poetry.dependencies] @@ -85,7 +85,6 @@ pre-commit = "^2.20.0" mypy = "^0.971" black = "^22.8.0" flake8 = "^5.0.4" -mypy = "^0.971" pylint = "^2.15.2" flake8-pylint = "^0.1.3" bandit = "^1.7.4" @@ -102,9 +101,10 @@ leidenalg = "^0.8" matplotlib = "^3.3.4" pylev = "^1.3" -tool.poetry.scripts = [ - "Makefile = Makefile:main" -] +# tool.poetry.scripts = [ + # "Makefile = Makefile:main" +#] + [build-system] requires = ["poetry-core"] From 1abb7c17792ad1e6ed99c7ca20ab10bf9e26f151 Mon Sep 17 00:00:00 2001 From: jake Date: Sat, 3 Dec 2022 18:56:53 -0700 Subject: [PATCH 6/6] Updated pyproject.toml with coments for test deps and scripts/Makefile --- pyproject.toml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index a7bc7ed..6f9b668 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -73,7 +73,7 @@ Pygments = "^2.13.0" pymdown-extensions = "^9.5" responses = "^0.21.0" selenium = "^4.4.3" -twine = "^4.0.1" +# twine = "^4.0.1" types-python-dateutil = "^2.8.19" types-requests = "^2.28.10" wheel = "^0.37.1" @@ -101,6 +101,10 @@ leidenalg = "^0.8" matplotlib = "^3.3.4" pylev = "^1.3" +#[tool.poetry.group.tests.dependencies] +# sk-learn +# scipy + # tool.poetry.scripts = [ # "Makefile = Makefile:main" #]