AqueductHub / aqueductcore

Aqueduct Core is responsible for the core functionality of Aqueduct, an experiment management system.
https://aqueducthub.github.io/aqueductcore/
MIT License
23 stars 3 forks source link

feat(plugins): #91 natural support of venv's and requirements. #99

Closed str-anger closed 1 month ago

str-anger commented 1 month ago

This code adds a few actions, which happen by default for each plugin at first start:

  1. venv in created, if doesn't exist
  2. if requirements.txt is present, $venv-python -m pip install -r requirements.txt
  3. If pyproject.toml is present, $venv-python -m pip install .

$python variable is used in scripts to point to a venv python.

github-actions[bot] commented 1 month ago

Coverage

Coverage Report
FileStmtsMissCoverMissing
aqueductcore/backend
   context.py33488%48–52, 59–60
   main.py19479%21–24, 31
   session.py13469%24–28
aqueductcore/backend/models
   orm.py31197%58
   plugin.py1511491%53, 56, 80–81, 88, 94, 96–97, 175, 217, 221, 246, 252, 260
aqueductcore/backend/routers
   files.py85298%157–158
   frontend.py241154%22–33, 37
aqueductcore/backend/routers/graphql
   mutations_schema.py52296%42, 116
   query_schema.py45296%66–68
   router.py11191%15
aqueductcore/backend/routers/graphql/mutations
   experiment_mutations.py21195%29
aqueductcore/backend/routers/graphql/resolvers
   experiment_resolver.py25292%28, 36
   tags_resolver.py25388%14, 44, 46
aqueductcore/backend/services
   experiment.py2173285%82, 111–124, 154, 188, 194, 240, 243, 268, 299, 349, 355, 384, 390, 398, 428, 435, 443, 473–479, 486–490, 502–505
   plugin_executor.py85989%46–47, 63, 78, 81, 102, 147–153, 203
   validators.py33294%41, 46
TOTAL10959491% 

Tests Skipped Failures Errors Time
88 1 :zzz: 0 :x: 0 :fire: 24.192s :stopwatch: