diff --git a/.dockerignore b/.dockerignore index aa1f4fa..369011a 100644 --- a/.dockerignore +++ b/.dockerignore @@ -22,8 +22,9 @@ **/obj **/secrets.dev.yaml **/values.dev.yaml +**/*.log LICENSE README.md Lib Scripts -venv \ No newline at end of file +venv diff --git a/.gitignore b/.gitignore index 6d1ba59..747c75c 100644 --- a/.gitignore +++ b/.gitignore @@ -10,10 +10,10 @@ __pycache__ # Local spine/projects/* -app/spine/spine-engine -app/spine/spine-items -app/spine/spinedb-api -app/spine/spinetoolbox +spine-engine +spine-items +spinedb-api +spinetoolbox **/share/* **/include/* diff --git a/app/Dockerfiles/Dockerfile.dev b/app/Dockerfiles/Dockerfile.dev index d5c5462..a73dab2 100644 --- a/app/Dockerfiles/Dockerfile.dev +++ b/app/Dockerfiles/Dockerfile.dev @@ -10,15 +10,15 @@ WORKDIR /opt/resilience_calculator COPY . . # App dependencies -RUN pip install -r requirements.dev.txt +RUN pip install -r requirements.docker.txt RUN pip install --src /opt/resilience_calculator/spine -r requirements.spine.txt -ENV PATH=$PATH:/opt/spine +ENV PATH=$PATH:/opt/resilience_calculator/spine -# # Config +# Config RUN mkdir -p /root/.spinetoolbox/SpineProject COPY ./install/SpineToolbox.conf /root/.spinetoolbox/SpineProject -# # Julia +# Julia WORKDIR /opt RUN python3 -m jill install --confirm RUN . ./resilience_calculator/install/julia.sh diff --git a/app/install/julia.sh b/app/install/julia.sh index 3322b68..05bf548 100644 --- a/app/install/julia.sh +++ b/app/install/julia.sh @@ -2,4 +2,7 @@ julia -e 'using Pkg; Pkg.rm("SpineInterface")' || true julia -e 'using Pkg; Pkg.rm("SpineOpt")' || true julia -e 'using Pkg; Pkg.add(url="https://github.com/spine-tools/SpineInterface.jl.git")' julia -e 'using Pkg; Pkg.add(url="https://github.com/spine-tools/SpineOpt.jl.git")' -julia -e 'using Pkg; Pkg.add(["XLSX", "DataFrames", "Distributions", "CSV", "Revise", "Cbc", "Clp"])' \ No newline at end of file +julia -e 'using Pkg; Pkg.add(["XLSX", "DataFrames", "Distributions", "CSV", "Revise", "Cbc", "Clp"])' +julia -e 'using Pkg Pkg.add("IJulia")' +julia -e 'Pkg.update()' +julia -e 'Pkg.build("IJulia")' \ No newline at end of file diff --git a/app/requirements.dev.txt b/app/requirements.dev.txt index acb5463..a0182c5 100644 --- a/app/requirements.dev.txt +++ b/app/requirements.dev.txt @@ -1,60 +1,147 @@ aenum==3.1.11 aiohttp==3.8.6 aiosignal==1.3.1 +alembic==1.13.1 +asttokens==2.4.1 async-timeout==4.0.3 attrs==23.1.0 +boto3==1.34.5 +botocore==1.34.5 +cached-property==1.5.2 certifi==2023.7.22 +chardet==5.2.0 charset-normalizer==3.3.2 click==7.1.2 +coloredlogs==14.0 +comm==0.2.0 +contourpy==1.2.0 +croniter==2.0.1 +cycler==0.12.1 +dagster==0.12.8 +datapackage==1.15.2 +debugpy==1.8.0 +decorator==5.1.1 +docstring-parser==0.15 ecdsa==0.18.0 +et-xmlfile==1.1.0 exceptiongroup==1.1.3 +executing==2.0.1 +Faker==21.0.0 fire==0.5.0 Flask==1.1.4 flask-oidc==1.4.0 flatdict==4.0.1 +fonttools==4.47.0 frozenlist==1.4.0 +GDX2py==2.1.1 +gdxcc==8.33.2.post1 greenlet==3.0.1 +grpcio==1.60.0 +grpcio-health-checking==1.48.2 httplib2==0.22.0 +humanfriendly==10.0 idna==3.4 +ijson==3.2.3 iniconfig==2.0.0 +ipykernel==6.27.1 +ipython==8.18.1 +isodate==0.6.1 itsdangerous==1.1.0 +jedi==0.19.1 jill==0.11.5 Jinja2==2.11.3 +jmespath==1.0.1 +jsonlines==4.0.0 +jsonpointer==2.4 jsonschema==4.19.2 jsonschema-specifications==2023.7.1 +jupyter-client==6.1.12 +jupyter_core==5.5.1 +kiwisolver==1.4.5 +linear-tsv==1.1.0 +Mako==1.3.0 MarkupSafe==2.0.1 +matplotlib==3.8.2 +matplotlib-inline==0.1.6 multidict==6.0.4 +nest-asyncio==1.5.8 +networkx==3.2.1 +numpy==1.26.2 oauth2client==4.1.3 okta==2.9.3 +openpyxl==3.1.2 packaging==23.2 -pip==22.0.2 +pandas==2.1.4 +parso==0.8.3 +pendulum==2.1.2 +pexpect==4.9.0 +Pillow==10.1.0 +platformdirs==4.1.0 pluggy==1.3.0 +prompt-toolkit==3.0.43 +protobuf==3.20.3 +psutil==5.9.1 +ptyprocess==0.7.0 +pure-eval==0.2.2 pyasn1==0.5.0 pyasn1-modules==0.3.0 pycryptodomex==3.19.0 pydash==7.0.6 +Pygments==2.17.2 +PyMySQL==1.1.0 +pyodbc==5.0.1 pyparsing==3.1.1 PySide2==5.15.2.1 +PySide6==6.4.3 +PySide6-Addons==6.4.3 +PySide6-Essentials==6.4.3 pytest==7.4.3 +python-dateutil==2.8.2 python-gnupg==0.5.1 python-jose==3.3.0 +pytz==2023.3.post1 PyYAML==6.0.1 +pyzmq==25.1.2 +qtconsole==5.5.1 +QtPy==2.4.1 referencing==0.30.2 requests==2.31.0 requests-futures==1.0.1 +rfc3986==2.0.0 rpds-py==0.12.0 rsa==4.9 +Rx==1.6.3 +s3transfer==0.9.0 +scipy==1.11.4 semantic-version==2.10.0 -setuptools==59.6.0 shiboken2==5.15.2.1 +shiboken6==6.4.3 six==1.16.0 +-e git+https://github.com/spine-tools/spine-engine.git@7be63302466f2826ab80ffa0730e31a052770fc4#egg=spine_engine +-e git+https://github.com/spine-tools/spine-items.git@f08c405fdcc4effc36da93d96239caf211718e92#egg=spine_items +-e git+https://github.com/spine-tools/Spine-Database-API.git@c147f787f314413356ce3a59cf608d6bbcd4bfa4#egg=spinedb_api +-e git+https://github.com/Spine-project/Spine-Toolbox.git@ee6c75e046f38f09e43314da9dfcf5bca8303d4a#egg=spinetoolbox SQLAlchemy==1.3.24 +stack-data==0.6.3 +tableschema==1.20.2 +tabulate==0.9.0 +tabulator==1.53.5 termcolor==2.3.0 +time-machine==2.13.0 tomli==2.0.1 +toposort==1.10 +tornado==6.4 +tqdm==4.66.1 +traitlets==5.14.0 +typing-compat==0.1.0 typing_extensions==4.8.0 +tzdata==2023.3 +unicodecsv==0.14.1 urllib3==2.0.7 +watchdog==3.0.0 +wcwidth==0.2.12 Werkzeug==1.0.1 wget==3.2 -wheel==0.41.3 +xlrd==2.0.1 xmltodict==0.13.0 -yarl==1.9.2 \ No newline at end of file +yarl==1.9.2