From d3f20c7e50c89fca7b8dc88e256404e10e8aa271 Mon Sep 17 00:00:00 2001 From: vitor-aignosi Date: Tue, 2 Dec 2025 10:29:56 -0300 Subject: [PATCH] Initial commit --- VERSION | 3 ++ git-init-from-config.sh | 90 +++++++++++++++++++++++++++++++++++++ models/index.yaml | 5 +++ models/linear/__init__.py | 0 models/linear/index.yaml | 6 +++ models/linear/linear.py | 12 +++++ models/linear/operations.py | 5 +++ 7 files changed, 121 insertions(+) create mode 100644 VERSION create mode 100755 git-init-from-config.sh create mode 100644 models/index.yaml create mode 100644 models/linear/__init__.py create mode 100644 models/linear/index.yaml create mode 100644 models/linear/linear.py create mode 100644 models/linear/operations.py diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..e321387 --- /dev/null +++ b/VERSION @@ -0,0 +1,3 @@ +1 +last_version: 0 +source_branch: main diff --git a/git-init-from-config.sh b/git-init-from-config.sh new file mode 100755 index 0000000..3344351 --- /dev/null +++ b/git-init-from-config.sh @@ -0,0 +1,90 @@ +#!/bin/bash + +# Initializes a git repository and pushes to a remote using credentials from arguments +# +# Usage: ./git-init-from-config.sh +# +# Arguments: +# git-url - Repository URL (e.g., https://gitea.example.com/user/repo.git) +# git-user - Git username +# git-token - Git token or password +# +# The branch name will be read from the VERSION file (first line) + +set -e + +if [ "$#" -lt 3 ]; then + echo "Usage: $0 " + echo "" + echo "Arguments:" + echo " git-url - Repository URL (e.g., https://gitea.example.com/user/repo.git)" + echo " git-user - Git username" + echo " git-token - Git token or password" + exit 1 +fi + +GIT_URL="$1" +GIT_USER="$2" +GIT_TOKEN="$3" + +if [ -z "$GIT_URL" ]; then + echo "Error: git-url is required" + exit 1 +fi + +if [ -z "$GIT_USER" ]; then + echo "Error: git-user is required" + exit 1 +fi + +if [ -z "$GIT_TOKEN" ]; then + echo "Error: git-token is required" + exit 1 +fi + +if [ ! -f "VERSION" ]; then + echo "Error: VERSION file not found in current directory" + exit 1 +fi + +GIT_BRANCH=$(head -n 1 VERSION | tr -d '[:space:]') + +if [ -z "$GIT_BRANCH" ]; then + echo "Error: VERSION file is empty" + exit 1 +fi + +echo "Version detected: $GIT_BRANCH" + +if [[ "$GIT_URL" == https://* ]]; then + URL_WITHOUT_PROTOCOL="${GIT_URL#https://}" + AUTH_URL="https://${GIT_USER}:${GIT_TOKEN}@${URL_WITHOUT_PROTOCOL}" +elif [[ "$GIT_URL" == http://* ]]; then + URL_WITHOUT_PROTOCOL="${GIT_URL#http://}" + AUTH_URL="http://${GIT_USER}:${GIT_TOKEN}@${URL_WITHOUT_PROTOCOL}" +else + echo "Error: URL must start with http:// or https://" + exit 1 +fi + +echo "Initializing git repository..." +git init + +echo "Adding all files..." +git add . + +echo "Creating initial commit..." +git commit -m "Initial commit" || echo "Nothing to commit or already committed" + +echo "Setting branch to $GIT_BRANCH..." +git branch -M "$GIT_BRANCH" + +echo "Adding remote origin..." +git remote remove origin 2>/dev/null || true +git remote add origin "$AUTH_URL" + +echo "Pushing to remote..." +git push -u origin "$GIT_BRANCH" + +echo "" +echo "Done! Repository pushed to $GIT_URL on branch $GIT_BRANCH" diff --git a/models/index.yaml b/models/index.yaml new file mode 100644 index 0000000..7c76d3a --- /dev/null +++ b/models/index.yaml @@ -0,0 +1,5 @@ +store_name: SUSE Store +version: 1 +models: +- name: linear + version: 0.0.1 diff --git a/models/linear/__init__.py b/models/linear/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/models/linear/index.yaml b/models/linear/index.yaml new file mode 100644 index 0000000..8ea93ec --- /dev/null +++ b/models/linear/index.yaml @@ -0,0 +1,6 @@ +name: linear +file: linear.py +class: Linear +requirements: +- pandas +version: 0.0.1 diff --git a/models/linear/linear.py b/models/linear/linear.py new file mode 100644 index 0000000..624b15e --- /dev/null +++ b/models/linear/linear.py @@ -0,0 +1,12 @@ +from pandas import DataFrame + +from models.linear.operations import operate + + +class Linear: + def __init__(self): + self.weight = 0.2 + self.bias = 5 + + def predict(self, x: DataFrame) -> DataFrame: + return operate(x, self.weight, self.bias) diff --git a/models/linear/operations.py b/models/linear/operations.py new file mode 100644 index 0000000..3a72a57 --- /dev/null +++ b/models/linear/operations.py @@ -0,0 +1,5 @@ +from pandas import DataFrame + + +def operate(x: DataFrame, weight: float, bias: float) -> DataFrame: + return x * weight + bias