somef_core 0.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- somef_core-0.0.1/LICENSE +19 -0
- somef_core-0.0.1/PKG-INFO +545 -0
- somef_core-0.0.1/README.md +507 -0
- somef_core-0.0.1/pyproject.toml +49 -0
- somef_core-0.0.1/src/somef_core/__init__.py +3 -0
- somef_core-0.0.1/src/somef_core/__main__.py +293 -0
- somef_core-0.0.1/src/somef_core/configuration.py +177 -0
- somef_core-0.0.1/src/somef_core/export/__init__.py +0 -0
- somef_core-0.0.1/src/somef_core/export/google_codemeta_export.py +171 -0
- somef_core-0.0.1/src/somef_core/export/json_export.py +1197 -0
- somef_core-0.0.1/src/somef_core/extract_software_type.py +408 -0
- somef_core-0.0.1/src/somef_core/extract_workflows.py +74 -0
- somef_core-0.0.1/src/somef_core/header_analysis.py +712 -0
- somef_core-0.0.1/src/somef_core/parser/__init__.py +0 -0
- somef_core-0.0.1/src/somef_core/parser/authors_parser.py +121 -0
- somef_core-0.0.1/src/somef_core/parser/bower_parser.py +185 -0
- somef_core-0.0.1/src/somef_core/parser/cabal_parser.py +222 -0
- somef_core-0.0.1/src/somef_core/parser/codemeta_parser.py +926 -0
- somef_core-0.0.1/src/somef_core/parser/codeowners_parser.py +198 -0
- somef_core-0.0.1/src/somef_core/parser/composer_parser.py +218 -0
- somef_core-0.0.1/src/somef_core/parser/conda_environment_parser.py +91 -0
- somef_core-0.0.1/src/somef_core/parser/create_excerpts.py +71 -0
- somef_core-0.0.1/src/somef_core/parser/description_parser.py +228 -0
- somef_core-0.0.1/src/somef_core/parser/dockerfile_parser.py +227 -0
- somef_core-0.0.1/src/somef_core/parser/gemspec_parser.py +224 -0
- somef_core-0.0.1/src/somef_core/parser/mardown_parser.py +536 -0
- somef_core-0.0.1/src/somef_core/parser/package_json_parser.py +270 -0
- somef_core-0.0.1/src/somef_core/parser/pom_xml_parser.py +405 -0
- somef_core-0.0.1/src/somef_core/parser/publiccode_parser.py +385 -0
- somef_core-0.0.1/src/somef_core/parser/python_parser.py +432 -0
- somef_core-0.0.1/src/somef_core/parser/setupcfg_parser.py +192 -0
- somef_core-0.0.1/src/somef_core/parser/toml_parser.py +717 -0
- somef_core-0.0.1/src/somef_core/process_files.py +893 -0
- somef_core-0.0.1/src/somef_core/process_repository.py +1793 -0
- somef_core-0.0.1/src/somef_core/process_results.py +87 -0
- somef_core-0.0.1/src/somef_core/regular_expressions.py +1333 -0
- somef_core-0.0.1/src/somef_core/somef_cli.py +446 -0
- somef_core-0.0.1/src/somef_core/test/__init__.py +1 -0
- somef_core-0.0.1/src/somef_core/test/conftest.py +7 -0
- somef_core-0.0.1/src/somef_core/test/test_JSON_export.py +1177 -0
- somef_core-0.0.1/src/somef_core/test/test_bitbucket.py +137 -0
- somef_core-0.0.1/src/somef_core/test/test_bower_parser.py +113 -0
- somef_core-0.0.1/src/somef_core/test/test_cabal_parser.py +94 -0
- somef_core-0.0.1/src/somef_core/test/test_cli.py +816 -0
- somef_core-0.0.1/src/somef_core/test/test_codeberg.py +183 -0
- somef_core-0.0.1/src/somef_core/test/test_codemeta_export.py +1135 -0
- somef_core-0.0.1/src/somef_core/test/test_codemeta_gitlab_export.py +64 -0
- somef_core-0.0.1/src/somef_core/test/test_codemeta_parser.py +167 -0
- somef_core-0.0.1/src/somef_core/test/test_composer_parser.py +59 -0
- somef_core-0.0.1/src/somef_core/test/test_conda_environment_parser.py +58 -0
- somef_core-0.0.1/src/somef_core/test/test_configuration.py +40 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-EUVpy.md +166 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-FTR.md +50 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-GENI.md +109 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-MEL-TNNT.md +112 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-OBA-SPARQL.md +87 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-OWL-To-OAS.md +6 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-PPool.md +26 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-TINTO.md +213 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-agora.md +511 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-almost-empty.md +1 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-base-images.md +1 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-ci-sample-project.md +102 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-citation-file-format.md +158 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-componentinstaller.md +139 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-csl-editor.md +57 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-devilog.md +99 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-easytv-annotator.md +74 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-epw2rdf-contents.md +13 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-epw2rdf.md +10 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-fair-ontologies.md +53 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-fastify.md +420 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-gammalearn.md +193 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-gammapy.rst +103 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-kgtk-notebooks.md +81 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-laueNN.md +123 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-licensius.md +59 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-lighttwin.md +234 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-loupe-api.md +13 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-manim.md +117 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-mapeathor.md +45 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-mapshaper.md +101 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-menty.md +94 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-os-platforms.md +196 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-panda.md +16 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-pylops.md +229 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-pytorch.md +424 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-raidologist.md +60 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-reggae.md +95 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-stract.md +66 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-sunpy.rst +115 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-tada-gam.md +130 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-tensorflow-2.6.0.md +156 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-tokei.md +85 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-tpronk.md +75 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-unboundedsystems.md +86 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-uncbiag.md +91 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-urllib3.md +110 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-widoco-duplicate-dois.md +198 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-widoco-swh.md +233 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-widoco.md +187 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-wothive.md +111 -0
- somef_core-0.0.1/src/somef_core/test/test_data/README-ya2o.md +372 -0
- somef_core-0.0.1/src/somef_core/test/test_data/SimulatedReads2Map.wdl +80 -0
- somef_core-0.0.1/src/somef_core/test/test_data/api_responses/bitbucket/bitbucket_response.json +127 -0
- somef_core-0.0.1/src/somef_core/test/test_data/api_responses/bitbucket/bitbucket_tags.json +85 -0
- somef_core-0.0.1/src/somef_core/test/test_data/api_responses/codeberg/codeberg_forgejo.json +104 -0
- somef_core-0.0.1/src/somef_core/test/test_data/api_responses/codeberg/codeberg_forgejo_languages.json +16 -0
- somef_core-0.0.1/src/somef_core/test/test_data/api_responses/codeberg/codeberg_forgejo_releases.json +261 -0
- somef_core-0.0.1/src/somef_core/test/test_data/api_responses/somef-demo.json +648 -0
- somef_core-0.0.1/src/somef_core/test/test_data/api_responses/widoco_api_response.json +2779 -0
- somef_core-0.0.1/src/somef_core/test/test_data/authors_files/docker_AUTHORS.txt +718 -0
- somef_core-0.0.1/src/somef_core/test/test_data/authors_files/ireeOrg_AUTHORS.txt +13 -0
- somef_core-0.0.1/src/somef_core/test/test_data/authors_files/jetBrain_AUTHORS.txt +10 -0
- somef_core-0.0.1/src/somef_core/test/test_data/authors_files/pluginsGLPI_AUTHORS.txt +9 -0
- somef_core-0.0.1/src/somef_core/test/test_data/authors_files/tensorFlow_AUTHORS.txt +11 -0
- somef_core-0.0.1/src/somef_core/test/test_data/expected/Widoco.yaml +29 -0
- somef_core-0.0.1/src/somef_core/test/test_data/expected/aladin-lite.yaml +22 -0
- somef_core-0.0.1/src/somef_core/test/test_data/expected/gammapy.yaml +31 -0
- somef_core-0.0.1/src/somef_core/test/test_data/expected/r3broot2.yaml +44 -0
- somef_core-0.0.1/src/somef_core/test/test_data/expected/runtime_platform_repo.yaml +9 -0
- somef_core-0.0.1/src/somef_core/test/test_data/export_test.json +142 -0
- somef_core-0.0.1/src/somef_core/test/test_data/extract_bash_code.txt +37 -0
- somef_core-0.0.1/src/somef_core/test/test_data/input-test.txt +2 -0
- somef_core-0.0.1/src/somef_core/test/test_data/package_neors.json +29 -0
- somef_core-0.0.1/src/somef_core/test/test_data/package_npm.json +258 -0
- somef_core-0.0.1/src/somef_core/test/test_data/pyansys-README.rst +222 -0
- somef_core-0.0.1/src/somef_core/test/test_data/rasterio-README.md +360 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/A-Dynamic-E-Commerce-Website-master/README.md +12 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/A-Dynamic-E-Commerce-Website-master/admin.php +75 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/A-Dynamic-E-Commerce-Website-master/admin_orders.php +53 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/A-Dynamic-E-Commerce-Website-master/delete_from_cart.php +20 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/A-Dynamic-E-Commerce-Website-master/mangola.sql +327 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Clamp/README.md +222 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Fairwinds/Dockerfile +14 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Fermi/README.md +164 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Flux.jl/Project.toml +71 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/JAFFA-master/README +9 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/JAFFA-master/README.md +4 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/JAFFA-master/cwl/converter.cwl +33 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/JAFFA-master/cwl/smcFusion-jaffa-workflow.cwl +62 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/JAFFA-master/cwl/tar.cwl +23 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/JAFFA-master/cwl/twoBitToFa.cwl +37 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/OWL-To-OAS-Specification-master/README.md +6 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/OWL-To-OAS-Specification-master/mkdocs.yml +13 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/OWL-To-OAS-Specification-master/requirements.txt +1 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Pluto.jl/Project.toml +84 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Prometeus/Dockerfile +31 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/RDFChess/.gitignore +1 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/RDFChess/README.md +20 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/RDFChess/pom.xml +202 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/RDFChess/rdfchess.config +0 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/RDFChess/run.bat +1 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/CITATION.cff +20 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/CONTRIBUTING.md +2 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/Dockerfile +18 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/LICENSE +202 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/README.md +187 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/codemeta.json +62 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/docs/pom.sml +167 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/docs/pom.xml +167 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/example_onto/CITATION.cff +20 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/example_onto/README.md +188 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/example_onto/license.md +14 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/example_onto/ontology.nt +153 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/example_onto/ontology.ttl +159 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/example_onto/test.ttl +9 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/pom.xml +172 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/target/maven-archiver/pom.properties +3 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/test/CITATION.cff +20 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/test/test/CITATION.cff +20 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/test/test/test/CITATION.cff +20 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/ack/ACKNOWLEDGMENT.md +1 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/ack/README.md +4 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/aladin-lite/codemeta.json +83 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/auroral-ontology-core/ontology.rdf +2306 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/auroral-ontology-core/ontology.xml +981 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/auroral-ontology-core/readme.md +34 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/basis_functions_approach_to_GP-master/BF_1D_notebook.Rmd +1041 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/basis_functions_approach_to_GP-master/Diagnosis_HSGP_v2.Rmd +938 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/basis_functions_approach_to_GP-master/Rnb_case3D_diagnosis.Rmd +1082 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/bimerr-epw/LICENSE +201 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/bimerr-epw/README.md +23 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/bootstrap-datepicker-rails/bootstrap-datepicker-rails-2.gemspec +22 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/bootstrap-datepicker-rails/bootstrap-datepicker-rails.gemspec +22 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/captum/.gitattributes +2 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/captum/.gitignore +117 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/captum/AWESOME_LIST.md +28 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/captum/CITATION +8 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/captum/CODE_OF_CONDUCT.md +76 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/captum/CONTRIBUTING.md +134 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/captum/LICENSE +29 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/captum/README.md +494 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/captum/environment.yml +6 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/captum/pyproject.toml +2 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/captum/setup.cfg +12 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/captum/setup.py +171 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/chosen/bower.json +42 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/codecov/composer.json +25 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/codemeta_repo/codemeta.json +214 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/componentInstaller/CITATION.cff +23 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/componentInstaller/LICENSE +674 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/componentInstaller/README.md +138 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/composer/composer.json +110 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/corpuser/README.md +38 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/cropwater/DESCRIPTION +61 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/cropwater/LICENSE.md +21 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/cropwater/README.md +649 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/cropwater/codemeta.json +159 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/fair-ontologies/README.md +117 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/fair-ontologies/citation.cff +23 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/fair-ontologies/codemeta.json +133 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/fair-ontologies/pom.xml +186 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/fuji/AUTHORS +19 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/fuji/CITATION.cff +35 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/fuji/README.md +265 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/fuji/pyproject.toml +169 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/gammalearn/pyproject.toml +79 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/gammapy/codemeta.json +376 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/ggplot2/DESCRIPTION +132 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/ggstatsplot/DESCRIPTION +86 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/ggstatsplot/codemeta.json +638 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/haskell/cabal.cabal +419 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/inspect4py/CITATION.cff +25 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/inspect4py/README.md +255 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/inspect4py/docs/requirements.txt +1 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/inspect4py/pyproject.toml +15 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/inspect4py/requirements.txt +12 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/inspect4py/setup.py +51 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/ipynb-master/__init__.py +29 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/ipynb-master/bogus_ipynb.ipynb +2 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/ipynb-master/r_notebook.ipynb +40 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/js-template/bower.json +26 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/js-template/package.json +25 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/LICENSE +21 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/README.md +81 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/tutorial/01-kgtk-introduction.ipynb +2455 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/tutorial/02-kg-profiling.ipynb +4924 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/tutorial/03-kg-graph-embeddings.ipynb +819 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/tutorial/04-kg-enrichment-with-csv.ipynb +3570 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/tutorial/05-kg-enrichment-with-lod.ipynb +3297 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/tutorial/06-kg-network-analysis.ipynb +2363 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/tutorial/07-kg-constraint-validation.ipynb +1423 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/tutorial/kgtk-browser.ipynb +308 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/use-cases/Visualize-force-graph-example.ipynb +937 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/use-cases/browser-profiling.ipynb +1583 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/use-cases/class-visualization.ipynb +7509 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/use-cases/ontology-examples.ipynb +2002 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/use-cases/properties-for-this-type.ipynb +1474 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/maven/pom.xml +1275 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/maykinMedia/publiccode.yaml +112 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/mir_eval/LICENSE.txt +21 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/mir_eval/README.rst +25 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/mir_eval/setup.py +37 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/mira/LICENSE +201 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/mira/README.md +124 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/nemo/CITATION.cff +23 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/nemo/README.md +185 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/pcake/README.md +4 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/pcake/setup.py +28 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/probot-12.1.1/.editorconfig +9 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/probot-12.1.1/.gitignore +12 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/probot-12.1.1/CODE_OF_CONDUCT.md +132 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/probot-12.1.1/CONTRIBUTING.md +63 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/probot-12.1.1/LICENSE +15 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/probot-12.1.1/README.md +51 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/probot-12.1.1/README.pt-br.md +40 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/probot-12.1.1/codecov.yml +11 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/publicCode-Example/publiccode.yml +131 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/r3broot2/codemeta.json +437 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/CHANGELOG.md +2255 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/CONTRIBUTORS +57 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/LICENSE +29 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/MANIFEST.in +13 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/Makefile +20 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/README.md +226 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/black.toml +31 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/docker-compose.tests.yml +24 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/pull_request_template.md +7 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/requirements.dev.txt +12 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/requirements.txt +3 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/run_tests.py +92 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/run_tests.sh +9 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/run_tests_with_coverage_report.sh +9 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/setup.cfg +38 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/setup.py +90 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/skiptests.list +59 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/tox.ini +35 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/repos_oeg/bimerr-core/README.md +1 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/resolver_deco/LICENSE.txt +12 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/resolver_deco/README.txt +56 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/resolver_deco/resolver_deco.py +49 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/resolver_deco/setup.py +20 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/runtime_platform_repo/codemeta.json +6 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/rustdesk/Cargo.toml +223 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/soca/README.md +301 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/soca/codemeta.json +75 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/soca/pyproject.toml +6 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/soca/setup.cfg +45 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/software_catalog/LICENSE +201 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/software_catalog/README.md +21 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/software_catalog/repo_icons/acknowledgement.png +0 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/software_catalog/repo_icons/citation.png +0 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/somef_repo/CITATION.cff +43 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/somef_repo/README.md +361 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/somef_repo/lib/python/pip-24.2.dist-info/AUTHORS.txt +796 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/somef_repo/pyproject.toml +55 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/sprint-main/netex_accounting_version.xsd.rdf +425 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/sprint-main/setup.sh +2 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/stable-diffusion/README.md +214 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/stable-diffusion/environment.yaml +31 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/sunpy/CITATION.cff +79 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/sunpy/pyproject.toml +256 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/sunpy_short_desc/README.rst +82 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/sunpy_short_desc/pyproject.toml +256 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/tensorflow/CODEOWNERS +18 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/tensorflow/README.md +173 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/termlex-main/README.md +14 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/termlex-main/ontology/termlex.ttl +2150 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/termlex-main/termlex_core.png +0 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/tidyverse/DESCRIPTION +63 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/unused/unused.cabal +127 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/CMakeLists.txt +168 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/CODE_OF_CONDUCT.md +5 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/CONTRIBUTING.md +27 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/Decode.cpp +440 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/LICENSE +30 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/README.md +39 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/Test.cpp +184 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/Train.cpp +564 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/docs/DecoderSketch.png +0 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/docs/arch.md +68 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/docs/decoder.md +80 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/docs/installation.md +50 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/docs/train.md +86 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/OptimizeSortParams.cpp +156 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/Seq2SeqAnalysis.cpp +215 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/arrayfire_parser.py +65 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/fair_cluster/w2l_fair_cluster_build.sh +37 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/fair_cluster/w2l_fair_cluster_decode.sh +34 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/fair_cluster/w2l_fair_cluster_distributed_training_benchmarks.sh +59 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/fair_cluster/w2l_fair_cluster_train.sh +48 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/imgcat +118 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/launch_distributed_chronos.sh +60 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/tensorboard.py +206 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/wavdiff +53 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/wavextract +180 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/wavplot +170 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/wavstatus +94 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/website-static-master/fonts.css +15 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/website-static-master/header.js +32 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/website-static-master/image.js +32 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/website-static-master/index.html +1 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/website-static-master/index.js +126 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/website-static-master/layout.js +102 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/website-static-master/privacy.js +47 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/website-static-master/terms.js +119 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/workloopr/LICENSE +674 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/workloopr/README.md +172 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/workloopr/codemeta.json +144 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wot-hive/README.md +111 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wot-hive/docker/auroral-hive/Dockerfile +15 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wot-hive/docker/docker-compose.yml +26 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repositories/wot-hive/docker/fuseki/Dockerfile +9 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repostatus-README-2.md +50 -0
- somef_core-0.0.1/src/somef_core/test/test_data/repostatus-README.md +50 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_465.md +388 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_arxiv_links.txt +95 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_extract_bibtex.txt +17 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_extract_binder_links.txt +4 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_extract_dois.txt +8 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_extract_gitter_chat.txt +2 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_extract_header_content_hash.txt +13 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_extract_header_content_hash_complex.txt +11 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_extract_header_content_underline.txt +18 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_extract_readthedocs_1.txt +2 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_extract_readthedocs_2.txt +6 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_extract_readthedocs_3.txt +6 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_extract_title_hash.txt +6 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_extract_title_underline.txt +6 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_extract_title_with_md.txt +2 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_images.txt +68 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_issue_181.txt +16 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_issue_181_2.txt +135 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_issue_181_3.txt +110 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_issue_270.txt +15 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_issue_images.txt +9 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_logo.txt +5 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_logo2.txt +5 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_logo_tensorflow.txt +157 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_logo_uscisii2.txt +95 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_pypi.md +26 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_repo_status.txt +10 -0
- somef_core-0.0.1/src/somef_core/test/test_data/test_wiki.md +46 -0
- somef_core-0.0.1/src/somef_core/test/test_data/widoco_readme.md +152 -0
- somef_core-0.0.1/src/somef_core/test/test_description_parser.py +116 -0
- somef_core-0.0.1/src/somef_core/test/test_dockerfile_parser.py +190 -0
- somef_core-0.0.1/src/somef_core/test/test_enrichment.py +169 -0
- somef_core-0.0.1/src/somef_core/test/test_extract_authors.py +71 -0
- somef_core-0.0.1/src/somef_core/test/test_extract_workflows.py +18 -0
- somef_core-0.0.1/src/somef_core/test/test_gemspec_parser.py +77 -0
- somef_core-0.0.1/src/somef_core/test/test_gitlab_selfhosted.py +26 -0
- somef_core-0.0.1/src/somef_core/test/test_gitlab_token_handling.py +118 -0
- somef_core-0.0.1/src/somef_core/test/test_google_compliant_export.py +50 -0
- somef_core-0.0.1/src/somef_core/test/test_header_analysis.py +284 -0
- somef_core-0.0.1/src/somef_core/test/test_package_json_parser.py +124 -0
- somef_core-0.0.1/src/somef_core/test/test_parser_somef.py +95 -0
- somef_core-0.0.1/src/somef_core/test/test_pom_parser.py +118 -0
- somef_core-0.0.1/src/somef_core/test/test_process_repository.py +1350 -0
- somef_core-0.0.1/src/somef_core/test/test_process_results.py +23 -0
- somef_core-0.0.1/src/somef_core/test/test_publiccode_parser.py +144 -0
- somef_core-0.0.1/src/somef_core/test/test_python_parser.py +56 -0
- somef_core-0.0.1/src/somef_core/test/test_regular_expressions.py +677 -0
- somef_core-0.0.1/src/somef_core/test/test_setupcfg_parser.py +53 -0
- somef_core-0.0.1/src/somef_core/test/test_software_type.py +139 -0
- somef_core-0.0.1/src/somef_core/test/test_toml_parser.py +375 -0
- somef_core-0.0.1/src/somef_core/test/test_verify_token.py +62 -0
- somef_core-0.0.1/src/somef_core/test/test_wiki.py +69 -0
- somef_core-0.0.1/src/somef_core/utils/__init__.py +0 -0
- somef_core-0.0.1/src/somef_core/utils/constants.py +794 -0
- somef_core-0.0.1/src/somef_core/utils/enrichment.py +223 -0
- somef_core-0.0.1/src/somef_core/utils/markdown_utils.py +79 -0
somef_core-0.0.1/LICENSE
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Copyright (c) 2019 Daniel Garijo, Ontology Engineering Group, Universidad Politécnica de Madrid
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
in the Software without restriction, including without limitation the rights
|
|
6
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
furnished to do so, subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
The above copyright notice and this permission notice shall be included in all
|
|
11
|
+
copies or substantial portions of the Software.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
19
|
+
SOFTWARE.
|
|
@@ -0,0 +1,545 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: somef_core
|
|
3
|
+
Version: 0.0.1
|
|
4
|
+
Summary: SOMEF-Core: lightweight metadata extraction engine for software repositories, usable as a CLI tool or as a library, without the ML-based classifiers and ontology detection of the full SOMEF tool.
|
|
5
|
+
License-File: LICENSE
|
|
6
|
+
Author: Daniel Garijo
|
|
7
|
+
Author-email: daniel.garijo@upm.es
|
|
8
|
+
Requires-Python: >=3.11,<3.13
|
|
9
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
10
|
+
Classifier: Operating System :: OS Independent
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
15
|
+
Requires-Dist: bibtexparser (>=1.4.1,<2.0.0)
|
|
16
|
+
Requires-Dist: bs4 (>=0.0.1,<0.0.3)
|
|
17
|
+
Requires-Dist: chardet (>=5.2,<8.0)
|
|
18
|
+
Requires-Dist: click (>=8.1.7,<9.0.0)
|
|
19
|
+
Requires-Dist: click-option-group (>=0.5.6,<0.6.0)
|
|
20
|
+
Requires-Dist: contractions (>=0.1.73,<0.2.0)
|
|
21
|
+
Requires-Dist: inflect (>=7.0.0,<8.0.0)
|
|
22
|
+
Requires-Dist: lxml (>=6.1.1,<7.0.0)
|
|
23
|
+
Requires-Dist: markdown (>=3.5.2,<4.0.0)
|
|
24
|
+
Requires-Dist: markdown-it-py (>=3,<5)
|
|
25
|
+
Requires-Dist: matplotlib (>=3.11.0,<4.0.0)
|
|
26
|
+
Requires-Dist: nbformat (>=5.9.2,<6.0.0)
|
|
27
|
+
Requires-Dist: nltk (>=3.9.0,<4.0.0)
|
|
28
|
+
Requires-Dist: numpy (>=1.26.3,<3.0.0)
|
|
29
|
+
Requires-Dist: pandas (>=2.1.4,<3.0.0)
|
|
30
|
+
Requires-Dist: pytest (>=8,<10)
|
|
31
|
+
Requires-Dist: pyyaml (>=6.0.2,<7.0.0)
|
|
32
|
+
Requires-Dist: requests (>=2.34.2,<3.0.0)
|
|
33
|
+
Requires-Dist: scipy (>=1.11.4,<2.0.0)
|
|
34
|
+
Requires-Dist: textblob (>=0.17.1,<0.21.0)
|
|
35
|
+
Requires-Dist: validators (>=0.35.0,<0.36.0)
|
|
36
|
+
Project-URL: homepage, https://github.com/SciCodes/somef-core
|
|
37
|
+
Description-Content-Type: text/markdown
|
|
38
|
+
|
|
39
|
+
# SOMEF - Core package functionality
|
|
40
|
+
|
|
41
|
+
SOMEF-Core is the lightweight metadata extraction engine behind SOMEF. It works both as a command line tool and as a reusable library, without the machine learning components (supervised classifiers, ontology detection) that are part of the full SOMEF tool. See the SOMEF repository for the full documentation and ML capabilities.
|
|
42
|
+
|
|
43
|
+
**Demo:** See a [demo running somef as a service](https://somef.linkeddata.es), through the [SOMEF-Vider tool](https://github.com/SoftwareUnderstanding/SOMEF-Vider/).
|
|
44
|
+
|
|
45
|
+
**Authors:** Daniel Garijo, Allen Mao, Miguel Ángel García Delgado, Haripriya Dharmala, Vedant Diwanji, Jiaying Wang, Aidan Kelley, Jenifer Tabita Ciuciu-Kiss, Luca Angheluta, Juanje Mendoza, Anas El Hounsri and Thomas Vuillaume.
|
|
46
|
+
|
|
47
|
+
## Features
|
|
48
|
+
|
|
49
|
+
Given a readme file (or a GitHub/Gitlab/Codeberg/Bitbucket repository) SOMEF-Core will extract the following categories (if present), listed in alphabetical order:
|
|
50
|
+
|
|
51
|
+
- **Acknowledgement**: Text acknowledging funding sources or contributors
|
|
52
|
+
- **Authors**: Person(s) or organization(s) responsible for the project. We recognize the following properties:
|
|
53
|
+
- Name: name of the author (including last name)
|
|
54
|
+
- Given name: First name of an author
|
|
55
|
+
- Family name: Last name of an author
|
|
56
|
+
- Email: email of author
|
|
57
|
+
- URL: website or ORCID associated with the author
|
|
58
|
+
- **Application type**: type of software (command line application, notebook,scientific workflow, etc.). Note: Ontology type only detectect in SOMEF.
|
|
59
|
+
- **Build file**: Build file(s) of the project. For example, files used to create a Docker image for the target software, package files, etc.
|
|
60
|
+
- **Citation**: Preferred citation(s) as the authors have stated in their readme file. SOMEF-Core recognizes Bibtex, Citation File Format files and other means by which authors cite their papers (e.g., by in-text citation).
|
|
61
|
+
For CITATION.cff files, SOMEF-Core now generates two separate entries: one for the software tool and another for the preferred citation (if available). This ensures metadata like DOI or version is correctly assigned to each entity.
|
|
62
|
+
SOMEF-Core now performs citation reconciliation: scholarly publications (articles) are assigned in codemeta to `referencePublication`, while the software itself is credited in `creditText`. (See https://somef.readthedocs.io/en/latest/output/#codemeta-format).
|
|
63
|
+
When using `-e`, publication metadata is enriched via OpenAlex. We recognize the following properties:
|
|
64
|
+
- Title: Title of the publication
|
|
65
|
+
- Author: list of author names in the publication
|
|
66
|
+
- URL: URL of the publication
|
|
67
|
+
- DOI: Digital object identifier of the publication
|
|
68
|
+
- Date published
|
|
69
|
+
- Journal: Journal name where the paper was published
|
|
70
|
+
- Year: Year of publication
|
|
71
|
+
- Pages: Page range in the journal
|
|
72
|
+
- `openalex_id`: OpenAlex ID of the publication
|
|
73
|
+
- **Code of conduct**: Link to the code of conduct of the project
|
|
74
|
+
- **Code repository**: Link to the GitHub/GitLab/Codeberg and Bitbucket repository used for the extraction
|
|
75
|
+
- **Contact**: Contact person responsible for maintaining a software component
|
|
76
|
+
- **Continuous integration**: Link to continuous integration service(s)
|
|
77
|
+
- **Contribution guidelines**: Text indicating how to contribute to this code repository
|
|
78
|
+
- **Contributor**: Contributors to a software component. Note: Contributor metadata is exported from metadata files (e.g., CodeMeta, CONTRIBUTORS, etc.) not from git logs.
|
|
79
|
+
- **Creation date**: Date when the repository was created
|
|
80
|
+
- **Copyright holder**: Entity or individual owning the rights to the software. The year is also extracted, if available.
|
|
81
|
+
- **Date updated**: Date of last release.
|
|
82
|
+
- **Description**: A description of what the software does
|
|
83
|
+
- **Documentation**: Where to find additional documentation about a software component
|
|
84
|
+
- **Download URL**: URL where to download the target software (typically the installer, package or a tarball to a stable version)
|
|
85
|
+
- **Executable examples**: Jupyter notebooks ready for execution (e.g., files, or through myBinder/colab links)
|
|
86
|
+
- **FAQ**: Frequently asked questions about a software component
|
|
87
|
+
- **Forks count**: Number of forks of the project
|
|
88
|
+
- **Forks url**: Links to forks made of the project
|
|
89
|
+
- **Full name**: Name + owner (owner/name)
|
|
90
|
+
- **Full title**: If the repository is a short name, we will attempt to extract the longer version of the repository name
|
|
91
|
+
- **Funding**: Funding information associated with the project. **Note**: This information is extracted from `codemeta.json` files within the repository and from the README (funding section headers and links to crowdfunding platforms). When using `-e`, the project data is enriched with OpenAIRE, adding:
|
|
92
|
+
- `project_code`: Project code
|
|
93
|
+
- `project_title`: Project title
|
|
94
|
+
- `project_acronym`: Project acronym
|
|
95
|
+
- `grant_id`: Call/grant identifier
|
|
96
|
+
- **Identifier**: Identifier associated with the software (if any), such as Digital Object Identifiers and Software Heritage identifiers (SWH). DOIs associated with publications will also be detected. When using `-e`, the following enrichment identifiers are also added:
|
|
97
|
+
- `openaire_id`: URL to the OpenAIRE explore page for the software
|
|
98
|
+
- `swhid`: Software Heritage identifier (for Zenodo DOIs)
|
|
99
|
+
- **Images**: Images used to illustrate the software component
|
|
100
|
+
- **Installation instructions**: A set of instructions that indicate how to install a target repository
|
|
101
|
+
- **Invocation**: Execution command(s) needed to run a scientific software component
|
|
102
|
+
- **Issue tracker**: Link where to open issues for the target repository
|
|
103
|
+
- **Keywords**: set of terms used to commonly identify a software component
|
|
104
|
+
- **License**: License and usage terms of a software component. Now we also extract license from citation.cff.
|
|
105
|
+
- **Logo**: Main logo used to represent the target software component
|
|
106
|
+
- **Maintainer**: Individuals or teams responsible for maintaining the software component, extracted from the CODEOWNERS file
|
|
107
|
+
- **Name**: Name identifying a software component
|
|
108
|
+
- **Owner**: Name and type of the user or organization in charge of the repository
|
|
109
|
+
- **Package distribution**: Links to package sites like pypi in case the repository has a package available.
|
|
110
|
+
- **Package files**: Links to package files used to wrap the project in a package.
|
|
111
|
+
- **Programming languages**: Languages used in the repository
|
|
112
|
+
- **Related papers**: URL to possible related papers within the repository stated within the readme file (from Arxiv)
|
|
113
|
+
- **Releases**: Pointer to the available versions of a software component. For each release, somef-core will track the following properties:
|
|
114
|
+
- Description: Release notes
|
|
115
|
+
- Author: Agent responsible of creating the release
|
|
116
|
+
- Name: Name of the release
|
|
117
|
+
- Tag: version number of the release
|
|
118
|
+
- Date of publication
|
|
119
|
+
- Date of creation
|
|
120
|
+
- Link to the html page of the release
|
|
121
|
+
- Id of the release
|
|
122
|
+
- Link to the tarball zip and code of the release
|
|
123
|
+
- **Repository status**: Repository status as it is described in [repostatus.org](https://www.repostatus.org/).
|
|
124
|
+
- **Requirements**: Pre-requisites and dependencies needed to execute a software component
|
|
125
|
+
- **Run**: Running instructions of a software component. It may be wider than the `invocation` category, as it may include several steps and explanations.
|
|
126
|
+
- **Runtime platform**: specifies the runtime environment or script interpreter dependencies (e.g., Python, Java).
|
|
127
|
+
- **Script files**: Bash script files contained in the repository
|
|
128
|
+
- **Stargazers count**: Total number of stargazers of the project
|
|
129
|
+
- **Support**: Guidelines and links of where to obtain support for a software component
|
|
130
|
+
- **Support channels**: Help channels one can use to get support about the target software component
|
|
131
|
+
- **Usage examples**: Assumptions and considerations recorded by the authors when executing a software component, or examples on how to use it
|
|
132
|
+
- **Workflows**: URL and path to the computational workflow files present in the repository
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
### Confidence values in header analysis
|
|
136
|
+
|
|
137
|
+
When extracting metadata through header analysis, SOMEF-Core filters out headers
|
|
138
|
+
whose confidence is below a certain threshold to avoid false positives.
|
|
139
|
+
For instance, a header with 11+ words receives a confidence of 0.1, which
|
|
140
|
+
is considered too low for a reliable classification — such headers are
|
|
141
|
+
discarded from the results. The filtering ensures that only headers with a
|
|
142
|
+
reasonable match quality are reported in the output.
|
|
143
|
+
|
|
144
|
+
| Header length | Confidence |
|
|
145
|
+
|---------------|------------|
|
|
146
|
+
| 1–3 words | 1.0 |
|
|
147
|
+
| 4–6 words | 0.8 |
|
|
148
|
+
| 7–10 words | 0.5 |
|
|
149
|
+
| 11+ words | 0.1 |
|
|
150
|
+
|
|
151
|
+
## Documentation
|
|
152
|
+
|
|
153
|
+
See full documentation at [https://somef.readthedocs.io/en/latest/](https://somef.readthedocs.io/en/latest/)
|
|
154
|
+
|
|
155
|
+
## Cite SOMEF-Core:
|
|
156
|
+
|
|
157
|
+
Journal publication (preferred):
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
@article{10.1162/qss_a_00167,
|
|
161
|
+
author = {Kelley, Aidan and Garijo, Daniel},
|
|
162
|
+
title = "{A Framework for Creating Knowledge Graphs of Scientific Software Metadata}",
|
|
163
|
+
journal = {Quantitative Science Studies},
|
|
164
|
+
pages = {1-37},
|
|
165
|
+
year = {2021},
|
|
166
|
+
month = {11},
|
|
167
|
+
issn = {2641-3337},
|
|
168
|
+
doi = {10.1162/qss_a_00167},
|
|
169
|
+
url = {https://doi.org/10.1162/qss_a_00167},
|
|
170
|
+
eprint = {https://direct.mit.edu/qss/article-pdf/doi/10.1162/qss\_a\_00167/1971225/qss\_a\_00167.pdf},
|
|
171
|
+
}
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
Conference publication (first):
|
|
175
|
+
|
|
176
|
+
```
|
|
177
|
+
@INPROCEEDINGS{9006447,
|
|
178
|
+
author={A. {Mao} and D. {Garijo} and S. {Fakhraei}},
|
|
179
|
+
booktitle={2019 IEEE International Conference on Big Data (Big Data)},
|
|
180
|
+
title={SoMEF: A Framework for Capturing Scientific Software Metadata from its Documentation},
|
|
181
|
+
year={2019},
|
|
182
|
+
doi={10.1109/BigData47090.2019.9006447},
|
|
183
|
+
url={http://dgarijo.com/papers/SoMEF.pdf},
|
|
184
|
+
pages={3032-3037}
|
|
185
|
+
}
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
## Requirements
|
|
189
|
+
|
|
190
|
+
- Python 3.11 + (default version support). Python 3.9 and 3.10 will work, but are not supported anymore.
|
|
191
|
+
|
|
192
|
+
SOMEF-Core has been tested on Unix, MacOS and Windows Microsoft operating systems.
|
|
193
|
+
|
|
194
|
+
If you face any issues when installing SOME-Core, please make sure you have installed the following packages: `build-essential`, `libssl-dev`, `libffi-dev` and `python3-dev`.
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
## Install from GitHub
|
|
198
|
+
|
|
199
|
+
To run SOMEF, please follow the next steps:
|
|
200
|
+
|
|
201
|
+
Clone this GitHub repository
|
|
202
|
+
|
|
203
|
+
```
|
|
204
|
+
git clone https://github.com/SciCodes/somef-core.git
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
We use [Poetry](https://python-poetry.org/) to ensure library compatibility. It can be installed as follows:
|
|
208
|
+
|
|
209
|
+
```
|
|
210
|
+
curl -sSL https://install.python-poetry.org | python3 -
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
This option is recommended over installing Poetry with pip install.
|
|
214
|
+
|
|
215
|
+
Now Poetry will handle the installation of SOMEF-Core and all its dependencies configured in the `toml` file.
|
|
216
|
+
|
|
217
|
+
To test the correct installation of poetry run (poetry version `> 2.0.0`):
|
|
218
|
+
|
|
219
|
+
```
|
|
220
|
+
poetry --version
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
Install somef-core and all their dependencies.
|
|
224
|
+
|
|
225
|
+
```
|
|
226
|
+
cd /somef_core
|
|
227
|
+
poetry install
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
Now we need to access our virtual environment, to do so you can run the following command:
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
poetry env activate
|
|
234
|
+
```
|
|
235
|
+
If the environment is not active, paste the command shown when `poetry env activate` is run, typically something like the command below:
|
|
236
|
+
|
|
237
|
+
```bash
|
|
238
|
+
source /path_to_env/ENV_NAME/bin/activate
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
To learn more about poetry environment management, visit their official documentation [here](https://python-poetry.org/docs/managing-environments/).
|
|
242
|
+
|
|
243
|
+
Test the SOMEF-Core installation run:
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
somef_core --help
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
If everything goes fine, you should see:
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
Usage: somef_core [OPTIONS] COMMAND [ARGS]...
|
|
253
|
+
|
|
254
|
+
Options:
|
|
255
|
+
-h, --help Show this message and exit.
|
|
256
|
+
|
|
257
|
+
Commands:
|
|
258
|
+
configure Configure credentials file path
|
|
259
|
+
describe Running the Command Line Interface
|
|
260
|
+
version Show somef-core version.
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
## Configure
|
|
265
|
+
|
|
266
|
+
Before running SOMEF-Core for the first time, you must **configure** it appropriately (you only need to do this once). Run:
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
somef_core configure
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
And you will be asked to provide the following:
|
|
273
|
+
|
|
274
|
+
- A **GitHub** authentication token [**optional, leave blank if not used**], which SOMEF-Core uses to retrieve metadata from GitHub. If you don't include an authentication token, you can still use SOMEF. However, you may be limited to a series of requests per hour. For more information, see [https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line)
|
|
275
|
+
- A **GitLab** authentication token [**optional**], used for GitLab.com and self-hosted GitLab instances (e.g., `gitlab.in2p3.fr`). Tokens are per-instance. Note: **a token from GitLab.com does not work for self-hosted servers**. Create one at `https://gitlab.com/-/user_settings/personal_access_tokens` (scope: `read_api`). Without a token, some self-hosted GitLab instances may not return rate limit information.
|
|
276
|
+
- A **Codeberg** authentication token [**optional**], used to retrieve metadata from Codeberg. Create one at `https://codeberg.org/user/settings/applications` (permissions: `read:repository`, `read:user`). Codeberg (Forgejo) does not expose rate limit headers even with a token.
|
|
277
|
+
- A **Bitbucket** authentication token [**optional**], used for Bitbucket Cloud. Create an API token with scopes at `https://bitbucket.org/account/settings/api-tokens/` (permissions: `read:repository:bitbucket`, `read:account`). You will also need to provide your Atlassian account email, as Bitbucket API tokens use Basic authentication (`email:token` encoded in base64). Without a token you are limited to 60 requests/hour.
|
|
278
|
+
- A download size limit in MB [**optional, default 200**]. SOMEF-Core skips repository archives larger than this limit. Increase it if you need to process large repositories. You can also override it with the `--download-limit` parameter in the `describe` command.
|
|
279
|
+
|
|
280
|
+
If you want SOMEF-Core to be automatically configured (without any tokens) just type:
|
|
281
|
+
|
|
282
|
+
```bash
|
|
283
|
+
somef_core configure -a
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
For showing help about the available options, run:
|
|
287
|
+
|
|
288
|
+
```bash
|
|
289
|
+
somef_core configure --help
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
Which displays:
|
|
293
|
+
|
|
294
|
+
```bash
|
|
295
|
+
Usage: somef_core configure [OPTIONS]
|
|
296
|
+
|
|
297
|
+
Configure GitHub credentials file path
|
|
298
|
+
|
|
299
|
+
Options:
|
|
300
|
+
-a, --auto Automatically configure SOMEF-Core
|
|
301
|
+
-b, --base_uri URL Base URI for somef-core transformations
|
|
302
|
+
-h, --help Show this message and exit.
|
|
303
|
+
|
|
304
|
+
Commands:
|
|
305
|
+
test Test the configured API tokens
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
### Testing your tokens
|
|
309
|
+
|
|
310
|
+
To verify that the authentication tokens stored in your configuration file are valid **without having to run SOMEF**, run:
|
|
311
|
+
|
|
312
|
+
```bash
|
|
313
|
+
somef_core configure test
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
This contacts each configured provider's API (api.github.com, gitlab.com, codeberg.org, bitbucket.org) with the token stored in ~/.somef_core/config.json and reports the status of each one, e.g.:
|
|
317
|
+
```bash
|
|
318
|
+
GitHub: token valid
|
|
319
|
+
GitLab: token valid
|
|
320
|
+
Codeberg: token valid
|
|
321
|
+
Bitbucket: token valid but with limited permissions (403)
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
401 means the token is invalid; 403 means it is valid but lacks the required scopes; any other non-200 response is reported as unexpected.
|
|
325
|
+
Providers without a configured token are simply skipped.
|
|
326
|
+
Bitbucket tokens must start with Basic (as set by somef_core configure); otherwise the test reports an incorrect format without contacting the API.
|
|
327
|
+
The command exits with a non-zero status code if any configured token is invalid, which is useful for scripts and CI.
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
### Updating SOMEF-Core
|
|
331
|
+
|
|
332
|
+
If you update SOMEF-Core to a newer version, you must `configure` again the library (by running `somef_core configure`).
|
|
333
|
+
|
|
334
|
+
If you installed through poetry and you have upgraded the python environment (e.g., from 3.10 to 3.11), you may need to run `poetry env use python3.11` and `poetry install` to update your environment.
|
|
335
|
+
|
|
336
|
+
## Usage
|
|
337
|
+
|
|
338
|
+
```bash
|
|
339
|
+
$ somef_core describe --help
|
|
340
|
+
SOMEF Command Line Interface
|
|
341
|
+
Usage: somef_core describe [OPTIONS]
|
|
342
|
+
|
|
343
|
+
Running the Command Line Interface
|
|
344
|
+
|
|
345
|
+
Options:
|
|
346
|
+
-t, --threshold FLOAT Threshold to classify the text [required]
|
|
347
|
+
Input: [mutually_exclusive, required]
|
|
348
|
+
-r, --repo_url URL Github/Gitlab/Codeberg/Bitbucket Repository URL
|
|
349
|
+
-d, --doc_src PATH Path to the README file source
|
|
350
|
+
-i, --in_file PATH A file of newline separated links to GitHub/
|
|
351
|
+
Gitlab/Codeberg/Bitbucket repositories
|
|
352
|
+
-l, --local_repo PATH Path to the local repository source. No APIs will be used
|
|
353
|
+
|
|
354
|
+
Output: [required_any]
|
|
355
|
+
-o, --output PATH Path to the output file. If supplied, the
|
|
356
|
+
output will be in JSON
|
|
357
|
+
-c, --codemeta_out PATH Path to an output codemeta file
|
|
358
|
+
-g, --graph_out PATH Path to the output Knowledge Graph export
|
|
359
|
+
file. If supplied, the output will be a
|
|
360
|
+
Knowledge Graph, in the format given in the
|
|
361
|
+
--format option chosen (turtle, json-ld)
|
|
362
|
+
-gc, --google_codemeta_out PATH Path to a Google-compliant Codemeta JSON-LD
|
|
363
|
+
file. This output transforms the standard
|
|
364
|
+
Codemeta to follow Google’s expected JSON-LD
|
|
365
|
+
structure.
|
|
366
|
+
|
|
367
|
+
-f, --graph_format [turtle|json-ld]
|
|
368
|
+
If the --graph_out option is given, this is
|
|
369
|
+
the format that the graph will be stored in
|
|
370
|
+
|
|
371
|
+
-p, --pretty Pretty print the JSON output file so that it
|
|
372
|
+
is easy to compare to another JSON output
|
|
373
|
+
file.
|
|
374
|
+
|
|
375
|
+
-m, --missing The JSON will include a field
|
|
376
|
+
somef_missing_categories to report with the
|
|
377
|
+
missing metadata fields that SOMEF-Core was not
|
|
378
|
+
able to find.
|
|
379
|
+
|
|
380
|
+
-kt, --keep_tmp PATH SOMEF-Core will NOT delete the temporary folder
|
|
381
|
+
where files are stored for analysis. Files
|
|
382
|
+
will be stored at the
|
|
383
|
+
desired path
|
|
384
|
+
|
|
385
|
+
-all, --requirements_all Export all detected requirements, including
|
|
386
|
+
text and libraries (default).
|
|
387
|
+
|
|
388
|
+
-v, --requirements_v Export only requirements from structured
|
|
389
|
+
sources (pom.xml, requirements.txt, etc.)
|
|
390
|
+
|
|
391
|
+
|
|
392
|
+
-ra, --reconcile_authors SOMEF-Core will extract additional information
|
|
393
|
+
from certain files like CODEOWNERS.
|
|
394
|
+
This may require extra API
|
|
395
|
+
requests and increase execution time
|
|
396
|
+
--download-limit INTEGER Download size limit in MB for repository
|
|
397
|
+
archives. Overrides the value set in the
|
|
398
|
+
configuration file.
|
|
399
|
+
|
|
400
|
+
-h, --help Show this message and exit.
|
|
401
|
+
|
|
402
|
+
-e, --enrichment Enrich metadata with external APIs (OpenAlex,
|
|
403
|
+
OpenAIRE, Zenodo)
|
|
404
|
+
|
|
405
|
+
--github-token TEXT GitHub personal access token (if invalid,
|
|
406
|
+
stored config is used instead)
|
|
407
|
+
|
|
408
|
+
--gitlab-token TEXT GitLab personal access token (if invalid,
|
|
409
|
+
stored config is used instead)
|
|
410
|
+
|
|
411
|
+
--codeberg-token TEXT Codeberg personal access token (if invalid,
|
|
412
|
+
stored config is used instead)
|
|
413
|
+
|
|
414
|
+
--bitbucket-token TEXT Bitbucket app password (if invalid, stored
|
|
415
|
+
config is used instead)
|
|
416
|
+
|
|
417
|
+
--bitbucket-email TEXT Bitbucket Atlassian account email (required
|
|
418
|
+
with --bitbucket-token)
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
|
|
422
|
+
Repoository versions [mutually_exclusive] (see section *Repository versions*t):
|
|
423
|
+
-b, --branch name branch Branch of the repository to analyze. Overrides the default branch.
|
|
424
|
+
|
|
425
|
+
--tag text Tag of the repository to analyze. Cannot be used together with --branch and --commit
|
|
426
|
+
|
|
427
|
+
--commit TEXT Commit SHA to analyze. Cannot be used together
|
|
428
|
+
with --branch or --tag.
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
Alternatively, you can set tokens via environment variables or by running `somef_core configure`, which stores them permanently.
|
|
432
|
+
The CLI flags take precedence over stored config when valid.
|
|
433
|
+
|
|
434
|
+
|
|
435
|
+
### Enrichment with `-e`
|
|
436
|
+
|
|
437
|
+
The `-e` (or `--enrichment`) flag queries external APIs to complete the extracted metadata:
|
|
438
|
+
- **OpenAlex**: Adds `openalex_id` to DOIs of publications and reconciles missing author ORCIDs.
|
|
439
|
+
- **OpenAIRE**: Adds `openaire_id` to publications/identifiers and enriches project funding metadata.
|
|
440
|
+
- **Zenodo**: Adds `swhid` (Software Heritage ID) for records matching Zenodo DOIs.
|
|
441
|
+
|
|
442
|
+
For a detailed technical breakdown of the fields mapped by each external service, please refer to the specific documentation pages:
|
|
443
|
+
- See the [OpenAlex Mapping Guide](openalex.md) for citation and author properties.
|
|
444
|
+
- See the [OpenAIRE and Zenodo Mapping Guide](openaire.md) for funding and identifier properties.
|
|
445
|
+
|
|
446
|
+
**Note:** Enrichment makes additional network requests to external services, which may slow down the overall execution time. Use this flag only when you need the extra metadata.
|
|
447
|
+
|
|
448
|
+
## Usage example:
|
|
449
|
+
|
|
450
|
+
The following command extracts all metadata available from [https://github.com/dgarijo/Widoco/](https://github.com/dgarijo/Widoco/).
|
|
451
|
+
|
|
452
|
+
```bash
|
|
453
|
+
somef_core describe -r https://github.com/dgarijo/Widoco/ -o test.json -t 0.8
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
We recommend having a high value for the `threshold` parameter, 0.8 (default) or above.
|
|
457
|
+
Additional configuration parameters (such as the `similarity_threshold` for header analysis)
|
|
458
|
+
can be set in `~/.somef_core/config.json`. See the [usage documentation](https://somef.readthedocs.io/en/latest/usage/) for details.
|
|
459
|
+
|
|
460
|
+
|
|
461
|
+
## Contribute:
|
|
462
|
+
|
|
463
|
+
If you want to contribute with a pull request, please do so by submitting it to the `dev` branch.
|
|
464
|
+
|
|
465
|
+
## Contributors:
|
|
466
|
+
Priyanka O.
|
|
467
|
+
|
|
468
|
+
## Next features:
|
|
469
|
+
|
|
470
|
+
To see upcoming features, please have a look at our [open issues](https://github.com/KnowledgeCaptureAndDiscovery/somef/issues) and [milestones](https://github.com/KnowledgeCaptureAndDiscovery/somef/milestones)
|
|
471
|
+
For the time being, issues, feature requests and improvements are tracked and managed in the SOMEF repository. Please open your issues there.
|
|
472
|
+
|
|
473
|
+
|
|
474
|
+
## Metadata Support
|
|
475
|
+
|
|
476
|
+
SOMEF-Core supports the extraction and analysis of metadata in package files of several programming languages. Current support includes: `setup.py` and `pyproject.toml` for Python, `pom.xml` for Java, `.gemspec` for Ruby, `DESCRIPTION` for R, `bower.json` for JavaScript, HTML or CSS, `.cabal` for Haskell, `cargo.toml` for RUST, `composer` for PHP, `.juliaProject.toml` for Julia , `AUTHORS`, `codemeta.json`, `publiccode.yml`, `dockerfile` and `citation.cff`
|
|
477
|
+
This includes identifying dependencies, runtime requirements, and development tools specified in project configuration files.
|
|
478
|
+
|
|
479
|
+
## Limitations
|
|
480
|
+
|
|
481
|
+
SOMEF-Core is designed to work primarily with repositories written in English.
|
|
482
|
+
Repositories in other languages may not be processed as effectively, and results could be incomplete or less accurate.
|
|
483
|
+
|
|
484
|
+
### Enrichment with `-e`
|
|
485
|
+
|
|
486
|
+
The `-e` (or `--enrichment`) flag queries external APIs to complete the extracted metadata:
|
|
487
|
+
- **OpenAlex**: adds `openalex_id` to DOIs of publications.
|
|
488
|
+
- **OpenAIRE**: adds `openaire_id` and enriches funding information (project code, title, acronym, grant id).
|
|
489
|
+
- **Zenodo**: adds `swhid` (Software Heritage ID) for Zenodo DOIs.
|
|
490
|
+
|
|
491
|
+
**Note:** Enrichment makes additional network requests to external services, which may slow down the overall execution time. Use this flag only when you need the extra metadata.
|
|
492
|
+
|
|
493
|
+
## Repository versions: default behavior, branch tag and commit
|
|
494
|
+
|
|
495
|
+
SOMEF-Core allows analyzing specific versions of a repository. If no version is specified, SOMEF will analyze the default branch of the repository (usually `main` or `master`). The following options let you control exactly which version of the codebase is inspected.
|
|
496
|
+
|
|
497
|
+
### Default behavior
|
|
498
|
+
|
|
499
|
+
If neither `--branch` nor `--tag` is provided, SOMEF-Core will:
|
|
500
|
+
|
|
501
|
+
- Clone the repository.
|
|
502
|
+
- Detect and analyze the **default branch** set up in github.
|
|
503
|
+
|
|
504
|
+
This is the recommended option when you want to describe the current version of a a project.
|
|
505
|
+
|
|
506
|
+
### Using a branch
|
|
507
|
+
|
|
508
|
+
```bash
|
|
509
|
+
somef_core describe -r <repo_url> --branch <branch_name> ...
|
|
510
|
+
somef_core describe -r <repo_url> --b <branch_name> ...
|
|
511
|
+
```
|
|
512
|
+
|
|
513
|
+
Forces SOMEF-Core to analyze a specific branch of the repository.
|
|
514
|
+
|
|
515
|
+
Useful when:
|
|
516
|
+
|
|
517
|
+
- The project maintains development, release or feature branches.
|
|
518
|
+
- You need to compare metadata across branches.
|
|
519
|
+
- You want to reproduce an analysis on a branch that is not the default one.
|
|
520
|
+
|
|
521
|
+
### Using a tag
|
|
522
|
+
|
|
523
|
+
```bash
|
|
524
|
+
somef_core describe -r <repo_url> --tag <tag_name> ...
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
Analyzes a specific tagged version of the repository.
|
|
528
|
+
|
|
529
|
+
Recommended when:
|
|
530
|
+
|
|
531
|
+
- You need reproducible results (tags do not change over time).
|
|
532
|
+
- You want to document a released version of the software.
|
|
533
|
+
- You integrate SOMEF-Core into pipelines that operate on versioned artifacts.
|
|
534
|
+
|
|
535
|
+
|
|
536
|
+
### Using a commit
|
|
537
|
+
|
|
538
|
+
```bash
|
|
539
|
+
somef_core describe -r <repo_url> --commit <commit_sha> ...
|
|
540
|
+
```
|
|
541
|
+
|
|
542
|
+
### Restrictions
|
|
543
|
+
|
|
544
|
+
- `--branch`, `--tag` and `--commit` are mutually exclusive.
|
|
545
|
+
- If either option is provided, it overrides the default branch behavior.
|