diff --git a/.github/workflows/python-package_3_13.yml b/.github/workflows/python-package_3_13.yml new file mode 100644 index 0000000..995e7d8 --- /dev/null +++ b/.github/workflows/python-package_3_13.yml @@ -0,0 +1,48 @@ +# This workflow will install Python dependencies, run tests and lint with a variety of Python versions +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions + +name: Python package + +on: + push: + branches: [ "main", develop ] + pull_request: + branches: [ "main", develop ] + +jobs: + build: + + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: ["ubuntu-latest"] + python-version: ["3.13"] + defaults: + run: + shell: bash -l {0} + steps: + - uses: actions/checkout@v3 + - uses: conda-incubator/setup-miniconda@v2 + with: + auto-update-conda: true + python-version: ${{ matrix.python-version }} + activate-environment: anaconda-client-env + environment-file: envs/environment_3_13.yml + auto-activate-base: false + channels: conda-forge + use-mambda: true + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install flake8 pytest coverage pytest-faulthandler + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + # flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 mowl --count --exit-zero --max-complexity=20 --max-line-length=127 --statistics + - name: Test with pytest + run: | + pytest -m "not slow" -p no:faulthandler diff --git a/.gitignore b/.gitignore index 50d91e9..b67c8ac 100644 --- a/.gitignore +++ b/.gitignore @@ -40,4 +40,6 @@ dist/ *.zip *.log -docs/source/api/mowl.* \ No newline at end of file +docs/source/api/mowl.* + +**/wandb \ No newline at end of file diff --git a/README.md b/README.md index bdd4514..841e0b0 100644 --- a/README.md +++ b/README.md @@ -30,15 +30,17 @@ mainly in Python, but we have integrated the functionalities of [OWLAPI](https:/ ### System dependencies - - JDK version >= 11 + - JDK version >= 22.x.x - Python version: 3.9, 3.10, 3.11, 3.12 - - Conda version >= 4.x.x + - Conda version >= 24.x.x ### Python requirements - - Gensim >= 4.x.x - - PyTorch >= 1.12.x - - PyKEEN >= 1.10.1 + - torch + - gensim >= 4.3.0 + - JPype1 == 1.5.0 + - pykeen == 1.10.2 + - scipy < 1.13.0 ### Install from PyPi @@ -60,6 +62,16 @@ pip install git+https://github.com/bio-ontology-research-group/mowl * [Evaluating Different Methods for Semantic Reasoning Over Ontologies](https://ceur-ws.org/Vol-3592/paper9.pdf) * [Prioritizing genomic variants through neuro-symbolic, knowledge-enhanced learning](https://doi.org/10.1093/bioinformatics/btae301) +### Authors + +**mOWL** is a project initiated and developed by the [Bio-Ontology Research Group](https://cemse.kaust.edu.sa/borg) from KAUST. +Furthermore, mOWL had other collaboration by being part of: + +* [Biohackathon Japan 2024](http://2024.biohackathon.org/) +* [Biohackathon MENA 2023](https://biohackathon-europe.org/) as project ``#20``. +* [Biohackathon Europe 2022](https://2022.biohackathon-europe.org/) as project ``#18``. +* [Biohackathon Europe 2021](https://2021.biohackathon-europe.org/) as project ``#27``. + ## License This software library is distributed under the [BSD-3-Clause license](https://github.com/bio-ontology-research-group/mowl/blob/main/LICENSE) diff --git a/docs/source/install/index.rst b/docs/source/install/index.rst index ec553e3..0fa4292 100644 --- a/docs/source/install/index.rst +++ b/docs/source/install/index.rst @@ -1,38 +1,29 @@ Installation and Setup =================================== -System requirements -------------------- - -- JDK version 17 -- Python version 3.9, 3.10, 3.11, 3.12 -- Conda version >= 4.x.x +System dependencies +--------------------- +- JDK version >= 22.x.x +- Python version: 3.9, 3.10, 3.11, 3.12 +- Conda version >= 24.x.x Python requirements ----------------------- +----------------------- -- Gensim >= 4.x.x -- PyTorch >= 1.12.x -- PyKEEN >= 1.10.1 +- torch +- gensim >= 4.3.0 +- JPype1 == 1.5.0 +- pykeen == 1.10.2 +- scipy < 1.13.0 - Install from source code -------------------------- -Before installing from source, make sure to meet the dependencies. - - -Installation can be done with the following commands: - .. code:: bash - - git clone https://github.com/bio-ontology-research-group/mowl.git - - cd mowl - pip install . + pip install git+https://github.com/bio-ontology-research-group/mowl Install from PyPi ------------------------------ diff --git a/envs/environment_3_13.yml b/envs/environment_3_13.yml new file mode 100644 index 0000000..634a94f --- /dev/null +++ b/envs/environment_3_13.yml @@ -0,0 +1,23 @@ +name: mowl313 +channels: + - conda-forge +dependencies: + - python=3.13 + - click + - deprecated + - gensim>=4.3.0 + - gradle + - JPype1=1.5.0 + - pandas + - pytorch + - pyyaml + - requests + - scikit-learn + - scipy<1.13.0 + - tqdm + - urllib3 + - pip + - pip: + - pykeen==1.10.2 + - temp + diff --git a/envs/environment_dev_3_13.yml b/envs/environment_dev_3_13.yml new file mode 100644 index 0000000..a486411 --- /dev/null +++ b/envs/environment_dev_3_13.yml @@ -0,0 +1,44 @@ +name: mowldev313 +channels: + - pytorch + - conda-forge + - anaconda +dependencies: + - python=3.13 + - cairo + - deprecated + - numpy + - networkx + - click + - grpcio + - JPype1=1.5.0 + - pandas + - protobuf + - pyyaml + - requests + - scipy<1.13.0 + - scikit-learn + - urllib3 + - pytorch + - gensim>=4.3.0 + - openjdk + - gradle + - pip + - pip: + - build + - pykeen==1.10.2 + - sphinx-rtd-theme + - pytest + - pytest-faulthandler + - coverage + - flake8 + - autopep8 + - memory-profiler + - jupyter + - ipykernel + - sphinx + - sphinx-gallery + - nbsphinx + - mock + + diff --git a/mowl/lib/log4j-1.2.14.jar b/mowl/lib/log4j-1.2.14.jar new file mode 100644 index 0000000..6251307 Binary files /dev/null and b/mowl/lib/log4j-1.2.14.jar differ diff --git a/mowl/lib/slf4j-simple-1.7.25.jar b/mowl/lib/slf4j-simple-1.7.25.jar new file mode 100644 index 0000000..a7260f3 Binary files /dev/null and b/mowl/lib/slf4j-simple-1.7.25.jar differ diff --git a/setup.py b/setup.py index d161b09..8e279a8 100644 --- a/setup.py +++ b/setup.py @@ -24,7 +24,7 @@ package_dir={"": "."}, packages=setuptools.find_packages(where=".", exclude=("tests",)), package_data={"mowl": ["lib/*.jar"]}, - python_requires=">=3.9" + python_requires=">=3.9", install_requires=[ "click", "deprecated",