Skip to content

Commit a6b56c0

Browse files
committed
add dockerfile and changes to allow non-windows usage of python_toolkit
1 parent 9cb9461 commit a6b56c0

File tree

5 files changed

+21
-23
lines changed

5 files changed

+21
-23
lines changed

Python_Engine/Python/Dockerfile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
FROM python:3.10-slim
2+
3+
COPY . /Python_Toolkit
4+
5+
RUN pip3 install ./Python_Toolkit
6+
7+
RUN rm ./Python_Toolkit -rf

Python_Engine/Python/pyproject.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ dependencies = [
2222
source = "https://github.com/BHoM/Python_Toolkit"
2323

2424
[build-system]
25-
requires = ["setuptools", "pywin32"]
25+
requires = ["setuptools"]
2626
build-backend = "setuptools.build_meta"
2727

2828
[dependency-groups]
@@ -46,5 +46,8 @@ package-dir = {"" = "src"}
4646
where = ["src"]
4747
exclude = ["tests"]
4848

49+
[tool.setuptools.package-data]
50+
"*" = ["*.mplstyle"]
51+
4952
[tool.pytest.ini_options]
5053
pythonpath = "src"

Python_Engine/Python/setup.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,17 @@
11
from pathlib import Path
2-
32
import setuptools
4-
from win32api import HIWORD, LOWORD, GetFileVersionInfo
53

64
TOOLKIT_NAME = "Python_Toolkit"
75

6+
here = Path(__file__).parent.resolve()
7+
88
def _bhom_version() -> str:
99
"""Return the version of BHoM installed (using the BHoM.dll in the root BHoM directory."""
10-
info = GetFileVersionInfo("C:/ProgramData/BHoM/Assemblies/BHoM.dll", "\\") # pylint: disable=[no-name-in-module]
11-
ms = info["FileVersionMS"]
12-
ls = info["FileVersionLS"]
13-
return f"{HIWORD(ms)}.{LOWORD(ms)}.{HIWORD(ls)}.{LOWORD(ls)}" # pylint: disable=[no-name-in-module]
10+
versionFile = here / "VERSION.txt" #version file is created in a pre-build event in Python_Engine.csproj
11+
return versionFile.read_text();
1412

1513
BHOM_VERSION = _bhom_version()
1614

17-
here = Path(__file__).parent.resolve()
1815
long_description = (here / "README.md").read_text(encoding="utf-8")
1916

2017
setuptools.setup(

Python_Engine/Python/src/python_toolkit/bhom/__init__.py

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,13 @@
22

33
from pathlib import Path # pylint: disable=E0401
44
from os import path
5+
import tempfile
6+
import importlib.metadata
57

6-
from win32api import HIWORD, LOWORD, GetFileVersionInfo
7-
8-
BHOM_ASSEMBLIES_DIRECTORY = Path(path.expandvars("%PROGRAMDATA%/BHoM/Assemblies"))
98
BHOM_LOG_FOLDER = Path(path.expandvars("%PROGRAMDATA%/BHoM/Logs"))
109
TOOLKIT_NAME = "Python_Toolkit"
10+
BHOM_VERSION = importlib.metadata.version("python_toolkit")
1111

1212
if not BHOM_LOG_FOLDER.exists():
13-
BHOM_LOG_FOLDER = Path(path.expandvars("%TEMP%/BHoMLogs"))
14-
BHOM_LOG_FOLDER.mkdir(exist_ok=True)
15-
16-
if not BHOM_ASSEMBLIES_DIRECTORY.exists():
17-
BHOM_VERSION = ""
18-
else:
19-
_file_version_ms = GetFileVersionInfo(
20-
(BHOM_ASSEMBLIES_DIRECTORY / "BHoM.dll").as_posix(), "\\"
21-
)["FileVersionMS"]
22-
23-
BHOM_VERSION = f"{HIWORD(_file_version_ms)}.{LOWORD(_file_version_ms)}"
13+
BHOM_LOG_FOLDER = Path(tempfile.gettempdir()) / "BHoM" / "Logs"
14+
BHOM_LOG_FOLDER.mkdir(exist_ok=True, parents=True)

Python_Engine/Python_Engine.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,6 @@
3939
<Exec Command="xcopy $(TargetDir)$(TargetFileName) $(ProgramData)\BHoM\Assemblies /Y" />
4040
</Target>
4141
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
42-
<Exec Command="if not exist $(ProgramData)\BHoM\Extensions\PythonEnvironments mkdir $(ProgramData)\BHoM\Extensions\PythonEnvironments&#xD;&#xA;if not exist $(ProgramData)\BHoM\Extensions\PythonCode mkdir $(ProgramData)\BHoM\Extensions\PythonCode&#xD;&#xA; &#xD;&#xA;if exist $(ProgramData)\BHoM\Extensions\PythonCode\$(SolutionName) rmdir $(ProgramData)\BHoM\Extensions\PythonCode\$(SolutionName) /S /Q&#xD;&#xA;mkdir $(ProgramData)\BHoM\Extensions\PythonCode\$(SolutionName)&#xD;&#xA; &#xD;&#xA;robocopy $(ProjectDir)Python $(ProgramData)\BHoM\Extensions\PythonCode\$(SolutionName) /mir /xf &quot;*.pyc&quot; &quot;*.ipynb&quot; /xd &quot;__*__&quot; &quot;.*&quot; &gt; output.log&#xD;&#xA;del output.log" />
42+
<Exec Command="if not exist $(ProgramData)\BHoM\Extensions\PythonEnvironments mkdir $(ProgramData)\BHoM\Extensions\PythonEnvironments&#xD;&#xA;if not exist $(ProgramData)\BHoM\Extensions\PythonCode mkdir $(ProgramData)\BHoM\Extensions\PythonCode&#xD;&#xA; &#xD;&#xA;if exist $(ProgramData)\BHoM\Extensions\PythonCode\$(SolutionName) rmdir $(ProgramData)\BHoM\Extensions\PythonCode\$(SolutionName) /S /Q&#xD;&#xA;mkdir $(ProgramData)\BHoM\Extensions\PythonCode\$(SolutionName)&#xD;&#xA; &#xD;&#xA;robocopy $(ProjectDir)Python $(ProgramData)\BHoM\Extensions\PythonCode\$(SolutionName) /mir /xf &quot;*.pyc&quot; &quot;*.ipynb&quot; /xd &quot;__*__&quot; &quot;.*&quot; &gt; output.log&#xD;&#xA;del output.log&#xD;&#xA;echo $(FileVersion) > $(ProgramData)\BHoM\Extensions\PythonCode\$(SolutionName)\VERSION.txt" />
4343
</Target>
4444
</Project>

0 commit comments

Comments
 (0)