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.
Files changed (422) hide show
  1. somef_core-0.0.1/LICENSE +19 -0
  2. somef_core-0.0.1/PKG-INFO +545 -0
  3. somef_core-0.0.1/README.md +507 -0
  4. somef_core-0.0.1/pyproject.toml +49 -0
  5. somef_core-0.0.1/src/somef_core/__init__.py +3 -0
  6. somef_core-0.0.1/src/somef_core/__main__.py +293 -0
  7. somef_core-0.0.1/src/somef_core/configuration.py +177 -0
  8. somef_core-0.0.1/src/somef_core/export/__init__.py +0 -0
  9. somef_core-0.0.1/src/somef_core/export/google_codemeta_export.py +171 -0
  10. somef_core-0.0.1/src/somef_core/export/json_export.py +1197 -0
  11. somef_core-0.0.1/src/somef_core/extract_software_type.py +408 -0
  12. somef_core-0.0.1/src/somef_core/extract_workflows.py +74 -0
  13. somef_core-0.0.1/src/somef_core/header_analysis.py +712 -0
  14. somef_core-0.0.1/src/somef_core/parser/__init__.py +0 -0
  15. somef_core-0.0.1/src/somef_core/parser/authors_parser.py +121 -0
  16. somef_core-0.0.1/src/somef_core/parser/bower_parser.py +185 -0
  17. somef_core-0.0.1/src/somef_core/parser/cabal_parser.py +222 -0
  18. somef_core-0.0.1/src/somef_core/parser/codemeta_parser.py +926 -0
  19. somef_core-0.0.1/src/somef_core/parser/codeowners_parser.py +198 -0
  20. somef_core-0.0.1/src/somef_core/parser/composer_parser.py +218 -0
  21. somef_core-0.0.1/src/somef_core/parser/conda_environment_parser.py +91 -0
  22. somef_core-0.0.1/src/somef_core/parser/create_excerpts.py +71 -0
  23. somef_core-0.0.1/src/somef_core/parser/description_parser.py +228 -0
  24. somef_core-0.0.1/src/somef_core/parser/dockerfile_parser.py +227 -0
  25. somef_core-0.0.1/src/somef_core/parser/gemspec_parser.py +224 -0
  26. somef_core-0.0.1/src/somef_core/parser/mardown_parser.py +536 -0
  27. somef_core-0.0.1/src/somef_core/parser/package_json_parser.py +270 -0
  28. somef_core-0.0.1/src/somef_core/parser/pom_xml_parser.py +405 -0
  29. somef_core-0.0.1/src/somef_core/parser/publiccode_parser.py +385 -0
  30. somef_core-0.0.1/src/somef_core/parser/python_parser.py +432 -0
  31. somef_core-0.0.1/src/somef_core/parser/setupcfg_parser.py +192 -0
  32. somef_core-0.0.1/src/somef_core/parser/toml_parser.py +717 -0
  33. somef_core-0.0.1/src/somef_core/process_files.py +893 -0
  34. somef_core-0.0.1/src/somef_core/process_repository.py +1793 -0
  35. somef_core-0.0.1/src/somef_core/process_results.py +87 -0
  36. somef_core-0.0.1/src/somef_core/regular_expressions.py +1333 -0
  37. somef_core-0.0.1/src/somef_core/somef_cli.py +446 -0
  38. somef_core-0.0.1/src/somef_core/test/__init__.py +1 -0
  39. somef_core-0.0.1/src/somef_core/test/conftest.py +7 -0
  40. somef_core-0.0.1/src/somef_core/test/test_JSON_export.py +1177 -0
  41. somef_core-0.0.1/src/somef_core/test/test_bitbucket.py +137 -0
  42. somef_core-0.0.1/src/somef_core/test/test_bower_parser.py +113 -0
  43. somef_core-0.0.1/src/somef_core/test/test_cabal_parser.py +94 -0
  44. somef_core-0.0.1/src/somef_core/test/test_cli.py +816 -0
  45. somef_core-0.0.1/src/somef_core/test/test_codeberg.py +183 -0
  46. somef_core-0.0.1/src/somef_core/test/test_codemeta_export.py +1135 -0
  47. somef_core-0.0.1/src/somef_core/test/test_codemeta_gitlab_export.py +64 -0
  48. somef_core-0.0.1/src/somef_core/test/test_codemeta_parser.py +167 -0
  49. somef_core-0.0.1/src/somef_core/test/test_composer_parser.py +59 -0
  50. somef_core-0.0.1/src/somef_core/test/test_conda_environment_parser.py +58 -0
  51. somef_core-0.0.1/src/somef_core/test/test_configuration.py +40 -0
  52. somef_core-0.0.1/src/somef_core/test/test_data/README-EUVpy.md +166 -0
  53. somef_core-0.0.1/src/somef_core/test/test_data/README-FTR.md +50 -0
  54. somef_core-0.0.1/src/somef_core/test/test_data/README-GENI.md +109 -0
  55. somef_core-0.0.1/src/somef_core/test/test_data/README-MEL-TNNT.md +112 -0
  56. somef_core-0.0.1/src/somef_core/test/test_data/README-OBA-SPARQL.md +87 -0
  57. somef_core-0.0.1/src/somef_core/test/test_data/README-OWL-To-OAS.md +6 -0
  58. somef_core-0.0.1/src/somef_core/test/test_data/README-PPool.md +26 -0
  59. somef_core-0.0.1/src/somef_core/test/test_data/README-TINTO.md +213 -0
  60. somef_core-0.0.1/src/somef_core/test/test_data/README-agora.md +511 -0
  61. somef_core-0.0.1/src/somef_core/test/test_data/README-almost-empty.md +1 -0
  62. somef_core-0.0.1/src/somef_core/test/test_data/README-base-images.md +1 -0
  63. somef_core-0.0.1/src/somef_core/test/test_data/README-ci-sample-project.md +102 -0
  64. somef_core-0.0.1/src/somef_core/test/test_data/README-citation-file-format.md +158 -0
  65. somef_core-0.0.1/src/somef_core/test/test_data/README-componentinstaller.md +139 -0
  66. somef_core-0.0.1/src/somef_core/test/test_data/README-csl-editor.md +57 -0
  67. somef_core-0.0.1/src/somef_core/test/test_data/README-devilog.md +99 -0
  68. somef_core-0.0.1/src/somef_core/test/test_data/README-easytv-annotator.md +74 -0
  69. somef_core-0.0.1/src/somef_core/test/test_data/README-epw2rdf-contents.md +13 -0
  70. somef_core-0.0.1/src/somef_core/test/test_data/README-epw2rdf.md +10 -0
  71. somef_core-0.0.1/src/somef_core/test/test_data/README-fair-ontologies.md +53 -0
  72. somef_core-0.0.1/src/somef_core/test/test_data/README-fastify.md +420 -0
  73. somef_core-0.0.1/src/somef_core/test/test_data/README-gammalearn.md +193 -0
  74. somef_core-0.0.1/src/somef_core/test/test_data/README-gammapy.rst +103 -0
  75. somef_core-0.0.1/src/somef_core/test/test_data/README-kgtk-notebooks.md +81 -0
  76. somef_core-0.0.1/src/somef_core/test/test_data/README-laueNN.md +123 -0
  77. somef_core-0.0.1/src/somef_core/test/test_data/README-licensius.md +59 -0
  78. somef_core-0.0.1/src/somef_core/test/test_data/README-lighttwin.md +234 -0
  79. somef_core-0.0.1/src/somef_core/test/test_data/README-loupe-api.md +13 -0
  80. somef_core-0.0.1/src/somef_core/test/test_data/README-manim.md +117 -0
  81. somef_core-0.0.1/src/somef_core/test/test_data/README-mapeathor.md +45 -0
  82. somef_core-0.0.1/src/somef_core/test/test_data/README-mapshaper.md +101 -0
  83. somef_core-0.0.1/src/somef_core/test/test_data/README-menty.md +94 -0
  84. somef_core-0.0.1/src/somef_core/test/test_data/README-os-platforms.md +196 -0
  85. somef_core-0.0.1/src/somef_core/test/test_data/README-panda.md +16 -0
  86. somef_core-0.0.1/src/somef_core/test/test_data/README-pylops.md +229 -0
  87. somef_core-0.0.1/src/somef_core/test/test_data/README-pytorch.md +424 -0
  88. somef_core-0.0.1/src/somef_core/test/test_data/README-raidologist.md +60 -0
  89. somef_core-0.0.1/src/somef_core/test/test_data/README-reggae.md +95 -0
  90. somef_core-0.0.1/src/somef_core/test/test_data/README-stract.md +66 -0
  91. somef_core-0.0.1/src/somef_core/test/test_data/README-sunpy.rst +115 -0
  92. somef_core-0.0.1/src/somef_core/test/test_data/README-tada-gam.md +130 -0
  93. somef_core-0.0.1/src/somef_core/test/test_data/README-tensorflow-2.6.0.md +156 -0
  94. somef_core-0.0.1/src/somef_core/test/test_data/README-tokei.md +85 -0
  95. somef_core-0.0.1/src/somef_core/test/test_data/README-tpronk.md +75 -0
  96. somef_core-0.0.1/src/somef_core/test/test_data/README-unboundedsystems.md +86 -0
  97. somef_core-0.0.1/src/somef_core/test/test_data/README-uncbiag.md +91 -0
  98. somef_core-0.0.1/src/somef_core/test/test_data/README-urllib3.md +110 -0
  99. somef_core-0.0.1/src/somef_core/test/test_data/README-widoco-duplicate-dois.md +198 -0
  100. somef_core-0.0.1/src/somef_core/test/test_data/README-widoco-swh.md +233 -0
  101. somef_core-0.0.1/src/somef_core/test/test_data/README-widoco.md +187 -0
  102. somef_core-0.0.1/src/somef_core/test/test_data/README-wothive.md +111 -0
  103. somef_core-0.0.1/src/somef_core/test/test_data/README-ya2o.md +372 -0
  104. somef_core-0.0.1/src/somef_core/test/test_data/SimulatedReads2Map.wdl +80 -0
  105. somef_core-0.0.1/src/somef_core/test/test_data/api_responses/bitbucket/bitbucket_response.json +127 -0
  106. somef_core-0.0.1/src/somef_core/test/test_data/api_responses/bitbucket/bitbucket_tags.json +85 -0
  107. somef_core-0.0.1/src/somef_core/test/test_data/api_responses/codeberg/codeberg_forgejo.json +104 -0
  108. somef_core-0.0.1/src/somef_core/test/test_data/api_responses/codeberg/codeberg_forgejo_languages.json +16 -0
  109. somef_core-0.0.1/src/somef_core/test/test_data/api_responses/codeberg/codeberg_forgejo_releases.json +261 -0
  110. somef_core-0.0.1/src/somef_core/test/test_data/api_responses/somef-demo.json +648 -0
  111. somef_core-0.0.1/src/somef_core/test/test_data/api_responses/widoco_api_response.json +2779 -0
  112. somef_core-0.0.1/src/somef_core/test/test_data/authors_files/docker_AUTHORS.txt +718 -0
  113. somef_core-0.0.1/src/somef_core/test/test_data/authors_files/ireeOrg_AUTHORS.txt +13 -0
  114. somef_core-0.0.1/src/somef_core/test/test_data/authors_files/jetBrain_AUTHORS.txt +10 -0
  115. somef_core-0.0.1/src/somef_core/test/test_data/authors_files/pluginsGLPI_AUTHORS.txt +9 -0
  116. somef_core-0.0.1/src/somef_core/test/test_data/authors_files/tensorFlow_AUTHORS.txt +11 -0
  117. somef_core-0.0.1/src/somef_core/test/test_data/expected/Widoco.yaml +29 -0
  118. somef_core-0.0.1/src/somef_core/test/test_data/expected/aladin-lite.yaml +22 -0
  119. somef_core-0.0.1/src/somef_core/test/test_data/expected/gammapy.yaml +31 -0
  120. somef_core-0.0.1/src/somef_core/test/test_data/expected/r3broot2.yaml +44 -0
  121. somef_core-0.0.1/src/somef_core/test/test_data/expected/runtime_platform_repo.yaml +9 -0
  122. somef_core-0.0.1/src/somef_core/test/test_data/export_test.json +142 -0
  123. somef_core-0.0.1/src/somef_core/test/test_data/extract_bash_code.txt +37 -0
  124. somef_core-0.0.1/src/somef_core/test/test_data/input-test.txt +2 -0
  125. somef_core-0.0.1/src/somef_core/test/test_data/package_neors.json +29 -0
  126. somef_core-0.0.1/src/somef_core/test/test_data/package_npm.json +258 -0
  127. somef_core-0.0.1/src/somef_core/test/test_data/pyansys-README.rst +222 -0
  128. somef_core-0.0.1/src/somef_core/test/test_data/rasterio-README.md +360 -0
  129. somef_core-0.0.1/src/somef_core/test/test_data/repositories/A-Dynamic-E-Commerce-Website-master/README.md +12 -0
  130. somef_core-0.0.1/src/somef_core/test/test_data/repositories/A-Dynamic-E-Commerce-Website-master/admin.php +75 -0
  131. somef_core-0.0.1/src/somef_core/test/test_data/repositories/A-Dynamic-E-Commerce-Website-master/admin_orders.php +53 -0
  132. somef_core-0.0.1/src/somef_core/test/test_data/repositories/A-Dynamic-E-Commerce-Website-master/delete_from_cart.php +20 -0
  133. somef_core-0.0.1/src/somef_core/test/test_data/repositories/A-Dynamic-E-Commerce-Website-master/mangola.sql +327 -0
  134. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Clamp/README.md +222 -0
  135. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Fairwinds/Dockerfile +14 -0
  136. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Fermi/README.md +164 -0
  137. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Flux.jl/Project.toml +71 -0
  138. somef_core-0.0.1/src/somef_core/test/test_data/repositories/JAFFA-master/README +9 -0
  139. somef_core-0.0.1/src/somef_core/test/test_data/repositories/JAFFA-master/README.md +4 -0
  140. somef_core-0.0.1/src/somef_core/test/test_data/repositories/JAFFA-master/cwl/converter.cwl +33 -0
  141. somef_core-0.0.1/src/somef_core/test/test_data/repositories/JAFFA-master/cwl/smcFusion-jaffa-workflow.cwl +62 -0
  142. somef_core-0.0.1/src/somef_core/test/test_data/repositories/JAFFA-master/cwl/tar.cwl +23 -0
  143. somef_core-0.0.1/src/somef_core/test/test_data/repositories/JAFFA-master/cwl/twoBitToFa.cwl +37 -0
  144. somef_core-0.0.1/src/somef_core/test/test_data/repositories/OWL-To-OAS-Specification-master/README.md +6 -0
  145. somef_core-0.0.1/src/somef_core/test/test_data/repositories/OWL-To-OAS-Specification-master/mkdocs.yml +13 -0
  146. somef_core-0.0.1/src/somef_core/test/test_data/repositories/OWL-To-OAS-Specification-master/requirements.txt +1 -0
  147. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Pluto.jl/Project.toml +84 -0
  148. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Prometeus/Dockerfile +31 -0
  149. somef_core-0.0.1/src/somef_core/test/test_data/repositories/RDFChess/.gitignore +1 -0
  150. somef_core-0.0.1/src/somef_core/test/test_data/repositories/RDFChess/README.md +20 -0
  151. somef_core-0.0.1/src/somef_core/test/test_data/repositories/RDFChess/pom.xml +202 -0
  152. somef_core-0.0.1/src/somef_core/test/test_data/repositories/RDFChess/rdfchess.config +0 -0
  153. somef_core-0.0.1/src/somef_core/test/test_data/repositories/RDFChess/run.bat +1 -0
  154. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/CITATION.cff +20 -0
  155. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/CONTRIBUTING.md +2 -0
  156. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/Dockerfile +18 -0
  157. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/LICENSE +202 -0
  158. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/README.md +187 -0
  159. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/codemeta.json +62 -0
  160. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/docs/pom.sml +167 -0
  161. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/docs/pom.xml +167 -0
  162. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/example_onto/CITATION.cff +20 -0
  163. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/example_onto/README.md +188 -0
  164. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/example_onto/license.md +14 -0
  165. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/example_onto/ontology.nt +153 -0
  166. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/example_onto/ontology.ttl +159 -0
  167. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/example_onto/test.ttl +9 -0
  168. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/pom.xml +172 -0
  169. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/target/maven-archiver/pom.properties +3 -0
  170. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/test/CITATION.cff +20 -0
  171. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/test/test/CITATION.cff +20 -0
  172. somef_core-0.0.1/src/somef_core/test/test_data/repositories/Widoco/test/test/test/CITATION.cff +20 -0
  173. somef_core-0.0.1/src/somef_core/test/test_data/repositories/ack/ACKNOWLEDGMENT.md +1 -0
  174. somef_core-0.0.1/src/somef_core/test/test_data/repositories/ack/README.md +4 -0
  175. somef_core-0.0.1/src/somef_core/test/test_data/repositories/aladin-lite/codemeta.json +83 -0
  176. somef_core-0.0.1/src/somef_core/test/test_data/repositories/auroral-ontology-core/ontology.rdf +2306 -0
  177. somef_core-0.0.1/src/somef_core/test/test_data/repositories/auroral-ontology-core/ontology.xml +981 -0
  178. somef_core-0.0.1/src/somef_core/test/test_data/repositories/auroral-ontology-core/readme.md +34 -0
  179. somef_core-0.0.1/src/somef_core/test/test_data/repositories/basis_functions_approach_to_GP-master/BF_1D_notebook.Rmd +1041 -0
  180. somef_core-0.0.1/src/somef_core/test/test_data/repositories/basis_functions_approach_to_GP-master/Diagnosis_HSGP_v2.Rmd +938 -0
  181. somef_core-0.0.1/src/somef_core/test/test_data/repositories/basis_functions_approach_to_GP-master/Rnb_case3D_diagnosis.Rmd +1082 -0
  182. somef_core-0.0.1/src/somef_core/test/test_data/repositories/bimerr-epw/LICENSE +201 -0
  183. somef_core-0.0.1/src/somef_core/test/test_data/repositories/bimerr-epw/README.md +23 -0
  184. somef_core-0.0.1/src/somef_core/test/test_data/repositories/bootstrap-datepicker-rails/bootstrap-datepicker-rails-2.gemspec +22 -0
  185. somef_core-0.0.1/src/somef_core/test/test_data/repositories/bootstrap-datepicker-rails/bootstrap-datepicker-rails.gemspec +22 -0
  186. somef_core-0.0.1/src/somef_core/test/test_data/repositories/captum/.gitattributes +2 -0
  187. somef_core-0.0.1/src/somef_core/test/test_data/repositories/captum/.gitignore +117 -0
  188. somef_core-0.0.1/src/somef_core/test/test_data/repositories/captum/AWESOME_LIST.md +28 -0
  189. somef_core-0.0.1/src/somef_core/test/test_data/repositories/captum/CITATION +8 -0
  190. somef_core-0.0.1/src/somef_core/test/test_data/repositories/captum/CODE_OF_CONDUCT.md +76 -0
  191. somef_core-0.0.1/src/somef_core/test/test_data/repositories/captum/CONTRIBUTING.md +134 -0
  192. somef_core-0.0.1/src/somef_core/test/test_data/repositories/captum/LICENSE +29 -0
  193. somef_core-0.0.1/src/somef_core/test/test_data/repositories/captum/README.md +494 -0
  194. somef_core-0.0.1/src/somef_core/test/test_data/repositories/captum/environment.yml +6 -0
  195. somef_core-0.0.1/src/somef_core/test/test_data/repositories/captum/pyproject.toml +2 -0
  196. somef_core-0.0.1/src/somef_core/test/test_data/repositories/captum/setup.cfg +12 -0
  197. somef_core-0.0.1/src/somef_core/test/test_data/repositories/captum/setup.py +171 -0
  198. somef_core-0.0.1/src/somef_core/test/test_data/repositories/chosen/bower.json +42 -0
  199. somef_core-0.0.1/src/somef_core/test/test_data/repositories/codecov/composer.json +25 -0
  200. somef_core-0.0.1/src/somef_core/test/test_data/repositories/codemeta_repo/codemeta.json +214 -0
  201. somef_core-0.0.1/src/somef_core/test/test_data/repositories/componentInstaller/CITATION.cff +23 -0
  202. somef_core-0.0.1/src/somef_core/test/test_data/repositories/componentInstaller/LICENSE +674 -0
  203. somef_core-0.0.1/src/somef_core/test/test_data/repositories/componentInstaller/README.md +138 -0
  204. somef_core-0.0.1/src/somef_core/test/test_data/repositories/composer/composer.json +110 -0
  205. somef_core-0.0.1/src/somef_core/test/test_data/repositories/corpuser/README.md +38 -0
  206. somef_core-0.0.1/src/somef_core/test/test_data/repositories/cropwater/DESCRIPTION +61 -0
  207. somef_core-0.0.1/src/somef_core/test/test_data/repositories/cropwater/LICENSE.md +21 -0
  208. somef_core-0.0.1/src/somef_core/test/test_data/repositories/cropwater/README.md +649 -0
  209. somef_core-0.0.1/src/somef_core/test/test_data/repositories/cropwater/codemeta.json +159 -0
  210. somef_core-0.0.1/src/somef_core/test/test_data/repositories/fair-ontologies/README.md +117 -0
  211. somef_core-0.0.1/src/somef_core/test/test_data/repositories/fair-ontologies/citation.cff +23 -0
  212. somef_core-0.0.1/src/somef_core/test/test_data/repositories/fair-ontologies/codemeta.json +133 -0
  213. somef_core-0.0.1/src/somef_core/test/test_data/repositories/fair-ontologies/pom.xml +186 -0
  214. somef_core-0.0.1/src/somef_core/test/test_data/repositories/fuji/AUTHORS +19 -0
  215. somef_core-0.0.1/src/somef_core/test/test_data/repositories/fuji/CITATION.cff +35 -0
  216. somef_core-0.0.1/src/somef_core/test/test_data/repositories/fuji/README.md +265 -0
  217. somef_core-0.0.1/src/somef_core/test/test_data/repositories/fuji/pyproject.toml +169 -0
  218. somef_core-0.0.1/src/somef_core/test/test_data/repositories/gammalearn/pyproject.toml +79 -0
  219. somef_core-0.0.1/src/somef_core/test/test_data/repositories/gammapy/codemeta.json +376 -0
  220. somef_core-0.0.1/src/somef_core/test/test_data/repositories/ggplot2/DESCRIPTION +132 -0
  221. somef_core-0.0.1/src/somef_core/test/test_data/repositories/ggstatsplot/DESCRIPTION +86 -0
  222. somef_core-0.0.1/src/somef_core/test/test_data/repositories/ggstatsplot/codemeta.json +638 -0
  223. somef_core-0.0.1/src/somef_core/test/test_data/repositories/haskell/cabal.cabal +419 -0
  224. somef_core-0.0.1/src/somef_core/test/test_data/repositories/inspect4py/CITATION.cff +25 -0
  225. somef_core-0.0.1/src/somef_core/test/test_data/repositories/inspect4py/README.md +255 -0
  226. somef_core-0.0.1/src/somef_core/test/test_data/repositories/inspect4py/docs/requirements.txt +1 -0
  227. somef_core-0.0.1/src/somef_core/test/test_data/repositories/inspect4py/pyproject.toml +15 -0
  228. somef_core-0.0.1/src/somef_core/test/test_data/repositories/inspect4py/requirements.txt +12 -0
  229. somef_core-0.0.1/src/somef_core/test/test_data/repositories/inspect4py/setup.py +51 -0
  230. somef_core-0.0.1/src/somef_core/test/test_data/repositories/ipynb-master/__init__.py +29 -0
  231. somef_core-0.0.1/src/somef_core/test/test_data/repositories/ipynb-master/bogus_ipynb.ipynb +2 -0
  232. somef_core-0.0.1/src/somef_core/test/test_data/repositories/ipynb-master/r_notebook.ipynb +40 -0
  233. somef_core-0.0.1/src/somef_core/test/test_data/repositories/js-template/bower.json +26 -0
  234. somef_core-0.0.1/src/somef_core/test/test_data/repositories/js-template/package.json +25 -0
  235. somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/LICENSE +21 -0
  236. somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/README.md +81 -0
  237. somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/tutorial/01-kgtk-introduction.ipynb +2455 -0
  238. somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/tutorial/02-kg-profiling.ipynb +4924 -0
  239. somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/tutorial/03-kg-graph-embeddings.ipynb +819 -0
  240. somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/tutorial/04-kg-enrichment-with-csv.ipynb +3570 -0
  241. somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/tutorial/05-kg-enrichment-with-lod.ipynb +3297 -0
  242. somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/tutorial/06-kg-network-analysis.ipynb +2363 -0
  243. somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/tutorial/07-kg-constraint-validation.ipynb +1423 -0
  244. somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/tutorial/kgtk-browser.ipynb +308 -0
  245. somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/use-cases/Visualize-force-graph-example.ipynb +937 -0
  246. somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/use-cases/browser-profiling.ipynb +1583 -0
  247. somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/use-cases/class-visualization.ipynb +7509 -0
  248. somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/use-cases/ontology-examples.ipynb +2002 -0
  249. somef_core-0.0.1/src/somef_core/test/test_data/repositories/kgtk-notebooks/use-cases/properties-for-this-type.ipynb +1474 -0
  250. somef_core-0.0.1/src/somef_core/test/test_data/repositories/maven/pom.xml +1275 -0
  251. somef_core-0.0.1/src/somef_core/test/test_data/repositories/maykinMedia/publiccode.yaml +112 -0
  252. somef_core-0.0.1/src/somef_core/test/test_data/repositories/mir_eval/LICENSE.txt +21 -0
  253. somef_core-0.0.1/src/somef_core/test/test_data/repositories/mir_eval/README.rst +25 -0
  254. somef_core-0.0.1/src/somef_core/test/test_data/repositories/mir_eval/setup.py +37 -0
  255. somef_core-0.0.1/src/somef_core/test/test_data/repositories/mira/LICENSE +201 -0
  256. somef_core-0.0.1/src/somef_core/test/test_data/repositories/mira/README.md +124 -0
  257. somef_core-0.0.1/src/somef_core/test/test_data/repositories/nemo/CITATION.cff +23 -0
  258. somef_core-0.0.1/src/somef_core/test/test_data/repositories/nemo/README.md +185 -0
  259. somef_core-0.0.1/src/somef_core/test/test_data/repositories/pcake/README.md +4 -0
  260. somef_core-0.0.1/src/somef_core/test/test_data/repositories/pcake/setup.py +28 -0
  261. somef_core-0.0.1/src/somef_core/test/test_data/repositories/probot-12.1.1/.editorconfig +9 -0
  262. somef_core-0.0.1/src/somef_core/test/test_data/repositories/probot-12.1.1/.gitignore +12 -0
  263. somef_core-0.0.1/src/somef_core/test/test_data/repositories/probot-12.1.1/CODE_OF_CONDUCT.md +132 -0
  264. somef_core-0.0.1/src/somef_core/test/test_data/repositories/probot-12.1.1/CONTRIBUTING.md +63 -0
  265. somef_core-0.0.1/src/somef_core/test/test_data/repositories/probot-12.1.1/LICENSE +15 -0
  266. somef_core-0.0.1/src/somef_core/test/test_data/repositories/probot-12.1.1/README.md +51 -0
  267. somef_core-0.0.1/src/somef_core/test/test_data/repositories/probot-12.1.1/README.pt-br.md +40 -0
  268. somef_core-0.0.1/src/somef_core/test/test_data/repositories/probot-12.1.1/codecov.yml +11 -0
  269. somef_core-0.0.1/src/somef_core/test/test_data/repositories/publicCode-Example/publiccode.yml +131 -0
  270. somef_core-0.0.1/src/somef_core/test/test_data/repositories/r3broot2/codemeta.json +437 -0
  271. somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/CHANGELOG.md +2255 -0
  272. somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/CONTRIBUTORS +57 -0
  273. somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/LICENSE +29 -0
  274. somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/MANIFEST.in +13 -0
  275. somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/Makefile +20 -0
  276. somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/README.md +226 -0
  277. somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/black.toml +31 -0
  278. somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/docker-compose.tests.yml +24 -0
  279. somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/pull_request_template.md +7 -0
  280. somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/requirements.dev.txt +12 -0
  281. somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/requirements.txt +3 -0
  282. somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/run_tests.py +92 -0
  283. somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/run_tests.sh +9 -0
  284. somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/run_tests_with_coverage_report.sh +9 -0
  285. somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/setup.cfg +38 -0
  286. somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/setup.py +90 -0
  287. somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/skiptests.list +59 -0
  288. somef_core-0.0.1/src/somef_core/test/test_data/repositories/rdflib-6.0.2/tox.ini +35 -0
  289. somef_core-0.0.1/src/somef_core/test/test_data/repositories/repos_oeg/bimerr-core/README.md +1 -0
  290. somef_core-0.0.1/src/somef_core/test/test_data/repositories/resolver_deco/LICENSE.txt +12 -0
  291. somef_core-0.0.1/src/somef_core/test/test_data/repositories/resolver_deco/README.txt +56 -0
  292. somef_core-0.0.1/src/somef_core/test/test_data/repositories/resolver_deco/resolver_deco.py +49 -0
  293. somef_core-0.0.1/src/somef_core/test/test_data/repositories/resolver_deco/setup.py +20 -0
  294. somef_core-0.0.1/src/somef_core/test/test_data/repositories/runtime_platform_repo/codemeta.json +6 -0
  295. somef_core-0.0.1/src/somef_core/test/test_data/repositories/rustdesk/Cargo.toml +223 -0
  296. somef_core-0.0.1/src/somef_core/test/test_data/repositories/soca/README.md +301 -0
  297. somef_core-0.0.1/src/somef_core/test/test_data/repositories/soca/codemeta.json +75 -0
  298. somef_core-0.0.1/src/somef_core/test/test_data/repositories/soca/pyproject.toml +6 -0
  299. somef_core-0.0.1/src/somef_core/test/test_data/repositories/soca/setup.cfg +45 -0
  300. somef_core-0.0.1/src/somef_core/test/test_data/repositories/software_catalog/LICENSE +201 -0
  301. somef_core-0.0.1/src/somef_core/test/test_data/repositories/software_catalog/README.md +21 -0
  302. somef_core-0.0.1/src/somef_core/test/test_data/repositories/software_catalog/repo_icons/acknowledgement.png +0 -0
  303. somef_core-0.0.1/src/somef_core/test/test_data/repositories/software_catalog/repo_icons/citation.png +0 -0
  304. somef_core-0.0.1/src/somef_core/test/test_data/repositories/somef_repo/CITATION.cff +43 -0
  305. somef_core-0.0.1/src/somef_core/test/test_data/repositories/somef_repo/README.md +361 -0
  306. 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
  307. somef_core-0.0.1/src/somef_core/test/test_data/repositories/somef_repo/pyproject.toml +55 -0
  308. somef_core-0.0.1/src/somef_core/test/test_data/repositories/sprint-main/netex_accounting_version.xsd.rdf +425 -0
  309. somef_core-0.0.1/src/somef_core/test/test_data/repositories/sprint-main/setup.sh +2 -0
  310. somef_core-0.0.1/src/somef_core/test/test_data/repositories/stable-diffusion/README.md +214 -0
  311. somef_core-0.0.1/src/somef_core/test/test_data/repositories/stable-diffusion/environment.yaml +31 -0
  312. somef_core-0.0.1/src/somef_core/test/test_data/repositories/sunpy/CITATION.cff +79 -0
  313. somef_core-0.0.1/src/somef_core/test/test_data/repositories/sunpy/pyproject.toml +256 -0
  314. somef_core-0.0.1/src/somef_core/test/test_data/repositories/sunpy_short_desc/README.rst +82 -0
  315. somef_core-0.0.1/src/somef_core/test/test_data/repositories/sunpy_short_desc/pyproject.toml +256 -0
  316. somef_core-0.0.1/src/somef_core/test/test_data/repositories/tensorflow/CODEOWNERS +18 -0
  317. somef_core-0.0.1/src/somef_core/test/test_data/repositories/tensorflow/README.md +173 -0
  318. somef_core-0.0.1/src/somef_core/test/test_data/repositories/termlex-main/README.md +14 -0
  319. somef_core-0.0.1/src/somef_core/test/test_data/repositories/termlex-main/ontology/termlex.ttl +2150 -0
  320. somef_core-0.0.1/src/somef_core/test/test_data/repositories/termlex-main/termlex_core.png +0 -0
  321. somef_core-0.0.1/src/somef_core/test/test_data/repositories/tidyverse/DESCRIPTION +63 -0
  322. somef_core-0.0.1/src/somef_core/test/test_data/repositories/unused/unused.cabal +127 -0
  323. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/CMakeLists.txt +168 -0
  324. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/CODE_OF_CONDUCT.md +5 -0
  325. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/CONTRIBUTING.md +27 -0
  326. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/Decode.cpp +440 -0
  327. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/LICENSE +30 -0
  328. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/README.md +39 -0
  329. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/Test.cpp +184 -0
  330. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/Train.cpp +564 -0
  331. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/docs/DecoderSketch.png +0 -0
  332. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/docs/arch.md +68 -0
  333. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/docs/decoder.md +80 -0
  334. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/docs/installation.md +50 -0
  335. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/docs/train.md +86 -0
  336. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/OptimizeSortParams.cpp +156 -0
  337. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/Seq2SeqAnalysis.cpp +215 -0
  338. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/arrayfire_parser.py +65 -0
  339. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/fair_cluster/w2l_fair_cluster_build.sh +37 -0
  340. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/fair_cluster/w2l_fair_cluster_decode.sh +34 -0
  341. 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
  342. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/fair_cluster/w2l_fair_cluster_train.sh +48 -0
  343. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/imgcat +118 -0
  344. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/launch_distributed_chronos.sh +60 -0
  345. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/tensorboard.py +206 -0
  346. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/wavdiff +53 -0
  347. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/wavextract +180 -0
  348. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/wavplot +170 -0
  349. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wav2letter/scripts/wavstatus +94 -0
  350. somef_core-0.0.1/src/somef_core/test/test_data/repositories/website-static-master/fonts.css +15 -0
  351. somef_core-0.0.1/src/somef_core/test/test_data/repositories/website-static-master/header.js +32 -0
  352. somef_core-0.0.1/src/somef_core/test/test_data/repositories/website-static-master/image.js +32 -0
  353. somef_core-0.0.1/src/somef_core/test/test_data/repositories/website-static-master/index.html +1 -0
  354. somef_core-0.0.1/src/somef_core/test/test_data/repositories/website-static-master/index.js +126 -0
  355. somef_core-0.0.1/src/somef_core/test/test_data/repositories/website-static-master/layout.js +102 -0
  356. somef_core-0.0.1/src/somef_core/test/test_data/repositories/website-static-master/privacy.js +47 -0
  357. somef_core-0.0.1/src/somef_core/test/test_data/repositories/website-static-master/terms.js +119 -0
  358. somef_core-0.0.1/src/somef_core/test/test_data/repositories/workloopr/LICENSE +674 -0
  359. somef_core-0.0.1/src/somef_core/test/test_data/repositories/workloopr/README.md +172 -0
  360. somef_core-0.0.1/src/somef_core/test/test_data/repositories/workloopr/codemeta.json +144 -0
  361. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wot-hive/README.md +111 -0
  362. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wot-hive/docker/auroral-hive/Dockerfile +15 -0
  363. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wot-hive/docker/docker-compose.yml +26 -0
  364. somef_core-0.0.1/src/somef_core/test/test_data/repositories/wot-hive/docker/fuseki/Dockerfile +9 -0
  365. somef_core-0.0.1/src/somef_core/test/test_data/repostatus-README-2.md +50 -0
  366. somef_core-0.0.1/src/somef_core/test/test_data/repostatus-README.md +50 -0
  367. somef_core-0.0.1/src/somef_core/test/test_data/test_465.md +388 -0
  368. somef_core-0.0.1/src/somef_core/test/test_data/test_arxiv_links.txt +95 -0
  369. somef_core-0.0.1/src/somef_core/test/test_data/test_extract_bibtex.txt +17 -0
  370. somef_core-0.0.1/src/somef_core/test/test_data/test_extract_binder_links.txt +4 -0
  371. somef_core-0.0.1/src/somef_core/test/test_data/test_extract_dois.txt +8 -0
  372. somef_core-0.0.1/src/somef_core/test/test_data/test_extract_gitter_chat.txt +2 -0
  373. somef_core-0.0.1/src/somef_core/test/test_data/test_extract_header_content_hash.txt +13 -0
  374. somef_core-0.0.1/src/somef_core/test/test_data/test_extract_header_content_hash_complex.txt +11 -0
  375. somef_core-0.0.1/src/somef_core/test/test_data/test_extract_header_content_underline.txt +18 -0
  376. somef_core-0.0.1/src/somef_core/test/test_data/test_extract_readthedocs_1.txt +2 -0
  377. somef_core-0.0.1/src/somef_core/test/test_data/test_extract_readthedocs_2.txt +6 -0
  378. somef_core-0.0.1/src/somef_core/test/test_data/test_extract_readthedocs_3.txt +6 -0
  379. somef_core-0.0.1/src/somef_core/test/test_data/test_extract_title_hash.txt +6 -0
  380. somef_core-0.0.1/src/somef_core/test/test_data/test_extract_title_underline.txt +6 -0
  381. somef_core-0.0.1/src/somef_core/test/test_data/test_extract_title_with_md.txt +2 -0
  382. somef_core-0.0.1/src/somef_core/test/test_data/test_images.txt +68 -0
  383. somef_core-0.0.1/src/somef_core/test/test_data/test_issue_181.txt +16 -0
  384. somef_core-0.0.1/src/somef_core/test/test_data/test_issue_181_2.txt +135 -0
  385. somef_core-0.0.1/src/somef_core/test/test_data/test_issue_181_3.txt +110 -0
  386. somef_core-0.0.1/src/somef_core/test/test_data/test_issue_270.txt +15 -0
  387. somef_core-0.0.1/src/somef_core/test/test_data/test_issue_images.txt +9 -0
  388. somef_core-0.0.1/src/somef_core/test/test_data/test_logo.txt +5 -0
  389. somef_core-0.0.1/src/somef_core/test/test_data/test_logo2.txt +5 -0
  390. somef_core-0.0.1/src/somef_core/test/test_data/test_logo_tensorflow.txt +157 -0
  391. somef_core-0.0.1/src/somef_core/test/test_data/test_logo_uscisii2.txt +95 -0
  392. somef_core-0.0.1/src/somef_core/test/test_data/test_pypi.md +26 -0
  393. somef_core-0.0.1/src/somef_core/test/test_data/test_repo_status.txt +10 -0
  394. somef_core-0.0.1/src/somef_core/test/test_data/test_wiki.md +46 -0
  395. somef_core-0.0.1/src/somef_core/test/test_data/widoco_readme.md +152 -0
  396. somef_core-0.0.1/src/somef_core/test/test_description_parser.py +116 -0
  397. somef_core-0.0.1/src/somef_core/test/test_dockerfile_parser.py +190 -0
  398. somef_core-0.0.1/src/somef_core/test/test_enrichment.py +169 -0
  399. somef_core-0.0.1/src/somef_core/test/test_extract_authors.py +71 -0
  400. somef_core-0.0.1/src/somef_core/test/test_extract_workflows.py +18 -0
  401. somef_core-0.0.1/src/somef_core/test/test_gemspec_parser.py +77 -0
  402. somef_core-0.0.1/src/somef_core/test/test_gitlab_selfhosted.py +26 -0
  403. somef_core-0.0.1/src/somef_core/test/test_gitlab_token_handling.py +118 -0
  404. somef_core-0.0.1/src/somef_core/test/test_google_compliant_export.py +50 -0
  405. somef_core-0.0.1/src/somef_core/test/test_header_analysis.py +284 -0
  406. somef_core-0.0.1/src/somef_core/test/test_package_json_parser.py +124 -0
  407. somef_core-0.0.1/src/somef_core/test/test_parser_somef.py +95 -0
  408. somef_core-0.0.1/src/somef_core/test/test_pom_parser.py +118 -0
  409. somef_core-0.0.1/src/somef_core/test/test_process_repository.py +1350 -0
  410. somef_core-0.0.1/src/somef_core/test/test_process_results.py +23 -0
  411. somef_core-0.0.1/src/somef_core/test/test_publiccode_parser.py +144 -0
  412. somef_core-0.0.1/src/somef_core/test/test_python_parser.py +56 -0
  413. somef_core-0.0.1/src/somef_core/test/test_regular_expressions.py +677 -0
  414. somef_core-0.0.1/src/somef_core/test/test_setupcfg_parser.py +53 -0
  415. somef_core-0.0.1/src/somef_core/test/test_software_type.py +139 -0
  416. somef_core-0.0.1/src/somef_core/test/test_toml_parser.py +375 -0
  417. somef_core-0.0.1/src/somef_core/test/test_verify_token.py +62 -0
  418. somef_core-0.0.1/src/somef_core/test/test_wiki.py +69 -0
  419. somef_core-0.0.1/src/somef_core/utils/__init__.py +0 -0
  420. somef_core-0.0.1/src/somef_core/utils/constants.py +794 -0
  421. somef_core-0.0.1/src/somef_core/utils/enrichment.py +223 -0
  422. somef_core-0.0.1/src/somef_core/utils/markdown_utils.py +79 -0
@@ -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.