Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
.venv/
**/__pycache__
**/*.egg-info

# OS specific
# MacOS
Expand Down
4 changes: 1 addition & 3 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@
"python.testing.unittestArgs": [
"-v",
"-s",
"./test",
"-p",
"*_test.py"
"./test"
],
"python.testing.pytestEnabled": false,
"python.testing.unittestEnabled": true
Expand Down
7 changes: 7 additions & 0 deletions ReleaseNotes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@

# Release Notes FHIR Scripts

## Release 0.15.0

* Support _uv_ and _pipx_ to install in isolated Python environments (_uv_ is default)
* Dry-run (`--dry-run`) option to simulate deployment
* Promote argument (`--promote-from`) to promote content from one environment to another
* First version of a unified Docker image

## Release 0.14.0

* Allow to define additional OpenAPI files to be added to the archive using the config file
Expand Down
48 changes: 48 additions & 0 deletions docker/devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
FROM mcr.microsoft.com/devcontainers/base:alpine-3.20

# Setzen der Umgebungsvariablen
ENV CLOUD_SDK_VERSION=464.0.0
ENV FIRELY_TERMINAL_VERSION=3.3.2
ENV JAVA_VALIDATOR_VERSION=6.3.25

# Google Cloud SDK herunterladen und installieren
RUN curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-${CLOUD_SDK_VERSION}-linux-x86_64.tar.gz && \
tar -xf google-cloud-cli-${CLOUD_SDK_VERSION}-linux-x86_64.tar.gz && \
./google-cloud-sdk/install.sh --quiet && \
rm google-cloud-cli-${CLOUD_SDK_VERSION}-linux-x86_64.tar.gz

RUN apk add --no-cache \
# .NET SDK for Firely Terminal
dotnet8-sdk \
# icu-libs \
# Node.js and NPM for FSH Sushi
nodejs npm \
# Java (OpenJDK) and Jeykll for IG Publisher
openjdk17 jekyll \
# Additional dependencies
# jq findutils curl ca-certificates \
# PlantUML
graphviz fontconfig

# Setup for FHIR Validator
RUN mkdir -p /home/vscode/.fhir/validators/
RUN wget -q https://github.com/hapifhir/org.hl7.fhir.core/releases/download/$JAVA_VALIDATOR_VERSION/validator_cli.jar -O /home/vscode/.fhir/validators/validator_cli.jar

# Switch to the vscode user
USER vscode

# Add gcloud to user path
ENV PATH="/google-cloud-sdk/bin:${PATH}"

# Install UV for Python environments
RUN curl -LsSf https://astral.sh/uv/install.sh | sh
ENV PATH="/home/vscode/.local/bin:${PATH}"

RUN uv tool install git+https://github.com/gematik/fhir-scripts.git

RUN fhirscripts install \
--sushi \
--firely-terminal

# Add Firely Terminal to user path
ENV PATH="/home/vscode/.dotnet/tools:${PATH}"
6 changes: 6 additions & 0 deletions docker/devcontainer/example.devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"name": "FHIR Development",
"image": "gematik1/fhir-devcontainer",
"postCreateCommand": "fhirscripts install --config-file",
"postStartCommand": "fhirscripts update"
}
596 changes: 0 additions & 596 deletions poetry.lock

This file was deleted.

15 changes: 2 additions & 13 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[project]
name = "fhir-scripts"
version = "0.14.0"
version = "0.15.0"
description = ""
authors = [
{ name = "Alexander Essenwanger", email = "alexander.essenwanger@gematik.de" },
]
license = { text = "Apache-2.0" }
license-files = ["LICENSE"]
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
Expand All @@ -15,19 +15,8 @@ dependencies = [
"requests (>=2.32.5,<3.0.0)",
]

[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"

[project.scripts]
fhirscripts = "fhir_scripts.main:main"

[dependency-groups]
dev = ["black (>=25.9.0,<26.0.0)"]

# [project.optional-dependencies]
# igtools = ["igtools @ git+https://github.com/onyg/req-tooling"]
# epatools = ["epatools @ git+https://github.com/onyg/epa-tools.git"]
# publishtools = [
# "publish-tools @ git+https://github.com/gematik/publish-tools.git",
# ]
8 changes: 7 additions & 1 deletion src/fhir_scripts/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,10 @@ def get_args(
f"No setup function for parser or subparser defined for '{module.__name__}'"
)

return parser.parse_args()
args = parser.parse_args()

if args.cmd is None:
parser.print_help()
exit(0)

return args
Loading